openapi: 3.0.3
info:
  title: Vaultfire API (Reference)
  version: 0.1.0
  description: |
    Minimal OpenAPI spec shipped with the reference implementation.

    This file exists to prevent missing-spec warnings in local dev/tests and to provide
    a stable anchor for future API documentation.
servers:
  - url: http://localhost:3000
paths:
  /health:
    get:
      summary: Health check
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean

  /partner/hooks/subscribe:
    post:
      summary: Subscribe a partner webhook (JWT or ERC-8128)
      description: |
        This endpoint accepts either:
        - Bearer JWT (Authorization: Bearer ...), or
        - ERC-8128 signed HTTP request headers (Signature-Input, Signature)

        Vaultfire's ERC-8128 acceptance policy is documented in docs/ERC8128_HTTP_AUTH.md.
      responses:
        '201':
          description: Created
        '401':
          description: Unauthorized

  /telemetry/realtime:
    post:
      summary: Ingest realtime telemetry (JWT or ERC-8128)
      responses:
        '202':
          description: Accepted
        '401':
          description: Unauthorized

  /vaultfire/activate:
    post:
      summary: Activate Vaultfire for a wallet (JWT or ERC-8128)
      responses:
        '201':
          description: Created
        '401':
          description: Unauthorized

  /belief/actions/sign:
    post:
      summary: Submit a belief action signature (JWT or ERC-8128)
      responses:
        '202':
          description: Accepted
        '401':
          description: Unauthorized
components: {}
