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

# 전자(세금)계산서 역발행 - 요청 상태 조회

> 역발행 요청의 현재 상태를 조회합니다. 공급자 승인 대기, 승인, 발행 완료, 거절, 취소, 만료, 실패를 `status` 하나로 구분합니다. 웹훅을 받지 못했거나 공급자가 아직 승인하지 않은 요청을 확인할 때 쓰세요.

승인 기한(`approvalDueDate`)이 지난 승인 대기 요청은 `EXPIRED`로 반환합니다. `status`가 `FAILED`이면 `failure.stage`로 실패 단계를 확인하세요. `SUBMISSION`은 요청이 공급자에게 전달되지 않은 경우이고, `ISSUANCE`는 공급자가 승인했지만 발행에 실패한 경우입니다.

테스트 키 요청은 공급자 승인 단계를 거치지 않습니다. 요청 취소 API로 취소한 테스트 요청은 `CANCELED`를 반환합니다.

자세한 내용은 [이메일 승인 역발행](/docs/api-introduction/usecase-reverse-email) | [간편 승인 역발행](/docs/api-introduction/usecase-reverse-simple)을 참고하세요.




## OpenAPI

````yaml /openapi.yaml get /v1/taxInvoices/{issuanceKey}/issueRequest
openapi: 3.1.0
info:
  title: 볼타 API
  description: >
    볼타 전자세금계산서 API입니다. [API 소개](/docs/api-introduction/overview) | [인증
    가이드](/docs/api-introduction/authentication) | [사용
    사례](/docs/api-introduction/usecase-b2b)
  version: 1.0.0
servers:
  - url: https://xapi.bolta.io
    description: 볼타 API 서버
security:
  - basicAuth: []
tags:
  - name: 세금계산서 발행
    description: >
      전자(세금)계산서를 정발행하거나 수정발행합니다. [발행 금액
      계산](/docs/api-introduction/issuance-guide) | [수정발행
      유형](/docs/api-introduction/amendment-guide)
  - name: 세금계산서 조회
    description: 전자(세금)계산서의 발행 결과와 요청 처리 상태를 조회합니다.
  - name: 세금계산서 역발행
    description: >
      전자(세금)계산서 역발행 요청 및 관리. [이메일 승인
      역발행](/docs/api-introduction/usecase-reverse-email) | [간편 승인
      역발행](/docs/api-introduction/usecase-reverse-simple)
  - name: 현금영수증
    description: >
      현금영수증을 발행·취소하고 처리 상태를 조회합니다. 최종 결과는 웹훅이나 상태 조회 API로 확인하세요. LIVE 요청 중 처리
      중이거나 발행 결과 확인이 필요한 건은 요청일 다음 날 17:00(KST) 이후에 확정될 수 있습니다. [현금영수증 발행
      가이드](/docs/api-introduction/cash-receipt-guide) | [현금영수증
      웹훅](/docs/api-introduction/webhook-cash-receipt)
  - name: 사업자등록 상태 조회
    description: >
      사업자등록번호의 등록 상태와 과세유형을 단건 또는 최대 100건 일괄로 조회합니다. 발급자 등록과 공동인증서가 필요 없습니다.
      [사업자등록 상태 조회 가이드](/docs/api-introduction/business-registration-status)
  - name: 발급자
    description: >
      세금계산서 발행 주체인 발급자를 등록·관리합니다. 발행 방식에 따라 공동인증서 필요 여부가 다릅니다. [용어
      정리](/docs/api-introduction/glossary) | [대리
      정발행](/docs/api-introduction/usecase-delegated) | [위수탁
      발행](/docs/api-introduction/usecase-brokered)
  - name: 인증서
    description: >
      발급자 공동인증서 등록 및 관리. [인증서
      등록](/docs/api-introduction/certificate-registration)
paths:
  /v1/taxInvoices/{issuanceKey}/issueRequest:
    get:
      tags:
        - 세금계산서 역발행
      summary: 전자(세금)계산서 역발행 - 요청 상태 조회
      description: >
        역발행 요청의 현재 상태를 조회합니다. 공급자 승인 대기, 승인, 발행 완료, 거절, 취소, 만료, 실패를 `status` 하나로
        구분합니다. 웹훅을 받지 못했거나 공급자가 아직 승인하지 않은 요청을 확인할 때 쓰세요.


        승인 기한(`approvalDueDate`)이 지난 승인 대기 요청은 `EXPIRED`로 반환합니다. `status`가
        `FAILED`이면 `failure.stage`로 실패 단계를 확인하세요. `SUBMISSION`은 요청이 공급자에게 전달되지
        않은 경우이고, `ISSUANCE`는 공급자가 승인했지만 발행에 실패한 경우입니다.


        테스트 키 요청은 공급자 승인 단계를 거치지 않습니다. 요청 취소 API로 취소한 테스트 요청은 `CANCELED`를 반환합니다.


        자세한 내용은 [이메일 승인 역발행](/docs/api-introduction/usecase-reverse-email) | [간편
        승인 역발행](/docs/api-introduction/usecase-reverse-simple)을 참고하세요.
      parameters:
        - name: issuanceKey
          in: path
          description: 역발행 요청 응답으로 받은 발행 요청 식별번호
          required: true
          schema:
            type: string
      responses:
        '200':
          description: 조회 성공
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxInvoiceIssueRequestStatusResponse'
              examples:
                공급자 승인 대기:
                  x-parity-id: requested
                  summary: 공급자에게 전달했고 승인을 기다리는 요청
                  value:
                    issuanceKey: 8D529FAD3EBAE050B79CE943CCC7CEDE
                    status: REQUESTED
                    approvalDueDate: '2026-10-12'
                    failure: null
                승인 기한 만료:
                  x-parity-id: expired
                  summary: 공급자가 승인 기한까지 승인하지 않은 요청
                  value:
                    issuanceKey: 8D529FAD3EBAE050B79CE943CCC7CEDE
                    status: EXPIRED
                    approvalDueDate: '2026-10-12'
                    failure: null
                발행 실패:
                  x-parity-id: issuance-failed
                  summary: 공급자가 승인했지만 발행에 실패한 요청
                  value:
                    issuanceKey: 8D529FAD3EBAE050B79CE943CCC7CEDE
                    status: FAILED
                    approvalDueDate: '2026-10-12'
                    failure:
                      stage: ISSUANCE
                      code: NOT_FOUND_CERTIFICATE
                      message: 공동인증서가 등록되지 않았습니다.
                접수 실패:
                  x-parity-id: submission-failed
                  summary: 접수 단계에서 실패해 공급자에게 전달되지 않은 요청
                  value:
                    issuanceKey: 8D529FAD3EBAE050B79CE943CCC7CEDE
                    status: FAILED
                    approvalDueDate: null
                    failure:
                      stage: SUBMISSION
                      code: SUBMISSION_FAILED
                      message: >-
                        요청이 접수 단계에서 실패해 공급자에게 전달되지 않았습니다. 같은 clientReferenceId
                        로는 다시 요청할 수 없습니다. 새 clientReferenceId 로 요청해주세요.
          headers: {}
        '400':
          description: >-
            역발행 요청이 아닌 `issuanceKey`입니다. 정발행이나 수정발행 요청은 조회할 수 없습니다. 응답의 `code`는
            `INVALID_REQUEST`입니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: API 키 인증 실패. 응답 본문이 없습니다.
        '403':
          description: 다른 API 키나 다른 발급자의 요청입니다. 응답의 `code`는 `FORBIDDEN`입니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: 존재하지 않는 `issuanceKey`입니다. 응답의 `code`는 `NOT_FOUND`입니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: 서버 내부 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      deprecated: false
components:
  schemas:
    TaxInvoiceIssueRequestStatusResponse:
      type: object
      description: 역발행 요청 상태 조회 결과
      properties:
        issuanceKey:
          $ref: '#/components/schemas/IssuanceKey'
        status:
          type: string
          enum:
            - REQUESTED
            - APPROVED
            - ISSUED
            - REJECTED
            - CANCELED
            - EXPIRED
            - FAILED
          description: >
            역발행 요청 상태. `REQUESTED`: 접수 완료, 공급자 승인 대기. 볼타가 요청을 공급자에게 전달하기 전 구간도
            포함합니다. `APPROVED`: 공급자 승인 완료, 국세청 전송 중. `ISSUED`: 발행 완료. `REJECTED`:
            공급자 거절. `CANCELED`: 요청 취소. `EXPIRED`: 승인 기한 만료. `FAILED`: 접수 또는 발행
            실패. `failure.stage`로 단계를 구분합니다.
        approvalDueDate:
          type:
            - string
            - 'null'
          format: date
          description: 공급자 승인 기한. 볼타가 요청을 공급자에게 전달하기 전이거나 전달하지 못하고 끝난 요청은 `null`입니다.
        failure:
          description: 실패 사유. `status`가 `FAILED`일 때만 값이 있고, 그 밖에는 `null`입니다.
          anyOf:
            - $ref: '#/components/schemas/TaxInvoiceIssueRequestFailure'
            - type: 'null'
      required:
        - issuanceKey
        - status
        - approvalDueDate
        - failure
    ErrorResponse:
      type: object
      description: API 요청 실패 시 반환되는 에러 응답
      properties:
        code:
          type: string
          description: 에러 타입 식별자
        message:
          type: string
          description: 에러 설명
        traceId:
          type: string
          description: 요청 추적 식별자
      required:
        - code
        - message
        - traceId
    IssuanceKey:
      type: string
      description: 발행 요청에 대한 식별번호. 포맷과 길이는 바뀔 수 있으므로 유의하시기 바랍니다.
      examples:
        - 8D529FAD3EBAE050B79CE943CCC7CEDE
    TaxInvoiceIssueRequestFailure:
      type: object
      description: 역발행 요청 실패 사유
      properties:
        stage:
          type: string
          enum:
            - SUBMISSION
            - ISSUANCE
          description: >
            실패 단계. `SUBMISSION`: 공급자에게 전달되지 않음. 볼타가 요청을 접수하지 못했거나 사업자 상태가 부적격이라
            요청을 거부했습니다. `ISSUANCE`: 공급자가 승인했지만 발행 실패.
        code:
          type: string
          description: >-
            에러 코드. 접수 실패는 `SUBMISSION_FAILED`, 그 밖에는 발행 실패 웹훅의
            `data.cause.code`와 같은 값입니다. 발행 실패 사유를 알 수 없으면 `ISSUANCE_FAILED`입니다.
        message:
          type: string
          description: 에러 설명
      required:
        - stage
        - code
        - message
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: API 키를 Base64 인코딩하여 전달합니다. Username에 API 키를 입력하고 Password는 비워두세요.

````