canonical: https://jentic.com/apis/phenixid.net/phenixid

# PhenixID BankID HTTP API

Jentic publishes the only available OpenAPI specification for PhenixID BankID HTTP API, keeping it validated and agent-ready. PhenixID provides an HTTP interface for initiating and verifying Swedish BankID authentication sessions. The API enables applications to trigger BankID sign-in flows and poll for completion status, supporting the Swedish national electronic identification system used by banks, government agencies, and enterprises across Sweden.

## For AI agents

Initiate and verify Swedish BankID authentication sessions via HTTP. Start a BankID auth request and check its completion status for user identity verification.

## Scope

Does not handle user provisioning, directory management, or multi-factor methods beyond BankID - use for Swedish BankID authentication flows only.

## Capabilities

- Initiate Swedish BankID authentication sessions with a personal number or autostart token
- Poll BankID authentication status to detect completion, cancellation, or timeout
- Verify user identity through the Swedish national electronic ID infrastructure
- Support both mobile BankID and desktop BankID client flows
- Return signed authentication responses with user certificate data

## Use cases

### Customer Login with Swedish BankID

Authenticate customers using Swedish BankID as part of a login flow for banking, insurance, or government services. PhenixID handles the BankID protocol complexity, exposing a simple start-and-check HTTP interface. The agent initiates the session and polls until the user completes identification on their BankID app, typically within 30 seconds.

Example prompt: Start a BankID authentication session for personal number 199001011234 and poll the status endpoint every 2 seconds until the session completes or times out

### KYC Identity Verification

Verify customer identity as part of Know Your Customer requirements using Swedish BankID. The BankID response includes the user's full name and personal number verified against the Swedish population register, meeting regulatory requirements for financial services and government portals without manual document checks.

Example prompt: Initiate a BankID auth session and extract the verified full name and personal number from the completed authentication response

### AI Agent BankID Verification via Jentic

AI agents operating in Swedish market contexts can verify user identities through BankID without managing PhenixID credentials. The agent searches Jentic for BankID authentication operations, loads the endpoint schema, and executes the start and check flow. Jentic handles Basic auth credential injection so the agent never sees raw server credentials.

Example prompt: Search Jentic for 'authenticate user with Swedish BankID', load the PhenixID start auth operation, and execute it with a given personal number

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/authentication/bankid_start_auth` | Initiate a BankID authentication session |
| POST | `/authentication/bankid_check_auth` | Check status of an ongoing BankID authentication |

## Key resources

- **Authentication** — Start and check BankID authentication sessions

## Why Jentic

- **Setup:** Wiring the PhenixID BankID HTTP API by hand means setting up basic auth, pointing at your own {server} host since the base URL is templated per deployment, and driving the BankID start and check auth polling loop yourself. Through Jentic you install once, import the PhenixID BankID HTTP API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** This API exposes POST `/authentication/bankid_start_auth` and `/authentication/bankid_check_auth`, with the transaction target carried in the request body rather than the URL path, so the honest control is operations-only: you limit the agent to the operations it needs, such as starting a BankID authentication and checking its result. You choose the operations it may call, so it is limited to that pair.
- **Credential handling:** Your PhenixID credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'start a Swedish BankID authentication', and Jentic returns the matching PhenixID operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Auth0 API** — Universal identity platform supporting multiple authentication methods including social login and MFA
- **Okta API** — Enterprise identity management with SSO, MFA, and directory integration
- **Twilio Verify API** — Phone-based verification (SMS, voice, TOTP) that pairs with BankID for multi-factor flows

## FAQ

### Why is there no official OpenAPI spec for PhenixID BankID HTTP API?

PhenixID does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call PhenixID BankID HTTP API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the PhenixID BankID HTTP API use?

The API uses HTTP Basic authentication to secure access to the PhenixID server. Your server credentials (username and password) are sent in the Authorization header. Through Jentic, these credentials are stored in your Jentic One instance and injected at execution time.

### Can I authenticate users with mobile BankID using this API?

Yes. The POST `/authentication/bankid_start_auth` endpoint supports both mobile BankID and desktop BankID client flows. For mobile BankID, you provide the personal number and the user completes verification on their phone. The autostart token enables QR code flows for same-device authentication.

### How long does a BankID authentication session remain valid?

A BankID session typically times out after 30 seconds if the user does not complete the authentication in their BankID app. You should poll the POST `/authentication/bankid_check_auth` endpoint every 1-2 seconds until the status returns complete, failed, or timed out.

### How do I verify a Swedish identity through Jentic with this API?

Search Jentic for 'start BankID authentication' to find the bankid_start_auth operation. Load the schema, provide the personal number as input, and execute. Then use the returned order reference to poll bankid_check_auth until complete. Jentic handles the Basic auth credentials automatically.

### Can I limit what my agent is allowed to do with the PhenixID BankID HTTP API?

Yes. Jentic One is self-hosted, so you run it yourself and your own rules decide which operations and credentials your agent may use. This API exposes just two operations, POST `/authentication/bankid_start_auth` to begin a Swedish BankID session and POST `/authentication/bankid_check_auth` to poll its result, and you choose which of them the agent may call. Because the transaction target travels in the request body rather than the URL, the honest control here is operations-only, so you can allow the agent to start and check authentication while your stored PhenixID credentials are injected at execution time and never enter its prompt or logs.
