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

# Create ticket

> Initialize a new inbox conversation ticket for a contact, or return an active open ticket

Creates a new conversation ticket for a specified contact. If an `open` ticket already exists for the contact within the organization, the existing active ticket is returned idempotently.

***

### Authentication

This endpoint requires Bearer token authentication.

```http theme={null}
Authorization: Bearer <token>
```

| Header          | Type     | Required | Description                                     | Format           |
| :-------------- | :------- | :------- | :---------------------------------------------- | :--------------- |
| `Authorization` | `string` | **Yes**  | Scoped organization API key or Bearer JWT token | `Bearer <token>` |

***

### Request Body

<ParamField header="Authorization" type="string" required>
  Bearer token for authentication. Format: `Bearer <token>`.
</ParamField>

<ParamField body="contact_id" type="string" required>
  UUID of the contact to initiate the conversation ticket with.
</ParamField>

***

### Response Fields

<ResponseField name="id" type="string">
  UUID of the inbox ticket.
</ResponseField>

<ResponseField name="organization_id" type="string">
  UUID of the organization owning the ticket.
</ResponseField>

<ResponseField name="contact_id" type="string">
  UUID of the linked contact.
</ResponseField>

<ResponseField name="whatsapp_phone_number_id" type="string">
  UUID of the assigned WhatsApp phone number endpoint, or `null`.
</ResponseField>

<ResponseField name="status" type="string">
  Current ticket status (`open` or `closed`).
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 creation timestamp.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 last update timestamp.
</ResponseField>

<ResponseField name="contact" type="object">
  Embedded contact profile object.

  <Expandable title="ContactBriefResponse Fields">
    <ResponseField name="id" type="string">
      Contact UUID.
    </ResponseField>

    <ResponseField name="name" type="string">
      Contact's full name.
    </ResponseField>

    <ResponseField name="phone_number" type="string">
      Contact's phone number.
    </ResponseField>

    <ResponseField name="tags" type="string[]">
      Classification tags assigned to contact.
    </ResponseField>

    <ResponseField name="notes" type="string">
      Internal notes or `null`.
    </ResponseField>

    <ResponseField name="custom_fields" type="object">
      Custom key-value metadata.
    </ResponseField>
  </Expandable>
</ResponseField>

***

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.sayvy.ai/api/v1/inbox/tickets" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
      "contact_id": "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d"
    }'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.sayvy.ai/api/v1/inbox/tickets"
  headers = {
      "Authorization": "Bearer <token>",
      "Content-Type": "application/json"
  }
  payload = {
      "contact_id": "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d"
  }

  response = requests.post(url, headers=headers, json=payload)
  print(response.status_code)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.sayvy.ai/api/v1/inbox/tickets", {
    method: "POST",
    headers: {
      "Authorization": "Bearer <token>",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      contact_id: "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d"
    })
  });

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

<ResponseExample>
  ```json 201 Created theme={null}
  {
    "id": "e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b",
    "organization_id": "e0b973dc-13a8-4c9f-861a-03e5b4b1a8d9",
    "contact_id": "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
    "whatsapp_phone_number_id": "11a22b33-44c5-5d6e-7f8a-9b0c1d2e3f4a",
    "status": "open",
    "created_at": "2026-09-07T15:30:00Z",
    "updated_at": "2026-09-07T15:30:00Z",
    "contact": {
      "id": "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
      "name": "Sarah Connor",
      "phone_number": "+14155552671",
      "tags": ["vip", "enterprise"],
      "notes": "Key account representative",
      "custom_fields": {
        "tier": "enterprise"
      }
    }
  }
  ```

  ```json 400 Bad Request theme={null}
  {
    "detail": "Valid organization_id header is required"
  }
  ```
</ResponseExample>
