Talent BuddyFor voice talent
Open app
Introduction
Getting startedMCP serverErrors and retries
Jobs and scripts
GETList jobsGETRead a jobPOSTGet a script PDFPOSTAccept jobsPOSTDecline jobsPOSTComplete jobsPOSTAcknowledge a script revision
Deliveries
GETRead deliveriesPOSTBegin a take uploadPOSTDeliver a takePOSTResume a deliveryPOSTWithdraw a takePOSTRetry audio checks
Attachments
GETGet an attachment linkPOSTBegin a file uploadPOSTSend an attached fileDELRemove an attached file
Earnings
GETRead earnings
Account
GETRead your integration identityGETRead availabilityGETRead preferencesGETRead AI voice permissionsPUTSet availabilityPUTSet preferencesPUTSet AI voice permissions
Introduction
Getting startedMCP serverErrors and retries
Jobs and scripts
GETList jobsGETRead a jobPOSTGet a script PDFPOSTAccept jobsPOSTDecline jobsPOSTComplete jobsPOSTAcknowledge a script revision
Deliveries
GETRead deliveriesPOSTBegin a take uploadPOSTDeliver a takePOSTResume a deliveryPOSTWithdraw a takePOSTRetry audio checks
Attachments
GETGet an attachment linkPOSTBegin a file uploadPOSTSend an attached fileDELRemove an attached file
Earnings
GETRead earnings
Account
GETRead your integration identityGETRead availabilityGETRead preferencesGETRead AI voice permissionsPUTSet availabilityPUTSet preferencesPUTSet AI voice permissions
Getting started
API reference

List jobs

List assigned jobs, with filters, counts and pagination.

GET/api/v1/jobs
jobs:readMCP: jobs

Request

Examples use sample IDs and upload handles. Replace them with values returned for your assigned work before making a call.

curl -X GET 'https://talent.radioworkflow.com/api/v1/jobs?tab=pending&filter=all&page=1&page_size=25' \
  -H "Authorization: Bearer $TALENT_API_KEY"

Request fields

All requests use a bearer API key.

tabqueryOptional

"pending" | "completed" | "declined"

Default: "pending"

filterqueryOptional

"all" | "due_today" | "overdue" | "due_soon" | "accepted" | "changes_requested" | "unopened" | "delivered"

Default: "all"

customer_idqueryOptional

string | null

Default: null

voice_idqueryOptional

string | null

Default: null

qqueryOptional

string | null

Default: null

pagequeryOptional

integer

Default: 1 · Min: 1 · Max: 1000

page_sizequeryOptional

25 | 50 | 100

Default: 25

Complete request schema
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tab": {
      "type": "string",
      "enum": [
        "pending",
        "completed",
        "declined"
      ],
      "default": "pending"
    },
    "filter": {
      "type": "string",
      "enum": [
        "all",
        "due_today",
        "overdue",
        "due_soon",
        "accepted",
        "changes_requested",
        "unopened",
        "delivered"
      ],
      "default": "all"
    },
    "customer_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[1-9][0-9]{0,9}$"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "voice_id": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[1-9][0-9]{0,9}$"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "q": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "default": 1
    },
    "page_size": {
      "anyOf": [
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        },
        {
          "type": "number",
          "const": 100
        }
      ],
      "default": 25
    }
  },
  "required": [],
  "additionalProperties": false
}

Response

HTTP 200 returns a JSON object. Read ok before using its fields. IDs are decimal strings, instants are Unix seconds, and a missing value is null.

ok
true
api_version
"1"
tab
"pending" | "completed" | "declined"
filter
"all" | "due_today" | "overdue" | "due_soon" | "accepted" | "changes_requested" | "unopened" | "delivered"
page
integer
page_size
25 | 50 | 100
total
integer
items
object[]
counts
object
today
string
Complete response schema
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true
    },
    "api_version": {
      "type": "string",
      "const": "1"
    },
    "tab": {
      "type": "string",
      "enum": [
        "pending",
        "completed",
        "declined"
      ]
    },
    "filter": {
      "type": "string",
      "enum": [
        "all",
        "due_today",
        "overdue",
        "due_soon",
        "accepted",
        "changes_requested",
        "unopened",
        "delivered"
      ]
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "anyOf": [
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        },
        {
          "type": "number",
          "const": 100
        }
      ]
    },
    "total": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "job_id": {
            "type": "string",
            "pattern": "^[1-9][0-9]{0,9}$"
          },
          "customer": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[1-9][0-9]{0,9}$"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": false
          },
          "voice": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[1-9][0-9]{0,9}$"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": false
          },
          "key_number": {
            "type": "string"
          },
          "advertiser": {
            "type": "string"
          },
          "length_s": {
            "type": "number",
            "minimum": 0
          },
          "kind": {
            "type": "string",
            "enum": [
              "dry_voice",
              "finished_spot",
              "not_set"
            ]
          },
          "live_read": {
            "type": "boolean"
          },
          "reference": {
            "type": [
              "string",
              "null"
            ]
          },
          "requested_at": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "due_date": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "changes_due": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "due_state": {
            "type": "string",
            "enum": [
              "none",
              "later",
              "soon",
              "today",
              "overdue",
              "stale"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "completed",
              "declined"
            ]
          },
          "stage": {
            "type": "string",
            "enum": [
              "sent",
              "viewed",
              "accepted",
              "changes_requested",
              "delivered",
              "completed",
              "approved",
              "declined"
            ]
          },
          "spot_cancelled": {
            "type": "boolean"
          },
          "has_script": {
            "type": "boolean"
          },
          "script_changed": {
            "type": "boolean"
          },
          "unopened": {
            "type": "boolean"
          },
          "deliveries": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "attachments": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "rate": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "pattern": "^-?\\d+\\.\\d{2}$"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  "symbol": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "amount",
                  "currency",
                  "symbol"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "producer_name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "job_id",
          "customer",
          "voice",
          "key_number",
          "advertiser",
          "length_s",
          "kind",
          "live_read",
          "reference",
          "requested_at",
          "due_date",
          "changes_due",
          "due_state",
          "status",
          "stage",
          "spot_cancelled",
          "has_script",
          "script_changed",
          "unopened",
          "deliveries",
          "attachments",
          "rate",
          "producer_name"
        ],
        "additionalProperties": false
      }
    },
    "counts": {
      "type": "object",
      "properties": {
        "pending": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "to_record": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "due_today": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "overdue": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "due_soon": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "stale": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "accepted": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "changes_requested": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "unopened": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "completed": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "delivered": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "declined": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "pending",
        "to_record",
        "due_today",
        "overdue",
        "due_soon",
        "stale",
        "accepted",
        "changes_requested",
        "unopened",
        "completed",
        "delivered",
        "declined"
      ],
      "additionalProperties": false
    },
    "today": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "required": [
    "ok",
    "api_version",
    "tab",
    "filter",
    "page",
    "page_size",
    "total",
    "items",
    "counts",
    "today"
  ],
  "additionalProperties": false
}
Errors and retries