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/sitegpt-ai:sitegpt-ai-onboarding-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: 3.2.0
info:
title: SiteGPT Agent Onboarding API
version: 2.0.0
description: Agent-facing API for managing SiteGPT chatbots, dashboard summaries, appearance media, knowledge, settings, conversations, leads, members, account profiles, usage, billing reads, and API tokens.
servers:
- url: https://sitegpt.ai
security:
- bearerAuth: []
tags:
- name: Onboarding
paths:
/api/v2/onboarding/agent/start:
post:
operationId: startOnboardingWorkspace
summary: Start onboarding
description: 'Start an agent-first onboarding workspace for a public website. Starts are limited per caller and overall; a 429 RATE_LIMITED answer carries Retry-After.
No authentication is required.
On success, `data` contains: `workspace`, `apiToken`, `apiBase`, `mcpUrl`, `expiresAt`, `onboardingUrl`, `statusUrl`, `claimUrl`.'
tags:
- Onboarding
security: []
x-sitegpt-auth: none
x-sitegpt-scopes: []
x-mint:
title: Start onboarding
description: Start an agent-first onboarding workspace for a public website. Starts are limited per caller and overall; a 429 RATE_LIMITED answer carries Retry-After.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- websiteUrl
additionalProperties: false
properties:
websiteUrl:
type: string
format: uri
description: Public website URL to prepare a temporary chatbot for.
agentName:
type: string
maxLength: 120
description: Optional display name of the AI agent starting setup.
agentClientId:
type: string
maxLength: 120
description: Optional stable client identifier for the agent runtime.
example:
websiteUrl: https://example.com
agentName: Claude
agentClientId: claude-web
responses:
'201':
description: Successful SiteGPT API v2 response.
content:
application/json:
schema:
type: object
required:
- ok
- data
- meta
properties:
ok:
type: boolean
const: true
data:
type: object
additionalProperties: true
properties:
workspace:
$ref: '#/components/schemas/GenericObject'
description: 'Onboarding workspace record: id, chatbotId, sourceUrl, normalizedDomain, status, claim state, and expiry.'
apiToken:
type:
- string
- 'null'
description: Temporary one-chatbot token returned once for the setup agent.
apiBase:
type: string
format: uri
mcpUrl:
type: string
format: uri
expiresAt:
type: string
format: date-time
onboardingUrl:
type: string
format: uri
description: Single user-facing URL where the user can test and claim the chatbot.
statusUrl:
type: string
format: uri
claimUrl:
type: string
format: uri
meta:
$ref: '#/components/schemas/AgentResponseMeta'
additionalProperties: false
example:
ok: true
data:
workspace:
id: workspace-id
chatbotId: chatbot-id
sourceUrl: https://example.com/
normalizedDomain: example.com
status: CREATED
expiresAt: '2026-05-20T00:00:00.000Z'
apiToken: sgpt_xxxxxxxxx
apiBase: https://sitegpt.ai
mcpUrl: https://sitegpt.ai/mcp
onboardingUrl: https://sitegpt.ai/onboarding/preview/workspace-id
statusUrl: https://sitegpt.ai/api/v2/onboarding/workspaces/workspace-id
claimUrl: https://sitegpt.ai/api/v2/onboarding/workspaces/workspace-id/claim
expiresAt: '2026-05-20T00:00:00.000Z'
meta:
requestId: request-id
'400':
$ref: '#/components/responses/AgentError'
'401':
$ref: '#/components/responses/AgentError'
'403':
$ref: '#/components/responses/AgentError'
'404':
$ref: '#/components/responses/AgentError'
'405':
$ref: '#/components/responses/AgentError'
'429':
$ref: '#/components/responses/AgentRateLimited'
/api/v2/onboarding/workspaces/{workspaceId}:
get:
operationId: getOnboardingWorkspace
summary: Get onboarding status
description: 'Get the onboarding workspace status using the temporary onboarding token.
Required scope: `account:read`.
On success, `data` contains: `workspace`, `setupChecklist`, `onboardingUrl`, `statusUrl`, `claimUrl`.'
tags:
- Onboarding
security:
- bearerAuth:
- account:read
x-sitegpt-auth: bearer
x-sitegpt-scopes:
- account:read
x-mint:
title: Get onboarding status
description: Get the onboarding workspace status using the temporary onboarding token.
parameters:
- name: workspaceId
in: path
required: true
description: Onboarding workspace ID.
schema:
type: string
responses:
'200':
description: Successful SiteGPT API v2 response.
content:
application/json:
schema:
type: object
required:
- ok
- data
- meta
properties:
ok:
type: boolean
const: true
data:
type: object
additionalProperties: true
properties:
workspace:
$ref: '#/components/schemas/GenericObject'
description: 'Onboarding workspace record: id, chatbotId, sourceUrl, normalizedDomain, status, claim state, and expiry.'
setupChecklist:
type: array
description: Readiness checklist the agent should inspect before sharing the onboarding URL.
items:
type: object
required:
- key
- label
- state
- detail
additionalProperties: false
properties:
key:
type: string
enum:
- brand_styling
- conversation_starters
- followup_prompts
- instructions
- knowledge
- persona
label:
type: string
state:
type: string
enum:
- DONE
- PENDING
- UNKNOWN
- WARNING
detail:
type: string
onboardingUrl:
type: string
format: uri
description: Single user-facing URL where the user can test and claim the chatbot.
statusUrl:
type: string
format: uri
claimUrl:
type: string
format: uri
meta:
$ref: '#/components/schemas/AgentResponseMeta'
additionalProperties: false
example:
ok: true
data:
workspace:
id: workspace-id
chatbotId: chatbot-id
sourceUrl: https://example.com/
normalizedDomain: example.com
status: CREATED
expiresAt: '2026-05-20T00:00:00.000Z'
claim:
status: NOT_STARTED
email: null
plan: null
interval: null
checkoutUrl: null
setupChecklist:
- key: knowledge
label: Knowledge
state: DONE
detail: 24/24 trained from Sitemap.
- key: persona
label: Persona
state: DONE
detail: 'Custom persona active: Product expert.'
claimUrl: https://sitegpt.ai/api/v2/onboarding/workspaces/workspace-id/claim
onboardingUrl: https://sitegpt.ai/onboarding/preview/workspace-id
statusUrl: https://sitegpt.ai/api/v2/onboarding/workspaces/workspace-id
meta:
requestId: request-id
'400':
$ref: '#/components/responses/AgentError'
'401':
$ref: '#/components/responses/AgentError'
'403':
$ref: '#/components/responses/AgentError'
'404':
$ref: '#/components/responses/AgentError'
'405':
$ref: '#/components/responses/AgentError'
delete:
operationId: deleteOnboardingWorkspace
summary: Delete onboarding
description: 'Delete an unclaimed onboarding workspace and its temporary chatbot.
Required scope: `account:read`.
On success, `data` contains: `deletedWorkspace`, `message`.'
tags:
- Onboarding
security:
- bearerAuth:
- account:read
x-sitegpt-auth: bearer
x-sitegpt-scopes:
- account:read
x-mint:
title: Delete onboarding
description: Delete an unclaimed onboarding workspace and its temporary chatbot.
parameters:
- name: workspaceId
in: path
required: true
description: Onboarding workspace ID.
schema:
type: string
responses:
'200':
description: Successful SiteGPT API v2 response.
content:
application/json:
schema:
type: object
required:
- ok
- data
- meta
properties:
ok:
type: boolean
const: true
data:
type: object
additionalProperties: true
properties:
deletedWorkspace:
$ref: '#/components/schemas/GenericObject'
description: 'Onboarding workspace record: id, chatbotId, sourceUrl, normalizedDomain, status, claim state, and expiry.'
message:
type: string
description: Confirms the onboarding workspace and temporary chatbot were deleted.
meta:
$ref: '#/components/schemas/AgentResponseMeta'
additionalProperties: false
example:
ok: true
data:
deletedWorkspace:
id: workspace-id
chatbotId: chatbot-id
sourceUrl: https://example.com/
normalizedDomain: example.com
status: REVOKED
expiresAt: '2026-05-20T00:00:00.000Z'
message: The onboarding workspace and temporary chatbot were deleted. This workspace is no longer available.
meta:
requestId: request-id
'400':
$ref: '#/components/responses/AgentError'
'401':
$ref: '#/components/responses/AgentError'
'403':
$ref: '#/components/responses/AgentError'
'404':
$ref: '#/components/responses/AgentError'
'405':
$ref: '#/components/responses/AgentError'
/api/v2/onboarding/workspaces/{workspaceId}/claim:
post:
operationId: claimOnboardingWorkspace
summary: Claim onboarding
description: 'Create checkout for an onboarding workspace claim.
Required scope: `account:read`.
On success, `data` contains: `workspace`, `checkoutUrl`, `paddleTransactionId`, `onboardingUrl`, `statusUrl`, `claimUrl`.'
tags:
- Onboarding
security:
- bearerAuth:
- account:read
x-sitegpt-auth: bearer
x-sitegpt-scopes:
- account:read
x-mint:
title: Claim onboarding
description: Create checkout for an onboarding workspace claim.
parameters:
- name: workspaceId
in: path
required: true
description: Onboarding workspace ID.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- email
- plan
- interval
additionalProperties: false
properties:
email:
type: string
format: email
maxLength: 254
description: Customer email that should own the chatbot after checkout starts the trial.
plan:
type: string
enum:
- STARTER
- GROWTH
- SCALE
description: SiteGPT plan selected by the user.
interval:
type: string
enum:
- MONTH
- YEAR
description: Billing interval selected by the user.
example:
email: user@example.com
plan: GROWTH
interval: MONTH
responses:
'200':
description: Successful SiteGPT API v2 response.
content:
application/json:
schema:
type: object
required:
- ok
- data
- meta
properties:
ok:
type: boolean
const: true
data:
type: object
additionalProperties: true
properties:
workspace:
$ref: '#/components/schemas/GenericObject'
description: 'Onboarding workspace record: id, chatbotId, sourceUrl, normalizedDomain, status, claim state, and expiry.'
checkoutUrl:
anyOf:
- type: string
format: uri
- type: 'null'
description: SiteGPT checkout URL the user should open to start the trial. Null when the email already belongs to the signed-in active subscriber and the chatbot was claimed directly.
paddleTransactionId:
type:
- string
- 'null'
onboardingUrl:
type: string
format: uri
description: Single user-facing URL where the user can test and claim the chatbot.
statusUrl:
type: string
format: uri
claimUrl:
type: string
format: uri
meta:
$ref: '#/components/schemas/AgentResponseMeta'
additionalProperties: false
example:
ok: true
data:
workspace:
id: workspace-id
chatbotId: chatbot-id
sourceUrl: https://example.com/
normalizedDomain: example.com
status: CREATED
expiresAt: '2026-05-20T00:00:00.000Z'
claim:
status: CHECKOUT_PENDING
email: user@example.com
plan: GROWTH
interval: MONTH
checkoutUrl: https://sitegpt.ai/pricing?_ptxn=txn_xxxxxxxxx
checkoutUrl: https://sitegpt.ai/pricing?_ptxn=txn_xxxxxxxxx
paddleTransactionId: txn_xxxxxxxxx
onboardingUrl: https://sitegpt.ai/onboarding/preview/workspace-id
statusUrl: https://sitegpt.ai/api/v2/onboarding/workspaces/workspace-id
claimUrl: https://sitegpt.ai/api/v2/onboarding/workspaces/workspace-id/claim
meta:
requestId: request-id
'400':
$ref: '#/components/responses/AgentError'
'401':
$ref: '#/components/responses/AgentError'
'403':
$ref: '#/components/responses/AgentError'
'404':
$ref: '#/components/responses/AgentError'
'405':
$ref: '#/components/responses/AgentError'
'409':
$ref: '#/components/responses/AgentError'
'502':
$ref: '#/components/responses/AgentError'
components:
schemas:
GenericObject:
type: object
additionalProperties: true
AgentError:
type: object
required:
- ok
- error
- meta
properties:
ok:
type: boolean
const: false
error:
type: object
required:
- code
- message
properties:
code:
type: string
message:
type: string
details: {}
additionalProperties: false
meta:
type: object
required:
- requestId
properties:
requestId:
type: string
additionalProperties: true
additionalProperties: false
AgentResponseMeta:
type: object
required:
- requestId
properties:
requestId:
type: string
warnings:
type: array
items:
type: string
nextCursor:
type:
- string
- 'null'
additionalProperties: true
responses:
AgentRateLimited:
description: Too many requests (RATE_LIMITED). Retry-After says when to try again.
headers:
Retry-After:
description: Seconds to wait before trying again.
schema:
type: integer
minimum: 1
content:
application/json:
schema:
$ref: '#/components/schemas/AgentError'
AgentError:
description: SiteGPT agent API error response.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentError'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: SiteGPT API token