Getting Started
Create your first API key and make your first API request to ioZen.
Get up and running with the ioZen API in under 5 minutes.
Prerequisites
- An ioZen account on a Pro or Business plan
- At least one intake bot created in your workspace
Step 1: Create an API Key
- Go to Workspace Settings → API Keys
- Click Create API Key
- Give it a name (e.g., "My Integration")
- Select the scopes you need (e.g.,
read:intake-bots,read:submissions) - Click Create
- Copy the key immediately — you won't be able to see it again
Your key will look like: iozen_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ123456
Step 2: Make Your First Request
Using curl
curl https://app.iozen.ai/api/v1/intake-bots \
-H "Authorization: Bearer iozen_live_your_key_here"Using JavaScript
const response = await fetch('https://app.iozen.ai/api/v1/intake-bots', {
headers: {
Authorization: 'Bearer iozen_live_your_key_here',
},
});
const { success, data } = await response.json();
console.log(data.intake_bots);Using Python
import requests
response = requests.get(
"https://app.iozen.ai/api/v1/intake-bots",
headers={"Authorization": "Bearer iozen_live_your_key_here"},
)
data = response.json()
print(data["data"]["intake_bots"])You'll receive a response like:
{
"success": true,
"data": {
"intake_bots": [
{
"id": "clxyz...",
"name": "Contact Intake",
"status": "ACTIVE",
"submission_count": 42,
"created_at": "2026-02-23T10:00:00.000Z",
"updated_at": "2026-02-23T12:00:00.000Z"
}
],
"pagination": {
"has_more": false,
"next_cursor": null
}
}
}Step 3: Create a Submission
Once you can list intake bots, try creating a submission programmatically:
curl -X POST https://app.iozen.ai/api/v1/intake-bots/YOUR_BOT_ID/submissions \
-H "Authorization: Bearer iozen_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"data": {
"full_name": "Jane Doe",
"email": "jane@example.com",
"message": "Hello from the API"
}
}'The data object should match the field names defined in your intake bot's schema. If validation fails, the error response will include details about which fields are invalid.
Step 4: Set Up Webhooks (Optional)
Instead of polling for new submissions, register a webhook to receive real-time notifications:
curl -X POST https://app.iozen.ai/api/v1/webhooks \
-H "Authorization: Bearer iozen_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.com/webhooks/iozen",
"events": ["submission.completed"]
}'The response includes a secret for verifying webhook signatures.
Next Steps
- Authentication — Learn about scopes, rate limits, and key management
- API Reference — Full endpoint reference with request/response schemas
- Webhooks — Set up real-time event notifications
- Error Handling — Understand error codes for robust integrations