Tvarka ATK API · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Tvarka ATK API

5 actions 5 updates update extends openapi/tvarka-atk-api-openapi-original.json
Generated by API Evangelist Written by API Evangelist tooling for Tvarka ATK API's API. It is a proposal applied on top of the contract, not a document Tvarka ATK API publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-artifactsx-apievangelist-operationalx-idempotencyx-webhook-security

Targets 4

$.info
$.tags
$.components.parameters.SignIdempotencyKey
$.webhooks.signStatus.post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Tvarka ATK API
  version: 1.0.0
extends: openapi/tvarka-atk-api-openapi-original.json
x-provenance:
  generated: '2026-08-09'
  method: generated
  source: openapi/tvarka-atk-api-openapi-original.json
  note: >-
    Non-destructive enhancements over the provider's published contract. Every action below is
    either a pointer to an artifact in this repo or a correction of an observed contract defect;
    none of it changes the provider's semantics.
actions:
  - target: $.info
    description: Link the harvested API Evangelist artifact set from the contract itself.
    update:
      x-apievangelist-artifacts:
        conventions: conventions/tvarka-atk-api-conventions.yml
        errors: errors/tvarka-atk-api-problem-types.yml
        authentication: authentication/tvarka-atk-api-authentication.yml
        lifecycle: lifecycle/tvarka-atk-api-lifecycle.yml
        sandbox: sandbox/tvarka-atk-api-sandbox.yml
        webhooks: asyncapi/tvarka-atk-api-webhooks.yml
        data_model: data-model/tvarka-atk-api-data-model.yml
        conformance: conformance/tvarka-atk-api-conformance.yml
        agentic_access: agentic-access/tvarka-atk-api-agentic-access.yml
        skills: skills/_index.yml
  - target: $.tags
    description: >-
      Declare the Erasure tag. Seven operations (deleteAuthRequest, deleteSignRequest, bulkErasure)
      carry tags "Erasure" but the document-level tags[] array declares only Auth, Pairing,
      Well-known, Sign, Validation and LTV, so Erasure renders as an undeclared tag.
    update:
      - name: Erasure
        description: >-
          GDPR erasure operations - erase one request on demand or bulk-erase the provider's
          terminal requests ahead of the 30-day default retention window.
  - target: $.info
    description: Record the published commercial and operational envelope that the contract omits.
    update:
      x-apievangelist-operational:
        status_page: https://atk.tvarka.pro/status/
        status_json: https://atk.tvarka.pro/status.json
        incident_feed: https://atk.tvarka.pro/status/feed.xml
        health_probe: https://atk.tvarka.pro/health/
        pricing: https://atk.tvarka.pro/docs/pricing/
        max_document_size: 15 MiB
        retention_default_days: 30
  - target: $.components.parameters.SignIdempotencyKey
    description: >-
      Flag that this is the IETF idempotency-key header shape, so agent tooling can recognise it
      without name matching.
    update:
      x-idempotency:
        standard: draft-ietf-httpapi-idempotency-key-header
        conflict_code: idempotency_conflict
        conflict_status: 409
        billing: An idempotent retry does not create a second usage event.
  - target: $.webhooks.signStatus.post
    description: Make the webhook verification contract machine-readable.
    update:
      x-webhook-security:
        signature_header: X-Atk-Signature
        signature_format: sha256=HMAC-SHA256(secret, raw-body)
        idempotency_header: X-Atk-Idempotency-Key
        delivery: at-least-once
        consumer_rules:
          - Verify the MAC over the raw body before parsing.
          - Reject stale timestamps.
          - Deduplicate by the idempotency key.