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

# 네이버톡톡 응대권 조회

> 저장된 네이버 응대권과 마지막 전환 요청 결과를 조회합니다. 네이버 연결을 점검하거나 전환 요청을 만들거나 재시도하지 않습니다. 응대권이 unknown이면 AI 답변을 차단합니다. 콘솔 사용자는 활성 연결의 진행 중인 대화에 대해 복구를 명시적으로 요청할 수 있으며, 스팸 대화는 제외됩니다.



## OpenAPI

````yaml /api-reference/v3/openapi.json get /chats/{chat_id}/navertalk
openapi: 3.1.0
info:
  title: vox.ai API
  description: >
    vox.ai API v3


    ### v3 공개 계약 규칙


    - 인증은 `Authorization: Bearer <token>` 헤더를 사용합니다. 조직 API 키를 Bearer 토큰으로
    전달합니다.

    - 요청과 응답 필드는 기본적으로 `snake_case`를 사용합니다.

    - `agent.data`는 에이전트 레지스트리와 호환되어야 하므로 `callSettings`, `toolIds`,
    `builtInTools`, `presetDynamicVariables` 같은 camelCase 필드를 유지합니다.

    - `_at`으로 끝나는 타임스탬프는 unix milliseconds입니다. 일부 입력값은 호환성을 위해 10~11자리 unix
    seconds도 허용하고 milliseconds로 정규화합니다.

    - 캠페인 통화 가능 시간은 분 단위 정수(`start_min` / `end_min`)를 사용합니다. 알림 스케줄은 `HH:MM`
    문자열(`start_time` / `end_time`)을 사용합니다.

    - 응답 객체 자신의 식별자는 `id`입니다. 다른 리소스를 참조하는 필드와 path parameter는 `agent_id`,
    `call_id`, `telephone_line_id`처럼 명시적인 이름을 사용합니다.

    - 실패 응답은 `{ "error": { "code", "message", "details" } }` 형태입니다. 가능한 경우
    `details.field`, `details.reason`, `details.allowed_values`를 함께 제공합니다.
  version: 3.0.0
servers:
  - url: https://client-api.tryvox.co/v3
    description: 운영
security: []
paths:
  /chats/{chat_id}/navertalk:
    get:
      tags:
        - Chats
      summary: 네이버톡톡 응대권 조회
      description: >-
        저장된 네이버 응대권과 마지막 전환 요청 결과를 조회합니다. 네이버 연결을 점검하거나 전환 요청을 만들거나 재시도하지 않습니다.
        응대권이 unknown이면 AI 답변을 차단합니다. 콘솔 사용자는 활성 연결의 진행 중인 대화에 대해 복구를 명시적으로 요청할 수
        있으며, 스팸 대화는 제외됩니다.
      operationId: getNavertalkChatState
      parameters:
        - name: chat_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Chat Id
        - name: X-Vox-Organization-Id
          in: header
          required: false
          description: >-
            Supabase JWT 인증을 사용할 때 필수인 organization UUID입니다. 조직 API key는 해당 key의
            조직 범위를 사용합니다.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: 성공 응답
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NavertalkControlStateResponse'
        '400':
          description: 요청 검증 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                validationError:
                  summary: 요청 검증 오류
                  value:
                    error:
                      code: VALIDATION_ERROR
                      message: Request validation failed.
                      details:
                        field: name
                        reason: must not be blank
        '401':
          description: 인증이 필요합니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Bearer 토큰 누락 또는 오류
                  value:
                    error:
                      code: UNAUTHORIZED
                      message: Authentication is required.
                      details: {}
        '403':
          description: 권한이 없습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                forbidden:
                  summary: 권한이 없습니다.
                  value:
                    error:
                      code: FORBIDDEN
                      message: Permission denied.
                      details: {}
        '404':
          description: 리소스를 찾을 수 없습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                notFound:
                  summary: 리소스를 찾을 수 없습니다.
                  value:
                    error:
                      code: RESOURCE_NOT_FOUND
                      message: Resource not found.
                      details:
                        resource: agent
        '409':
          description: 충돌이 발생했습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                conflict:
                  summary: 상태 충돌이 발생했습니다.
                  value:
                    error:
                      code: CONFLICT
                      message: The requested operation conflicts with current state.
                      details:
                        current_status: draft
        '429':
          description: >-
            요청 한도를 초과했습니다. API 키 트래픽은 기본값으로 organization당 초당 5회·분당 120회,
            Supabase JWT 트래픽은 기본값으로 사용자당 초당 10회·분당 240회로 제한되며, organization 콘솔에는
            기본 분당 2,400회의 백스톱 한도가 적용됩니다. 한도는 운영자가 조정할 수 있고, 초과한 버킷의 실제 한도와 윈도우는
            429 응답의 X-RateLimit-Limit·X-RateLimit-Window 헤더로 알려줍니다. 개별 경로 자체
            리미터가 만든 429 응답에는 이 헤더가 없을 수 있습니다.
          headers:
            Retry-After:
              description: >-
                초과한 공용 v3 인증 주체 리미터의 윈도우가 초기화될 때까지 남은 시간입니다. 단위는 초입니다. 개별 경로의 자체
                리미터가 만든 429 응답에는 이 헤더가 없을 수 있습니다.
              schema:
                type: integer
                minimum: 1
            X-RateLimit-Limit:
              description: >-
                초과한 공용 v3 인증 주체 리미터 윈도우의 최대 요청 수입니다. 개별 경로의 자체 리미터가 만든 429 응답에는
                이 헤더가 없을 수 있습니다.
              schema:
                type: integer
                minimum: 1
            X-RateLimit-Window:
              description: >-
                초과한 공용 v3 인증 주체 리미터의 윈도우 길이입니다. 단위는 초입니다. 개별 경로의 자체 리미터가 만든 429
                응답에는 이 헤더가 없을 수 있습니다.
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                rateLimited:
                  summary: 요청 한도를 초과했습니다.
                  value:
                    error:
                      code: RATE_LIMIT_EXCEEDED
                      message: Too many requests.
                      details:
                        limit: 10
                        window_seconds: 1
                        scope: user
        '500':
          description: 서버 내부 오류가 발생했습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internalError:
                  summary: 서버 내부 오류가 발생했습니다.
                  value:
                    error:
                      code: INTERNAL_ERROR
                      message: Internal server error.
                      details: {}
        '503':
          description: 서비스를 일시적으로 사용할 수 없습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                serviceUnavailable:
                  summary: 서비스를 일시적으로 사용할 수 없습니다.
                  value:
                    error:
                      code: SERVICE_UNAVAILABLE
                      message: Service temporarily unavailable.
                      details: {}
      security:
        - BearerAuth: []
        - SupabaseJwtBearer: []
components:
  schemas:
    NavertalkControlStateResponse:
      properties:
        chat_id:
          type: string
          format: uuid
          title: Chat Id
        connection_id:
          type: string
          format: uuid
          title: Connection Id
        connection_status:
          type: string
          enum:
            - active
            - disabled
            - disconnected
          title: Connection Status
        observed_owner:
          type: string
          enum:
            - ai
            - external
            - unknown
          title: Observed Owner
        revision:
          type: integer
          title: Revision
        can_request:
          type: boolean
          title: Can Request
        command_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Command Id
        command_status:
          anyOf:
            - type: string
              enum:
                - pending
                - sending
                - sent
                - failed
                - unknown
            - type: 'null'
          title: Command Status
        result_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Result Code
      type: object
      required:
        - chat_id
        - connection_id
        - connection_status
        - observed_owner
        - revision
        - can_request
        - command_id
        - command_status
        - result_code
      title: NavertalkControlStateResponse
      description: 자격증명을 제외한 네이버 응대권과 마지막 전환 요청의 조회 결과입니다.
    ErrorResponse:
      type: object
      required:
        - error
      title: ErrorResponse
      description: 모든 실패 응답에서 사용하는 v3 error envelope입니다.
      examples:
        - error:
            code: VALIDATION_ERROR
            message: Request validation failed.
            details:
              field: name
              reason: must not be blank
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: 오류 payload입니다.
    ErrorDetail:
      type: object
      required:
        - code
        - message
        - details
      title: ErrorDetail
      description: 기계가 읽을 수 있는 v3 오류 상세 정보입니다.
      examples:
        - code: VALIDATION_ERROR
          message: Request validation failed.
          details:
            field: name
            reason: must not be blank
      properties:
        code:
          type: string
          title: Code
          description: 기계가 읽을 수 있는 오류 code입니다. message parsing 대신 이 값을 사용합니다.
          examples:
            - VALIDATION_ERROR
        message:
          type: string
          title: Message
          description: 사용자에게 표시할 수 있는 오류 메시지입니다. 프로그램 처리는 `code`를 사용합니다.
          examples:
            - Request validation failed.
        details:
          type: object
          title: Details
          additionalProperties: true
          description: 구조화된 context입니다. 주로 `field`, `reason`, `allowed_values`를 포함합니다.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Organization API key
      description: '조직 API 키를 `Authorization: Bearer <token>` 형식으로 보냅니다.'
    SupabaseJwtBearer:
      type: http
      scheme: bearer
      bearerFormat: Supabase access token
      description: >-
        인증된 대시보드 사용자의 Supabase access token을 `Authorization: Bearer <token>`
        형식으로 `X-Vox-Organization-Id`와 함께 보냅니다. 조직 API 키는 이 인증 방식을 대신할 수 없습니다.

````