Documentation Index
Fetch the complete documentation index at: https://docs.sixtyfour.ai/llms.txt
Use this file to discover all available pages before exploring further.
Error Response Format
All Sixtyfour API errors return a JSON response with a consistent structure:detail array:
HTTP Status Codes
The API uses standard HTTP status codes to indicate success or failure.| Status Code | Meaning | Description |
|---|---|---|
| 200 | OK | Request succeeded |
| 400 | Bad Request | Invalid request body, missing required fields, or malformed data |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | Feature not enabled for your organization (e.g., high-tier enrichment) |
| 404 | Not Found | Resource not found (e.g., workflow or run ID) |
| 422 | Validation Error | Invalid request parameters; see detail array for field-level errors |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server error - retry after a brief wait |
Common Error Types
400 Bad Request
Causes:- Missing required fields in request body
- Invalid field types or formats
- Malformed JSON payload
- Empty or invalid lead/company data
- Sending
webhook_payloadto/workflows/runfor a workflow whose source block is notwebhook - Sending
webhook_payloadwith JWT (dashboard session) auth instead of an API key - Triggering a workflow whose source block is
read_csv(not API-triggerable; switch to awebhooksource block) webhook_payloadis missing required columns from thewebhookblock’sinput_schema, or is malformed JSON
- Verify all required fields are included in your request
- Check that field types match the API specification
- Ensure JSON is properly formatted
- Validate input data before making the request
- For workflow runs, ensure the workflow’s source block is
webhookand that you’re authenticating with an API key — see Incoming Webhooks
401 Unauthorized
Causes:- Missing
x-api-keyheader - Invalid or expired API key
- API key not properly formatted
- Verify your API key is correct
- Ensure the
x-api-keyheader is included in every request - Check that your API key hasn’t been revoked or expired
- Get a new API key from the dashboard
403 Forbidden
Causes:- Requesting a feature that is not enabled for your organization (e.g.,
tier: "high"enrichment)
- Verify your organization has access to the requested feature
- Contact sales to request access to restricted tiers
- Use a lower tier (
"low"or"medium") if high-tier access is not available
404 Not Found (Workflows)
Causes:- Workflow ID does not exist or was deleted
- Run/job ID does not exist or is invalid
- Resource does not belong to your organization
- Verify the workflow ID using
GET /workflows - Verify the job_id from your run response
- Ensure you’re accessing resources created by your organization
422 Validation Error (Workflows)
Causes:- Invalid workflow definition (empty blocks, incompatible block types)
- Missing required fields in create/update requests
- Invalid block or edge configuration
- Ensure workflow has at least one block and valid edges
- Check block compatibility (e.g., webhook → company_enrichment)
- Use the workflow editor’s “Workflow API Reference” for block specs
429 Rate Limit Exceeded
Causes:- Exceeded the rate limit of 500 requests per minute
- Implement exponential backoff and retry logic
- Wait 60 seconds before retrying
- Spread requests over time to stay under the limit
- Use async endpoints for bulk operations
- Contact support if you need a higher rate limit
500 Internal Server Error
Causes:- Temporary server issue
- Unexpected error during processing
- Service degradation
- Wait a few seconds and retry the request
- Implement retry logic with exponential backoff
- If the error persists, contact support at support@sixtyfour.ai
Rate Limits
The Sixtyfour API enforces the following rate limits:- 500 requests per minute per API key
- 5 concurrent deep searches per organization
X-RateLimit-Limit: Maximum requests allowed per minuteX-RateLimit-Remaining: Remaining requests in current windowX-RateLimit-Reset: Unix timestamp when the limit resets
Best Practices for Rate Limiting
- Implement Retry Logic
- Use Async Endpoints or Workflows for Bulk Operations
/company-intelligence-async, /people-intelligence-async) or the Workflows API instead of making many synchronous calls.
- Implement Request Queuing
Timeout Issues
Long-Running Requests
Some endpoints perform deep research and can take several minutes:- People Intelligence: P95 runtime ~5 minutes, up to 10 minutes
- Company Intelligence: Several minutes depending on research depth
- QA Agent: Varies based on criteria complexity
- Set Appropriate Timeouts
- Use Async Endpoints
- Use Webhooks
Common Troubleshooting Scenarios
Issue: “Invalid API key” error
Check:- Is the
x-api-keyheader included? - Is the API key copied correctly (no extra spaces)?
- Has the API key been revoked or expired?
Issue: Request times out
Check:- Are you using a sync endpoint for long-running operations?
- Is your HTTP client timeout set appropriately?
Issue: Empty or incomplete results
Check:- Did you provide enough input data for the enrichment?
- Is the
structfield properly defined with clear descriptions? - Are you requesting data that may not be publicly available?
- Provide as much input data as possible (name, company, LinkedIn, etc.)
- Write clear, detailed descriptions in the
structfield - Check the
confidence_scorein the response to gauge data quality
Issue: Rate limit exceeded frequently
Check:- Are you making more than 500 requests per minute?
- Are you implementing retry logic properly?
- Use async endpoints for bulk operations
- Implement request queuing to control the rate
- Add delays between requests
- Contact support if you need a higher limit
Issue: “Bad Request” with valid data
Check:- Is the JSON properly formatted?
- Are all required fields included?
- Are field types correct (object vs string, etc.)?
Issue: Workflow run stuck or not progressing
Check:- Are you polling
GET /workflows/runs/{run_id}/live_status? - Is the
overall_statusstillqueuedorrunning? - Has the workflow been running for an unusually long time?
- Poll every 5-10 seconds; workflow runs can take several minutes
- Use
overall_progress_percentageandblocksto see per-block progress - To stop a run:
POST /workflows/cancel?job_id={job_id} - If a run appears stuck, check
error_messagein block status; consider cancelling and retrying
Issue: Webhook signature verification fails or deliveries stop
Check:- Is your verifier using the raw request body bytes, not a re-serialized JSON parse?
- During rotation, does it iterate every
v1=segment (not only the last)? - Is your server clock within 5 minutes of UTC?
- Are you using the plaintext secret (
sk_whsec_<64 hex>), not the masked preview shown in the dashboard?
- Log the raw body, the
Sixtyfour-Signatureheader, and the HMAC your server computes; compare against what we sent. - See Signing Secrets & Verification for the verification algorithm and reference code.
- If deliveries stop entirely, we may be refusing to deliver unsigned when signing is configured (fail-closed by design). Results remain available via
/job-status/{task_id}.
Getting Help
If you’re experiencing issues not covered in this guide:- Check the API Reference for endpoint-specific requirements
- Review the starter notebooks for working examples
- Contact support at support@sixtyfour.ai
- Include the following in your support request:
- Request/response details (remove sensitive data)
- Error message
- Endpoint being called
- Approximate timestamp of the error