BAMF.ai Workspaces API

The Workspaces API from BAMF.ai — 5 operation(s) for workspaces.

Operations 6

POST /workspaces/{workspace_id}/sites/artifacts/action Persist/read exact HTML source artifacts for custom site versions #
GET /workspaces/{workspace_id}/sites List hosted sites for one authorized client workspace #
POST /workspaces/{workspace_id}/sites/action Read, create, revise, preview, version or publish a managed client site #
GET /workspaces/{workspace_id}/creator-follows List workspace creator follows #
POST /workspaces/{workspace_id}/creator-follows Follow a LinkedIn, X, or Instagram creator profile #
DELETE /workspaces/{workspace_id}/creator-follows/{creator_profile_id} Unfollow a creator profile #

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/bamf-ai:bamf-ai-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

bamf-ai-workspaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BAMF Developer Platform Workspaces API
  version: 0.1.0
servers:
- url: https://api.bamf.ai/v1
security:
- BearerAuth: []
tags:
- name: Workspaces
paths:
  /workspaces/{workspace_id}/sites/artifacts/action:
    post:
      operationId: siteArtifactAction
      summary: Persist/read exact HTML source artifacts for custom site versions
      description: 'User-scoped keys and an existing managed client binding required. Bounded actions: list_client_projects/get_client_project_artifact require sites:read plus work.read/artifacts.read; create_client_project/save_client_project_artifact_version require sites:write plus work.write/artifacts.write. Writes require Idempotency-Key. Save uses artifact_format=html and complete content up to 1MB, project_id,title,params.idempotency_key and provenance {artifact_schema: bamf-visual-artifact/v1, revision: positive integer, optional provider: openai/anthropic/bamf/other, optional credential-free HTTPS source_session_url}. Updates also require real artifact_id and expected_updated_at. Returns canonical artifact_id/version_id/content_sha256. Use exact saved HTML and those IDs in create_visual_artifact_site_version; it validates persisted content/hash/provenance. Library biz_artifacts are not interchangeable. MCP: bamf.list_site_projects/create_site_project/get_site_artifact/save_site_artifact.'
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Idempotency-Key
        in: header
        schema:
          type: string
          minLength: 8
          maxLength: 200
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - action
              - params
              additionalProperties: false
              properties:
                action:
                  type: string
                  enum:
                  - list_client_projects
                  - create_client_project
                  - get_client_project_artifact
                  - save_client_project_artifact_version
                params:
                  type: object
      responses:
        '200':
          description: Canonical persisted artifact result and receipt
        '400':
          description: Invalid HTML/provenance/idempotency/concurrency parameters
        '403':
          description: Scope/tenant/key/capability denied
        '409':
          description: Stale update or conflicting idempotency
      tags:
      - Workspaces
  /workspaces/{workspace_id}/sites:
    get:
      operationId: listClientSites
      summary: List hosted sites for one authorized client workspace
      description: 'Requires sites:read, current managed client binding and work.read/artifacts.read capabilities. MCP: bamf.list_sites. Provides exact site IDs for subsequent builder operations.'
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Normalized sites, project links, artifacts and pending approvals
        '403':
          description: Tenant/capability/scope denied
      tags:
      - Workspaces
  /workspaces/{workspace_id}/sites/action:
    post:
      operationId: clientSiteAction
      summary: Read, create, revise, preview, version or publish a managed client site
      description: 'Accepts only canonical Site Builder action names and their bounded params. Requires sites:read for reads, sites:write for revisions, sessions, context, templates, site archive/unarchive, build retry/cancel, and site Pixel attachment, or sites:publish for approval/access/execute actions, plus current client workspace capabilities. User-scoped keys only; creator-scoped keys are rejected. Requires an existing authorized managed client workspace binding; does not provision universal creator hosting. Writes require Idempotency-Key. Publish executes the existing exact approval/version contract; timeout returns pending, never success. MCP tools: bamf.list_sites, bamf.get_site, bamf.manage_site, bamf.publish_site.'
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Idempotency-Key
        in: header
        description: Required for mutations; preserve this value on retry.
        schema:
          type: string
          minLength: 8
          maxLength: 240
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - action
              - params
              properties:
                action:
                  type: string
                  description: Canonical Site Builder action; discover supported read/write/publish enums from MCP tools/list.
                params:
                  type: object
                  description: Canonical action parameters; server validates size, identities and approval contract.
      responses:
        '200':
          description: Normalized site result and request audit IDs
        '400':
          description: Invalid action/params or missing mutation idempotency key
        '401':
          description: Authentication required
        '403':
          description: Scope, key type, tenant binding or capability denied
        '409':
          description: Version/approval or idempotency conflict
        '504':
          description: Publish still running; pending=true. Recheck status before another execution.
      tags:
      - Workspaces
  /workspaces/{workspace_id}/creator-follows:
    get:
      summary: List workspace creator follows
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: author_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Followed creator profiles
      tags:
      - Workspaces
      operationId: getWorkspacesByWorkspaceIdCreatorFollows
      x-operation-id-source: derived
    post:
      summary: Follow a LinkedIn, X, or Instagram creator profile
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Idempotency-Key
        in: header
        required: true
        schema:
          type: string
          minLength: 8
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - author_id
              - profile
              properties:
                author_id:
                  type: string
                  format: uuid
                profile:
                  type: string
                  description: Profile URL or platform-prefixed handle.
                platform:
                  type: string
                  enum:
                  - linkedin
                  - x
                  - instagram
                  description: Required only when the input is ambiguous.
      responses:
        '201':
          description: Creator followed or already followed
        '400':
          description: Invalid or ambiguous profile input
        '409':
          description: Per-platform user-added limit reached
      tags:
      - Workspaces
      operationId: postWorkspacesByWorkspaceIdCreatorFollows
      x-operation-id-source: derived
  /workspaces/{workspace_id}/creator-follows/{creator_profile_id}:
    delete:
      summary: Unfollow a creator profile
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: creator_profile_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: author_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      - name: Idempotency-Key
        in: header
        required: true
        schema:
          type: string
          minLength: 8
      responses:
        '200':
          description: Creator unfollowed
      tags:
      - Workspaces
      operationId: deleteWorkspacesByWorkspaceIdCreatorFollowsByCreatorProfileId
      x-operation-id-source: derived
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer