Macroscope Workspaces API

The Workspaces API from Macroscope — 2 operation(s) for workspaces.

Operations 2

POST /api/v1/workspaces/{workspaceType}/{workspaceId}/query-agent-webhook-trigger Trigger the agent #
GET /api/v1/workspaces/{workspaceType}/{workspaceId}/query-agent-jobs Poll for an agent job result #

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/macroscope-workspaces-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

macroscope-workspaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Macroscope Agent Webhook Workspaces API
  version: v1
  description: Inbound webhook API that triggers Macroscope's agent programmatically over HTTP.
  contact:
    name: Macroscope Support
    email: support@macroscope.com
    url: https://docs.macroscope.com/contact
  x-provenance:
    generated: '2026-07-20'
    method: generated
    source: https://docs.macroscope.com/api.md
servers:
- url: https://hooks.macroscope.com
  description: Macroscope agent webhook host
security:
- webhookSecret: []
tags:
- name: Workspaces
paths:
  /api/v1/workspaces/{workspaceType}/{workspaceId}/query-agent-webhook-trigger:
    post:
      operationId: queryAgentWebhookTrigger
      summary: Trigger the agent
      description: POST a query to the agent. Returns 202 Accepted with a job token and poll URL. Optionally deliver the result to a Slack channel/thread or an allowlisted external webhook URL; omit responseDestination to retrieve the result by polling. Requires that Status is configured and backfill has finished.
      security:
      - webhookSecret: []
      parameters:
      - name: workspaceType
        in: path
        required: true
        schema:
          type: string
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TriggerRequest'
      responses:
        '202':
          description: Query accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriggerAccepted'
        '400':
          description: Malformed request or missing query.
        '401':
          description: Missing or invalid X-Webhook-Secret.
        '403':
          description: Wrong workspace, or webhook URL not allowlisted.
      tags:
      - Workspaces
  /api/v1/workspaces/{workspaceType}/{workspaceId}/query-agent-jobs:
    get:
      operationId: pollAgentJob
      summary: Poll for an agent job result
      description: 'Poll for the result of a triggered job. Send the jobToken returned by the trigger as an Authorization: Bearer header. While running the response carries a Retry-After header (seconds). The job token is valid for about one hour.'
      security:
      - jobToken: []
      parameters:
      - name: workspaceType
        in: path
        required: true
        schema:
          type: string
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Job finished (completed or failed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResult'
        '202':
          description: Still running; retry after the Retry-After interval.
          headers:
            Retry-After:
              description: Seconds to wait before polling again.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    const: running
        '401':
          description: Missing or invalid job token.
        '403':
          description: Job token expired, or doesn't match this workspace.
        '404':
          description: Job not found.
      tags:
      - Workspaces
components:
  schemas:
    TriggerRequest:
      type: object
      required:
      - query
      properties:
        query:
          type: string
          description: The question to ask the agent.
        responseDestination:
          type: object
          description: Where to deliver the results. Omit to retrieve by polling.
          properties:
            slackChannelId:
              type: string
            slackThreadTs:
              type: string
            webhookUrl:
              type: string
              description: Must be an allowlisted HTTPS URL.
        timezone:
          type: string
          description: IANA timezone (e.g. America/Los_Angeles). Affects date references in the query.
    JobResult:
      type: object
      properties:
        status:
          type: string
          enum:
          - completed
          - failed
        response:
          type: string
    TriggerAccepted:
      type: object
      properties:
        jobToken:
          type: string
          description: Signed token (valid ~1 hour) authorizing you to read this one job's result.
        pollUrl:
          type: string
          description: Where to poll for the result.
        workflowId:
          type: string
          deprecated: true
  securitySchemes:
    webhookSecret:
      type: apiKey
      in: header
      name: X-Webhook-Secret
      description: Per-webhook API key created in Settings -> Connections -> Webhooks. Shown once and cannot be retrieved later.
    jobToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Short-lived (about one hour) signed job token returned by the trigger, authorizing reads of that one job's result.