WorkSpan Actions API
The Actions API from WorkSpan — 2 operation(s) for actions.
The Actions API from WorkSpan — 2 operation(s) for actions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/workspan-actions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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).