# Docs - [Build with IDfier](/docs): Verified identities for your product. Log customers in, check their age, verify them with a link, or have them sign with a verified identity. - [Build with AI](/docs/ai): Connect your coding assistant to the IDfier docs with the MCP server, or give it the docs as plain text. - Identity API: Login, age verification, verification links - [Identity API](/docs/identity): Verified customer data from the IDfier app or an EU Digital Identity Wallet, for login, age checks and verification links. - [Getting started](/docs/identity/getting-started): Credentials, base URL, authentication, responses and testing. - **Guides** - Login with IDfier - [Login with IDfier](/docs/identity/login): Add "Login with IDfier" to a web app. The customer scans a QR code or taps a button, approves in the IDfier app, and your server logs them in. - [QR code payload](/docs/identity/login/qr-code): How to build the QR code and the phone link from a login session, in any language. - [Next.js example](/docs/identity/login/nextjs): A complete Login with IDfier for the Next.js App Router, with the browser binding and the server-side result. - [Age verification](/docs/identity/age-verification): Check that a customer is old enough, for example over 18, without learning their date of birth. - [Verification links](/docs/identity/verification-links): Send a customer a link to verify, instead of integrating the login flow. They approve in the IDfier app and you read the verified result. - [EU Digital Identity Wallet](/docs/identity/eu-wallet): Let customers complete a login or a verification link from their EU Digital Identity Wallet (eIDAS 2.0) instead of the IDfier app. - **Reference** - [Scopes](/docs/identity/scopes): The customer fields you can receive, and the scope each one needs. - [Webhooks](/docs/identity/webhooks): Get told when a login session is scanned, approved or denied, instead of polling. - [Errors](/docs/identity/errors): HTTP status codes, the body status, and when to retry. - API reference - [Overview](/docs/identity/reference): Every Identity API endpoint, generated from its OpenAPI spec. - Login - [Create a login session](/docs/identity/reference/login/createLoginSession): Starts a login session, valid for 5 minutes. Build the QR code (or, on a phone, the app link) from the three values in the response; see the QR code payload guide. The session's scopes are fixed now, from your business client. - [Get a session's status and result](/docs/identity/reference/login/getLoginResult): Poll this from your server (every 2 s, backing off to 10 s) until the status is `approved`, `denied` or `error`, or `expiresAt` has passed. `user` is set once approved: always `id`, plus the fields in your scopes that IDfier has for the customer. - [Offer an EU Digital Identity Wallet](/docs/identity/reference/login/startWalletLogin): For a session that is still `pending`, returns a link that opens the customer's EU Digital Identity Wallet instead of the IDfier app. Show it as a QR code, or as a link on a phone. Calling it again while the request is open returns the same `walletUrl`. Only available when IDfier has enabled EU wallets. - Verification links - [Cancel an open link](/docs/identity/reference/verification-links/cancelLink) - [Create a verification link](/docs/identity/reference/verification-links/createLink): Uses one verification credit. The `url` is only returned here and on resend: IDfier stores only a hash of it. - [Delete a link](/docs/identity/reference/verification-links/deleteLink): Deletes the link and its record of the customer. - [Get a link and its result](/docs/identity/reference/verification-links/getLink): `result` is set once the customer has approved: exactly the requested scopes, plus an `id` unique to your business. - [List verification links](/docs/identity/reference/verification-links/listLinks): Newest first. Pass `nextBefore` as `before` for the next page. - [Issue a new URL and resend](/docs/identity/reference/verification-links/resendLink): Issues a new URL (the old one stops working), extends the expiry and emails it again if the link has a `recipientEmail`. Works on `sent`, `opened` and `expired` links. - IDfier Sign API: Identity-verified signing in your product - [IDfier Sign API](/docs/sign): Let your users sign contracts with a verified identity, without leaving your product's flow. - [Quickstart](/docs/sign/quickstart): Your first signed contract in four calls. - **Guides** - [Signers and the signing page](/docs/sign/signing): Inviting signers, delivering their links yourself, restricting who can sign, and bringing signers back to your product. - [Requests](/docs/sign/requests): Authentication, permissions, safe retries, paging, limits and errors. - [Usage and pricing](/docs/sign/usage): How verified signatures are counted on the API plan, and how to follow them. - **Reference** - API reference - [Overview](/docs/sign/reference): Every IDfier Sign API endpoint, generated from its OpenAPI spec. - [Upload a document, optionally with signers](/docs/sign/reference/post-documents) - [List documents, newest first](/docs/sign/reference/get-documents) - [A document, its signers and their progress](/docs/sign/reference/get-documents-id) - [Add signers or viewers](/docs/sign/reference/post-documents-id-signers) - [Email the invitations that haven't gone out yet](/docs/sign/reference/post-documents-id-send) - [Cancel a document that isn't completed](/docs/sign/reference/post-documents-id-void) - [The original upload](/docs/sign/reference/get-documents-id-file) - [The signed document (once completed; 409 before)](/docs/sign/reference/get-documents-id-signed-file) - [The signing certificate (once issued)](/docs/sign/reference/get-documents-id-certificate) - [Active templates](/docs/sign/reference/get-templates) - [Workspaces the key can use](/docs/sign/reference/get-workspaces) - [Verified signatures this month (or last), and their cost on the API plan](/docs/sign/reference/get-usage)