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

# Reconcile ticket creation

> Read a requestId returned with an uncertain create outcome before repeating a write. processing or reconciliation_required is not a confirmed completion. When ticketId is present, read get_ticket and conversation policy; never create a replacement escalation to retry an uncertain request.



## OpenAPI

````yaml /openapi.json get /tickets/requests/{requestId}
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /tickets/requests/{requestId}:
    get:
      tags:
        - Tickets
      summary: Reconcile ticket creation
      description: >-
        Read a requestId returned with an uncertain create outcome before
        repeating a write. processing or reconciliation_required is not a
        confirmed completion. When ticketId is present, read get_ticket and
        conversation policy; never create a replacement escalation to retry an
        uncertain request.
      operationId: get_ticket_request_status
      parameters:
        - name: requestId
          in: path
          required: true
          schema:
            type: string
            pattern: ^[a-f0-9]{64}$
      responses:
        '200':
          description: Confirmed resource state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketRequestStatus'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketApiError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketApiError'
        '403':
          description: Required permission missing or read-only rollout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketApiError'
        '404':
          description: Resource unavailable in this workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketApiError'
        '409':
          description: State, revision or idempotency conflict.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketApiError'
        '502':
          description: Reconcile an uncertain escalation request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketApiError'
        '503':
          description: Capability unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketApiError'
      security:
        - bearerAuth: []
components:
  schemas:
    TicketRequestStatus:
      type: object
      properties:
        requestId:
          type: string
        status:
          type: string
          enum:
            - not_found
            - processing
            - completed
            - failed
            - reconciliation_required
        ticketId:
          type: string
        errorCode:
          type: string
        updatedAt:
          type: string
      additionalProperties: false
      required:
        - requestId
        - status
    TicketApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: object
              additionalProperties: true
          additionalProperties: false
          required:
            - code
            - message
      additionalProperties: false
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````

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