generated: '2026-07-15' method: generated source: openapi/unicef-geosight-openapi.json, openapi/unicef-reference-data-manager-openapi.json description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 117 by_action_class: connected: 67 acting: 50 by_consequence: read: 67 write: 50 human_in_the_loop_required: 0 operations: - path: /basemaps/ method: get operationId: basemap-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basemaps/ method: post operationId: basemap-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /basemaps/{id}/ method: get operationId: basemap-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /basemaps/{id}/ method: put operationId: basemap-detail-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /basemaps/{id}/ method: patch operationId: basemap-detail-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /basemaps/{id}/ method: delete operationId: basemap-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /code-list/ method: get operationId: codelist-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /code-list/ method: post operationId: codelist-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /code-list/{id}/ method: get operationId: codelist-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /code-list/{id}/ method: put operationId: codelist-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /code-list/{id}/ method: patch operationId: codelist-patch x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /code-list/{id}/ method: delete operationId: codelist-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /code-list/{id}/codes/ method: post operationId: codelist-code-add x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/ method: get operationId: context-layer-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /context-layers/ method: post operationId: context-layer-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{context_layer_id}/attributes/ method: get operationId: context-layer-attribute-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /context-layers/{context_layer_id}/data/download/ method: post operationId: context-layer-features-download x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{context_layer_id}/data/features/ method: get operationId: context-layer-features-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /context-layers/{context_layer_id}/data/features/ method: post operationId: context-layer-features-post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{context_layer_id}/data/features/ method: patch operationId: context-layer-features-put x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{context_layer_id}/data/features/ method: delete operationId: context-layer-features-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{context_layer_id}/data/replace/ method: post operationId: context-layer-features-replace x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{id}/ method: get operationId: context-layer-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /context-layers/{id}/ method: put operationId: context-layer-detail-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{id}/ method: patch operationId: context-layer-detail-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /context-layers/{id}/ method: delete operationId: context-layer-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /dashboards/ method: get operationId: dashboard-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboards/groups/ method: get operationId: dashboard-group-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboards/{slug}/ method: get operationId: dashboard-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /dashboards/{slug}/ method: delete operationId: dashboard-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /dashboards/{slug}/as-feature/ method: post operationId: dashboard-detail-as-feature x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /dashboards/{slug}/remove-as-feature/ method: post operationId: dashboard-detail-remove-as-feature x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /data-browser/ method: get operationId: data-browser-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /groups/ method: get operationId: group-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /groups/ method: post operationId: group-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /groups/{id}/ method: get operationId: group-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /groups/{id}/ method: put operationId: group-detail-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /groups/{id}/ method: patch operationId: group-detail-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /groups/{id}/ method: delete operationId: group-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /indicators/ method: get operationId: indicator-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /indicators/ method: post operationId: indicator-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /indicators/data/ method: get operationId: indicators-data-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /indicators/{id}/ method: get operationId: indicator-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /indicators/{id}/ method: put operationId: indicator-detail-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /indicators/{id}/ method: patch operationId: indicator-detail-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /indicators/{id}/ method: delete operationId: indicator-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /indicators/{indicators_id}/data/ method: get operationId: indicator-data-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /indicators/{indicators_id}/data/{id}/ method: get operationId: indicator-data-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reference-datasets/ method: get operationId: reference-datasets-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reference-datasets/entity/ method: get operationId: reference-datasets-entity-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reference-datasets/entity/{geom_id}/ method: get operationId: reference-datasets-entity-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reference-datasets/{identifier}/ method: get operationId: reference-datasets-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reference-datasets/{identifier}/ method: delete operationId: reference-datasets-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /reference-datasets/{identifier}/bbox/concept_uuid/ method: post operationId: reference-datasets-operation-bbox x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /reference-datasets/{identifier}/bbox/ucode/ method: post operationId: reference-datasets-operation-bbox x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /reference-datasets/{identifier}/entity/ method: get operationId: reference-datasets-detail-entity-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reference-datasets/{identifier}/entity/{geom_id}/ method: get operationId: reference-datasets-detail-entity-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /related-tables/ method: get operationId: related-table-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /related-tables/ method: post operationId: related-table-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{id}/ method: get operationId: related-table-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /related-tables/{id}/ method: put operationId: related-table-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{id}/ method: patch operationId: related-table-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{id}/ method: delete operationId: related-table-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{related_tables_id}/data/ method: get operationId: related-table-data-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /related-tables/{related_tables_id}/data/ method: post operationId: related-table-data-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{related_tables_id}/data/{id}/ method: get operationId: related-table-data-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /related-tables/{related_tables_id}/data/{id}/ method: put operationId: related-table-data-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{related_tables_id}/data/{id}/ method: patch operationId: related-table-data-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{related_tables_id}/data/{id}/ method: delete operationId: related-table-data-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /related-tables/{related_tables_id}/geo-data/ method: get operationId: related-table-geo-data-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /styles/ method: get operationId: style-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /styles/ method: post operationId: style-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /styles/{id}/ method: get operationId: style-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /styles/{id}/ method: put operationId: style-detail-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /styles/{id}/ method: patch operationId: style-detail-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /styles/{id}/ method: delete operationId: style-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /users/ method: get operationId: user-list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/ method: post operationId: user-create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /users/{id}/ method: get operationId: user-detail x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{id}/ method: put operationId: user-detail-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /users/{id}/ method: patch operationId: user-detail-partial-update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /users/{id}/ method: delete operationId: user-detail-delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /sdmx/codelists/indicators/{Version}/{Agency}/{IndicatorCodelist} method: get operationId: Codelist_GetIndicators x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sdmx/codelists/domains/{Version}/{Agency}/{Codelist} method: get operationId: Codelist_GetDomains x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sdmx/codelists/countries/{version} method: get operationId: Codelist_GetCountries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sdmx/codelists/regions/{version} method: get operationId: Codelist_GetRegions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/collectionprocesses method: get operationId: CollectionProcess_GetCMs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/countries method: get operationId: Country_GetCountries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/countries/current method: get operationId: Country_GetCurrentCountries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/countries/organizations method: get operationId: Country_GetCountryNameOrganizations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/custodians method: get operationId: Custodian_GetCustodians x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/datasources method: get operationId: DataSource_GetDataSources x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/howmany method: post operationId: HowMany_PostNewQuestion x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/howmany/mlt method: post operationId: HowMany_PostMoreLikeThisQuestion x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/IndicatorClassifications method: get operationId: IndicatorClassification_GetClassifications x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/indicators method: get operationId: Indicator_GetAllIndicatorsLitstNoAttributes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/indicators/agency/{agencyCode} method: get operationId: Indicator_GetAllIndicatorsLitsByAgencyNoAttributes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/indicators/spstatement/{statementCode} method: get operationId: Indicator_GetAllIndicatorsLitsBySPStatementNoAttributes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/indicators/{id} method: get operationId: Indicator_GetIndicatorByIDNoVersion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/indicators/{code} method: get operationId: Indicator_GetIndicatorByCodeNoVersion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/languages method: get operationId: Language_GetLanguage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/regions method: get operationId: Region_GetRegions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/regions/byseries/{RegionSeriesId} method: get operationId: Region_GetRegionsBySeries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/regions/series method: get operationId: Region_GetSeries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/regions/collections method: get operationId: Region_GetCollections x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/sectors/agencies method: get operationId: Sector_GetAgencies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/sectors method: get operationId: Sector_GetSectors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/sectors/domains method: get operationId: Sector_GetDomains x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/sectors/subdomains method: get operationId: Sector_GetSubDomains x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/strategicplan method: get operationId: StrategicPlan_GetStrategicPlanGoalAreas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/strategicplan/goalarea/{areaID} method: get operationId: StrategicPlan_GetStrategicPlanGoalArea x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/strategicplan/statements method: get operationId: StrategicPlan_GetStrategicPlanStatements x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/strategicplan/statement/{statementCode} method: get operationId: StrategicPlan_GetStrategicPlanStatement x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/strategicplan/statement/id/{statementID} method: get operationId: StrategicPlan_GetStrategicPlanStatement2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/strategicplan/statements/area/{SPAreaCode} method: get operationId: StrategicPlan_GetStrategicPlanStatementByArea x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/tags method: get operationId: Tag_GetTags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/YearAssignmentMethods method: get operationId: YearAssignmentMethod_GetYearAssignmentMethods x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none