ChiefLab Runs API

Marketing runs and approval surface.

GitHub OpenAPI

Operations 9

GET /api/runs List recent runs (workspace-scoped) #
GET /api/runs/{id} Get a run with assets + actions #
POST /api/runs/{id}/approve Approve a run (or a specific action via /api/actions/{id}/approve) #
POST /api/runs/{id}/reject Reject a run with optional feedback (feedback persists as per-tenant voice… #
GET /api/actions List proposed actions across runs #
POST /api/actions/{id}/approve Approve a single action (transitions awaiting_approval → approved) #
POST /api/actions/{id}/reject Reject a single action with optional feedback #
POST /api/actions/{id}/execute Execute an approved action (e.g. fire Zernio publish, Resend send) #
GET /api/assets List generated assets (creatives, briefs, images) #

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/chieflab-io:chieflab-io-runs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

chieflab-io-runs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chieflab Io Runs API
  version: 0.3.0
  contact:
    name: ChiefLab
    url: https://chieflab.io
    email: hi@chieflab.io
  description: 'Operations tagged Runs across 2 of this provider''s published API definitions: chieflab-io-openapi.json, chieflab-io-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.chieflab.io
  description: Vercel-direct primary endpoint
- url: https://chieflab.io
  description: Brand-domain fallback through Cloudflare Pages
security:
- bearerAuth: []
tags:
- name: Runs
  description: Marketing runs and approval surface.
paths:
  /api/runs:
    get:
      tags:
      - Runs
      summary: List recent runs (workspace-scoped)
      responses:
        '200':
          description: Recent runs
      operationId: getApiRuns
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/runs/{id}:
    get:
      tags:
      - Runs
      summary: Get a run with assets + actions
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Run details
      operationId: getApiRunsById
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/runs/{id}/approve:
    post:
      tags:
      - Runs
      summary: Approve a run (or a specific action via /api/actions/{id}/approve)
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Approved
      operationId: postApiRunsByIdApprove
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/runs/{id}/reject:
    post:
      tags:
      - Runs
      summary: Reject a run with optional feedback (feedback persists as per-tenant voice…
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Rejected
      operationId: postApiRunsByIdReject
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/actions:
    get:
      tags:
      - Runs
      summary: List proposed actions across runs
      parameters:
      - name: runId
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Proposed actions
      operationId: getApiActions
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/actions/{id}/approve:
    post:
      tags:
      - Runs
      summary: Approve a single action (transitions awaiting_approval → approved)
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Approved action
      operationId: postApiActionsByIdApprove
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/actions/{id}/reject:
    post:
      tags:
      - Runs
      summary: Reject a single action with optional feedback
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Rejected action
      operationId: postApiActionsByIdReject
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/actions/{id}/execute:
    post:
      tags:
      - Runs
      summary: Execute an approved action (e.g. fire Zernio publish, Resend send)
      description: Action must be in `approved` status. Returns the third-party platform artifact ID (Zernio postId, Resend messageId, etc.).
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Executed — returns platform artifact ID
      operationId: postApiActionsByIdExecute
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
  /api/assets:
    get:
      tags:
      - Runs
      summary: List generated assets (creatives, briefs, images)
      parameters:
      - name: runId
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Generated assets
      operationId: getApiAssets
      x-operation-id-source: derived
    servers:
    - url: https://api.chieflab.io
      description: Vercel-direct primary endpoint
    - url: https://chieflab.io
      description: Brand-domain fallback through Cloudflare Pages
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: ChiefLab API key in the form `clp_dev_<key>` or `clp_live_<key>`. Mint one at https://chieflab.io/get-key (no email required for sandbox keys) or via the public `chieflab_signup_workspace` MCP tool.
externalDocs:
  description: ChiefLab manifest for AI agents (.well-known/mcp.json + llms.txt)
  url: https://chieflab.io/.well-known/mcp.json
x-refined-from:
- chieflab-io-openapi.json
- chieflab-io-openapi.yml