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: integer format: int32 code: type: string helixCode: type: string ownerAgency: $ref: '#/definitions/CountryOrganization' sector: type: string domain: type: string subdomain: type: string editedBy: type: string editedDate: type: string createdBy: type: string createdDate: type: string isPublished: type: boolean changePublishStatusBy: type: string changePublishStatusDate: type: string language2Name: type: object additionalProperties: type: string attributes: type: array items: $ref: '#/definitions/IndicatorAttribute' collectionMechanism: $ref: '#/definitions/CollectionProcessItem' strategicPlanArea: $ref: '#/definitions/StrategicPlanAreaItem' strategicPlanStatement: $ref: '#/definitions/StrategicPlanStatementItem' classifications: type: array items: $ref: '#/definitions/IndicatorClassificationItem' custodian: $ref: '#/definitions/CustodianItem' coCustodians: type: array items: $ref: '#/definitions/CustodianItem' dataCompilers: type: array items: $ref: '#/definitions/CustodianItem' dataProviders: type: array items: $ref: '#/definitions/CustodianItem' yam: $ref: '#/definitions/YearAssignmentMethodItem' tags: type: array items: $ref: '#/definitions/TagItem' relatedIndicators: type: array items: $ref: '#/definitions/RelatedIndicatorItem' dataSources: type: array items: $ref: '#/definitions/DataSourceItem' agencies: type: array items: $ref: '#/definitions/CountryOrganization' type: $ref: '#/definitions/IndicatorTypeItem' parent: $ref: '#/definitions/RelatedIndicatorItem' RegionName: type: object required: - id - regionId - languageId - createdDate properties: id: type: integer format: int32 regionId: type: integer format: int32 languageId: type: integer format: int32 value: type: string createdBy: type: string createdDate: type: string format: date-time language: $ref: '#/definitions/Language' region: $ref: '#/definitions/Region' StrategicPlanStatement: type: object required: - id - editedDate properties: id: type: integer format: int32 code: type: string statement: type: string editedBy: type: string editedDate: type: string format: date-time spareaId: type: integer format: int32 indicators: type: array items: $ref: '#/definitions/Indicator' sparea: $ref: '#/definitions/StrategicPlan' IndicatorAttribute: type: object required: - attributeId - languageId - isMultilingual - weight properties: attributeId: type: integer format: int32 attributeName: type: string attributeCode: type: string displayName: type: string value: type: string version: type: string languageId: type: integer format: int32 language: type: string languageISO: type: string createdBy: type: string createdDate: type: string isMultilingual: type: boolean weight: type: integer format: int32 prevVersions: type: array items: $ref: '#/definitions/AttributePreviousVersion' files: type: array items: $ref: '#/definitions/IndicatorAttributeFile' Country2SectorPriority: type: object required: - id - countryId - sectorId properties: id: type: integer format: int64 countryId: type: integer format: int32 sectorId: type: integer format: int32 country: $ref: '#/definitions/Country' sector: $ref: '#/definitions/Sector' RegionCollection: type: object required: - regionCollectionId - createdDate properties: regionCollectionId: type: integer format: int32 name: type: string createdBy: type: string createdDate: type: string format: date-time code: type: string regions: type: array items: $ref: '#/definitions/Region' Indicator2DataSource: type: object required: - id - indicatorId - dataSourceId - createdDate properties: id: type: integer format: int64 indicatorId: type: integer format: int32 dataSourceId: type: integer format: int64 createdBy: type: string createdDate: type: string format: date-time dataSource: $ref: '#/definitions/DataSource' indicator: $ref: '#/definitions/Indicator' RegionSeries: type: object required: - regionSeriesId - createdDate properties: regionSeriesId: type: integer format: int32 code: type: string name: type: string description: type: string createdBy: type: string createdDate: type: string format: date-time regionSeries2Custodians: type: array items: $ref: '#/definitions/RegionSeries2Custodian' regions: type: array items: $ref: '#/definitions/Region' Tags2Indicator: type: object required: - id - indicatorId - tagId - createdDate properties: id: type: integer format: int64 indicatorId: type: integer format: int32 tagId: type: integer format: int64 createdBy: type: string createdDate: type: string format: date-time indicator: $ref: '#/definitions/Indicator' tag: $ref: '#/definitions/Tag' Indicator: type: object required: - indicatorId - createdDate - isPublished - isDeleted properties: indicatorId: type: integer format: int32 code: type: string collectionMechanismId: type: integer format: int32 yamid: type: integer format: int32 subdomainId: type: integer format: int32 domainId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time editedBy: type: string editedDate: type: string format: date-time helixCode: type: string isPublished: type: boolean changePublishedBy: type: string changePublishedDate: type: string format: date-time isDeleted: type: boolean strategicPlanId: type: integer format: int32 indType: type: integer format: int64 strategicPlanStatementId: type: integer format: int32 custodian: type: integer format: int32 ownerAgency: type: integer format: int32 parentIndicatorId: type: integer format: int32 collectionMechanism: $ref: '#/definitions/CollectionMechanism' custodianNavigation: $ref: '#/definitions/Custodian' domain: $ref: '#/definitions/Domain' indTypeNavigation: $ref: '#/definitions/IndicatorType' indicator2Agencies: type: array items: $ref: '#/definitions/Indicator2Agency' indicator2Classifications: type: array items: $ref: '#/definitions/Indicator2Classification' indicator2Custodians: type: array items: $ref: '#/definitions/Indicator2Custodian' indicator2DataCompilers: type: array items: $ref: '#/definitions/Indicator2DataCompiler' indicator2DataProviders: type: array items: $ref: '#/definitions/Indicator2DataProvider' indicator2DataSources: type: array items: $ref: '#/definitions/Indicator2DataSource' indicatorFiles: type: array items: $ref: '#/definitions/IndicatorFile' indicatorQuestions: type: array items: $ref: '#/definitions/IndicatorQuestion' indicatorSimpleAttributeValues: type: array items: $ref: '#/definitions/IndicatorSimpleAttributeValue' inverseParentIndicator: type: array items: $ref: '#/definitions/Indicator' ownerAgencyNavigation: $ref: '#/definitions/CountryOrganization' parentIndicator: $ref: '#/definitions/Indicator' relatedIndicatorIndicators: type: array items: $ref: '#/definitions/RelatedIndicator' relatedIndicatorTargetIndicators: type: array items: $ref: '#/definitions/RelatedIndicator' strategicPlan: $ref: '#/definitions/StrategicPlan' strategicPlanStatement: $ref: '#/definitions/StrategicPlanStatement' subdomain: $ref: '#/definitions/Subdomain' tags2Indicators: type: array items: $ref: '#/definitions/Tags2Indicator' yam: $ref: '#/definitions/YearAssignmentMethod' StrategicPlanStatementItem: type: object required: - id properties: id: type: integer format: int32 editedBy: type: string editedDate: type: string statement: type: string code: type: string spArea: $ref: '#/definitions/StrategicPlanAreaItem' User: type: object required: - userId - isAdministrator - isActive - isAgencyAdmin properties: userId: type: integer format: int32 username: type: string fullname: type: string isAdministrator: type: boolean editedBy: type: string editedDate: type: string format: date-time isActive: type: boolean division: type: string agency: type: integer format: int32 isAgencyAdmin: type: boolean agencyNavigation: $ref: '#/definitions/CountryOrganization' user2Sectors: type: array items: $ref: '#/definitions/User2Sector' CollectionProcessItem: type: object required: - collectionProcessId properties: collectionProcessId: type: integer format: int32 name: type: string editedBy: type: string editedDate: type: string description: type: string code: type: string dataRelease: type: string dataCollection: type: string Indicator2Classification: type: object required: - id - indicatorId - classificationId properties: id: type: integer format: int32 indicatorId: type: integer format: int32 classificationId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time value: type: string classification: $ref: '#/definitions/IndicatorClassification' indicator: $ref: '#/definitions/Indicator' IndicatorClassificationItem: type: object required: - iclassId properties: iclassId: type: integer format: int32 name: type: string editedBy: type: string editedDate: type: string type: type: string value: type: string code: type: string YearAssignmentMethod: type: object required: - yamid properties: yamid: type: integer format: int32 name: type: string editedBy: type: string editedDate: type: string format: date-time code: type: string indicators: type: array items: $ref: '#/definitions/Indicator' StrategicPlan: type: object required: - id - editedDate properties: id: type: integer format: int32 name: type: string description: type: string editedBy: type: string editedDate: type: string format: date-time code: type: string indicators: type: array items: $ref: '#/definitions/Indicator' strategicPlanStatements: type: array items: $ref: '#/definitions/StrategicPlanStatement' RelatedIndicator: type: object required: - id - indicatorId - targetIndicatorId - createdDate properties: id: type: integer format: int64 indicatorId: type: integer format: int32 targetIndicatorId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time indicator: $ref: '#/definitions/Indicator' targetIndicator: $ref: '#/definitions/Indicator' CustodianItem: type: object required: - id properties: id: type: integer format: int32 name: type: string editedBy: type: string editedDate: type: string code: type: string RegionSeries2Custodian: type: object required: - regionSeries2CustodianId - regionSeriesId - custodianId - createdDate properties: regionSeries2CustodianId: type: integer format: int32 regionSeriesId: type: integer format: int32 custodianId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time custodian: $ref: '#/definitions/Custodian' regionSeries: $ref: '#/definitions/RegionSeries' Sector: type: object required: - sectorId properties: sectorId: type: integer format: int32 name: type: string shortName: type: string editedBy: type: string editedDate: type: string format: date-time helixName: type: string country2SectorPriorities: type: array items: $ref: '#/definitions/Country2SectorPriority' domains: type: array items: $ref: '#/definitions/Domain' sector2Agencies: type: array items: $ref: '#/definitions/Sector2Agency' user2Sectors: type: array items: $ref: '#/definitions/User2Sector' IndicatorClassification: type: object required: - iclassId - editedDate properties: iclassId: type: integer format: int32 name: type: string type: type: string editedBy: type: string editedDate: type: string format: date-time code: type: string indicator2Classifications: type: array items: $ref: '#/definitions/Indicator2Classification' Country2Region: type: object required: - id - countryId - regionId - createdDate properties: id: type: integer format: int32 countryId: type: integer format: int32 regionId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time country: $ref: '#/definitions/Country' region: $ref: '#/definitions/Region' CountryName: type: object required: - countryNameId - countryId - languageId properties: countryNameId: type: integer format: int32 countryId: type: integer format: int32 languageId: type: integer format: int32 value: type: string createdBy: type: string createdDate: type: string format: date-time organizationId: type: integer format: int32 country: $ref: '#/definitions/Country' language: $ref: '#/definitions/Language' organization: $ref: '#/definitions/CountryOrganization' Country: type: object required: - countryId - createdDate properties: countryId: type: integer format: int32 iso3: type: string m49: type: string createdBy: type: string createdDate: type: string format: date-time cndcountryCode: type: string isCurrent: type: boolean isSowc: type: boolean isCountDown: type: boolean isPublished: type: boolean country2Regions: type: array items: $ref: '#/definitions/Country2Region' country2SectorPriorities: type: array items: $ref: '#/definitions/Country2SectorPriority' countryNames: type: array items: $ref: '#/definitions/CountryName' IndicatorValue: required: - date - geom_id type: object properties: id: title: id type: number indicator: title: Indicator type: string indicator_id: title: Indicator id type: number value: title: Value type: string date: title: Date type: string geom_id: title: Geom id type: string admin_level: title: Entity admin level type: number entity_name: title: Entity name type: string country_id: title: Country id type: string country_geom_id: title: Country geom id type: string country_name: title: Country name type: string attributes: title: Attributes type: object permission: title: Permission type: object properties: list: title: List type: boolean read: title: Read type: boolean edit: title: Edit type: boolean share: title: Share type: boolean delete: title: Delete type: boolean title: IndicatorValue example: id: 1 indicator: Test indicator indicator_id: 1 indicator_shortcode: TEST value: 0 date: '1990-01-01' geom_id: GEOM_1 admin_level: 1 entity_name: Geometry 1 country_id: 1 country_geom_id: COUNTRY_1 country_name: Country 1 attributes: Value 1: 1 permission: list: true read: true edit: true share: true delete: true Indicator2DataCompiler: type: object required: - id - indicatorId - dataCompilerId properties: id: type: integer format: int32 indicatorId: type: integer format: int32 dataCompilerId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time dataCompiler: $ref: '#/definitions/Custodian' indicator: $ref: '#/definitions/Indicator' CollectionMechanism: type: object required: - collectionMechanismId - editedDate properties: collectionMechanismId: type: integer format: int32 name: type: string description: type: string editedBy: type: string editedDate: type: string format: date-time code: type: string dataRelease: type: string dataCollection: type: string indicators: type: array items: $ref: '#/definitions/Indicator' Indicator2Custodian: type: object required: - id - indicatorId - custodianId properties: id: type: integer format: int32 indicatorId: type: integer format: int32 custodianId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time custodian: $ref: '#/definitions/Custodian' indicator: $ref: '#/definitions/Indicator' Tag: type: object required: - id properties: id: type: integer format: int64 tagName: type: string createdBy: type: string createdDate: type: string format: date-time tags2Indicators: type: array items: $ref: '#/definitions/Tags2Indicator' ProblemDetails: type: object additionalProperties: {} required: - extensions properties: type: type: string title: type: string status: type: integer format: int32 detail: type: string instance: type: string extensions: type: object additionalProperties: {} AttributePreviousVersion: type: object properties: value: type: string version: type: string createdBy: type: string Custodian: type: object required: - custodianId - editedDate properties: custodianId: type: integer format: int32 name: type: string editedBy: type: string editedDate: type: string format: date-time code: type: string indicator2Custodians: type: array items: $ref: '#/definitions/Indicator2Custodian' indicator2DataCompilers: type: array items: $ref: '#/definitions/Indicator2DataCompiler' indicator2DataProviders: type: array items: $ref: '#/definitions/Indicator2DataProvider' indicators: type: array items: $ref: '#/definitions/Indicator' regionSeries2Custodians: type: array items: $ref: '#/definitions/RegionSeries2Custodian' Language: type: object required: - languageId properties: languageId: type: integer format: int32 name: type: string iso6392: type: string editedBy: type: string editedDate: type: string format: date-time countryNames: type: array items: $ref: '#/definitions/CountryName' indicatorSimpleAttributeValues: type: array items: $ref: '#/definitions/IndicatorSimpleAttributeValue' regionNames: type: array items: $ref: '#/definitions/RegionName' DataSourceItem: type: object required: - id properties: id: type: integer format: int64 sourceName: type: string createdBy: type: string createdDate: type: string IndicatorAdminList: required: - name type: object properties: id: title: ID type: integer readOnly: true name: title: Name type: string maxLength: 512 minLength: 1 category: title: Category type: string readOnly: true source: title: Source type: string maxLength: 512 x-nullable: true shortcode: title: Shortcode description: A computer-to-computer shortcode for this indicator. For example, an abbreviated name that you might use to refer to it in a spreadsheet column. type: string maxLength: 512 x-nullable: true description: title: Description type: string x-nullable: true type: title: Type type: string enum: - Integer - Float - String min_value: title: Min value type: number x-nullable: true max_value: title: Max value type: number x-nullable: true aggregation_upper_level_allowed: title: Aggregation upper level allowed type: boolean aggregation_upper_level: title: Aggregation upper level description: Default aggregation for upper level type: string maxLength: 64 x-nullable: true aggregation_multiple_values: title: Aggregation multiple values description: Default aggregation for multiple values type: string maxLength: 64 x-nullable: true style_type: title: Style type type: string enum: - Predefined style/color rules. - Dynamic quantitative style. - Dynamic qualitative style. - Style from library. style_config: title: Style config type: object x-nullable: true created_at: title: Created at type: string readOnly: true modified_at: title: Modified at type: string readOnly: true IndicatorQuestion: type: object required: - id - indicatorId - createdDate properties: id: type: integer format: int64 indicatorId: type: integer format: int32 question: type: string dwDataPointId: type: string createdBy: type: string createdDate: type: string format: date-time indicator: $ref: '#/definitions/Indicator' Indicator2Agency: type: object required: - id - indicatorId - agencyId - createdDate properties: id: type: integer format: int64 indicatorId: type: integer format: int32 agencyId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time agency: $ref: '#/definitions/CountryOrganization' indicator: $ref: '#/definitions/Indicator' Sector2Agency: type: object required: - id - sectorId - agencyId - createdDate properties: id: type: integer format: int64 sectorId: type: integer format: int32 agencyId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time agency: $ref: '#/definitions/CountryOrganization' sector: $ref: '#/definitions/Sector' IndicatorSimpleAttribute: type: object required: - attributeId - hasTranslation - editedDate properties: attributeId: type: integer format: int32 code: type: string name: type: string displayName: type: string hasTranslation: type: boolean weight: type: integer format: int32 editedBy: type: string editedDate: type: string format: date-time definition: type: string indicatorFiles: type: array items: $ref: '#/definitions/IndicatorFile' indicatorSimpleAttributeValues: type: array items: $ref: '#/definitions/IndicatorSimpleAttributeValue' Indicator2DataProvider: type: object required: - id - indicatorId - dataProviderId properties: id: type: integer format: int32 indicatorId: type: integer format: int32 dataProviderId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time dataProvider: $ref: '#/definitions/Custodian' indicator: $ref: '#/definitions/Indicator' CountryOrganization: type: object required: - id properties: id: type: integer format: int32 organization: type: string editedBy: type: string editedDate: type: string format: date-time code: type: string countryNames: type: array items: $ref: '#/definitions/CountryName' indicator2Agencies: type: array items: $ref: '#/definitions/Indicator2Agency' indicators: type: array items: $ref: '#/definitions/Indicator' sector2Agencies: type: array items: $ref: '#/definitions/Sector2Agency' users: type: array items: $ref: '#/definitions/User' IndicatorType: type: object required: - id properties: id: type: integer format: int64 typeName: type: string createdBy: type: string createdDate: type: string format: date-time indicators: type: array items: $ref: '#/definitions/Indicator' DataSource: type: object required: - id properties: id: type: integer format: int64 sourceName: type: string createdBy: type: string createdDate: type: string format: date-time indicator2DataSources: type: array items: $ref: '#/definitions/Indicator2DataSource' TagItem: type: object properties: id: type: integer format: int64 tagName: type: string createdBy: type: string createdDate: type: string indicators: type: array items: type: integer format: int32 Region: type: object required: - regionId - level properties: regionId: type: integer format: int32 m49: type: string altName: type: string status: type: string level: type: integer format: int32 description: type: string parentRegionId: type: integer format: int32 collectionId: type: integer format: int32 seriesId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time cndregionalCode: type: string organization: type: string collection: $ref: '#/definitions/RegionCollection' country2Regions: type: array items: $ref: '#/definitions/Country2Region' inverseParentRegion: type: array items: $ref: '#/definitions/Region' parentRegion: $ref: '#/definitions/Region' regionNames: type: array items: $ref: '#/definitions/RegionName' series: $ref: '#/definitions/RegionSeries' IndicatorFile: type: object required: - id - indicator - uploadedDate properties: id: type: integer format: int64 fileName: type: string originalFileName: type: string title: type: string description: type: string indicator: type: integer format: int32 attribute: type: integer format: int32 idDeleted: type: boolean uploadedBy: type: string uploadedDate: type: string format: date-time attributeNavigation: $ref: '#/definitions/IndicatorSimpleAttribute' indicatorNavigation: $ref: '#/definitions/Indicator' RelatedIndicatorItem: type: object required: - indicatorId properties: indicatorId: type: integer format: int32 code: type: string helixCode: type: string language2Name: type: object additionalProperties: type: string createdBy: type: string createdDate: type: string StrategicPlanAreaItem: type: object required: - id properties: id: type: integer format: int32 name: type: string editedBy: type: string editedDate: type: string description: type: string code: type: string YearAssignmentMethodItem: type: object required: - yamId properties: yamId: type: integer format: int32 name: type: string editedBy: type: string editedDate: type: string code: type: string IndicatorTypeItem: type: object properties: id: type: integer format: int64 typeName: type: string createdBy: type: string createdDate: type: string Subdomain: type: object required: - subdomainId - editedDate - domainId properties: subdomainId: type: integer format: int32 name: type: string shortName: type: string editedBy: type: string editedDate: type: string format: date-time domainId: type: integer format: int32 domain: $ref: '#/definitions/Domain' indicators: type: array items: $ref: '#/definitions/Indicator' IndicatorSimpleAttributeValue: type: object required: - indicatorSimpleAttributeValueId - indicatorId - attributeId - languageId - version properties: indicatorSimpleAttributeValueId: type: integer format: int32 indicatorId: type: integer format: int32 attributeId: type: integer format: int32 languageId: type: integer format: int32 version: type: string format: date-time value: type: string createdBy: type: string createdDate: type: string format: date-time attribute: $ref: '#/definitions/IndicatorSimpleAttribute' indicator: $ref: '#/definitions/Indicator' language: $ref: '#/definitions/Language' User2Sector: type: object required: - id - userId - sectorId - createdDate properties: id: type: integer format: int64 userId: type: integer format: int32 sectorId: type: integer format: int32 createdBy: type: string createdDate: type: string format: date-time sector: $ref: '#/definitions/Sector' user: $ref: '#/definitions/User' Domain: type: object required: - domainId - sectorId properties: domainId: type: integer format: int32 name: type: string shortName: type: string editedBy: type: string editedDate: type: string format: date-time sectorId: type: integer format: int32 indicators: type: array items: $ref: '#/definitions/Indicator' sector: $ref: '#/definitions/Sector' subdomains: type: array items: $ref: '#/definitions/Subdomain' securityDefinitions: ApiKey Auth: type: apiKey in: header name: Authorization