ioZen Docs

API Reference

Complete reference for all ioZen API v1 endpoints.

The ioZen API v1 is available at https://app.iozen.ai/api/v1/.

All endpoints require authentication via Bearer token. Responses follow a consistent envelope format.

Base URL

https://app.iozen.ai/api/v1

Response Format

Success

{
  "success": true,
  "data": { ... }
}

Error

{
  "success": false,
  "error": {
    "code": "error_code",
    "message": "Human-readable description",
    "details": { ... }
  }
}

See the Error Reference for all error codes and troubleshooting.

Common Headers

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer iozen_live_your_key_here
Content-TypeFor POST/PATCHapplication/json
Idempotency-KeyOptional (POST)Unique string to prevent duplicate operations

Response Headers

HeaderDescription
X-Request-IdUnique request identifier for debugging
X-RateLimit-LimitMax requests per window
X-RateLimit-RemainingRequests remaining
X-RateLimit-ResetWindow reset time (Unix ms)

Endpoints

Intake Bots

MethodEndpointScopeDescription
GET/intake-botsread:intake-botsList all intake bots
GET/intake-bots/:idread:intake-botsGet a single intake bot

Submissions

MethodEndpointScopeDescription
GET/intake-bots/:id/submissionsread:submissionsList submissions for an intake bot
GET/intake-bots/:id/submissions/:submissionIdread:submissionsGet a single submission
POST/intake-bots/:id/submissionswrite:intake-botsCreate a new submission

Webhooks

MethodEndpointScopeDescription
GET/webhooksmanage:webhooksList webhook endpoints
GET/webhooks/:idmanage:webhooksGet a single webhook endpoint
POST/webhooksmanage:webhooksRegister a webhook endpoint
DELETE/webhooks/:idmanage:webhooksDelete a webhook endpoint

Pagination

List endpoints use cursor-based pagination. See the Pagination guide for details.

curl "https://app.iozen.ai/api/v1/intake-bots?limit=10&cursor=clxyz..." \
  -H "Authorization: Bearer iozen_live_your_key_here"
ParameterTypeDefaultDescription
limitinteger50Max items per page (1–100)
cursorstringCursor from previous response's next_cursor

Idempotency

For POST endpoints, you can pass an Idempotency-Key header to safely retry requests without creating duplicate resources:

curl -X POST https://app.iozen.ai/api/v1/intake-bots/BOT_ID/submissions \
  -H "Authorization: Bearer iozen_live_your_key_here" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: unique-request-id-12345" \
  -d '{"data": {"name": "Jane Doe"}}'
  • Idempotency keys are scoped to your API key
  • Keys expire after 24 hours
  • Reusing a key with a different request body returns a 409 idempotency_conflict error
  • Reusing a key with the same request body returns the original response

Request Body Limits

Write endpoints (POST, PATCH, PUT) enforce a maximum request body size of 1 MB. Requests exceeding this limit receive a 400 validation_failed error.

On this page