API and MCP

Reach Point11 from your own software, AI assistant, or terminal.

Overview#

The MCP server, the API, and the command-line tool do what you do in the dashboard: read your campaigns and results, and start the same work.

  • MCP server: connect Claude, ChatGPT, or another AI assistant.
  • API: call Point11 from your own code at https://point11.ai/api/v1.
  • CLI: use the API from your terminal.

Sign in to open the API reference; it opens for members of a Point11 organization. It lists every request, what it takes, and what it returns, and which dashboard actions the MCP server, API, and CLI can reach. To test ads and other creative against your customers' digital twins, see Test creative with the API.

Connect an AI assistant#

Use this MCP server URL: https://point11.ai/api/mcp. Sign in to Point11 and approve access when prompted. If you belong to more than one organization, tell your assistant which one to use. To connect with an API key instead, use the steps for your client below.

To give your assistant only the products you use, connect with an API key and add their names to the URL in lowercase, separated by commas, for example https://point11.ai/api/mcp?products=discovery,inspector. A shorter list of tools leaves your assistant more room to work. To sign in, use the URL above exactly, with nothing after /api/mcp. Point11 lists only the current version of each tool; an assistant that still uses an older one keeps working.

Business and Alpha have the most tools, so you can also add one part of either: the product, a dot, and the part, such as business.customers. Business has profiles, customers, crm, goals, products, measurement, and google-ads. Alpha has chat, projects, files, workflows, ads, brand-kits, advisor, and connectors. Mix products and parts as you like, for example https://point11.ai/api/mcp?products=discovery,business.customers. If your assistant searches for tools as it needs them, it can still use a whole product or the whole server.

Registries and clients can read the server's description at https://point11.ai/api/mcp/server-card.

Claude on the web and desktop#

  1. Open Customize > Connectors, then + > Add custom connector.
  2. Name it Point11, enter https://point11.ai/api/mcp exactly, and select Add, then Connect.
  3. In a conversation, open + > Connectors and enable Point11.

For Team and Enterprise plans, an owner first adds the connector in Organization settings > Connectors. See Claude's connector guide.

Claude Code#

Run in your terminal:

bash
claude mcp add --transport http point11 https://point11.ai/api/mcp

Then open Claude Code, run /mcp, and select Point11 to authenticate. To use an API key instead, add it as a header:

bash
claude mcp add --transport http point11 https://point11.ai/api/mcp \
  --header "Authorization: Bearer $POINT11_API_KEY"

See Claude Code's MCP guide.

ChatGPT on the web#

  1. Open Settings > Security and login and enable Developer mode.
  2. Open Plugins > +. Enter Point11, a short description, and the server URL under Connection, then create the connection.
  3. Review the tools, start a new conversation, and select Point11 from the tools menu.

Availability depends on your account and workspace settings. See OpenAI's connection guide.

ChatGPT desktop and Codex#

In the desktop app, open Settings > MCP servers > Add server. Name it Point11, choose Streamable HTTP, and enter the server URL. Save, select Restart, then Authenticate.

For the Codex CLI, run:

bash
codex mcp add point11 --url https://point11.ai/api/mcp
codex mcp login point11

To use an API key instead, name the environment variable that holds it:

bash
codex mcp add point11 --url https://point11.ai/api/mcp --bearer-token-env-var POINT11_API_KEY

Desktop, CLI, and IDE clients share the configuration on your computer. See OpenAI's MCP guide.

See your dashboard in your assistant#

Ask for a Discovery dashboard view, such as Brand share, Brand win rate, or Competitors. An assistant that shows interactive apps draws the same card you see in your dashboard, with a link to open it in Point11. Other assistants get a short summary of the same numbers and the link.

Sign in or use an API key#

  • Sign in as yourself. Point11 asks you to approve access, then your assistant or tool acts with your role in each organization you belong to. Use this for AI assistants and your own work.
  • Use an API key for software that works without you, such as a script or a scheduled job. A key acts for one organization and can only use the access you give it.

A few things always need you. Your own Alpha conversations and projects, comments, and Research study drafts belong to a person, so an API key can't reach them. Pausing or deleting a campaign, inviting someone, or removing a member asks you to approve it first. You see the organization and exactly what will change, and your approval counts only for that request. Billing, API keys, and member roles change only in the dashboard.

Work you start from the MCP server, API, or CLI counts toward your plan the same way it does in the dashboard.

Choose what each assistant can do#

Every AI assistant or app that has acted for you is listed in Settings > Security under Connected apps. Choose what each may do in that organization: Full, Read-only, or Blocked. Owners and admins also choose what members' assistants may do in the whole organization in Settings > Security > Organization under AI clients (MCP): Allowed, Read-only, or Off, and revoke a member's app under Members' connected apps. A change applies from the next request, and API keys aren't affected.

Create an API key#

Admins and owners can create keys.

  1. Open Settings > API keys and select Create key.
  2. Enter a Name, choose its Access for each product, when it Expires, and whom it Belongs to.
  3. Select Create, then copy the key. You see it only once.

Keep the key in a secret manager, never in your code. An organization can have up to 10 active keys. To stop a key, select Revoke; Rotate gives it a new secret. A key that belongs to Me is revoked once you leave the organization or can no longer manage keys; one that belongs to The organization keeps working.

Make your first request#

Send your key as a bearer token:

bash
curl https://point11.ai/api/v1/discovery/campaigns \
  -H "Authorization: Bearer $POINT11_API_KEY"

Requests that read use GET. Requests that change something use POST with a JSON body and an Idempotency-Key header holding a new UUID:

bash
curl https://point11.ai/api/v1/inspector/scans/start \
  -H "Authorization: Bearer $POINT11_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

If you sign in instead of using a key, also send Point11-Organization with your organization ID. Copy it from Settings > API keys.

Handle responses#

  • Retries. To retry a request safely, send it again with the same Idempotency-Key. Retrying a create or a start gives you its first answer back, and nothing runs twice. Retrying any other change runs it again and answers the state it left, so a retried delete that answers 404 means the item is already gone. Use a new key for each new request. Through the MCP server, your assistant sends the key as idempotencyKey. It's required to create or start something; for any other change it's optional, and a request without one runs as a new request.
  • Lists. Pass limit, up to 100. To get the next page, pass the nextCursor from the previous response as cursor. nextCursor is null on the last page.
  • Longer work. Starting a scan or a campaign answers 202 right away with a runId. Check its progress with GET /api/v1/platform/runs-v2/{runId}, or platform_runs_get_v2 in the MCP server.
  • Errors. Every error has a code, a message, and a request_id. Decide what to do from the code, and include the request_id when you ask for help.
  • Limits. Each key has a request budget, and so does each person who signs in, across every organization and assistant they use. The RateLimit-Remaining and RateLimit-Reset headers show what's left. When it runs out, you get 429; wait the Retry-After seconds, then try again.

Use the CLI#

The CLI is Restish, which reads the API reference and turns each request into a command named after it, such as discovery-campaigns-list. It uses an API key. Install Restish, for example with brew install restish, put your key in POINT11_API_KEY, then connect Restish to Point11:

bash
restish api connect p11 https://point11.ai --no-discover
restish api set p11 'profiles.default.auth: {type: bearer, params: {token: env:POINT11_API_KEY}}'
restish api set p11 'profiles.default.credentials.apiKey.auth: {type: bearer, params: {token: env:POINT11_API_KEY}}'
restish api sync p11

Then run any request by its command name:

bash
restish p11 discovery-campaigns-list

For a request that changes something, put the Idempotency-Key first:

bash
restish p11 inspector-scans-start "$(uuidgen)" url: https://example.com

Run restish api sync p11 again to pick up new requests.