Create mixed bulk job

Enqueues screenshots, recordings, or scrapes in a single batch. Provide `urls` (simple list) or `items` (per-item config), not both. Webhook deliveries include `X-RapidCrawl-Event: bulk.completed` so receivers can dispatch on the header without parsing the body shape.

POST
/v1/bulk

Authorization

AuthorizationRequiredBearer <token>

API key. Obtain from POST /v1/account/api-keys.

In: header

Request Body

application/jsonRequired
urlsarray<string>
itemsarray<object>
defaultsobject
webhook_urlRequiredstring

Webhook endpoint URL (HTTPS only; http:// rejected with HTTP 422)

Pattern: "^https://"Format: "uri"
webhook_secretstring
metadataobject

Arbitrary key-value metadata. Max 4096 bytes when JSON-serialized.

curl -X POST "https://api.bytekit.com/v1/bulk" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "http://example.com"
    ],
    "items": [
      {
        "url": "http://example.com",
        "type": "screenshot"
      }
    ],
    "defaults": {
      "type": "screenshot",
      "device": "desktop",
      "format": "string",
      "quality": 0,
      "country": "string"
    },
    "webhook_url": "http://example.com",
    "webhook_secret": "string",
    "metadata": {}
  }'

Bulk job accepted.

{
  "id": "bulk_01j9abc123",
  "status": "pending",
  "total": 0,
  "completed": 0,
  "failed": 0,
  "created_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "total_credits_charged": 0,
  "estimated_credits": 0,
  "webhook_url": "string"
}