# Schedule a voice callback

Endpoint: POST /voice/callback
Version: 3.0.0
Security: bearerAuth, apiKeyAuth

## Security:

  - `bearerAuth` (unknown)
    http bearer Token

  - `apiKeyAuth` (unknown)
    apiKey in header Key

## Request fields (application/json):

  - `campaignId` (string, required)
    CampaignId of the campaign we want to use to schedule callback

  - `phoneNumber` (string, required)
    Phone Number to call

  - `workQueueId` (string, required)
    Work queue Id

  - `fromTime` (integer)
    Time after which callback will be scheduled, if fromTime kept blank, then callback will be scheduled for current time + 30 secs

  - `accountId` (integer)
    Account Id to use for callback

  - `expireTime` (integer)
    timestamp in millis after which callback gets expired

  - `requiredSkills` (object)
    Skill name vs proficiency mapping

  - `note` (string)
    Note for call back

  - `priority` (integer)
    Priority of the call back

  - `customProperties` (object)
    custom properties

  - `reAssigneeType` (string)
    Re-Assignee Type

  - `reAssigneeId` (string)
    Re-Assignee Id

  - `reAssignAfterInterval` (integer)
    Re-Assign Interval

  - `slotInformation` (object)
    Slot Information

  - `slotInformation.startTime` (integer)
    Slot Start Time

  - `slotInformation.endTime` (integer)
    Slot End Time

  - `slotInformation.available` (boolean)
    Slot Availability

  - `slotInformation.slotConfigId` (string)
    Slot Config

  - `slotInformation.slotDefinitionId` (string)
    Slot Definition

## Response 200:

  - `200` (unknown)
    Success

## Response 200 fields (application/json):

  - `data` (object)

  - `errors` (array)

  - `errors.id` (string, required)
    24-character hex ObjectId

  - `errors.code` (integer, required)

  - `errors.message` (string, required)
    Dotted error key (e.g. account.not.found)

  - `metadata` (object)

## Response 400:

  - `400` (unknown)
    Bad request

## Response 400 fields (application/json):

  - `data` (object)

  - `errors` (array)

  - `errors.id` (string, required)
    24-character hex ObjectId

  - `errors.code` (integer, required)

  - `errors.message` (string, required)
    Dotted error key (e.g. account.not.found)

  - `metadata` (object)

## Response 401:

  - `401` (unknown)
    Missing or invalid authentication

## Response 401 fields (application/json):

  - `data` (object)

  - `errors` (array)

  - `errors.id` (string, required)
    24-character hex ObjectId

  - `errors.code` (integer, required)

  - `errors.message` (string, required)
    Dotted error key (e.g. account.not.found)

  - `metadata` (object)

## Response 403:

  - `403` (unknown)
    Insufficient permissions

## Response 403 fields (application/json):

  - `data` (object)

  - `errors` (array)

  - `errors.id` (string, required)
    24-character hex ObjectId

  - `errors.code` (integer, required)

  - `errors.message` (string, required)
    Dotted error key (e.g. account.not.found)

  - `metadata` (object)

## Response 404:

  - `404` (unknown)
    Resource not found

## Response 404 fields (application/json):

  - `data` (object)

  - `errors` (array)

  - `errors.id` (string, required)
    24-character hex ObjectId

  - `errors.code` (integer, required)

  - `errors.message` (string, required)
    Dotted error key (e.g. account.not.found)

  - `metadata` (object)

