> ## 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.

# 현금영수증 취소

> 발행이 완료된 현금영수증을 전액 취소합니다. 부분 취소는 지원하지 않습니다. API가 `202 Accepted`를 먼저 반환합니다. 최종 결과는 웹훅이나 상태 조회 API로 확인하세요.




## OpenAPI

````yaml /openapi.yaml post /v1/cashReceipts/{issuanceKey}/cancellation
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: >
      전자(세금)계산서 역발행 요청 및 관리. [이메일 승인
      역발행](/docs/api-introduction/usecase-reverse-email) | [간편 승인
      역발행](/docs/api-introduction/usecase-reverse-simple)
  - name: 현금영수증
    description: >
      현금영수증을 발행·취소하고 처리 상태를 조회합니다. 발행·취소의 최종 결과는 웹훅이나 상태 조회 API로 확인하세요. [현금영수증
      발행 가이드](/docs/api-introduction/cash-receipt-guide) | [웹훅
      이벤트](/docs/api-introduction/webhook-events)
  - name: 공급자
    description: >
      세금계산서를 발행하는 공급자(발행자)를 등록·관리합니다. [용어 정리](/docs/api-introduction/glossary) |
      [대리 정발행](/docs/api-introduction/usecase-delegated)
  - name: 인증서
    description: |
      공급자 공동인증서 등록 및 관리. [인증 가이드](/docs/api-introduction/authentication)
paths:
  /v1/cashReceipts/{issuanceKey}/cancellation:
    post:
      tags:
        - 현금영수증
      summary: 현금영수증 취소
      description: >
        발행이 완료된 현금영수증을 전액 취소합니다. 부분 취소는 지원하지 않습니다. API가 `202 Accepted`를 먼저
        반환합니다. 최종 결과는 웹훅이나 상태 조회 API로 확인하세요.
      parameters:
        - name: issuanceKey
          in: path
          description: 발행 응답에서 받은 원본 현금영수증의 `issuanceKey`를 입력하세요.
          required: true
          schema:
            type: string
        - name: Supplier-Key
          in: header
          description: >-
            원본 발행에 사용한 공급자의 식별 키를 입력하세요. [용어
            정리](/docs/api-introduction/glossary) | [인증
            가이드](/docs/api-introduction/authentication)
          required: true
          example: SupplierKey_bf8paz
          schema:
            type: string
        - name: Bolta-Client-Reference-Id
          in: header
          description: >-
            발행 요청과 다른 1~255자의 요청자 관리번호를 입력하세요. 이 값은 취소 요청의 멱등키로 사용합니다. 같은 값과 동일한
            취소 요청으로 다시 호출하면 API가 기존 결과를 반환하고, 요청 내용이나 유형이 다르면 `409 Conflict`를
            반환합니다. 상태를 다시 조회할 때 이 값을 `clientReferenceId`에 입력하세요.
          required: true
          example: your-unique-reference-id-cancel
          schema:
            type: string
        - name: Bolta-Webhook-Test-Code
          in: header
          description: 테스트 키에서 실패 웹훅을 재현할 때만 사용하세요. 운영(라이브)에서는 사용하지 마세요.
          required: false
          example: ORIGINAL_ISSUANCE_FAILED
          schema:
            type: string
            enum:
              - INVALID_ISSUER
              - INVALID_RECIPIENT_IDENTIFIER
              - ORIGINAL_ISSUANCE_FAILED
              - CANCELLATION_TARGET_NOT_FOUND
              - UNKNOWN
      responses:
        '202':
          description: API가 취소 요청을 접수했습니다. 최종 결과는 웹훅이나 상태 조회 API로 확인하세요.
          headers:
            Location:
              description: 발행 상태 조회 경로
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  issuanceKey:
                    $ref: '#/components/schemas/CashReceiptIssuanceKey'
                  originalIssuanceKey:
                    $ref: '#/components/schemas/CashReceiptIssuanceKey'
                required:
                  - issuanceKey
                  - originalIssuanceKey
              example:
                issuanceKey: 9XK21ABC5KOAEIPGK8U6UO05I3EAQPLI8OE78Z1Q
                originalIssuanceKey: MRK98JGC5KOAEIPGK8U6UO05I3EAQPLI8OE78A3I
        '400':
          description: 잘못된 요청
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >
            supplierKey 인가에 실패했습니다. 응답의 `code`는 `FORBIDDEN`입니다. Supplier-Key가
            존재하지 않거나 다른 파트너 소유이거나, 현재 API 키로 발급한 키가 아닐 때 반환합니다. 원본 발행에 사용한 공급자의
            Supplier-Key와 같은 키를 입력하세요. supplierKey는 API 키 단위로 발급하므로, 새 API 키를
            발급했다면 그 키로 supplierKey를 다시 등록하세요. [인증
            가이드](/docs/api-introduction/authentication)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            동일한 clientReferenceId가 다른 요청에 사용됐거나, 원본 상태가 취소할 수 없거나, 이미 활성 취소 요청이
            있습니다. 응답의 `code`는 `IDEMPOTENCY_CONFLICT`입니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: 서버 내부 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      deprecated: false
components:
  schemas:
    CashReceiptIssuanceKey:
      type: string
      description: 현금영수증 발행 식별 키입니다. 형식과 길이가 바뀔 수 있으므로 문자열 전체를 그대로 저장하세요.
      examples:
        - MRK98JGC5KOAEIPGK8U6UO05I3EAQPLI8OE78A3I
    ErrorResponse:
      type: object
      description: API 요청 실패 시 반환되는 에러 응답
      properties:
        code:
          type: string
          description: 에러 타입 식별자
        message:
          type: string
          description: 에러 설명
      required:
        - code
        - message
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: API 키를 Base64 인코딩하여 전달합니다. Username에 API 키를 입력하고 Password는 비워두세요.

````