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

# Get Callouts

> Retrieve callouts associated with an invoice

Retrieve all callouts associated with a specific invoice ID.

<Note>
  This endpoint returns an empty array if no callouts exist for the given
  invoice ID, or an array of callout objects if callouts are found.
</Note>

## Request

<ParamField query="invoice_id" type="string" required>
  The unique identifier of the invoice to retrieve callouts for
</ParamField>

<ParamField header="Authorization" type="string" required>
  Bearer token for API authentication
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
       --url https://api.credira.com/v1/callouts?invoice_id=inv_987654321 \
       --header 'Authorization: Bearer YOUR_API_KEY' \
       --header 'Content-Type: application/json'
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch(
    "https://api.credira.com/v1/callouts?invoice_id=inv_987654321",
    {
      method: "GET",
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
      },
    }
  );

  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ResponseExample status="200" summary="Success">
  ```json theme={null}
  {
    "success": true,
    "data": [
      {
        "id": "callout_123456789",
        "invoice_id": "inv_987654321",
        "status": "scheduled",
        "type": "payment_reminder",
        "scheduled_time": "2024-01-20T10:00:00Z",
        "created_time": "2024-01-19T09:00:00Z",
        "updated_time": "2024-01-19T09:00:00Z",
        "target_contact": {
          "name": "John Doe",
          "email": "john.doe@example.com",
          "phone": "+1234567890"
        },
        "actions": {
          "calls_enabled": true,
          "emails_enabled": false,
          "voice_agent_id": "agent_456789123"
        },
        "account_id": "acc_789123456",
        "priority": "high",
        "metadata": {
          "campaign_id": "camp_123",
          "department": "billing"
        }
      }
    ],
    "meta": {
      "timestamp": "2024-01-15T10:30:00Z",
      "request_id": "req_123456789",
      "total_callouts": 1
    }
  }
  ```
</ResponseExample>

<ResponseExample status="400" summary="Bad Request">
  ```json theme={null}
  {
    "success": false,
    "error": {
      "code": "INVALID_REQUEST",
      "message": "Missing required parameter: invoice_id"
    },
    "meta": {
      "timestamp": "2024-01-15T10:30:00Z",
      "request_id": "req_123456789"
    }
  }
  ```
</ResponseExample>

<ResponseExample status="401" summary="Unauthorized">
  ```json theme={null}
  {
    "success": false,
    "error": {
      "code": "UNAUTHORIZED",
      "message": "Invalid or missing API key"
    },
    "meta": {
      "timestamp": "2024-01-15T10:30:00Z",
      "request_id": "req_123456789"
    }
  }
  ```
</ResponseExample>

<ResponseExample status="404" summary="Not Found">
  ```json theme={null}
  {
    "success": false,
    "error": {
      "code": "NOT_FOUND",
      "message": "Invoice not found"
    },
    "meta": {
      "timestamp": "2024-01-15T10:30:00Z",
      "request_id": "req_123456789"
    }
  }
  ```
</ResponseExample>

<ResponseExample status="429" summary="Too Many Requests">
  ```json theme={null}
  {
    "success": false,
    "error": {
      "code": "RATE_LIMITED",
      "message": "Rate limit exceeded"
    },
    "meta": {
      "timestamp": "2024-01-15T10:30:00Z",
      "request_id": "req_123456789"
    }
  }
  ```
</ResponseExample>
