openapi: 3.1.1
info:
  title: CounterSignature
  version: 2.0.0
  description: "Container schemas fetched from beckn.yaml. This cannot be extended as it is a reserved schema in beckn protocol. Any additional properties added to this schema can only be made using its *Attributes property"
  license:
    name: CC-BY-NC-SA 4.0 International
  contact:
    name: Beckn Labs
    url: https://beckn.io
components:
  schemas:
    CounterSignature:
      x-iri: https://schema.nfh.global/CounterSignature/v2.0
      title: Beckn HTTP Counter-Signature
      description: 'A signed receipt transmitted in the synchronous `Ack` response
        body, proving that the

        receiver authenticated, received, and processed the inbound request.


        `CounterSignature` shares the same wire format as `Signature` but differs:

        - **Signer**: the response receiver (not the request sender)

        - **Location**: transmitted in the `Ack` response body (not in the `Authorization`
        header)

        - **`digest`**: covers the Ack response body (not the inbound request body)

        - **`(request-digest)`** and **`(message-id)`** MUST be included in the signing
        string


        Signing string format:

        ```

        (created): {unixTimestamp}

        (expires): {unixTimestamp}

        digest: BLAKE-512={base64DigestOfAckBody}

        (request-digest): BLAKE-512={base64DigestOfInboundRequestBody}

        (message-id): {messageId}

        ```'
      allOf:
      - $ref: https://schema.nfh.global/Signature/v2.0/attributes.yaml#/components/schemas/Signature
