UNICEF Data Context layer API

The Context layer API from UNICEF Data — 6 operation(s) for context layer.

Operations 13

GET /context-layers/ #
POST /context-layers/ #
GET /context-layers/{context_layer_id}/attributes/ #
POST /context-layers/{context_layer_id}/data/download/ #
GET /context-layers/{context_layer_id}/data/features/ #
POST /context-layers/{context_layer_id}/data/features/ #
PATCH /context-layers/{context_layer_id}/data/features/ #
DELETE /context-layers/{context_layer_id}/data/features/ #
POST /context-layers/{context_layer_id}/data/replace/ #
GET /context-layers/{id}/ #
PUT /context-layers/{id}/ #
PATCH /context-layers/{id}/ #
DELETE /context-layers/{id}/ #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unicef-data-context-layer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unicef-data-context-layer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GeoSight Basemap Context layer API
  version: v1.0.0
servers:
- url: https://geosight.unicef.org/api/v1
security:
- ApiKey Auth: []
tags:
- name: Context layer
paths:
  /context-layers/:
    parameters: []
    get:
      operationId: context-layer-list
      description: Return list of accessed context layer for the user.
      parameters:
      - name: page
        in: query
        description: Page number in pagination
        schema:
          type: integer
          default: 1
      - name: page_size
        in: query
        description: Total records in a page
        schema:
          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
        schema:
          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
        schema:
          type: string
      - name: name__contains
        in: query
        description: Filter data by partial name.
        schema:
          type: string
      - name: description__contains
        in: query
        description: Filter data by partial description.
        schema:
          type: string
      - name: category__name__in
        in: query
        description: Filter data by multiple category. Put multiple filter using comma separator.
        schema:
          type: string
      - name: type__in
        in: query
        description: Filter data by multiple type. Put multiple filter using comma separator.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/ContextLayer'
      tags:
      - Context layer
    post:
      operationId: context-layer-create
      description: Create a context layer.
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                description: Data that is needed to create/edit context layer.
                type: object
                properties:
                  name:
                    title: Name
                    type: string
                  description:
                    title: Description
                    type: string
                  category:
                    title: Category
                    type: string
                  url:
                    title: Url
                    type: string
                  type:
                    title: Type
                    description: The choices are ['ARCGIS', 'Geojson', 'Raster COG', 'Raster Tile', 'Vector Tile', 'Related Table', 'Cloud Native GIS Layer']
                    type: string
                  styles:
                    title: Styles
                    description: String of JSON containing style configuration. The styles are simply a list of layers in a Mapbox style.
                    type: object
                example:
                  name: Context Layer
                  description: ''
                  layer_type: Cloud Native GIS Layer
                  category: Test
                  styles:
                  - id: '1'
                    type: circle
                    paint:
                      circle-color: '#98F194'
                      circle-radius: 6
                      circle-opacity: 1
                      circle-stroke-width: 1
                    source: 00000000-0000-0000-0000-000000000000
                    source-layer: default
                  - id: '2'
                    type: circle
                    paint:
                      circle-color: '#88005C'
                      circle-radius: 6
                      circle-opacity: 1
                      circle-stroke-width: 1
                    source: 00000000-0000-0000-0000-000000000000
                    source-layer: default
      tags:
      - Context layer
      requestBody:
        content:
          application/json:
            schema:
              description: Data that is needed to create/edit context layer.
              type: object
              properties:
                name:
                  title: Name
                  type: string
                description:
                  title: Description
                  type: string
                category:
                  title: Category
                  type: string
                url:
                  title: Url
                  type: string
                type:
                  title: Type
                  description: The choices are ['ARCGIS', 'Geojson', 'Raster COG', 'Raster Tile', 'Vector Tile', 'Related Table', 'Cloud Native GIS Layer']
                  type: string
                styles:
                  title: Styles
                  description: String of JSON containing style configuration. The styles are simply a list of layers in a Mapbox style.
                  type: object
              example:
                name: Context Layer
                description: ''
                layer_type: Cloud Native GIS Layer
                category: Test
                styles:
                - id: '1'
                  type: circle
                  paint:
                    circle-color: '#98F194'
                    circle-radius: 6
                    circle-opacity: 1
                    circle-stroke-width: 1
                  source: 00000000-0000-0000-0000-000000000000
                  source-layer: default
                - id: '2'
                  type: circle
                  paint:
                    circle-color: '#88005C'
                    circle-radius: 6
                    circle-opacity: 1
                    circle-stroke-width: 1
                  source: 00000000-0000-0000-0000-000000000000
                  source-layer: default
        required: true
  /context-layers/{context_layer_id}/attributes/:
    parameters:
    - name: context_layer_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: context-layer-attribute-list
      description: Return attributes of accessed context layer for the user.Specifically for cloud native layer.
      parameters:
      - name: page
        in: query
        description: Page number in pagination
        schema:
          type: integer
          default: 1
      - name: page_size
        in: query
        description: Total records in a page
        schema:
          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
        schema:
          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
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Context layer
  /context-layers/{context_layer_id}/data/download/:
    parameters:
    - name: context_layer_id
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: context-layer-features-download
      description: Download data based on output type.
      parameters:
      - name: file_format
        in: query
        description: Selected file format to be returned.
        required: true
        schema:
          type: string
          enum:
          - original
          - geojson
          - shapefile
          - geopackage
          - kml
      responses:
        '201':
          description: ''
      tags:
      - Context layer
  /context-layers/{context_layer_id}/data/features/:
    parameters:
    - name: context_layer_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: context-layer-features-list
      description: Retrieve features of accessed context layer for the user.Specifically for cloud native layer.
      parameters:
      - name: page
        in: query
        description: Page number in pagination
        schema:
          type: integer
          default: 1
      - name: page_size
        in: query
        description: Total records in a page
        schema:
          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
        schema:
          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
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Context layer
    post:
      operationId: context-layer-features-post
      description: 'Add new feature(s) for the accessed context layer for the user.

        Need to be at least edit data permission.


        Payload is geojson format. The geometry type should be the same with the current data.

        '
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                description: Geojson data.
                type: object
                example:
                  type: FeatureCollection
                  features:
                  - type: Feature
                    properties:
                      id: 1
                      name: New data
                      category: Category 1
                    geometry:
                      type: Point
                      coordinates:
                      - 0
                      - 0
      tags:
      - Context layer
      requestBody:
        content:
          application/json:
            schema:
              description: Geojson data.
              type: object
              example:
                type: FeatureCollection
                features:
                - type: Feature
                  properties:
                    id: 1
                    name: New data
                    category: Category 1
                  geometry:
                    type: Point
                    coordinates:
                    - 0
                    - 0
        required: true
    patch:
      operationId: context-layer-features-put
      description: "Update filtered feature of the accessed context layer for the user. Restricted to updating only one feature at a time. \nNeed to be at least edit data permission.\n\nPayload is in json with field names as keys and value as the new value. \ne.g. {\"field_1\": \"new_value\", \"field_2\": \"new_value}."
      responses:
        '200':
          description: ''
      tags:
      - Context layer
    delete:
      operationId: context-layer-features-delete
      description: 'Remove filtered feature of the accessed context layer for the user. Restricted to deleting only one feature at a time.

        Need to be at least edit data permission.'
      responses:
        '204':
          description: ''
      tags:
      - Context layer
  /context-layers/{context_layer_id}/data/replace/:
    parameters:
    - name: context_layer_id
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: context-layer-features-replace
      description: 'Replace all data ofthe accessed context layer for the user.

        Need to be at least edit data permission.


        Payload is geojson format.'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                description: Geojson data.
                type: object
                example:
                  type: FeatureCollection
                  features:
                  - type: Feature
                    properties:
                      id: 1
                      name: New data
                      category: Category 1
                    geometry:
                      type: Point
                      coordinates:
                      - 0
                      - 0
      tags:
      - Context layer
      requestBody:
        content:
          application/json:
            schema:
              description: Geojson data.
              type: object
              example:
                type: FeatureCollection
                features:
                - type: Feature
                  properties:
                    id: 1
                    name: New data
                    category: Category 1
                  geometry:
                    type: Point
                    coordinates:
                    - 0
                    - 0
        required: true
  /context-layers/{id}/:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: context-layer-detail
      description: Return detailed of context layer.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContextLayer'
      tags:
      - Context layer
    put:
      operationId: context-layer-detail-update
      description: Replace a detailed of context layer.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Data that is needed to create/edit context layer.
                type: object
                properties:
                  name:
                    title: Name
                    type: string
                  description:
                    title: Description
                    type: string
                  category:
                    title: Category
                    type: string
                  url:
                    title: Url
                    type: string
                  type:
                    title: Type
                    description: The choices are ['ARCGIS', 'Geojson', 'Raster COG', 'Raster Tile', 'Vector Tile', 'Related Table', 'Cloud Native GIS Layer']
                    type: string
                  styles:
                    title: Styles
                    description: String of JSON containing style configuration. The styles are simply a list of layers in a Mapbox style.
                    type: object
                example:
                  name: Context Layer
                  description: ''
                  layer_type: Cloud Native GIS Layer
                  category: Test
                  styles:
                  - id: '1'
                    type: circle
                    paint:
                      circle-color: '#98F194'
                      circle-radius: 6
                      circle-opacity: 1
                      circle-stroke-width: 1
                    source: 00000000-0000-0000-0000-000000000000
                    source-layer: default
                  - id: '2'
                    type: circle
                    paint:
                      circle-color: '#88005C'
                      circle-radius: 6
                      circle-opacity: 1
                      circle-stroke-width: 1
                    source: 00000000-0000-0000-0000-000000000000
                    source-layer: default
      tags:
      - Context layer
      requestBody:
        content:
          application/json:
            schema:
              description: Data that is needed to create/edit context layer.
              type: object
              properties:
                name:
                  title: Name
                  type: string
                description:
                  title: Description
                  type: string
                category:
                  title: Category
                  type: string
                url:
                  title: Url
                  type: string
                type:
                  title: Type
                  description: The choices are ['ARCGIS', 'Geojson', 'Raster COG', 'Raster Tile', 'Vector Tile', 'Related Table', 'Cloud Native GIS Layer']
                  type: string
                styles:
                  title: Styles
                  description: String of JSON containing style configuration. The styles are simply a list of layers in a Mapbox style.
                  type: object
              example:
                name: Context Layer
                description: ''
                layer_type: Cloud Native GIS Layer
                category: Test
                styles:
                - id: '1'
                  type: circle
                  paint:
                    circle-color: '#98F194'
                    circle-radius: 6
                    circle-opacity: 1
                    circle-stroke-width: 1
                  source: 00000000-0000-0000-0000-000000000000
                  source-layer: default
                - id: '2'
                  type: circle
                  paint:
                    circle-color: '#88005C'
                    circle-radius: 6
                    circle-opacity: 1
                    circle-stroke-width: 1
                  source: 00000000-0000-0000-0000-000000000000
                  source-layer: default
        required: true
    patch:
      operationId: context-layer-detail-partial-update
      description: Update just partial data based on payload a detailed of context layer.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Data that is needed to create/edit context layer.
                type: object
                properties:
                  name:
                    title: Name
                    type: string
                  description:
                    title: Description
                    type: string
                  category:
                    title: Category
                    type: string
                  url:
                    title: Url
                    type: string
                  type:
                    title: Type
                    description: The choices are ['ARCGIS', 'Geojson', 'Raster COG', 'Raster Tile', 'Vector Tile', 'Related Table', 'Cloud Native GIS Layer']
                    type: string
                  styles:
                    title: Styles
                    description: String of JSON containing style configuration. The styles are simply a list of layers in a Mapbox style.
                    type: object
                example:
                  name: Context Layer
                  description: ''
                  layer_type: Cloud Native GIS Layer
                  category: Test
                  styles:
                  - id: '1'
                    type: circle
                    paint:
                      circle-color: '#98F194'
                      circle-radius: 6
                      circle-opacity: 1
                      circle-stroke-width: 1
                    source: 00000000-0000-0000-0000-000000000000
                    source-layer: default
                  - id: '2'
                    type: circle
                    paint:
                      circle-color: '#88005C'
                      circle-radius: 6
                      circle-opacity: 1
                      circle-stroke-width: 1
                    source: 00000000-0000-0000-0000-000000000000
                    source-layer: default
      tags:
      - Context layer
      requestBody:
        content:
          application/json:
            schema:
              description: Data that is needed to create/edit context layer.
              type: object
              properties:
                name:
                  title: Name
                  type: string
                description:
                  title: Description
                  type: string
                category:
                  title: Category
                  type: string
                url:
                  title: Url
                  type: string
                type:
                  title: Type
                  description: The choices are ['ARCGIS', 'Geojson', 'Raster COG', 'Raster Tile', 'Vector Tile', 'Related Table', 'Cloud Native GIS Layer']
                  type: string
                styles:
                  title: Styles
                  description: String of JSON containing style configuration. The styles are simply a list of layers in a Mapbox style.
                  type: object
              example:
                name: Context Layer
                description: ''
                layer_type: Cloud Native GIS Layer
                category: Test
                styles:
                - id: '1'
                  type: circle
                  paint:
                    circle-color: '#98F194'
                    circle-radius: 6
                    circle-opacity: 1
                    circle-stroke-width: 1
                  source: 00000000-0000-0000-0000-000000000000
                  source-layer: default
                - id: '2'
                  type: circle
                  paint:
                    circle-color: '#88005C'
                    circle-radius: 6
                    circle-opacity: 1
                    circle-stroke-width: 1
                  source: 00000000-0000-0000-0000-000000000000
                  source-layer: default
        required: true
    delete:
      operationId: context-layer-detail-delete
      description: Delete a context layer.
      responses:
        '204':
          description: ''
      tags:
      - Context layer
components:
  schemas:
    ContextLayer:
      required:
      - name
      type: object
      properties:
        id:
          title: ID
          type: integer
          readOnly: true
        modified_at:
          title: Modified at
          type: string
          readOnly: true
        created_at:
          title: Created at
          type: string
          readOnly: true
        category:
          title: Category
          type: string
          readOnly: true
        ogc_api:
          title: Ogc api
          type: string
          readOnly: true
        name:
          title: Name
          type: string
          maxLength: 512
          minLength: 1
        description:
          title: Description
          type:
          - string
          - 'null'
        source:
          title: Source
          type:
          - string
          - 'null'
          maxLength: 512
        layer_type:
          title: Layer type
          description: 'The type of layer for this context layer.<br>For <b>ArcGIS</b>, put feature server of REST. e.g : https://{host}/rest/services/{layer}/FeatureServer/1.<br>For <b>GeoJson</b>, put url of geojson.<br>For <b>Raster tile</b>, put XYZ url.<br>For <b>Raster COG</b>, put url of cog.<br>For <b>Related table</b>, select existing related table name.<br>For <b>Vector tile</b>, put XYZ url.<br>For <b>Cloud native gis layer</b>, select the layer from cloud native gis.'
          type: string
          enum:
          - ARCGIS
          - Geojson
          - Raster Tile
          - Raster COG
          - Vector Tile
          - Related Table
          - Cloud Native GIS Layer
        label_config:
          title: Label config
          type:
          - object
          - 'null'
  securitySchemes:
    ApiKey_Auth:
      type: apiKey
      in: header
      name: Authorization