{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/sinch/main/json-schema/sinch-batch-summary-schema.json", "title": "Batch Summary", "description": "Summary of a batch call operation, including counts of call sessions by state and overall progress.", "x-generated": "2026-10-08", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/sinch-voice-api-v2-openapi.yml#/components/schemas/batchSummary", "type": "object", "additionalProperties": false, "required": [ "batchId", "sessionCount", "queued", "inProgress", "completed", "expired", "requestedCps" ], "properties": { "batchId": { "type": "string", "format": "ulid", "description": "Unique identifier of the batch call operation (ULID).\nUse this value to retrieve the batch details ([GET] `/v2/projects/{projectId}/batches/{batchId}/details`) or stop processing ([DELETE] `/v2/projects/{projectId}/batches/{batchId}`)." }, "sessionCount": { "type": "integer", "description": "Total number of call sessions requested in this batch." }, "endTime": { "type": "string", "format": "date-time", "description": "Timestamp (RFC 3339) when the batch finished processing (all call sessions reached a final state). Returns\n\nOmitted if the batch is still in progress or has not completed yet." }, "queued": { "type": "integer", "description": "Number of call sessions that are queued and waiting to be initiated (not yet in progress)." }, "inProgress": { "type": "integer", "description": "Number of call sessions that are in progress." }, "completed": { "type": "integer", "description": "Number of call sessions that have completed successfully." }, "expired": { "type": "integer", "description": "Number of queued call sessions that were not initiated before the batch TTL (`ttlSeconds`) elapsed and therefore expired." }, "ttlSeconds": { "type": "integer", "description": "Batch time-to-live (TTL) in seconds. The maximum amount of time the platform will keep attempting to start queued call sessions in this batch.\nWhen the TTL expires, any call sessions that have not yet been initiated will stop being processed (calls already in progress are not affected)." }, "requestedCps": { "type": "integer", "description": "Requested maximum call initiation rate, in calls per second (CPS), for this batch.\nActual CPS may be lower depending on routing, carrier, and platform capacity, as well as account limitations." } } }