# cran/uisapi architecture

> Architecture diagram of the GitHub repository cran/uisapi, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/cran/uisapi
- Repository: https://github.com/cran/uisapi

## Overview

uisapi is a small R client for retrieving UNESCO Institute for Statistics data and metadata. Users can query indicator values by entity and year, discover entities and indicators, inspect API versions, and list bulk-download files. The README documents these capabilities and the external UIS API, but no source excerpts were available to verify internal call wiring. Bulk files are listed by the package; downloading and importing them is left to the user.

Main entry points: [`R/uis_get.R`](https://github.com/cran/uisapi/blob/master/R/uis_get.R) (Get indicator data), [`R/uis_get_entities.R`](https://github.com/cran/uisapi/blob/master/R/uis_get_entities.R) (List entities), [`R/uis_get_indicators.R`](https://github.com/cran/uisapi/blob/master/R/uis_get_indicators.R) (List indicators), [`R/uis_get_versions.R`](https://github.com/cran/uisapi/blob/master/R/uis_get_versions.R) (List versions)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("R user"))
node_get["Get indicator data<br/>[uis_get.R]"]
node_entities["List entities<br/>[uis_get_entities.R]"]
node_indicators["List indicators"]
node_versions["List versions<br/>[uis_get_versions.R]"]
node_bulkfiles["List bulk files<br/>[uis_bulk_files.R]"]
node_uisapi{{"UIS API"}}
node_bdds{{"Bulk download service"}}

node_user -->|"requests data"| node_get
node_get -->|"queries"| node_uisapi
node_user -->|"requests list"| node_entities
node_entities -->|"queries"| node_uisapi
node_user -->|"requests list"| node_indicators
node_indicators -->|"queries"| node_uisapi
node_user -->|"requests list"| node_versions
node_versions -->|"queries"| node_uisapi
node_user -->|"requests list"| node_bulkfiles
node_bulkfiles -->|"queries"| node_uisapi
node_user -.->|"downloads manually"| node_bdds

click node_get "https://github.com/cran/uisapi/blob/master/R/uis_get.R"
click node_entities "https://github.com/cran/uisapi/blob/master/R/uis_get_entities.R"
click node_indicators "https://github.com/cran/uisapi/blob/master/R/uis_get_indicators.R"
click node_versions "https://github.com/cran/uisapi/blob/master/R/uis_get_versions.R"
click node_bulkfiles "https://github.com/cran/uisapi/blob/master/R/uis_bulk_files.R"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_user toneBlue
class node_get,node_entities,node_indicators,node_versions,node_bulkfiles toneTeal
class node_uisapi toneMint
class node_bdds toneIndigo
```

## Components

### Other components

- **R user**
- [Get indicator data](https://github.com/cran/uisapi/blob/master/R/uis_get.R): `R/uis_get.R`
- [List entities](https://github.com/cran/uisapi/blob/master/R/uis_get_entities.R): `R/uis_get_entities.R`
- [List indicators](https://github.com/cran/uisapi/blob/master/R/uis_get_indicators.R): `R/uis_get_indicators.R`
- [List versions](https://github.com/cran/uisapi/blob/master/R/uis_get_versions.R): `R/uis_get_versions.R`
- [List bulk files](https://github.com/cran/uisapi/blob/master/R/uis_bulk_files.R): `R/uis_bulk_files.R`
- **UIS API**
- **Bulk download service**

## Connections

- R user → Get indicator data: requests data
- Get indicator data → UIS API: queries
- R user → List entities: requests list
- List entities → UIS API: queries
- R user → List indicators: requests list
- List indicators → UIS API: queries
- R user → List versions: requests list
- List versions → UIS API: queries
- R user → List bulk files: requests list
- List bulk files → UIS API: queries
- R user → Bulk download service: downloads manually
