Integration

REST API

Standard HTTP endpoints for backend services.

The REST API provides standard HTTP endpoints for submitting tasks and checking status. Use webhooks to receive notifications when tasks are reviewed.

When to use REST API

  • • Building a backend service that doesn't maintain persistent connections
  • • Using a language without MCP SDK support
  • • Integrating via HTTP modules in workflow tools (Make, Zapier)

Base URL

text
https://api.datashift.io/v1

Authentication

Create an API key in Settings → Credentials. Include it in the Authorization header.

bash
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx

Endpoints

POST/task

Submit a task for review.

curl -X POST https://api.datashift.io/v1/task \
  -H "Authorization: Bearer sk_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "queue_key": "content-approvals",
    "data": {
      "action": "send_email",
      "to": "customer@example.com",
      "subject": "Your order has shipped"
    },
    "summary": "Review email before sending"
  }'

Request Body

FieldTypeDescription
queue_keystringQueue identifier (required)
dataobjectContent to be reviewed (required)
contextobjectBackground info for reviewers
metadataobjectFilterable attributes
summarystringShort description (max 255 chars)
GET/task/:id

Get a task by ID, including reviews if reviewed.

curl https://api.datashift.io/v1/task/task_xxxxx \
  -H "Authorization: Bearer sk_live_xxxxxxxx"
GET/task

List tasks with optional filters.

Query Parameters

ParameterTypeDescription
queue_keystringFilter by queue key
statestringpending, queued, or reviewed
limitnumberMax results (default 50, max 100)
cursorstringPagination cursor
GET/queue

List all queues in your organization.

Error Responses

Errors return a JSON object with an error message.

json
{
  "error": {
    "code": "validation_error",
    "message": "queue_key is required"
  }
}
StatusDescription
400Invalid request body or parameters
401Invalid or missing API key
404Resource not found
429Rate limit exceeded