Riverlane · Authentication Profile
Riverlane Authentication
Authentication
Riverlane secures its APIs with http across 1 declared security scheme, as derived from its OpenAPI definitions.
quantum-computingquantum-error-correctiondecodersscientific-computingpython-sdkgraphqlsimulationresearch-toolsopen-sourcehpc
Methods: http
Schemes: 1
OAuth flows:
API key in: header
Security Schemes
DeltakitToken http
scheme: bearer
· in: header ()
Source
Authentication Profile
generated: '2026-08-05'
method: searched
source: https://github.com/Deltakit/deltakit/blob/main/docs/guide/authentication.md
docs: https://github.com/Deltakit/deltakit/blob/main/docs/guide/authentication.md
notes: >-
Derived by reading Riverlane's own published authentication guide and the open-source client
(deltakit-explorer/_api/_auth.py, _api_v2_client.py, _gql_client.py). Riverlane publishes no
OpenAPI, so there are no securitySchemes to parse; this profile is the documented contract.
There is no OAuth 2.0 / OIDC surface — /.well-known/openid-configuration,
/.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource all 404, so
no scopes/ artifact is emitted.
summary:
types: [http]
http_schemes: [bearer]
api_key_in: [header]
oauth2_flows: []
openid_connect: false
mtls: false
schemes:
- name: DeltakitToken
type: http
scheme: bearer
in: header
header: Authorization
format: 'Bearer <token>'
description: >-
A single opaque account token. The docs state the secret is a 32-character string; a malformed
token returns "Invalid token header. Secret key should be a 32-character string." Tokens are
long-lived but regenerable — regenerating invalidates the previous token immediately.
applies_to:
- https://deltakit.riverlane.com/proxy/api/graphql
- https://deltakit.riverlane.com/proxy/api/data/query/{name}
- https://deltakit.riverlane.com/proxy/api/v2/tasks/add/{task}
- https://deltakit.riverlane.com/proxy/api/v2/tasks/get/
- https://deltakit.riverlane.com/proxy/api/v2/tasks/kill/
sources:
- https://github.com/Deltakit/deltakit/blob/main/deltakit-explorer/src/deltakit_explorer/_api/_auth.py
- https://github.com/Deltakit/deltakit/blob/main/deltakit-explorer/src/deltakit_explorer/_api/_api_v2_client.py
provisioning:
self_serve: true
cost: free
token_page: https://deltakit.riverlane.com/dashboard/token
requires_account: true
note: >-
Riverlane's launch material describes the access token as free. The token page itself requires
a Deltakit account login and could not be read anonymously.
client_handling:
env_var: DELTAKIT_TOKEN
persisted_file: true
persisted_note: Client.set_token() writes the token to a local .env-style config file by default
set_token_validates: true
validation_call: >-
GET /api/v2/tasks/get/ with an empty request_id (v2) or a content-endpoint probe (v1); a 401
with error_code 6000 means the token is bad
tls_verification_toggle: DELTAKIT_DISABLE_TLS_CHECK (debug only; disables certificate validation)
anonymous_access:
supported: false
evidence:
- {url: 'https://deltakit.riverlane.com/proxy/api/graphql', status: 401, body: '{"message":"No authorisation credentials provided","error_code":6000}'}
- {url: 'https://deltakit.riverlane.com/proxy/api/v2/tasks/get/', status: 401, body: '{"message":"No authorisation credentials provided","error_code":6000}'}
- {url: 'https://deltakit.riverlane.com/proxy/api/data/query/decode', status: 401, body: '{"message":"No authorisation credentials provided","error_code":6000}'}
x-evidence:
fetched: '2026-08-05'
probes:
- {url: 'https://deltakit.riverlane.com/proxy/api/graphql', method: POST, status: 401, content_type: application/json}
- {url: 'https://deltakit.riverlane.com/.well-known/openid-configuration', status: 404}
- {url: 'https://deltakit.riverlane.com/.well-known/oauth-authorization-server', status: 404}
- {url: 'https://deltakit.riverlane.com/.well-known/oauth-protected-resource', status: 404}