UP42 Workspaces and Account API

Read account and workspace context used across the platform. Retrieve the authenticated account, list workspaces, and (for enterprise accounts) inspect budgets that cap credit spend. Workspace IDs scope ordering, storage, and processing calls.

OpenAPI Specification

up42-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: UP42 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: Catalog
    description: Search the archive of previously captured imagery.
  - name: Tasking
    description: Commission new satellite acquisitions on demand.
  - name: Orders
    description: Estimate, place, and track catalog and tasking orders.
  - name: Storage Assets
    description: List, inspect, and download geospatial assets in storage.
  - name: STAC Data Management
    description: STAC-compliant view of everything in your storage.
  - name: Processing
    description: Run analytics and processing over stored assets.
  - name: Webhooks
    description: Register HTTPS endpoints for order and job status events.
  - name: Workspaces & Account
    description: Account, workspace, and budget context.
paths:
  # ------------------------- Catalog -------------------------
  /v2/collections:
    get:
      operationId: listCollections
      tags:
        - Catalog
      summary: Get geospatial collections
      description: >-
        Returns the list of geospatial collections available on UP42 (both catalog
        and tasking), each describing a data product, its provider/host, and
        supported ordering parameters.
      x-up42-endpoint-status: modeled
      parameters:
        - name: type
          in: query
          required: false
          description: Filter collections by ordering type (ARCHIVE or TASKING).
          schema:
            type: string
            enum: [ARCHIVE, TASKING]
      responses:
        '200':
          description: A paged list of collections.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/collections/{collection}:
    parameters:
      - name: collection
        in: path
        required: true
        description: The unique name of the collection.
        schema:
          type: string
    get:
      operationId: getCollection
      tags:
        - Catalog
      summary: Get a geospatial collection
      description: Retrieves a single geospatial collection by its unique name.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: The requested collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /catalog/hosts/{host}/stac/search:
    parameters:
      - name: host
        in: path
        required: true
        description: The catalog host to search (for example, oneatlas).
        schema:
          type: string
    post:
      operationId: searchCatalogByHost
      tags:
        - Catalog
      summary: Search the catalog by host
      description: >-
        Runs a STAC search against a host's archive catalog. Filter by collection,
        area of interest (intersects/bbox), acquisition datetime range, and
        property queries such as cloud cover, then page through matching scenes.
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StacSearchRequest'
      responses:
        '200':
          description: A STAC FeatureCollection of matching scenes.
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/StacItemCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /catalog/{provider}/image/{imageId}/quicklook:
    parameters:
      - name: provider
        in: path
        required: true
        schema:
          type: string
      - name: imageId
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: getQuicklookImage
      tags:
        - Catalog
      summary: Get a quicklook
      description: Returns a low-resolution quicklook preview image for an archive scene.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: The quicklook image.
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  # ------------------------- Tasking -------------------------
  /v2/tasking/feasibility:
    get:
      operationId: listTaskingFeasibilityStudies
      tags:
        - Tasking
      summary: Get feasibility studies
      description: >-
        Lists tasking feasibility studies for your workspace. A feasibility study
        evaluates whether and how a requested acquisition can be captured and
        returns one or more options to choose from.
      x-up42-endpoint-status: modeled
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
      responses:
        '200':
          description: A list of feasibility studies.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeasibilityList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/tasking/feasibility/{feasibilityId}:
    parameters:
      - name: feasibilityId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    patch:
      operationId: updateTaskingFeasibilityStudy
      tags:
        - Tasking
      summary: Choose a feasibility option
      description: Accepts one of the options returned by a tasking feasibility study.
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                acceptedOption:
                  type: string
                  format: uuid
      responses:
        '200':
          description: The updated feasibility study.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feasibility'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/tasking/quotations:
    get:
      operationId: listTaskingQuotations
      tags:
        - Tasking
      summary: Get quotations
      description: >-
        Lists tasking quotations. After a feasibility option is chosen, UP42
        produces a quotation with the credit price that must be accepted before the
        tasking order is placed.
      x-up42-endpoint-status: modeled
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
      responses:
        '200':
          description: A list of quotations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotationList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/tasking/quotations/{quotationId}:
    parameters:
      - name: quotationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    patch:
      operationId: updateTaskingQuotation
      tags:
        - Tasking
      summary: Accept or decline a quotation
      description: Accepts or declines a tasking quotation by setting its decision.
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                decision:
                  type: string
                  enum: [ACCEPTED, DECLINED]
      responses:
        '200':
          description: The updated quotation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Quotation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/tasking/orders/opportunities:
    get:
      operationId: listTaskingOrderOpportunities
      tags:
        - Tasking
      summary: Get tasking opportunities
      description: >-
        Lists acquisition opportunities (satellite passes) for a tasking
        collection over an area of interest and time window.
      x-up42-endpoint-status: modeled
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
      responses:
        '200':
          description: A list of tasking opportunities.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  # ------------------------- Orders -------------------------
  /v2/orders/schema:
    get:
      operationId: getOrderJsonSchema
      tags:
        - Orders
      summary: Get a JSON schema of an order form
      description: >-
        Returns the JSON schema describing the parameters required to place an
        order for a given data product, so a client can build and validate an
        order form.
      x-up42-endpoint-status: modeled
      parameters:
        - name: dataProductId
          in: query
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The order form JSON schema.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/orders/estimate:
    post:
      operationId: estimateOrder
      tags:
        - Orders
      summary: Estimate the cost of an order
      description: >-
        Estimates the credit cost of an order for the given data product and
        parameters (area of interest, image selection) before it is placed.
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderInput'
      responses:
        '200':
          description: The order cost estimate, in credits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEstimate'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/orders:
    get:
      operationId: listOrders
      tags:
        - Orders
      summary: Get orders
      description: Lists orders, optionally filtered by workspace and status.
      x-up42-endpoint-status: modeled
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
        - name: status
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paged list of orders.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createOrder
      tags:
        - Orders
      summary: Create an order
      description: >-
        Places a catalog or tasking order under a workspace. The workspaceId query
        parameter is required. Catalog orders are fulfilled immediately; tasking
        orders proceed to acquisition after the quotation is accepted.
      x-up42-endpoint-status: confirmed
      parameters:
        - name: workspaceId
          in: query
          required: true
          description: The workspace the order is placed under.
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderInput'
      responses:
        '201':
          description: The created order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v2/orders/{orderId}:
    parameters:
      - name: orderId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    get:
      operationId: getOrder
      tags:
        - Orders
      summary: Get an order
      description: Retrieves a single order by its ID, including its current status.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: The requested order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateOrder
      tags:
        - Orders
      summary: Update an order
      description: Updates mutable fields of an order (for example, its tags).
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The updated order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/orders/{orderId}/cancel:
    parameters:
      - name: orderId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    post:
      operationId: cancelOrder
      tags:
        - Orders
      summary: Cancel an order
      description: >-
        Cancels an order that is still in a cancellable state (for example CREATED
        or PLACEMENT_FAILED).
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: The cancelled order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  # ------------------------- Storage Assets -------------------------
  /v2/assets:
    get:
      operationId: listAssets
      tags:
        - Storage Assets
      summary: Get assets
      description: >-
        Lists the geospatial assets in your storage produced by completed catalog
        and tasking orders. Filter by workspace, collection, producer, and
        acquisition date.
      x-up42-endpoint-status: confirmed
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
        - name: size
          in: query
          required: false
          description: Page size.
          schema:
            type: integer
            default: 50
      responses:
        '200':
          description: A paged list of assets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/assets/{assetId}:
    parameters:
      - name: assetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    get:
      operationId: getAsset
      tags:
        - Storage Assets
      summary: Get an asset
      description: Retrieves metadata for a single asset by its ID.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: The requested asset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/assets/{assetId}/download-url:
    parameters:
      - name: assetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    post:
      operationId: createAssetDownloadUrl
      tags:
        - Storage Assets
      summary: Create a download URL
      description: >-
        Generates a short-lived, pre-signed URL to download an asset's files
        directly, without additional authentication.
      x-up42-endpoint-status: confirmed
      responses:
        '200':
          description: A pre-signed download URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  url:
                    type: string
                    format: uri
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  # ------------------------- STAC Data Management -------------------------
  /v2/sas:
    get:
      operationId: getStacLandingPage
      tags:
        - STAC Data Management
      summary: Get the STAC landing page
      description: >-
        Returns the STAC API landing page for your storage, including the API
        version and the STAC extensions it conforms to.
      x-up42-endpoint-status: confirmed
      responses:
        '200':
          description: The STAC landing page.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/sas/collections:
    get:
      operationId: getStacCollections
      tags:
        - STAC Data Management
      summary: Get STAC collections
      description: Lists all STAC collections in your storage.
      x-up42-endpoint-status: confirmed
      responses:
        '200':
          description: A list of STAC collections.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/sas/collections/{collectionId}:
    parameters:
      - name: collectionId
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: getStacCollection
      tags:
        - STAC Data Management
      summary: Get a STAC collection
      description: Retrieves a single STAC collection by its ID.
      x-up42-endpoint-status: confirmed
      responses:
        '200':
          description: The requested STAC collection.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteStacCollection
      tags:
        - STAC Data Management
      summary: Remove a STAC collection
      description: Deletes a STAC collection and its items from your storage.
      x-up42-endpoint-status: confirmed
      responses:
        '204':
          description: The collection was removed.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/sas/collections/{collectionId}/items:
    parameters:
      - name: collectionId
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: getStacItems
      tags:
        - STAC Data Management
      summary: Get STAC items
      description: Lists all STAC items in a collection.
      x-up42-endpoint-status: confirmed
      responses:
        '200':
          description: A STAC FeatureCollection of items.
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/StacItemCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/sas/collections/{collectionId}/items/{itemId}:
    parameters:
      - name: collectionId
        in: path
        required: true
        schema:
          type: string
      - name: itemId
        in: path
        required: true
        schema:
          type: string
    get:
      operationId: getStacItem
      tags:
        - STAC Data Management
      summary: Get a STAC item
      description: Retrieves a single STAC item by ID within a collection.
      x-up42-endpoint-status: confirmed
      responses:
        '200':
          description: The requested STAC item.
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/StacItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateStacItem
      tags:
        - STAC Data Management
      summary: Update a STAC item
      description: Updates the title or tags of a STAC item.
      x-up42-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                tags:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: The updated STAC item.
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/StacItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/sas/queryables:
    get:
      operationId: getStacQueryables
      tags:
        - STAC Data Management
      summary: Get data management search parameters
      description: Returns the queryable properties available for STAC searches over your storage.
      x-up42-endpoint-status: confirmed
      responses:
        '200':
          description: The set of queryable properties.
          content:
            application/schema+json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/sas/search:
    post:
      operationId: searchStacItems
      tags:
        - STAC Data Management
      summary: Search for STAC items
      description: >-
        Runs a STAC search across all STAC items in your storage, filtering by
        collection, geometry, datetime, and queryable properties.
      x-up42-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StacSearchRequest'
      responses:
        '200':
          description: A STAC FeatureCollection of matching items.
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/StacItemCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
  # ------------------------- Processing -------------------------
  /v2/processing/processes:
    get:
      operationId: listProcesses
      tags:
        - Processing
      summary: Get available processes
      description: Lists the processing/analytics operations available to run over stored assets.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: A list of available processes.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/processing/processes/{processId}/validation:
    parameters:
      - name: processId
        in: path
        required: true
        schema:
          type: string
    post:
      operationId: evaluateProcess
      tags:
        - Processing
      summary: Determine process cost and validity
      description: >-
        Validates process inputs and returns the estimated credit cost of running a
        process before it is executed.
      x-up42-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: The validation result and cost estimate.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/processing/processes/{processId}/execution:
    parameters:
      - name: processId
        in: path
        required: true
        schema:
          type: string
    post:
      operationId: executeProcess
      tags:
        - Processing
      summary: Run a process
      description: Executes a process against input assets, creating a processing job.
      x-up42-endpoint-status: modeled
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '201':
          description: The created processing job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessingJob'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/processing/jobs:
    get:
      operationId: listProcessingJobs
      tags:
        - Processing
      summary: Get processing jobs
      description: Lists processing jobs and their status.
      x-up42-endpoint-status: modeled
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdQuery'
      responses:
        '200':
          description: A list of processing jobs.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/processing/jobs/{jobId}:
    parameters:
      - name: jobId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    get:
      operationId: getProcessingJob
      tags:
        - Processing
      summary: Get a processing job
      description: Retrieves a single processing job by ID.
      x-up42-endpoint-status: modeled
      responses:
        '200':
          description: The requested processing job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessingJob'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  # ------------------------- Webhooks -------------------------
  /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-u

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/up42/refs/heads/main/openapi/up42-openapi.yml