---
title: "Create Events Integration"
method: POST
path: "/v4/accounts/{voip_id}/integrations/events/overview"
tags: ["Events Integrations Overview"]
---

# Create Events Integration

`POST /v4/accounts/{voip_id}/integrations/events/overview`

## Request

- Base URL: `https://api.phone.com`
- URL: `https://api.phone.com/v4/accounts/{voip_id}/integrations/events/overview`
- Auth: HTTP bearer

This endpoint allows to create listener, callback and subscriptions with one API request

## Path parameters

- `voip_id` integer, required

## Request body

- EventsOverview
  - `version` '1.0.0' | '1.1.0' | '2.0.0': Listener version
  - `callback_id` integer: Callback ID (profile can be also defined as :callback)
  - `expires_at` integer, nullable: Define expiration time for listener
  - `:callback` object: Callback object
    - `name` string, nullable: Event name
    - `fallback_callback_id` integer, nullable: Fallback callback ID
    - `profile_id` integer, nullable: ID of the profile (profile can be also defined as :profile)
    - `enabled` boolean: Callback status
    - `mode` 'HTTPS' | 'HTTP' | 'APPLICATION' | 'EMAIL': Callback mode
    - `config` object, required: Config object, configuration of the callback
      - `url` string: URL of the callback
      - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE': Method of the callback (default is POST)
      - `headers` object[], nullable: Headers , (default is null)
        - `name` string, required: Header name
        - `value` string, required: Header value
      - `timeout` integer, nullable: Callback timeout (default is null, system timeout will be used)
      - `email` string: Email for events delivery
      - `mode` 'json' | 'text': email contents type: json or text (default is json)
      - `rate_limit` object, nullable: Rate limit (applicable for 'email' type of callback only)
        - `number` integer, required: Number of events allowed in the period
        - `period` integer, required: Period in seconds
      - `application` 'sms-autoresponder' | 'google-analytics': Application name (applicable for 'application' type of callback only)
      - `parameters` object: Application invocation parameters (applicable for 'application' type of callback only)
    - `:profile` object: Profile object (profile can be also defined as profile_id)
      - `name` string, required: Profile name
      - `support_email` string, required: Email for callback's support (will be used in case of problems with callback)
  - `:subscriptions` object[], required: List of subscriptions
    - `:tags` string[], required: Array of tags for the subscription (&& logic is being applied)
  - `:filters` object[]: Listener filters
    - `filter_type` 'number' | 'schedule', required: Type of the filter. Available types are "number", "schedule".
    - `filter_value` object, required: Filter's configuration. For "number" you can provide one of the properties: "eq" (exact number), "in" (array of allowed numbers), "match" (number with "%" for nothing or any available characters). For "schedule" provide "id" with the ID of the schedule.
    - `not_logic` boolean: Enable inverted logic (event should not match filter to be included)

## Response `201`

Created

- object

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation failed
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/phone/apis/phoenix-api-by-phone-com.md) · [All operations](https://skmtc.dev/phone/apis/phoenix-api-by-phone-com/llms.txt) · [OpenAPI document](https://skmtc.dev/phone/apis/phoenix-api-by-phone-com/revisions/a6274ad4319c?raw)
