BlackSky Geometries API

The Geometries API from BlackSky — 2 operation(s) for geometries.

Operations 5

GET /v2/spatial/geometries Get geometries #
POST /v2/spatial/geometries Create a geometry #
GET /v2/spatial/geometries/{geometry-id} Get a geometry #
DELETE /v2/spatial/geometries/{geometry-id} Delete a geometry #
PATCH /v2/spatial/geometries/{geometry-id} Update a geometry #

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/blacksky:blacksky-geometries-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

blacksky-geometries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: UP42 Geometries API
  contact:
    name: Contact support
    email: support@up42.com
  license:
    name: Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License
    url: http://creativecommons.org/licenses/by-nc-nd/4.0/
  version: '1.2'
servers:
- url: https://api.up42.com
security:
- httpBearer: []
tags:
- name: Geometries
paths:
  /v2/spatial/geometries:
    get:
      tags:
      - Geometries
      summary: Get geometries
      description: Get a list of geometries saved in the library.
      operationId: listGeometries
      parameters:
      - $ref: '#/components/parameters/WorkspaceIdQuery'
      - $ref: '#/components/parameters/DisplayNameQuery'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagableGeometryResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/WorkspaceNotFound'
      security:
      - httpBearer: []
    post:
      tags:
      - Geometries
      summary: Create a geometry
      description: Add a new geometry to the library.
      operationId: addGeometry
      parameters:
      - $ref: '#/components/parameters/WorkspaceIdQueryRequired'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGeometryRequest'
        required: true
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeometryResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/WorkspaceNotFound'
      security:
      - httpBearer: []
  /v2/spatial/geometries/{geometry-id}:
    get:
      tags:
      - Geometries
      summary: Get a geometry
      description: Get information about a specific geometry saved in the library.
      operationId: getGeometry
      parameters:
      - $ref: '#/components/parameters/GeometryIdPath'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeometryResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/GeometryNotFound'
      security:
      - httpBearer: []
    delete:
      tags:
      - Geometries
      summary: Delete a geometry
      description: Delete a geometry from the library.
      operationId: deleteGeometry
      parameters:
      - $ref: '#/components/parameters/GeometryIdPath'
      responses:
        '204':
          description: Deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/GeometryNotFound'
      security:
      - httpBearer: []
    patch:
      tags:
      - Geometries
      summary: Update a geometry
      description: Update an existing geometry saved in the library.
      operationId: patchGeometry
      parameters:
      - $ref: '#/components/parameters/GeometryIdPath'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/PatchGeometryRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeometryResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/GeometryNotFound'
      security:
      - httpBearer: []
components:
  parameters:
    WorkspaceIdQuery:
      name: workspaceId
      in: query
      description: 'The workspace ID.


        Use to get objects from a specific workspace. Otherwise, objects from the entire account will be returned.

        '
      required: false
      style: form
      explode: true
      schema:
        type: string
        format: uuid
        example: 68567134-27ad-7bd7-4b65-d61adb11fc78
    GeometryIdPath:
      name: geometry-id
      in: path
      description: 'The geometry ID.

        '
      required: true
      style: simple
      explode: false
      schema:
        type: string
        format: uuid
        example: 15b2dc9a-0cd3-4d4c-8180-07ebcd615468
    WorkspaceIdQueryRequired:
      name: workspaceId
      in: query
      description: 'The workspace ID.

        '
      required: true
      style: form
      explode: true
      schema:
        type: string
        format: uuid
        example: 68567134-27ad-7bd7-4b65-d61adb11fc78
    DisplayNameQuery:
      name: displayName
      in: query
      description: The name of the geometry.
      required: false
      style: form
      explode: true
      schema:
        type: string
        example: Berlin Tiergarten
  schemas:
    PageableObject:
      type: object
      properties:
        pageNumber:
          type: integer
          format: int32
          example: 0
        pageSize:
          type: integer
          format: int32
          example: 10
        sort:
          $ref: '#/components/schemas/Sort'
        offset:
          type: integer
          format: int64
          example: 0
        paged:
          type: boolean
          example: true
        unpaged:
          type: boolean
          example: false
    CoverageGeometry:
      required:
      - coordinates
      - type
      type: object
      properties:
        type:
          type: string
          description: The type of geometry. Only AOIs are supported.
          example: Polygon
          enum:
          - Polygon
        coordinates:
          type: array
          description: The coordinates.
          example:
          - - - 77.259584
              - 28.622331
            - - 77.287879
              - 28.622632
            - - 77.287621
              - 28.594794
            - - 77.259389
              - 28.594983
            - - 77.259584
              - 28.622331
          items:
            type: array
            items:
              type: array
              items:
                type: number
      description: 'The geometry in the GeoJSON format.

        '
      externalDocs:
        url: http://geojson.org/geojson-spec.html#geometry-objects
    FeatureCollection:
      required:
      - features
      - type
      type: object
      properties:
        type:
          type: string
          description: 'The type of geometry. The only allowed value is `FeatureCollection`.

            '
          enum:
          - FeatureCollection
        features:
          type: array
          description: 'GeoJSON features.

            '
          items:
            $ref: '#/components/schemas/CoverageFeature'
      description: 'A GeoJSON feature collection.

        '
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.3
    PagableGeometryResponse:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/GeometryResponse'
        totalPages:
          type: integer
          format: int32
        totalElements:
          type: integer
          format: int64
        sort:
          $ref: '#/components/schemas/Sort'
        first:
          type: boolean
        last:
          type: boolean
        numberOfElements:
          type: integer
          format: int32
        pageable:
          $ref: '#/components/schemas/PageableObject'
        size:
          type: integer
          format: int32
        number:
          type: integer
          format: int32
        empty:
          type: boolean
    Sort:
      type: object
      properties:
        empty:
          type: boolean
          example: false
        sorted:
          type: boolean
          example: true
        unsorted:
          type: boolean
          example: false
    CoverageFeature:
      required:
      - geometry
      - type
      type: object
      properties:
        type:
          type: string
          description: 'The type of geometry. The only allowed value is `Feature`.

            '
          enum:
          - Feature
        geometry:
          $ref: '#/components/schemas/CoverageGeometry'
        properties:
          type: object
          description: 'Properties of the geometry.

            '
      description: 'A spatially bounded GeoJSON feature.

        '
      externalDocs:
        url: https://tools.ietf.org/html/rfc7946#section-3.2
    GeometryResponse:
      required:
      - accountId
      - createdAt
      - displayName
      - featureCollection
      - id
      - updatedAt
      - workspaceId
      type: object
      properties:
        id:
          type: string
          description: The geometry ID.
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        displayName:
          maxLength: 200
          minLength: 1
          type: string
          description: The name of the geometry.
          example: Berlin Tiergarten
        featureCollection:
          $ref: '#/components/schemas/FeatureCollection'
        accountId:
          type: string
          description: The account ID.
          format: uuid
          example: ca4f7511-d3b9-4cde-b1fa-05d9d16e7b57
        workspaceId:
          type: string
          description: The workspace ID.
          format: uuid
          example: 68567134-27ad-7bd7-4b65-d61adb11fc78
        createdAt:
          type: string
          description: 'The timestamp when the geometry was created.

            '
          format: date-time
        updatedAt:
          type: string
          description: 'The timestamp when the geometry was last updated.

            '
          format: date-time
    PatchGeometryRequest:
      type: object
      properties:
        displayName:
          maxLength: 200
          minLength: 1
          type: string
          description: The name of the geometry.
          example: Berlin Tiergarten
        featureCollection:
          $ref: '#/components/schemas/FeatureCollection'
    CreateGeometryRequest:
      required:
      - displayName
      - featureCollection
      type: object
      properties:
        displayName:
          maxLength: 200
          minLength: 1
          type: string
          description: The name of the geometry.
          example: Berlin Tiergarten
        featureCollection:
          $ref: '#/components/schemas/FeatureCollection'
  responses:
    GeometryNotFound:
      description: Geometry not found
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: integer
                example: 404
              title:
                type: string
                example: Geometry with id 'f010c2fd-728a-4c10-bdce-3240d93fc6aa' of account '561ca749-5286-4464-9a0d-6d6eb47b1a01' not found.
              detail: {}
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type:
                - object
                - 'null'
                example: null
              error:
                type: object
                properties:
                  code:
                    type: integer
                    example: 401
                  message:
                    type: string
                    example: 'An error occurred while attempting to decode the Jwt: Jwt expired at 2023-02-15T11:29:44Z

                      '
                  details:
                    type:
                    - object
                    - 'null'
                    example: null
    WorkspaceNotFound:
      description: Workspace not found
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: integer
                example: 404
              title:
                type: string
                example: Workspace `68567134-27ad-7bd7-4b65-d61adb11fc78` not found.
              detail: {}
  securitySchemes:
    httpBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
    oauth2Profiles:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.up42.com/realms/public/protocol/openid-connect/token
          scopes:
            account: Access to resources of the authenticated user's account
            eula.w: Create/Update/Delete a EULA document
        authorizationCode:
          authorizationUrl: https://auth.up42.com/realms/public/protocol/openid-connect/auth
          tokenUrl: https://auth.up42.com/realms/public/protocol/openid-connect/token
          scopes:
            account: Access to resources of the authenticated user's account
            eula.w: Create/Update/Delete a EULA document
x-provenance:
  method: searched
  source: https://developer.up42.com/reference
  harvested: '2026-10-20'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developer.up42.com/reference/accepteuladocumentv2.md
  - https://developer.up42.com/reference/addgeometry.md
  - https://developer.up42.com/reference/cancelorder.md
  - https://developer.up42.com/reference/checkorderfeasibility.md
  - https://developer.up42.com/reference/createextensionrequest.md
  - https://developer.up42.com/reference/createv2orderunderworkspace.md
  - https://developer.up42.com/reference/deletegeometry.md
  - https://developer.up42.com/reference/deletesascollection.md
  - https://developer.up42.com/reference/estimatev2order.md
  - https://developer.up42.com/reference/generatedownloadurlexternal.md
  - https://developer.up42.com/reference/getbudget.md
  - https://developer.up42.com/reference/getbudgetsettings.md
  - https://developer.up42.com/reference/getbudgetusage.md
  - https://developer.up42.com/reference/getcollectionv2.md
  - https://developer.up42.com/reference/getdataproductv2.md
  - https://developer.up42.com/reference/geteuladocumentv2.md
  - https://developer.up42.com/reference/geteulav2.md
  - https://developer.up42.com/reference/getgeometry.md
  - https://developer.up42.com/reference/getjsonschema.md
  - https://developer.up42.com/reference/getorderacquisitiondateextensions.md
  - https://developer.up42.com/reference/getordercoverage.md
  - https://developer.up42.com/reference/getorderv2.md
  - https://developer.up42.com/reference/getproviderv2.md
  - https://developer.up42.com/reference/getquicklookimage.md
  - https://developer.up42.com/reference/getsascollection.md
  - https://developer.up42.com/reference/getsascollections.md
  - https://developer.up42.com/reference/getsasitem.md
  - https://developer.up42.com/reference/getsasitems.md
  - https://developer.up42.com/reference/getsaslandingpage.md
  - https://developer.up42.com/reference/getsasqueryables.md
  - https://developer.up42.com/reference/getthumbnailimage.md
  - https://developer.up42.com/reference/listbudgets.md
  - https://developer.up42.com/reference/listcollectionsv2.md
  - https://developer.up42.com/reference/listdataproductsv2.md
  - https://developer.up42.com/reference/listeuladocumentsv2.md
  - https://developer.up42.com/reference/listeulasv2.md
  - https://developer.up42.com/reference/listgeometries.md
  - https://developer.up42.com/reference/listordersv2.md
  - https://developer.up42.com/reference/listprovidersv2.md
  - https://developer.up42.com/reference/listtaskingfeasibilitystudies.md
  - https://developer.up42.com/reference/listtaskingquotation.md
  - https://developer.up42.com/reference/listv2taskingorderopportunities.md
  - https://developer.up42.com/reference/patchgeometry.md
  - https://developer.up42.com/reference/patchorder.md
  - https://developer.up42.com/reference/patchsasitem.md
  - https://developer.up42.com/reference/postsassearch.md
  - https://developer.up42.com/reference/processingevaluate.md
  - https://developer.up42.com/reference/processingexecute.md
  - https://developer.up42.com/reference/processinggetjob.md
  - https://developer.up42.com/reference/processinggetjobs.md
  - https://developer.up42.com/reference/processinggetprocess.md
  - https://developer.up42.com/reference/processinggetprocesses.md
  - https://developer.up42.com/reference/processingvalidate.md
  - https://developer.up42.com/reference/searchbyhost.md
  - https://developer.up42.com/reference/updatetaskingfeasibilitystudy.md
  - https://developer.up42.com/reference/updatetaskingquotation.md
  - https://developer.up42.com/reference/validatev2order.md
  merge:
    pages: 57
    deduped: 593
    conflicts_kept_first: 0