Skip to main content

API documentation

Each request must be authenticated with an API key using the Bearer Token method. You can obtain an API key for your account by going to your user settings page https://app.typebot.io/account.

The API is a work in progress. The current version is dedicated to Automation services that wish to implement a native Typebot integration.

Endpoints

GET /api/users/me

Get authenticated user information:

Try it yourself
curl -i -X GET https://typebot.io/api/users/me \
-H 'Authorization: Bearer ${TOKEN}'
Response 200 OK
{ "id": "userid", "email": "user@email.com" }

GET /api/typebots

List user's typebots:

Try it yourself
curl -i -X GET https://typebot.io/api/typebots \
-H 'Authorization: Bearer ${TOKEN}'
Response 200 OK
{
"typebots": [
{
"name": "My typebot 1",
"id": "typebot1"
},
{
"name": "My typebot 2",
"id": "typebot2"
}
]
}

GET /api/typebots/typebotId/webhookBlocks

List webhook blocks in a typebot. These are the blocks you can register a Webhook URL:

Try it yourself
curl -i -X GET https://typebot.io/api/typebots/$TYPEBOT_ID/webhookBlocks \
-H 'Authorization: Bearer ${TOKEN}'
Response 200 OK
{
"blocks": [
{
"blockId": "blockId",
"name": "Group #2 > blockId",
"url": "https://my-webhook.com/webhook"
}
]
}

GET /api/typebots/typebotId/blocks/blockId/sampleResult

Get a sample of what the webhook body will look like when triggered

Try it yourself
curl -i -X GET https://typebot.io/api/typebots/$TYPEBOT_ID/blocks/$BLOCK_ID/sampleResult \
-H 'Authorization: Bearer ${TOKEN}'

POST /api/typebots/typebotId/blocks/blockId/subscribeWebhook

Subscribe the block to a specified webhook URL

Try it yourself
curl -i -X POST https://typebot.io/api/typebots/$TYPEBOT_ID/blocks/$BLOCK_ID/subscribeWebhook \
-H 'Authorization: Bearer ${TOKEN}'\
--header 'Content-Type: application/json' \
--data '{"url": "https://domain.com/my-webhook"}'
Response 200 OK
{
"message": "success"
}

JSON body data


url REQUIRED

The url you want to subscribe to.


POST /api/typebots/typebotId/blocks/blockId/unsubscribeWebhook

Unsubscribe the current webhook on block

Try it yourself
curl -i -X POST https://typebot.io/api/typebots/$TYPEBOT_ID/blocks/$BLOCK_ID/unsubscribeWebhook \
-H 'Authorization: Bearer ${TOKEN}'\
Response 200 OK
{
"message": "success"
}