Tvarka ATK API · Authentication Profile
Tvarka Atk Api Authentication
Authentication
Tvarka ATK API secures its APIs with http and apiKey across 3 declared security schemes, as derived from its OpenAPI definitions.
AuthenticationDigital SignatureeIDASQESLithuaniaOpenAPIeIDSmart-IDMobile-IDNFCTimestampingLTVWebhooksIdentityTrust ServicesGDPR
Methods: http, apiKey
Schemes: 3
OAuth flows:
API key in: query
Security Schemes
basicAuth http
scheme: basic
clientToken http
scheme: bearer
downloadToken apiKey
· in: query (downloadToken)
Source
Authentication Profile
generated: '2026-08-09'
method: searched
source: https://atk.tvarka.pro/docs/quickstart/ + openapi/tvarka-atk-api-openapi-original.json
summary:
types:
- http
- apiKey
http_schemes:
- basic
- bearer
api_key_in:
- query
oauth2_flows: []
oauth2: false
openid_connect: false
model: layered - a long-lived provider secret on the backend, a short-lived request-scoped token on
the device
schemes:
- name: basicAuth
type: http
scheme: basic
description: 'Provider server-to-server credentials `keyId:keySecret`. Server-to-server only, also gated
by the
provider''s server IP allow-list. Never placed in a browser/mobile client.'
sources:
- openapi/tvarka-atk-api-auth-openapi.yaml
- openapi/tvarka-atk-api-openapi-original.json
- openapi/tvarka-atk-api-sign-openapi.yaml
- name: clientToken
type: http
scheme: bearer
bearerFormat: JWT
description: 'Short-lived, per-request JWT (`ES256`) minted at request creation, scoped
`{tenant, requestId, purpose, method, allowedOrigins}`. Safe to hand to a browser/mobile client:
it cannot create requests, read tenant data, or touch other requests. For browser clients the API
enforces `Origin` against `allowedOrigins` (rejects cross-origin replay).'
sources:
- openapi/tvarka-atk-api-auth-openapi.yaml
- openapi/tvarka-atk-api-openapi-original.json
- openapi/tvarka-atk-api-sign-openapi.yaml
- name: downloadToken
type: apiKey
in: query
parameter: downloadToken
description: One-off token returned with a completed sign result, for fetching the signed document.
sources:
- openapi/tvarka-atk-api-openapi-original.json
- openapi/tvarka-atk-api-sign-openapi.yaml
docs: https://atk.tvarka.pro/docs/quickstart/
model:
server_to_server: HTTP Basic keyId:keySecret, additionally gated by the provider server IP allow-list.
Document-level default security. Creates requests, polls, cancels, erases, downloads and calls the
trust services. Never placed in a browser or mobile client.
client: A per-request ES256 JWT (clientToken) minted at request creation and scoped {tenant, requestId,
purpose, method, allowedOrigins}. It cannot create requests, read tenant data or touch another request.
For browser clients the API enforces Origin against allowedOrigins and rejects cross-origin replay.
download: A one-off downloadToken query parameter returned with a completed result.
operation_token: 'Not a securityScheme, but a second single-use factor inside the ceremony: the operationToken
returned with the data-to-be-signed must be presented on complete, and is spent on first use (409
operation_token_spent).'
unauthenticated: 'claimPairing (POST /pairing/claim) declares security: [] - possession of the short-lived
one-claim pairing token is the credential. getJwks is also public.'
credential_issuance:
url: https://atk.tvarka.pro/docs/access/
process: Manual review; the credential-claim link is emailed but the secret itself is never emailed.
environments:
- sandbox
- production
note: The environment is a property of the issued credential, not a separate host or key prefix.
failure_codes:
- invalid_basic_credentials (401)
- invalid_client_token (401)
- client_token_expired (401)
- operation_token_expired (401)
- invalid_download_token (401)
- origin_not_allowed (403)
- ip_not_allowed (403)
- tenant_suspended (403)
- tier_forbidden (403)
- operation_token_spent (409)
verification:
jwks: well-known/tvarka-atk-api-atk-jwks.json
note: The optional identity assertion JWT is verifiable against the published JWKS (kid atk-1, ES256).