# Register a Fin Voice call

Register a Fin Voice call with Intercom. This endpoint creates an external reference
that links an external call identifier to an Intercom call and conversation.

The call can be from different sources:
- AWS Connect (default)
- Five9
- Zoom Phone

Endpoint: POST /fin_voice/register
Version: 2.15
Security: bearerAuth

## Request fields (application/json):

  - `phone_number` (string, required)
    Phone number in E.164 format for the call
    Example: "+1234567890"

  - `call_id` (string, required)
    External call identifier from the call provider
    Example: "call-123-abc"

  - `source` (string)
    Source of the call. Can be "five9", "zoom_phone", or defaults to "aws_connect"
    Enum: "five9", "zoom_phone", "aws_connect"

  - `data` (object,null)
    Additional metadata about the call
    Example: {"key":"value"}

## Response 200 fields (application/json):

  - `id` (integer)
    The unique identifier for the external reference
    Example: 12345

  - `app_id` (integer)
    The workspace identifier
    Example: 12345

  - `user_phone_number` (string)
    Phone number in E.164 format for the call
    Example: "+1234567890"

  - `status` (string)
    Status of the call. Can be "registered", "in-progress", or a resolution state
    Example: "registered"

  - `intercom_call_id` (string,null)
    The Intercom call identifier, if the call has been matched
    Example: "1234"

  - `external_call_id` (string)
    The external call identifier from the call provider
    Example: "call-123-abc"

  - `intercom_conversation_id` (string,null)
    The Intercom conversation identifier, if a conversation has been created
    Example: "5678"

  - `call_transcript` (array)
    Array of transcript entries for the call
    Example: []

  - `call_summary` (string)
    Summary of the call conversation, truncated to 256 characters. Empty string if no summary available.
    Example: "Customer called about billing issue..."

  - `intent` (array)
    Array of intent classifications for the call
    Example: []

## Response 400 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: "error.list"

  - `request_id` (string,null)
    Example: "f93ecfa8-d08a-4325-8694-89aeb89c8f85"

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: "unauthorized"

  - `errors.message` (string,null)
    Optional. Human readable description of the error.
    Example: "Access Token Invalid"

  - `errors.field` (string,null)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: "email"


