Developers
API reference
Every endpoint of the Officely public API (110 operations), generated from the API itself.
Basics#
Chatbots, AI flows, customers, conversations, messages and webhooks of your Officely account. Errors are problem+json; personal data is masked unless the key has conversations:read_pii and the request says redact=false.
- Base URL:
https://api.officely.ai/v1/public(staging:https://api-dev.officely.ai/v1/public) - Authentication: send your API key in the
x-officely-tokenheader. Create a key in Developers › API keys and give it only the scopes listed on the endpoints you call. - Errors:
application/problem+jsonwith a stablecodeand adetailthat says what to do. QuoteX-Request-IDwhen you contact support. - Rate limits: every answer carries
RateLimit-Limit,RateLimit-RemainingandRateLimit-Reset. On429, waitRetry-Afterseconds. - Lists: answers are
{data, next_cursor}; passnext_cursorascursorfor the next page. - Machine-readable spec: openapi.json (OpenAPI 3.1), for Postman, code generators and AI assistants.
Account#
- GET/meMe
Me#
GET/me
- Scopes: none
- Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/me" \
-H "x-officely-token: $OFFICELY_API_KEY"Plan#
- GET/planPlan
Plan#
GET/plan
- Scopes:
account:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/plan" \
-H "x-officely-token: $OFFICELY_API_KEY"Team#
- GET/teamTeam
Team#
GET/team
- Scopes:
account:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/team" \
-H "x-officely-token: $OFFICELY_API_KEY"API keys#
- GET/api-keysApi keys
Api keys#
GET/api-keys
- Scopes:
account:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/api-keys" \
-H "x-officely-token: $OFFICELY_API_KEY"AI credits#
- GET/ai-creditsAi credits
- GET/ai-credits/usageAi credits usage
Ai credits#
GET/ai-credits
- Scopes:
account:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-credits" \
-H "x-officely-token: $OFFICELY_API_KEY"Ai credits usage#
GET/ai-credits/usage
- Scopes:
account:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-credits/usage" \
-H "x-officely-token: $OFFICELY_API_KEY"Features#
- GET/featuresFeatures
Features#
GET/features
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/features" \
-H "x-officely-token: $OFFICELY_API_KEY"Onboarding#
- POST/onboarding/buildsStart build
- GET/onboarding/jobs/{job_id}Job status
Start build#
POST/onboarding/builds
Every change is recorded in the account's audit log.
- Scopes:
builders:write,builders:test - Rate limit: 30 requests per 600 s per key (test)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/onboarding/builds" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Job status#
GET/onboarding/jobs/{job_id}
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
job_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/onboarding/jobs/{job_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Chatbots (builder)#
- GET/buildersList builders
- POST/buildersCreate builder
- GET/builders/{builder_id}Get builder
- PATCH/builders/{builder_id}Rename
- DELETE/builders/{builder_id}Delete bot
- GET/builders/{builder_id}/bot-messagesGet bot messages
- PUT/builders/{builder_id}/bot-messagesSet bot messages
- POST/builders/{builder_id}/bricksCreate brick
- PATCH/builders/{builder_id}/bricks/{brick_id}Update brick
- DELETE/builders/{builder_id}/bricks/{brick_id}Delete brick
- POST/builders/{builder_id}/buildBuild
- GET/builders/{builder_id}/doctorDoctor report
- POST/builders/{builder_id}/doctor/copyDoctor copy
- POST/builders/{builder_id}/duplicateDuplicate bot
- POST/builders/{builder_id}/edgesAdd edge
- DELETE/builders/{builder_id}/edges/{edge_id}Delete edge
- GET/builders/{builder_id}/flowGet flow
- POST/builders/{builder_id}/layoutAuto layout
- POST/builders/{builder_id}/nodesAdd node
- PATCH/builders/{builder_id}/nodes/{node_id}Update node
- DELETE/builders/{builder_id}/nodes/{node_id}Delete node
- POST/builders/{builder_id}/nodes/{node_id}/duplicateDuplicate node
- POST/builders/{builder_id}/nodes/{node_id}/test-httpTest http step
- POST/builders/{builder_id}/nodes/deleteDelete nodes
- POST/builders/{builder_id}/publishPublish
- GET/builders/{builder_id}/publish-planPublish plan
- GET/builders/{builder_id}/settingsGet settings
- PATCH/builders/{builder_id}/settingsUpdate settings
- POST/builders/{builder_id}/testRun test
- POST/builders/{builder_id}/textsRewrite texts
- POST/builders/{builder_id}/unpublishUnpublish
- GET/builders/{builder_id}/validationGet validation
- GET/builders/{builder_id}/variablesVariables
- GET/builders/{builder_id}/versionsList versions
- GET/builders/{builder_id}/versions/{version}Get version
- POST/builders/{builder_id}/versions/{version}/rollbackRollback version
- GET/builders/{builder_id}/versions/diffDiff versions
List builders#
GET/builders
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders" \
-H "x-officely-token: $OFFICELY_API_KEY"Create builder#
POST/builders
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Get builder#
GET/builders/{builder_id}
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Rename#
PATCH/builders/{builder_id}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/builders/{builder_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete bot#
DELETE/builders/{builder_id}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 10 requests per 600 s per key (publish)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/builders/{builder_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Get bot messages#
GET/builders/{builder_id}/bot-messages
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/bot-messages" \
-H "x-officely-token: $OFFICELY_API_KEY"Set bot messages#
PUT/builders/{builder_id}/bot-messages
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PUT "https://api.officely.ai/v1/public/builders/{builder_id}/bot-messages" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Create brick#
POST/builders/{builder_id}/bricks
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/bricks" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Update brick#
PATCH/builders/{builder_id}/bricks/{brick_id}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
brick_id (required) | path | string | |
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/builders/{builder_id}/bricks/{brick_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete brick#
DELETE/builders/{builder_id}/bricks/{brick_id}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
brick_id (required) | path | string | |
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/builders/{builder_id}/bricks/{brick_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Build#
POST/builders/{builder_id}/build
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/build" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Doctor report#
GET/builders/{builder_id}/doctor
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/doctor" \
-H "x-officely-token: $OFFICELY_API_KEY"Doctor copy#
POST/builders/{builder_id}/doctor/copy
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/doctor/copy" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Duplicate bot#
POST/builders/{builder_id}/duplicate
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/duplicate" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Add edge#
POST/builders/{builder_id}/edges
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/edges" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete edge#
DELETE/builders/{builder_id}/edges/{edge_id}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string | |
edge_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/builders/{builder_id}/edges/{edge_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Get flow#
GET/builders/{builder_id}/flow
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/flow" \
-H "x-officely-token: $OFFICELY_API_KEY"Auto layout#
POST/builders/{builder_id}/layout
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/layout" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Add node#
POST/builders/{builder_id}/nodes
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/nodes" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Update node#
PATCH/builders/{builder_id}/nodes/{node_id}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string | |
node_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/builders/{builder_id}/nodes/{node_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete node#
DELETE/builders/{builder_id}/nodes/{node_id}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string | |
node_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/builders/{builder_id}/nodes/{node_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Duplicate node#
POST/builders/{builder_id}/nodes/{node_id}/duplicate
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string | |
node_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/nodes/{node_id}/duplicate" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Test http step#
POST/builders/{builder_id}/nodes/{node_id}/test-http
Every change is recorded in the account's audit log.
- Scopes:
builders:test - Rate limit: 30 requests per 600 s per key (test)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string | |
node_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/nodes/{node_id}/test-http" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete nodes#
POST/builders/{builder_id}/nodes/delete
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/nodes/delete" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Publish#
POST/builders/{builder_id}/publish
Every change is recorded in the account's audit log.
- Scopes:
builders:publish - Rate limit: 10 requests per 600 s per key (publish)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/publish" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Publish plan#
GET/builders/{builder_id}/publish-plan
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/publish-plan" \
-H "x-officely-token: $OFFICELY_API_KEY"Get settings#
GET/builders/{builder_id}/settings
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/settings" \
-H "x-officely-token: $OFFICELY_API_KEY"Update settings#
PATCH/builders/{builder_id}/settings
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/builders/{builder_id}/settings" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Run test#
POST/builders/{builder_id}/test
Every change is recorded in the account's audit log.
- Scopes:
builders:test - Rate limit: 30 requests per 600 s per key (test)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/test" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Rewrite texts#
POST/builders/{builder_id}/texts
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/texts" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Unpublish#
POST/builders/{builder_id}/unpublish
Every change is recorded in the account's audit log.
- Scopes:
builders:publish - Rate limit: 10 requests per 600 s per key (publish)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/unpublish" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Get validation#
GET/builders/{builder_id}/validation
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/validation" \
-H "x-officely-token: $OFFICELY_API_KEY"Variables#
GET/builders/{builder_id}/variables
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/variables" \
-H "x-officely-token: $OFFICELY_API_KEY"List versions#
GET/builders/{builder_id}/versions
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/versions" \
-H "x-officely-token: $OFFICELY_API_KEY"Get version#
GET/builders/{builder_id}/versions/{version}
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string | |
version (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/versions/{version}" \
-H "x-officely-token: $OFFICELY_API_KEY"Rollback version#
POST/builders/{builder_id}/versions/{version}/rollback
Every change is recorded in the account's audit log.
- Scopes:
builders:publish - Rate limit: 10 requests per 600 s per key (publish)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string | |
version (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builders/{builder_id}/versions/{version}/rollback" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Diff versions#
GET/builders/{builder_id}/versions/diff
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
builder_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builders/{builder_id}/versions/diff" \
-H "x-officely-token: $OFFICELY_API_KEY"Chatbot templates#
- GET/builder-templatesList templates
- GET/builder-templates/{template_id}Get template
- POST/builder-templates/{template_id}/createCreate from template
- POST/builder-templates/{template_id}/previewPreview template
List templates#
GET/builder-templates
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builder-templates" \
-H "x-officely-token: $OFFICELY_API_KEY"Get template#
GET/builder-templates/{template_id}
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
template_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/builder-templates/{template_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Create from template#
POST/builder-templates/{template_id}/create
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
template_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builder-templates/{template_id}/create" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Preview template#
POST/builder-templates/{template_id}/preview
- Scopes:
builders:test - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
template_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/builder-templates/{template_id}/preview" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'Node types#
- GET/node-typesNode types
Node types#
GET/node-types
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/node-types" \
-H "x-officely-token: $OFFICELY_API_KEY"Step types#
- GET/step-typesStep types
Step types#
GET/step-types
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/step-types" \
-H "x-officely-token: $OFFICELY_API_KEY"HTTP steps#
- GET/http-steps/secretsList http secrets
- PUT/http-steps/secrets/{name}Save http secret
- DELETE/http-steps/secrets/{name}Delete http secret
List http secrets#
GET/http-steps/secrets
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/http-steps/secrets" \
-H "x-officely-token: $OFFICELY_API_KEY"Save http secret#
PUT/http-steps/secrets/{name}
Every change is recorded in the account's audit log.
- Scopes:
builders:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
name (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PUT "https://api.officely.ai/v1/public/http-steps/secrets/{name}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete http secret#
DELETE/http-steps/secrets/{name}
Every change is recorded in the account's audit log.
- Scopes:
builders:publish - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
name (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/http-steps/secrets/{name}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Python steps#
- GET/python-stepsGuide
- GET/python-steps/keysList keys
- PUT/python-steps/keys/{name}Save key
- DELETE/python-steps/keys/{name}Delete key
- POST/python-steps/testTest run
Guide#
GET/python-steps
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/python-steps" \
-H "x-officely-token: $OFFICELY_API_KEY"List keys#
GET/python-steps/keys
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/python-steps/keys" \
-H "x-officely-token: $OFFICELY_API_KEY"Save key#
PUT/python-steps/keys/{name}
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
name (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PUT "https://api.officely.ai/v1/public/python-steps/keys/{name}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete key#
DELETE/python-steps/keys/{name}
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:publish - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
name (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/python-steps/keys/{name}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Test run#
POST/python-steps/test
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:read,builders:test - Rate limit: 30 requests per 600 s per key (test)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/python-steps/test" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Expressions#
- POST/expressions/testTest expression
Test expression#
POST/expressions/test
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/expressions/test" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'AI agents#
- GET/agentsList agents
List agents#
GET/agents
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/agents" \
-H "x-officely-token: $OFFICELY_API_KEY"AI flows#
- GET/ai-flowsList flows
- POST/ai-flowsCreate flow
- GET/ai-flows/{agent_id}Get flow
- DELETE/ai-flows/{agent_id}Delete flow
- POST/ai-flows/{agent_id}/buildBuild
- POST/ai-flows/{agent_id}/nodesAdd node
- PATCH/ai-flows/{agent_id}/nodes/{node_id}Update node
- DELETE/ai-flows/{agent_id}/nodes/{node_id}Delete node
- PUT/ai-flows/{agent_id}/nodes/{node_id}/output-schemaOutput schema
- POST/ai-flows/{agent_id}/publishPublish
- POST/ai-flows/{agent_id}/retrieval-previewRetrieval preview
- POST/ai-flows/{agent_id}/rollbackRollback
- PATCH/ai-flows/{agent_id}/settingsSettings
- POST/ai-flows/{agent_id}/testRun test
- GET/ai-flows/{agent_id}/validationGet validation
- GET/ai-flows/{agent_id}/versionsGet versions
- GET/ai-flows/node-typesNode types
List flows#
GET/ai-flows
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-flows" \
-H "x-officely-token: $OFFICELY_API_KEY"Create flow#
POST/ai-flows
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/ai-flows" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Get flow#
GET/ai-flows/{agent_id}
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-flows/{agent_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Delete flow#
DELETE/ai-flows/{agent_id}
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:publish - Rate limit: 10 requests per 600 s per key (publish)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/ai-flows/{agent_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Build#
POST/ai-flows/{agent_id}/build
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/ai-flows/{agent_id}/build" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Add node#
POST/ai-flows/{agent_id}/nodes
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/ai-flows/{agent_id}/nodes" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Update node#
PATCH/ai-flows/{agent_id}/nodes/{node_id}
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string | |
node_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/ai-flows/{agent_id}/nodes/{node_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete node#
DELETE/ai-flows/{agent_id}/nodes/{node_id}
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string | |
node_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/ai-flows/{agent_id}/nodes/{node_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"Output schema#
PUT/ai-flows/{agent_id}/nodes/{node_id}/output-schema
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string | |
node_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PUT "https://api.officely.ai/v1/public/ai-flows/{agent_id}/nodes/{node_id}/output-schema" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Publish#
POST/ai-flows/{agent_id}/publish
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:publish - Rate limit: 10 requests per 600 s per key (publish)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/ai-flows/{agent_id}/publish" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Retrieval preview#
POST/ai-flows/{agent_id}/retrieval-preview
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:read,builders:test - Rate limit: 30 requests per 600 s per key (test)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/ai-flows/{agent_id}/retrieval-preview" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Rollback#
POST/ai-flows/{agent_id}/rollback
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:publish - Rate limit: 10 requests per 600 s per key (publish)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/ai-flows/{agent_id}/rollback" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Settings#
PATCH/ai-flows/{agent_id}/settings
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/ai-flows/{agent_id}/settings" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Run test#
POST/ai-flows/{agent_id}/test
Every change is recorded in the account's audit log.
- Scopes:
ai_flows:read,builders:test - Rate limit: 30 requests per 600 s per key (test)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/ai-flows/{agent_id}/test" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Get validation#
GET/ai-flows/{agent_id}/validation
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-flows/{agent_id}/validation" \
-H "x-officely-token: $OFFICELY_API_KEY"Get versions#
GET/ai-flows/{agent_id}/versions
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
agent_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-flows/{agent_id}/versions" \
-H "x-officely-token: $OFFICELY_API_KEY"Node types#
GET/ai-flows/node-types
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-flows/node-types" \
-H "x-officely-token: $OFFICELY_API_KEY"AI models#
- GET/ai-modelsAi models
Ai models#
GET/ai-models
- Scopes:
ai_flows:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/ai-models" \
-H "x-officely-token: $OFFICELY_API_KEY"Channels#
- GET/channelsChannels
Channels#
GET/channels
- Scopes:
account:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/channels" \
-H "x-officely-token: $OFFICELY_API_KEY"WhatsApp templates#
- GET/whatsapp-templatesWhatsapp templates
Whatsapp templates#
GET/whatsapp-templates
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/whatsapp-templates" \
-H "x-officely-token: $OFFICELY_API_KEY"Messages#
- POST/messagesSend message
Send message#
POST/messages
Every change is recorded in the account's audit log.
- Scopes:
messages:send - Rate limit: 60 requests per 60 s per key (send)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/messages" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Bot messages#
- GET/bot-messages/accountGet account messages
- PUT/bot-messages/accountPut account messages
- GET/bot-messages/catalogBot messages catalog
Get account messages#
GET/bot-messages/account
- Scopes:
account:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/bot-messages/account" \
-H "x-officely-token: $OFFICELY_API_KEY"Put account messages#
PUT/bot-messages/account
Every change is recorded in the account's audit log.
- Scopes:
account:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PUT "https://api.officely.ai/v1/public/bot-messages/account" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Bot messages catalog#
GET/bot-messages/catalog
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/bot-messages/catalog" \
-H "x-officely-token: $OFFICELY_API_KEY"Chats#
- GET/chatsList chats
- GET/chats/{chat_id}Get chat
- POST/chats/{chat_id}/pausePause chat
- POST/chats/{chat_id}/resumeResume chat
List chats#
GET/chats
- Scopes:
conversations:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/chats" \
-H "x-officely-token: $OFFICELY_API_KEY"Get chat#
GET/chats/{chat_id}
- Scopes:
conversations:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
chat_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/chats/{chat_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Pause chat#
POST/chats/{chat_id}/pause
Every change is recorded in the account's audit log.
- Scopes:
conversations:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
chat_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/chats/{chat_id}/pause" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Resume chat#
POST/chats/{chat_id}/resume
Every change is recorded in the account's audit log.
- Scopes:
conversations:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
chat_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/chats/{chat_id}/resume" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Conversations#
- GET/conversationsList conversations
- GET/conversations/{conversation_id}Get conversation
List conversations#
GET/conversations
- Scopes:
conversations:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/conversations" \
-H "x-officely-token: $OFFICELY_API_KEY"Get conversation#
GET/conversations/{conversation_id}
- Scopes:
conversations:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
conversation_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/conversations/{conversation_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Customers#
- GET/customersList customers
- GET/customers/{phone}Get customer
- PATCH/customers/{phone}Update customer
List customers#
GET/customers
- Scopes:
customers:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/customers" \
-H "x-officely-token: $OFFICELY_API_KEY"Get customer#
GET/customers/{phone}
- Scopes:
customers:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
phone (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/customers/{phone}" \
-H "x-officely-token: $OFFICELY_API_KEY"Update customer#
PATCH/customers/{phone}
Every change is recorded in the account's audit log.
- Scopes:
customers:write - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
phone (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/customers/{phone}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Webhooks#
- GET/webhooksList webhooks
- POST/webhooksCreate webhook
- GET/webhooks/{webhook_id}Get webhook
- PATCH/webhooks/{webhook_id}Update webhook
- DELETE/webhooks/{webhook_id}Delete webhook
- GET/webhooks/{webhook_id}/deliveriesList webhook deliveries
- POST/webhooks/{webhook_id}/deliveries/{delivery_id}/redeliverRedeliver webhook
- POST/webhooks/{webhook_id}/rotate-secretRotate webhook secret
- POST/webhooks/{webhook_id}/testSend webhook test
- GET/webhooks/event-typesWebhook event types
List webhooks#
GET/webhooks
- Scopes:
webhooks:manage - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/webhooks" \
-H "x-officely-token: $OFFICELY_API_KEY"Create webhook#
POST/webhooks
Every change is recorded in the account's audit log.
- Scopes:
webhooks:manage - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/webhooks" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Get webhook#
GET/webhooks/{webhook_id}
- Scopes:
webhooks:manage - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
webhook_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/webhooks/{webhook_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Update webhook#
PATCH/webhooks/{webhook_id}
Every change is recorded in the account's audit log.
- Scopes:
webhooks:manage - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
webhook_id (required) | path | string |
Request body: a JSON object.
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X PATCH "https://api.officely.ai/v1/public/webhooks/{webhook_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete webhook#
DELETE/webhooks/{webhook_id}
Every change is recorded in the account's audit log.
- Scopes:
webhooks:manage - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
webhook_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X DELETE "https://api.officely.ai/v1/public/webhooks/{webhook_id}" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"List webhook deliveries#
GET/webhooks/{webhook_id}/deliveries
- Scopes:
webhooks:manage - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
webhook_id (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/webhooks/{webhook_id}/deliveries" \
-H "x-officely-token: $OFFICELY_API_KEY"Redeliver webhook#
POST/webhooks/{webhook_id}/deliveries/{delivery_id}/redeliver
Every change is recorded in the account's audit log.
- Scopes:
webhooks:manage - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
delivery_id (required) | path | string | |
webhook_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/webhooks/{webhook_id}/deliveries/{delivery_id}/redeliver" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Rotate webhook secret#
POST/webhooks/{webhook_id}/rotate-secret
Every change is recorded in the account's audit log.
- Scopes:
webhooks:manage - Rate limit: 120 requests per 60 s per key (write)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
webhook_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/webhooks/{webhook_id}/rotate-secret" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Send webhook test#
POST/webhooks/{webhook_id}/test
Every change is recorded in the account's audit log.
- Scopes:
webhooks:manage - Rate limit: 30 requests per 600 s per key (test)
- Idempotency: send an
Idempotency-Keyheader. A retry with the same key and body gets the first answer and changes nothing.
| Parameter | In | Type | Description |
|---|---|---|---|
webhook_id (required) | path | string |
Request body: a JSON object.
Responses:
2XXSuccess (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X POST "https://api.officely.ai/v1/public/webhooks/{webhook_id}/test" \
-H "x-officely-token: $OFFICELY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Webhook event types#
GET/webhooks/event-types
- Scopes:
webhooks:manage - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/webhooks/event-types" \
-H "x-officely-token: $OFFICELY_API_KEY"Catch Hook events#
- GET/catch-hook-eventsList catch hook events
- GET/catch-hook-events/{hook_key}/{event_id}Get catch hook event
List catch hook events#
GET/catch-hook-events
- Scopes:
conversations:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/catch-hook-events" \
-H "x-officely-token: $OFFICELY_API_KEY"Get catch hook event#
GET/catch-hook-events/{hook_key}/{event_id}
- Scopes:
conversations:read - Rate limit: 300 requests per 60 s per key (read)
| Parameter | In | Type | Description |
|---|---|---|---|
event_id (required) | path | string | |
hook_key (required) | path | string |
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/catch-hook-events/{hook_key}/{event_id}" \
-H "x-officely-token: $OFFICELY_API_KEY"Google#
- GET/google/connectionsGoogle connections
Google connections#
GET/google/connections
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/google/connections" \
-H "x-officely-token: $OFFICELY_API_KEY"Make#
- GET/make/hooksMake hooks
- GET/make/scenariosMake scenarios
Make hooks#
GET/make/hooks
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/make/hooks" \
-H "x-officely-token: $OFFICELY_API_KEY"Make scenarios#
GET/make/scenarios
- Scopes:
builders:read - Rate limit: 300 requests per 60 s per key (read)
Responses:
200Success (JSON). Lists: {data, next_cursor}; pass next_cursor ascursor.429Too many requests: wait Retry-After seconds.400,401,403,404,409,503Error asapplication/problem+json:codeis stable,detailsays what to do.
curl -X GET "https://api.officely.ai/v1/public/make/scenarios" \
-H "x-officely-token: $OFFICELY_API_KEY"