> ## Documentation Index
> Fetch the complete documentation index at: https://docs.talentunveiled.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update organization phone-interview call policy

> Read or partially update your organization's outbound phone-interview call policy. The policy governs automatic dialing for phone interviews and applies to the entire organization. There is no per-job override.

Changes apply to calls scheduled after the PATCH. Call sequences already in progress continue under the policy that was in force when they started.

Each candidate receives one initial dial plus one retry per entry in `retry_delay_sequence` — the number of retries equals the number of entries. Retries are only placed during the calling window (`weekdays` between `start_time` and `end_time`, in the candidate's local timezone). Setting `retries_enabled` to false disables retries but still permits the initial dial. `max_retries` and `retry_window_days` are DEPRECATED and no longer read.

Validation: `end_time` must be strictly greater than `start_time`, and `weekdays` must contain at least one entry. Violations return HTTP 400 with the offending field name in `attr`.

PATCH is a partial update. This resource is a singleton per organization: PUT, POST, and DELETE are not supported.

Fields:
- `retries_enabled` (bool): master switch for retry attempts. When false, retries are skipped and only the initial dial is placed.
- `max_retries` (int): DEPRECATED, read-only — still returned, writes ignored. The retry budget is now the length of `retry_delay_sequence`.
- `retry_window_days` (int): DEPRECATED, read-only — still returned, writes ignored. `retry_delay_sequence` now bounds the campaign.
- `start_time` (`HH:MM:SS`): calling-window start, in the candidate's local timezone.
- `end_time` (`HH:MM:SS`): calling-window end, in the candidate's local timezone. Must be greater than `start_time`.
- `weekdays` (array of weekday names, lowercase): weekdays on which dials may be placed. Must not be empty.
- `retry_delay_sequence` (array of durations, format `[D ]HH:MM:SS`): delays between successive retries; one entry per retry, so the number of entries is the retry budget.



## OpenAPI

````yaml /swagger/v2_schema.yaml patch /organization/call-policy
openapi: 3.0.3
info:
  title: TalentUnveiled API v2
  version: 2.0.0
  description: >-
    Public API v2 for managing jobs, applications, interviews, and webhooks.


    **Pagination:** list endpoints return a `{count, next, previous, results}`
    envelope. Page with the `limit` and `offset` query parameters; `limit`
    defaults to 50 and is capped at 200.
servers:
  - url: https://api.talentunveiled.com/api/v2
    description: Production server
security: []
tags:
  - name: Meta
    description: Identify the organization an API key belongs to.
  - name: Jobs
    description: Create, read, update, and archive job postings.
  - name: Applications
    description: Create applications and track them through the pipeline.
  - name: Interview Configuration
    description: The interview config and call schedule for a job.
  - name: Interview Criteria
    description: Evaluation criteria for a job's interview.
  - name: Interview Questions
    description: Questions asked during a job's interview.
  - name: Interview Results
    description: The scored interview result for an application.
  - name: Interview Calls
    description: Call attempts, scheduling, and transcripts.
  - name: CV Evaluations
    description: AI scoring of a candidate's CV against the job.
  - name: Insights
    description: Combined CV and interview insights for an application.
  - name: Webhooks
    description: Manage webhook subscriptions and inspect deliveries.
  - name: Hiring Team
    description: Manage the hiring team assigned to a job posting.
  - name: Members
    description: List the members of the organization.
paths:
  /organization/call-policy:
    patch:
      tags:
        - Organization Configuration
      summary: Update organization phone-interview call policy
      description: >-
        Read or partially update your organization's outbound phone-interview
        call policy. The policy governs automatic dialing for phone interviews
        and applies to the entire organization. There is no per-job override.


        Changes apply to calls scheduled after the PATCH. Call sequences already
        in progress continue under the policy that was in force when they
        started.


        Each candidate receives one initial dial plus one retry per entry in
        `retry_delay_sequence` — the number of retries equals the number of
        entries. Retries are only placed during the calling window (`weekdays`
        between `start_time` and `end_time`, in the candidate's local timezone).
        Setting `retries_enabled` to false disables retries but still permits
        the initial dial. `max_retries` and `retry_window_days` are DEPRECATED
        and no longer read.


        Validation: `end_time` must be strictly greater than `start_time`, and
        `weekdays` must contain at least one entry. Violations return HTTP 400
        with the offending field name in `attr`.


        PATCH is a partial update. This resource is a singleton per
        organization: PUT, POST, and DELETE are not supported.


        Fields:

        - `retries_enabled` (bool): master switch for retry attempts. When
        false, retries are skipped and only the initial dial is placed.

        - `max_retries` (int): DEPRECATED, read-only — still returned, writes
        ignored. The retry budget is now the length of `retry_delay_sequence`.

        - `retry_window_days` (int): DEPRECATED, read-only — still returned,
        writes ignored. `retry_delay_sequence` now bounds the campaign.

        - `start_time` (`HH:MM:SS`): calling-window start, in the candidate's
        local timezone.

        - `end_time` (`HH:MM:SS`): calling-window end, in the candidate's local
        timezone. Must be greater than `start_time`.

        - `weekdays` (array of weekday names, lowercase): weekdays on which
        dials may be placed. Must not be empty.

        - `retry_delay_sequence` (array of durations, format `[D ]HH:MM:SS`):
        delays between successive retries; one entry per retry, so the number of
        entries is the retry budget.
      operationId: organization_call_policy_partial_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedInterviewCallPolicyRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterviewCallPolicy'
          description: ''
        '400':
          description: Invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication credentials were not provided or are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKeyAuth: []
components:
  schemas:
    PatchedInterviewCallPolicyRequest:
      type: object
      description: >-
        Org-wide outbound-call policy; all settings apply to phone interviews
        only.
      properties:
        retries_enabled:
          type: boolean
          description: >-
            Whether retries are enabled for failed phone interviews. If enabled,
            TalentUnveiled will automatically retry failed calls according to
            the policy defined in this model.
        start_time:
          type: string
          format: time
          description: >-
            Daily start time for outbound calls, both the initial call and
            retries (e.g., 09:00). Timezone is determined by the applicant's
            phone number area code.
        end_time:
          type: string
          format: time
          description: >-
            Daily end time for outbound calls, both the initial call and retries
            (e.g., 19:00). Timezone is determined by the applicant's phone
            number area code.
        weekdays:
          type: array
          items:
            $ref: '#/components/schemas/WeekdayEnum'
          description: >-
            Weekdays when outbound calls can be made, both the initial call and
            retries.
        retry_delay_sequence:
          type: array
          items:
            type: string
          description: >-
            [Retries enabled only] Sequence of delays between retry attempts. At
            least one entry is required when retries_enabled=true.
    InterviewCallPolicy:
      type: object
      description: >-
        Org-wide outbound-call policy; all settings apply to phone interviews
        only.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        retries_enabled:
          type: boolean
          description: >-
            Whether retries are enabled for failed phone interviews. If enabled,
            TalentUnveiled will automatically retry failed calls according to
            the policy defined in this model.
        max_retries:
          type: integer
          readOnly: true
          description: >-
            DEPRECATED, no longer read: the retry budget is now the length of
            retry_delay_sequence. Kept read-only as a rollback anchor.
        retry_window_days:
          type: integer
          readOnly: true
          description: >-
            DEPRECATED, no longer read: retry_delay_sequence now bounds the
            campaign. Kept read-only as a rollback anchor.
        start_time:
          type: string
          format: time
          description: >-
            Daily start time for outbound calls, both the initial call and
            retries (e.g., 09:00). Timezone is determined by the applicant's
            phone number area code.
        end_time:
          type: string
          format: time
          description: >-
            Daily end time for outbound calls, both the initial call and retries
            (e.g., 19:00). Timezone is determined by the applicant's phone
            number area code.
        weekdays:
          type: array
          items:
            $ref: '#/components/schemas/WeekdayEnum'
          description: >-
            Weekdays when outbound calls can be made, both the initial call and
            retries.
        retry_delay_sequence:
          type: array
          items:
            type: string
          description: >-
            [Retries enabled only] Sequence of delays between retry attempts. At
            least one entry is required when retries_enabled=true.
      required:
        - created_at
        - id
        - max_retries
        - retry_window_days
        - updated_at
    ErrorResponse:
      type: array
      description: List of errors
      items:
        $ref: '#/components/schemas/ErrorItem'
    WeekdayEnum:
      enum:
        - monday
        - tuesday
        - wednesday
        - thursday
        - friday
        - saturday
        - sunday
      type: string
      description: |-
        * `monday` - Monday
        * `tuesday` - Tuesday
        * `wednesday` - Wednesday
        * `thursday` - Thursday
        * `friday` - Friday
        * `saturday` - Saturday
        * `sunday` - Sunday
    ErrorItem:
      type: object
      description: Individual error item
      properties:
        code:
          allOf:
            - $ref: '#/components/schemas/ErrorCodeEnum'
          description: Machine-readable error code
        detail:
          type: string
          description: Human-readable error message
        attr:
          type: string
          nullable: true
          description: Field name this error relates to (for validation errors)
      required:
        - code
        - detail
    ErrorCodeEnum:
      type: string
      enum:
        - error
        - invalid_input
        - parse_error
        - authentication_failed
        - not_authenticated
        - permission_denied
        - not_found
        - method_not_allowed
        - not_acceptable
        - unsupported_media_type
        - throttled
        - required
        - does_not_exist
        - incorrect_type
        - no_match
        - incorrect_match
        - not_a_list
        - not_a_dict
        - empty
        - candidate_user_mismatch
        - candidate_not_found
        - cross_organization_application
        - already_exists
        - call_service_error
        - call_not_joinable
        - call_config_error
        - call_access_denied
        - call_already_linked
        - date_range_too_large
        - date_range_start_after_end
        - invalid_date
        - language_not_configured
        - vapi_api_error
        - webhook_processing_error
        - proxy_error
        - configuration_error
        - interview_call_already_processed
        - call_type_switch_error
        - slot_in_past
        - interview_not_scheduled
        - interview_opt_out_not_eligible
        - interview_retry_not_allowed
        - retake_limit_reached
        - interview_session_not_joinable
        - interview_session_retake_not_eligible
        - interview_session_already_processing
        - interview_session_not_completed
        - interview_session_reset_not_allowed
        - interview_mode_locked
        - application_already_exists
        - gateway_verification_failed
        - invalid_file_type
        - file_too_large
        - cv_already_exists
        - cv_required
        - custom_fields_too_large
        - nylas_grant_already_exists
        - nylas_upstream_error
        - otp_challenge_not_found
        - job_posting_not_found
        - job_application_not_found
        - workflow_execution_error
        - llm_generation_failed
        - report_generation_failed
        - interview_config_has_no_criteria
        - scheduling_not_enabled
        - interview_session_not_reschedulable
        - interview_version_mismatch
        - v3_job_missing_config
        - idempotency_key_conflict
        - idempotency_key_invalid
        - application_status_transition_invalid
        - application_state_conflict
        - external_id_conflict
        - qualification_cannot_have_score
        - competency_requires_bars
      description: Machine-readable error code
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      description: >-
        API key authentication for the public API. Pass your API key as a Bearer
        token.

````