WorkSpan Actions API

The Actions API from WorkSpan — 2 operation(s) for actions.

Operations 2

GET /actions/{action_id} Get marketplace action status #
POST /actions Submit a marketplace action (e.g. withdraw offer or authorization) #

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/workspan-actions-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

workspan-actions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WorkSpan Marketplace Actions API
  description: 'Unified API for WorkSpan marketplace operations. This API provides endpoints for: (1) Creating and updating marketplace offers for AWS, Azure, and Google Cloud, (2) Uploading marketplace usage data for AWS, Azure, or Google Cloud marketplace integrations, (3) Retrieving usage upload status, and (4) Exporting report data with presigned read URLs for EULA files.'
  contact:
    email: api-team@workspan.com
  version: '1.0'
servers:
- url: https://api-sandbox.workspan.com/app/v1/marketplace
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Actions
paths:
  /actions/{action_id}:
    get:
      operationId: getMarketplaceActionById
      summary: Get marketplace action status
      description: Returns the current status of a previously submitted marketplace action, identified by action_id. For GCP actions, the status is synced live from the project's google_integration_status field on every call. For AWS actions, status is updated by the changeset polling infrastructure. For Azure actions, status is updated by the job polling infrastructure.
      parameters:
      - name: action_id
        in: path
        required: true
        schema:
          type: string
        description: The action_id returned from POST /actions.
      responses:
        '200':
          description: Action status retrieved successfully.
          content:
            application/json:
              examples:
                default:
                  value:
                    action_id: WS-MarketplaceAction-550e8400-e29b-41d4-a716-446655440000
                    object_id: offer-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
                    object_type: ws-offer
                    marketplace_type: aws
                    action_type: withdraw
                    status: IN_PROGRESS
                    message: Withdrawal request in progress.
        '400':
          description: Bad Request - No action record found for the given action_id.
        '401':
          description: Authorization Error - Invalid or missing authentication token.
        '500':
          description: Internal Server Error
      tags:
      - Actions
  /actions:
    post:
      operationId: createMarketplaceAction
      summary: Submit a marketplace action (e.g. withdraw offer or authorization)
      description: 'Initiates an asynchronous marketplace action on a WorkSpan offer. The request is validated synchronously — if all checks pass, an action_id is returned immediately with status IN_PROGRESS and the operation runs in the background. Poll GET /actions/{action_id} for the final status.


        Validation checks performed before the action is accepted (in order):

        1. Application User must have the MARKETPLACE_ACTIONS security profile.

        2. action_type must be ''withdraw''.

        3. object_type must be ''ws-offer''.

        4. marketplace_type must be ''aws'', ''azure'', or ''gcp''.

        5. object_id must resolve to an existing WorkSpan offer belonging to the caller''s company.

        6. No existing IN_PROGRESS action for the same object_id and action_type.'
      requestBody:
        content:
          application/json:
            examples:
              default:
                value:
                  action_type: withdraw
                  object_type: ws-offer
                  marketplace_type: aws
                  object_id: offer-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
      responses:
        '200':
          description: Action accepted and running asynchronously. status is always IN_PROGRESS in this response. Use the returned action_id to poll GET /actions/{action_id} for the final result.
          content:
            application/json:
              examples:
                default:
                  value:
                    action_id: WS-MarketplaceAction-550e8400-e29b-41d4-a716-446655440000
                    object_id: offer-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
                    object_type: ws-offer
                    marketplace_type: aws
                    action_type: withdraw
                    status: IN_PROGRESS
                    message: Withdrawal request in progress.
        '400':
          description: 'Bad Request. Possible reasons: missing required field, invalid action_type / object_type / marketplace_type, object_id not found, access denied, or a duplicate IN_PROGRESS action already exists for this object.'
        '401':
          description: Authorization Error - Invalid or missing authentication token.
        '403':
          description: Forbidden - Application User does not have the MARKETPLACE_ACTIONS security profile.
        '500':
          description: Internal Server Error
      tags:
      - Actions
components:
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      name: Ocp-Apim-Subscription-Key
      in: header
    apiKeyQuery:
      type: apiKey
      name: subscription-key
      in: query
x-harvest:
  source: https://developer.workspan.com/developer/apis/workspan-marketplace-object-inbound-api?export=true&format=openapi+json&api-version=2022-04-01-preview
  operations_source: https://developer.workspan.com/developer/apis/workspan-marketplace-object-inbound-api/operations?api-version=2022-04-01-preview
  harvested: '2026-07-21'
  note: Assembled from WorkSpan's Azure APIM developer portal data API (export skeleton + published operations/schemas).