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-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' # ------------------------- Workspaces & Account ------------------------- /v2/account: get: operationId: getAccount tags: - Workspaces & Account summary: Get the authenticated account description: Returns the account associated with the current access token. x-up42-endpoint-status: modeled responses: '200': description: The account. content: application/json: schema: type: object additionalProperties: true '401': $ref: '#/components/responses/Unauthorized' /v2/workspaces: get: operationId: listWorkspaces tags: - Workspaces & Account summary: Get workspaces description: >- Lists the workspaces available to the account. A workspace ID scopes ordering, storage, and processing calls. x-up42-endpoint-status: modeled responses: '200': description: A list of workspaces. content: application/json: schema: type: object additionalProperties: true '401': $ref: '#/components/responses/Unauthorized' /v2/budgets: get: operationId: listBudgets tags: - Workspaces & Account summary: Get budgets description: >- Lists budgets that cap credit spend. Available to enterprise accounts. x-up42-endpoint-status: modeled responses: '200': description: A list of budgets. content: application/json: schema: type: object additionalProperties: true '401': $ref: '#/components/responses/Unauthorized' '403': description: Not available for this account type. components: 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`. parameters: WorkspaceIdQuery: name: workspaceId in: query required: false description: The workspace that scopes the request. schema: type: string format: uuid responses: 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' ValidationError: description: The request payload failed validation. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Error: type: object properties: title: type: string status: type: integer detail: type: string Collection: type: object properties: name: type: string title: type: string type: type: string enum: [ARCHIVE, TASKING] producers: type: array items: type: string dataProducts: type: array items: type: object additionalProperties: true CollectionList: type: object properties: content: type: array items: $ref: '#/components/schemas/Collection' StacSearchRequest: type: object properties: collections: type: array items: type: string intersects: type: object description: A GeoJSON geometry to intersect. additionalProperties: true bbox: type: array items: type: number datetime: type: string description: An RFC 3339 datetime or interval. query: type: object description: Property queries such as cloudCoverage. additionalProperties: true limit: type: integer default: 10 StacItem: type: object properties: type: type: string default: Feature stac_version: type: string id: type: string collection: type: string geometry: type: object additionalProperties: true bbox: type: array items: type: number properties: type: object additionalProperties: true assets: type: object additionalProperties: true StacItemCollection: type: object properties: type: type: string default: FeatureCollection features: type: array items: $ref: '#/components/schemas/StacItem' OrderInput: type: object properties: dataProduct: type: string format: uuid params: type: object description: Product-specific order parameters, including aoi and image IDs. additionalProperties: true tags: type: array items: type: string OrderEstimate: type: object properties: credits: type: integer size: type: number description: Area of the order in km2. unit: type: string Order: type: object properties: id: type: string format: uuid workspaceId: type: string format: uuid type: type: string enum: [ARCHIVE, TASKING] status: type: string description: e.g. CREATED, BEING_FULFILLED, DELIVERED, FAILED_PERMANENTLY. dataProductId: type: string format: uuid createdAt: type: string format: date-time OrderList: type: object properties: content: type: array items: $ref: '#/components/schemas/Order' Feasibility: type: object properties: id: type: string format: uuid status: type: string options: type: array items: type: object additionalProperties: true FeasibilityList: type: object properties: content: type: array items: $ref: '#/components/schemas/Feasibility' Quotation: type: object properties: id: type: string format: uuid decision: type: string enum: [NOT_DECIDED, ACCEPTED, DECLINED] credits: type: integer QuotationList: type: object properties: content: type: array items: $ref: '#/components/schemas/Quotation' Asset: type: object properties: id: type: string format: uuid name: type: string workspaceId: type: string format: uuid contentType: type: string size: type: integer createdAt: type: string format: date-time AssetList: type: object properties: content: type: array items: $ref: '#/components/schemas/Asset' ProcessingJob: type: object properties: id: type: string format: uuid processId: type: string status: type: string results: type: array items: type: object additionalProperties: true 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'