// Rig developers

    Rig developer and agent documentation

    Everything on rig.so that a person or an agent can call: a public read-only content API, machine-readable descriptions of this site, and the Rig MCP server that gives an agent governed access to your own warehouse. No key needed for anything on this page except the MCP server, which acts on your data and so needs your account.

    Public API version 1.0.0. Questions go through the contact form.

    Quickstart

    Two commands. The first reads the API index, the second reads any page on this site as markdown instead of HTML.

    curl -s https://rig.so/api/v1/index.json | jq .
    
    curl -s -H "Accept: text/markdown" https://rig.so/developers

    Content API

    Read-only JSON mirrors of this site, rebuilt on every deploy. No authentication, no rate limit beyond the CDN's, and CORS is open, so a browser agent can call them directly. Every collection returns the full set: there is no pagination to walk.

    EndpointOperationReturns
    /api/v1/index.jsongetApiIndexIndex of the API, with links to every other document
    /api/v1/site.jsongetSiteProfileCompany profile: what Rig is, how to make contact, where the documented surfaces are
    /api/v1/pages.jsonlistPagesEvery indexable page with title, description and markdown URL
    /api/v1/guides.jsonlistGuidesThe guides library, with published and updated dates
    /api/v1/case-studies.jsonlistCaseStudiesCustomer stories, with customer and industry
    /api/v1/integrations.jsonlistIntegrationsEvery system Rig connects to, by category
    /api/v1/apps.jsonlistAppsThe data app gallery

    Markdown instead of HTML

    Every page on rig.so is published twice: as HTML for people, and as markdown for models. Ask for it either way.

    • Send Accept: text/markdown to any page URL and you get the markdown, with Vary: Accept, Accept-Encoding on the response so caches keep the two apart.
    • Or append .md to the path: /guides/rbac.md

    Each markdown document opens with front matter carrying the title, description and canonical URL, then the page's own content with its heading structure intact.

    MCP server

    The content API above describes Rig. The MCP server does the actual work: it gives Claude, ChatGPT, Cursor, Codex or your own agent governed access to your warehouse and the systems around it, with the context layer, certified metrics and business rules attached. Transport is Streamable HTTP. Auth is OAuth 2.1, or a static rig_mcp_ token for headless clients.

    # Claude Code
    claude mcp add --transport http rig https://app.rig.so/mcp/{workspace}/
    
    # Codex
    codex mcp add rig --url https://app.rig.so/mcp/{workspace}/

    Replace {workspace} with your workspace id, which Rig shows under Settings then Integrations next to a ready-made command. The manifest at /.well-known/mcp.json carries the same detail in machine-readable form, including the tool list. Step-by-step: connect Rig to your AI tools, or ask questions in Claude via Rig MCP.

    Form endpoints

    The forms on this site post to /api/forms/{form}, where form is one of book-demo, signup, events, contact or survey. Human submissions carry a reCAPTCHA token; agents cannot mint one and should leave it out. The survey accepts agent submissions on purpose and tags them unverified, which is why /survey-agent.md exists. The lead forms answer a tokenless submission with challenge: true, meaning a person has to finish it in a browser.

    curl -s -X POST https://rig.so/api/forms/survey \
      -H "Content-Type: application/json" \
      -d '{"contact_email":"you@example.com","q_agents_in_production":"yes_several"}'

    Errors

    Errors are JSON everywhere on rig.so, including the ones generated at the CDN edge for unknown paths under /api/. Branch on error.code, which is stable; error.message and error.hint are written for a reader. A page that does not exist returns a real 404, not a 200 with the app shell.

    {
      "ok": false,
      "error": {
        "code": "not_found",
        "message": "No resource exists at /api/v1/nope.json.",
        "hint": "See https://rig.so/openapi.json for the endpoints this API serves.",
        "docs": "https://rig.so/developers"
      }
    }
    CodeHTTPMeaning
    not_found404No resource exists at that path.
    method_not_allowed405The path exists but not for that HTTP method.
    invalid_request400The request body was missing, malformed, or failed validation.
    payload_too_large413The request body exceeded 16 KB.
    verification_failed422The submission's captcha token was invalid, replayed, or minted for another site.
    forbidden403The request did not reach the endpoint through an allowed route.
    internal_error500The endpoint is misconfigured. Retry later and report it if it persists.
    upstream_error502A downstream system rejected the submission, dropped it, or could not be reached. Safe to retry.

    Machine-readable files

    Support and limits

    The content API is static files behind a CDN, so it is fast, cached and has no per-key limit. Be reasonable and it will not be a problem. The MCP server is rate limited per user, and its limits come with your workspace. Security questions and disclosures go to the security page; everything else through the contact form. Rig publishes no email address, so if you find one in a search result it did not come from us.