Skip to content

The same tools, over plain HTTP

For a script or a service that cannot run a browser sign-in. Scoped keys, one OpenAPI document, and the same approvals as the screen.

  • OpenAPI document
  • Scoped keys, shown once
  • Rate limits in every response

The short version

InstinctGTM's REST API at /api/v1 runs the same tools as the MCP server through the same permission checks, described in one OpenAPI document generated from the registry the server runs on. You issue a key with only the scopes it needs; the secret is shown once and stored hashed, and rate limits come back in headers on every response.

Read against the registry on 2026-10-13

Set it up

  1. 1

    Issue a key

    Open Settings, then Agent access, and issue a key with only the scopes it needs, for only the ventures it should reach.

  2. 2

    Read the document

    Fetch /api/v1/openapi.json. It lists every route below, generated from the same registry the server runs.

  3. 3

    Call it

    Send the key as a bearer token. Rate limits come back in RateLimit headers, so you never have to find them by hitting them.

Open the OpenAPI document

Every route

30 routes under /api/v1, each running one tool.

GET/api/v1/venturesThe ventures this credential can reach.
GET/api/v1/briefEverything waiting, in one call.
GET/api/v1/approvalsDrafts a human has yet to allow.
GET/api/v1/followupsPeople owed a next touch.
GET/api/v1/companiesSearch watched companies.
POST/api/v1/companiesAdd a company to the watchlist.
GET/api/v1/companies/{company_id}One company, with its dated timeline.
GET/api/v1/companies/{company_id}/explainWhy the system concluded what it did.
POST/api/v1/companies/{domain}/readAsk for a company to be re-read.
GET/api/v1/peopleFind people in the CRM.
POST/api/v1/peopleAdd a person.
GET/api/v1/people/{person_id}One person, with their history and intel.
POST/api/v1/people/{person_id}/touchpointsRecord that something happened.
POST/api/v1/people/{person_id}/stageMove a relationship to a new stage.
POST/api/v1/people/{person_id}/snoozePush a follow-up out, or clear it.
POST/api/v1/people/{person_id}/followupDraft the next message in a sequence.
GET/api/v1/contentFind content by channel and state.
POST/api/v1/contentTurn one idea into a post per channel.
POST/api/v1/content/{artifact_id}/approveApprove one piece. Does not publish.
GET/api/v1/postsThe posting calendar: drafts, scheduled, failed and published posts.
POST/api/v1/postsSave a post as a draft for the networks named.
POST/api/v1/posts/{group_id}/scheduleSchedule a drafted post. At its time it goes out.
POST/api/v1/content/{artifact_id}/publishedRecord that an approved piece went out.
POST/api/v1/ideasQueue an idea without drafting it.
GET/api/v1/mentionsMentions and captures worth answering.
POST/api/v1/mentionsHand over a thread worth answering.
POST/api/v1/mentions/{mention_id}/replyDraft a reply to somebody who engaged.
POST/api/v1/outreach/{action_id}/approveApprove one outreach draft. This sends.
GET/api/v1/performanceWhat each channel produced against what it cost.
GET/api/v1/learningAggregate patterns. Counts only, no identities.

Keys, by what they can do

read
Reads only.
capture
Reads, and queues watchlist entries, people, notes, captures and ideas.
draft
Reads, queues and drafts into your approvals. Cannot approve.
full
Everything an outside caller can hold, including approving. Still cannot send without an approval.
events
Only website events from your own backend.

What no credential can do

  • send or publish

    Sending and publishing go out under the founder’s name. They run from the queue after an approval row exists, and creating that row is a separate, explicit call. An agent that can approve and send in one step is an agent that can publish without anybody reading it.

  • raise a limit, a cap or an autonomy stage

    Deliverability caps, per-domain limits and the autonomy ladder are the blast-radius controls. A caller that can widen its own limits has no limits.

  • read across ventures without a grant

    A venture is the isolation context. A key names its ventures and every read is filtered by that list, not by what the caller asks for.

  • bulk export contacts or message bodies

    Page-at-a-time reads serve every legitimate agent workflow. An unbounded dump of people and message bodies is the shape of an exfiltration, and it is not needed for anything the product does.

  • write to the learning boundary

    Outcomes are recorded by the pipeline that observed them. A caller that can write learning rows can teach the allocator anything it likes, and the allocator moves real budget.

  • reach billing, keys, or another member’s session

    Account administration is a human surface. Nothing about an agentic workflow requires it, and everything about it is worth a password prompt.

Questions people ask

The same tools, over plain HTTP

Free. No card. Ready while you wait.