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

# Create a ticket

> Creates a durable support ticket without sending email or WhatsApp messages. Requires Idempotency-Key; retries return the original response. Linking a conversation also requires conversations:read.

Required scope: `tickets:write`. Required product: `desk`.



## OpenAPI

````yaml /openapi.json post /api/v1/tickets
openapi: 3.0.1
info:
  title: Cconnect Customer API
  description: >-
    Company-scoped REST API for Cconnect Desk and Chat. Bearer credentials are
    issued by your company administrator. Public documentation does not grant
    data access. Operations require CustomerApi:Enabled on the API deployment.
  contact:
    name: Cconnect
    url: https://cconnect.online
  version: 1.0.0
servers:
  - url: https://cconnect.online
    description: Cconnect API server (separate from developers.cconnect.online)
security:
  - CustomerBearer: []
externalDocs:
  description: Cconnect developer portal
  url: https://developers.cconnect.online
paths:
  /api/v1/tickets:
    post:
      tags:
        - Tickets
      summary: Create a ticket
      description: >-
        Creates a durable support ticket without sending email or WhatsApp
        messages. Requires Idempotency-Key; retries return the original
        response. Linking a conversation also requires conversations:read.


        Required scope: `tickets:write`. Required product: `desk`.
      operationId: CreateTicket
      parameters:
        - name: Idempotency-Key
          in: header
          description: >-
            Unique key for a ticket creation (1–128 visible ASCII characters).
            Retained for the company's lifetime. Reusing a key with a different
            request returns 409; identical retries return the original 201
            response.
          required: true
          schema:
            maxLength: 128
            minLength: 1
            type: string
          example: crm-case-1042
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiCreateTicketRequest'
            example:
              subject: Customer cannot sign in
              description: A support request synchronized from our CRM.
              priority: normal
        required: true
      responses:
        '201':
          description: Created
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            Location:
              description: Relative URL of the created ticket.
              schema:
                type: string
            Idempotency-Replayed:
              description: true when this is a stored response to an identical retry.
              schema:
                type: boolean
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiTicketApiData'
        '400':
          description: Bad Request
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: Forbidden
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: Not Found
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '409':
          description: Conflict
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '413':
          description: Content Too Large
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '415':
          description: Unsupported Media Type
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '429':
          description: Too Many Requests
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            Retry-After:
              description: Seconds until a retry is allowed.
              schema:
                type: integer
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal Server Error
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '503':
          description: Service Unavailable
          headers:
            X-Request-Id:
              description: Support correlation ID.
              schema:
                type: string
            X-RateLimit-Limit:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Remaining:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
            X-RateLimit-Reset:
              description: >-
                Company quota metadata (reset is Unix seconds). Present after
                bearer authentication and company subscription validation.
              schema:
                type: integer
                format: int64
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
components:
  schemas:
    ApiCreateTicketRequest:
      required:
        - description
        - subject
      type: object
      properties:
        subject:
          maxLength: 160
          minLength: 3
          type: string
        description:
          maxLength: 10000
          minLength: 1
          type: string
        priority:
          pattern: ^(low|normal|high|urgent)$
          type: string
          default: normal
        conversation_id:
          maxLength: 4096
          minLength: 0
          type: string
          nullable: true
        custom_fields:
          type: object
          additionalProperties:
            type: string
          nullable: true
      additionalProperties: false
    ApiTicketApiData:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ApiTicket'
      additionalProperties: false
    ApiErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
        request_id:
          type: string
      additionalProperties: false
    ApiTicket:
      type: object
      properties:
        id:
          type: string
          format: uuid
        number:
          type: string
        subject:
          type: string
        description:
          type: string
        status:
          type: string
        priority:
          type: string
        channel:
          type: string
        conversation_id:
          type: string
          nullable: true
        assignee_id:
          type: string
          nullable: true
        group_name:
          type: string
        custom_fields:
          type: object
          additionalProperties:
            type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      additionalProperties: false
    ApiError:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        field:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    CustomerBearer:
      type: http
      description: >-
        Company-owned API token. Supply Authorization: Bearer
        YOUR_CCONNECT_API_TOKEN. Never use provider tokens or member passwords.
        Tokens are shown only once when created.
      scheme: bearer
      bearerFormat: Cconnect API token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.