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

Set AI voice permissions

Change the talent's stated AI permissions. Always obtain the person's explicit approval; a tool annotation does not enforce it.

PUT/api/v1/consent
consent:writeMCP: consent_setIdempotency 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 PUT 'https://talent.radioworkflow.com/api/v1/consent' \
  -H "Authorization: Bearer $TALENT_API_KEY" \
  -H 'Idempotency-Key: replace_with_a_unique_request_id' \
  -H 'Content-Type: application/json' \
  -d '{"ai_word_fixes":"no","ai_versions":"no"}'

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.

ai_word_fixesbodyRequired

"yes" | "ask" | "no"

ai_versionsbodyRequired

"yes" | "ask" | "no"

Complete request schema
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ai_word_fixes": {
      "type": "string",
      "enum": [
        "yes",
        "ask",
        "no"
      ]
    },
    "ai_versions": {
      "type": "string",
      "enum": [
        "yes",
        "ask",
        "no"
      ]
    }
  },
  "required": [
    "ai_word_fixes",
    "ai_versions"
  ],
  "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
consent
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
    },
    "consent": {
      "type": "object",
      "properties": {
        "set": {
          "type": "boolean"
        },
        "dsp": {
          "type": "string",
          "const": "yes"
        },
        "ai_word_fixes": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "yes",
                "ask",
                "no"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "ai_versions": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "yes",
                "ask",
                "no"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "updated_at": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "set",
        "dsp",
        "ai_word_fixes",
        "ai_versions",
        "updated_at"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "ok",
    "api_version",
    "consent"
  ],
  "additionalProperties": false
}
Errors and retries