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

Decline jobs

Decline the specified assigned jobs and send the reason to the producer. Obtain the person's approval.

POST/api/v1/jobs/decline
jobs:writeMCP: declineIdempotency key required

Request

Examples use sample IDs and upload handles. Replace them with values returned for your assigned work before making a call. Set a new request ID for a new action; reuse it only for the same input on a retry.

curl -X POST 'https://talent.radioworkflow.com/api/v1/jobs/decline' \
  -H "Authorization: Bearer $TALENT_API_KEY" \
  -H 'Idempotency-Key: replace_with_a_unique_request_id' \
  -H 'Content-Type: application/json' \
  -d '{"job_ids":["4501"],"reason":"I am unavailable for this deadline."}'

Request fields

All requests use a bearer API key. Include Idempotency-Key: 8 to 48 letters, digits, underscores or hyphens. MCP uses the same value in request_id. Send body fields as application/json.

job_idsbodyRequired

string[]

Max items: 100

reasonbodyRequired

string

Min length: 1 · Max length: 500

Complete request schema
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "job_ids": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[1-9][0-9]{0,9}$"
      }
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "job_ids",
    "reason"
  ],
  "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. A replayed write includes replayed: true.

ok
true
api_version
"1"
replayed
true
results
object[]
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"
    },
    "replayed": {
      "type": "boolean",
      "const": true
    },
    "results": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "job_id": {
            "type": "string",
            "pattern": "^[1-9][0-9]{0,9}$"
          },
          "outcome": {
            "type": "string",
            "enum": [
              "declined"
            ]
          },
          "job": {
            "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
          }
        },
        "required": [
          "job_id",
          "outcome",
          "job"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "ok",
    "api_version",
    "results"
  ],
  "additionalProperties": false
}
Errors and retries