UNICEF Data Indicator API
The Indicator API from UNICEF Data — 10 operation(s) for indicator.
The Indicator API from UNICEF Data — 10 operation(s) for indicator.
swagger: '2.0'
info:
title: GeoSight Basemap Indicator API
version: v1.0.0
host: geosight.unicef.org
basePath: /api/v1
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- ApiKey Auth: []
tags:
- name: Indicator
paths:
/indicators/:
parameters: []
get:
operationId: indicator-list
description: Return list of accessed indicator for the user.
parameters:
- name: page
in: query
description: Page number in pagination
type: integer
default: 1
- name: page_size
in: query
description: Total records in a page
type: integer
default: 25
- name: sort
in: query
description: 'Fields to be sorted should be specified as a comma-separated list.e.g: sort=name for asc, -sort=name for desc'
required: false
type: string
- name: fields
in: query
description: 'Fields to be returned should be specified as a comma-separated list.e.g: fields=__all__ for returning all fields, fields=name,category to return just name and category'
required: false
type: string
- name: name__contains
in: query
description: Filter data by partial name.
type: string
- name: description__contains
in: query
description: Filter data by partial description.
type: string
- name: category__name__in
in: query
description: Filter data by multiple category. Put multiple filter using comma separator.
type: string
- name: type__in
in: query
description: Filter data by multiple type. Put multiple filter using comma separator.
type: string
- name: project_slug__in
in: query
description: Filter data by multiple project slug. Put multiple filter using comma separator.
type: string
- name: project_id__in
in: query
description: Filter data by multiple project id. Put multiple filter using comma separator.
type: string
responses:
'200':
description: ''
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type: string
format: uri
x-nullable: true
previous:
type: string
format: uri
x-nullable: true
results:
type: array
items:
$ref: '#/definitions/IndicatorAdminList'
tags:
- Indicator
post:
operationId: indicator-create
description: Create a indicator.
parameters:
- name: data
in: body
required: true
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
responses:
'201':
description: ''
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
tags:
- Indicator
/indicators/data/:
parameters: []
get:
operationId: indicators-data-list
description: Return list of indicators data for the user.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
type: integer
responses:
'200':
description: Resource fetching successful.
schema:
type: array
items:
$ref: '#/definitions/IndicatorValue'
tags:
- Indicator
/indicators/{id}/:
parameters:
- name: id
in: path
required: true
type: string
get:
operationId: indicator-detail
description: Return detailed of indicator.
parameters: []
responses:
'200':
description: ''
schema:
$ref: '#/definitions/IndicatorAdminList'
tags:
- Indicator
put:
operationId: indicator-detail-update
description: Replace a detailed of indicator.
parameters:
- name: data
in: body
required: true
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
responses:
'200':
description: ''
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
tags:
- Indicator
patch:
operationId: indicator-detail-partial-update
description: Update just partial data based on payload a detailed of indicator.
parameters:
- name: data
in: body
required: true
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
responses:
'200':
description: ''
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
tags:
- Indicator
delete:
operationId: indicator-detail-delete
description: Delete an indicator.
parameters: []
responses:
'204':
description: ''
tags:
- Indicator
/indicators/{indicators_id}/data/:
parameters:
- name: indicators_id
in: path
required: true
type: string
get:
operationId: indicator-data-list
description: Return list of indicator data for the user.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
type: integer
responses:
'200':
description: Resource fetching successful.
schema:
type: array
items:
$ref: '#/definitions/IndicatorValue'
tags:
- Indicator
/indicators/{indicators_id}/data/{id}/:
parameters:
- name: indicators_id
in: path
required: true
type: string
- name: id
in: path
required: true
type: string
get:
operationId: indicator-data-detail
description: Return detail of a indicator row for the user.
parameters: []
responses:
'200':
description: Resource fetching successful.
schema:
$ref: '#/definitions/IndicatorValue'
tags:
- Indicator
/api/indicators:
get:
tags:
- Indicator
summary: Get the list of all indicators defined in the database. It does not include all possible attubutes (use api/indicators/{ID} for the complete list of attributes of a single indicator). Without an API key, it return only published indicators.
operationId: Indicator_GetAllIndicatorsLitstNoAttributes
produces:
- application/json
responses:
'200':
x-nullable: false
description: 'The list of all indicators defined in the database. It doesn''t include indicator attributes (only names) and related objects: use api/indicators/{id:long} or api/indicators/full/{id:long} for full details.'
schema:
type: array
items:
$ref: '#/definitions/IndicatorItem'
/api/indicators/agency/{agencyCode}:
get:
tags:
- Indicator
summary: Get the list of all indicators defined in the database by agency code. It does not include all possible attubutes. Use /api/countries/organizations to get the list of agencies. Without an API key, it return only published indicators.
operationId: Indicator_GetAllIndicatorsLitsByAgencyNoAttributes
produces:
- application/json
parameters:
- type: string
name: agencyCode
in: path
required: true
x-nullable: false
responses:
'200':
x-nullable: false
description: The list of all indicators defined in the database by agency code. It doesn't include indicator attributes and related objects. Use /api/countries/organizations to get the list of agencies.
schema:
type: array
items:
$ref: '#/definitions/IndicatorItem'
/api/indicators/spstatement/{statementCode}:
get:
tags:
- Indicator
summary: Get the list of all indicators by strategic plan statement helix code. It does not include all possible attubutes. Use /api/strategicplan/statements/area/{SPAreaCode} to get the list of SP statements. Without an API key, it return only published indicators.
operationId: Indicator_GetAllIndicatorsLitsBySPStatementNoAttributes
produces:
- application/json
parameters:
- type: string
name: statementCode
in: path
required: true
x-nullable: false
responses:
'200':
x-nullable: false
description: The list of all indicators by strategic plan statement helix code.
schema:
type: array
items:
$ref: '#/definitions/IndicatorItem'
/api/indicators/{id}:
get:
tags:
- Indicator
summary: Get an indicator given its ID. Previous versions of simple attributes are not included. For files, use the "Path" value to access the file
operationId: Indicator_GetIndicatorByIDNoVersion
produces:
- application/json
parameters:
- type: integer
name: id
in: path
required: true
description: The ID of the requested indicator
format: int64
x-nullable: false
responses:
'200':
x-nullable: false
description: The requested indicator with all attributes and related objects. Previous versions of simple attributes are not included
schema:
$ref: '#/definitions/IndicatorItem'
'404':
x-nullable: false
description: The indicator was not found in the database
schema:
$ref: '#/definitions/ProblemDetails'
/api/indicators/{code}:
get:
tags:
- Indicator
summary: 'Get an indicator given its ID. Previous versions of simple attributes are not included
Open also for unpublished indicators'
operationId: Indicator_GetIndicatorByCodeNoVersion
produces:
- application/json
parameters:
- type: string
name: code
in: path
required: true
description: The code of the requested indicator
x-nullable: false
responses:
'200':
x-nullable: false
description: The requested indicator with all attributes and related objects. Previous versions of simple attributes are not included
schema:
$ref: '#/definitions/IndicatorItem'
'404':
x-nullable: false
description: The indicator was not found in the database
schema:
$ref: '#/definitions/ProblemDetails'
definitions:
IndicatorAttributeFile:
type: object
required:
- id
- uploadedDate
properties:
id:
type: integer
format: int64
path:
type: string
fileName:
type: string
originalFileName:
type: string
title:
type: string
description:
type: string
indicator:
type: integer
format: int32
attribute:
type: integer
format: int32
uploadedBy:
type: string
uploadedDate:
type: string
format: date-time
IndicatorItem:
type: object
required:
- indicatorId
- isPublished
properties:
indicatorId:
type:
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unicef-data/refs/heads/main/openapi/unicef-data-indicator-api-openapi.yml