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: 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.beckn.io/Signature/v2.0/attributes.yaml#/components/schemas/Signature