Get the current sign-in transaction
GET /fapi/v1/transactions/current · called from the environment's sign-in host
Returns the transaction that the __Host-idp_ltx cookie points to, including its state and the steps that can run next.
Use it to resume a sign-in page after a reload.
Request
Headers:
| Header | Required | Description |
|---|---|---|
Idp-Client |
yes | SDK identifier, <package>/<version> (<runtime>/<version>). |
The transaction cookie is sent automatically by the browser.
Response
200 OK with the transaction object (schema_version, state, next_steps, csrf_token, expires_at). Every response
carries Cache-Control: no-store.
A transaction that asks the user to link an enterprise connection to an existing account also carries account_link
(connection_name, organization_name); see Run a sign-in step. The hosted
page reaches it with resume=1 and continues it instead of creating a new transaction. It does the same after an
enterprise sign-in that still needs a second factor (second_factor_pending) or enrollment (enrollment_pending).
DPoP-bound headless transactions
For a transaction started with a DPoP header, send a new proof from the same key (htm GET, htu this URL); the
server returns the newest unexpired transaction bound to that key. The authorization code is never returned here.
Errors
| Status | Code | When |
|---|---|---|
| 400 | malformed_request |
Idp-Client is missing. |
| 410 | transaction_expired |
There is no cookie, the cookie is invalid, or the transaction has ended. |
| 401 | invalid_dpop_proof |
The DPoP proof is invalid or reused. |
Example
curl https://example.keenauth.app/fapi/v1/transactions/current \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-b cookies.txt
Personal data
This endpoint carries personal data: end-user profile. Personal data in the KeenAuth APIs describes what is stored, how long it is kept and how it is deleted. Do not send special categories of personal data (health, biometric data, religion, political opinions, sexual orientation) in any field.