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

# Get Receipt

> Returns the stored receipt row and a verified flag. verified=true means this_hash == sha256(canonical||prev_hash) AND the ED25519 signature over this_hash is valid. Tenant-scoped: you can only read receipts belonging to your tenant.



## OpenAPI

````yaml GET /v1/receipts/{id}
openapi: 3.0.0
info:
  title: Wardin API
  description: AI governance & observability platform — external REST API
  version: '1.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /v1/receipts/{id}:
    get:
      tags:
        - receipts
      summary: Get a single receipt by ID + verify its hash and signature
      description: >-
        Returns the stored receipt row and a verified flag. verified=true means
        this_hash == sha256(canonical||prev_hash) AND the ED25519 signature over
        this_hash is valid. Tenant-scoped: you can only read receipts belonging
        to your tenant.
      operationId: ReceiptsController_getReceipt
      parameters:
        - name: id
          required: true
          in: path
          description: receipt_id (UUID)
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptResponseDto'
        '404':
          description: Receipt not found
      security:
        - bearer: []
components:
  schemas:
    ReceiptResponseDto:
      type: object
      properties:
        seq:
          type: number
          example: 42
        receiptId:
          type: string
          example: 018f1234-5678-7abc-def0-123456789abc
        tenantId:
          type: string
          example: tenant-abc
        requestId:
          type: string
          example: req-abc-123
        actor:
          type: string
          example: user@example.com
        provider:
          type: string
          example: anthropic
        model:
          type: string
          example: claude-3-5-sonnet-20241022
        promptTokens:
          type: number
          example: 1000
        completionTokens:
          type: number
          example: 250
        costUsd:
          type: number
          example: 0.00375
        checks:
          type: array
          items:
            $ref: '#/components/schemas/ReceiptCheckDto'
        prevHash:
          type: string
          example: a1b2c3...
        thisHash:
          type: string
          example: d4e5f6...
        signature:
          type: string
          example: base64-encoded-sig
        keyId:
          type: string
          example: key-id-1
        ts:
          type: string
          example: '2026-07-02 12:00:00.000'
        verified:
          type: boolean
          example: true
          description: >-
            True when this_hash == sha256(canonical || prev_hash) and the
            ED25519 signature is valid.
      required:
        - seq
        - receiptId
        - tenantId
        - requestId
        - actor
        - provider
        - model
        - promptTokens
        - completionTokens
        - costUsd
        - checks
        - prevHash
        - thisHash
        - signature
        - keyId
        - ts
        - verified
    ReceiptCheckDto:
      type: object
      properties:
        name:
          type: string
          example: policy
        result:
          type: string
          example: allow
      required:
        - name
        - result
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````