UP42 Webhooks API

Register HTTPS endpoints for order and job status events.

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/up42-webhooks-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 email required.

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

OpenAPI Specification

up42-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: UP42 Catalog Webhooks API
  description: 'The UP42 API is the programmatic surface of the UP42 geospatial marketplace and developer platform, operated by Airbus Defence and Space. It covers the full Earth observation workflow: searching the archive (Catalog), commissioning new satellite acquisitions (Tasking), estimating/placing/tracking Orders, storing and downloading results as cloud-native Assets, browsing storage through a STAC-compliant data management API, running Processing/analytics, and receiving order and job status changes via Webhooks.


    All requests go to https://api.up42.com and are authenticated with an OAuth2 Bearer access token. Access tokens are short-lived (about 5 minutes) and are obtained either from a UP42 API key or from account credentials via the UP42 authentication server (https://auth.up42.com/realms/public/protocol/openid-connect/token, grant_type password or client_credentials, client_id up42-api). Most ordering, storage, and processing operations are scoped to a workspace by its workspaceId.


    Endpoint accuracy: paths marked `x-up42-endpoint-status: confirmed` were verified against the UP42 developer documentation (docs.up42.com / developer.up42.com). Paths marked `modeled` are named operations from the UP42 API reference whose exact REST path/method were reconstructed from documentation and the UP42 Python SDK, and should be re-verified against the live reference during reconciliation.'
  version: '2.0'
  contact:
    name: UP42 Support
    url: https://up42.com/company/contact-us
  termsOfService: https://up42.com/legal/terms-and-conditions
servers:
- url: https://api.up42.com
  description: UP42 production API
security:
- bearerAuth: []
tags:
- name: Webhooks
  description: Register HTTPS endpoints for order and job status events.
paths:
  /v2/webhooks:
    get:
      operationId: listWebhooks
      tags:
      - Webhooks
      summary: Get webhooks
      description: Lists the webhooks registered for your account.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: A list of webhooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createWebhook
      tags:
      - Webhooks
      summary: Create a webhook
      description: 'Registers a new webhook: a name, a unique HTTPS URL to receive events, a secret used to sign the payload, and the event types that trigger it.'
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookInput'
      responses:
        '201':
          description: The created webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v2/webhooks/{webhookId}:
    parameters:
    - name: webhookId
      in: path
      required: true
      schema:
        type: string
        format: uuid
    get:
      operationId: getWebhook
      tags:
      - Webhooks
      summary: Get a webhook
      description: Retrieves a single webhook by ID.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: The requested webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateWebhook
      tags:
      - Webhooks
      summary: Update a webhook
      description: Replaces the configuration of an existing webhook.
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookInput'
      responses:
        '200':
          description: The updated webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteWebhook
      tags:
      - Webhooks
      summary: Delete a webhook
      description: Removes a webhook so it no longer receives events.
      x-up42-endpoint-status: modeled
      responses:
        '204':
          description: The webhook was deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/webhooks/events:
    get:
      operationId: listWebhookEvents
      tags:
      - Webhooks
      summary: Get webhook events
      description: Lists the event types that a webhook can subscribe to (for example order.status and job.status changes).
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: A list of available webhook event types.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    WebhookInput:
      type: object
      required:
      - name
      - url
      - events
      properties:
        name:
          type: string
        url:
          type: string
          format: uri
          description: The HTTPS endpoint that receives events.
        events:
          type: array
          items:
            type: string
            description: e.g. order.status, job.status.
        secret:
          type: string
          description: Secret used to sign the event payload signature header.
        active:
          type: boolean
          default: true
    Webhook:
      allOf:
      - $ref: '#/components/schemas/WebhookInput'
      - type: object
        properties:
          id:
            type: string
            format: uuid
          createdAt:
            type: string
            format: date-time
    WebhookList:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Webhook'
    Error:
      type: object
      properties:
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
  responses:
    ValidationError:
      description: The request payload failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid access token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'OAuth2 Bearer access token. Obtain a token from a UP42 API key or account credentials via https://auth.up42.com/realms/public/protocol/openid-connect/token (client_id up42-api). Access tokens are short-lived (about 5 minutes); refresh as needed. Pass as `Authorization: Bearer YOUR_ACCESS_TOKEN`.'