Introduction
Anikeen ID is the account system of Anikeen. Your app can use it to
- sign users in with their Anikeen ID account (OAuth 2.0, "Sign in with Anikeen ID"),
- read and change the user's profile, addresses, SSH keys and shared preferences,
- sell to the user: one-off orders, subscriptions and physical goods. Anikeen ID shows the items, asks for missing addresses, takes the payment, calculates VAT and writes the invoice,
- get notified about all of this through signed webhooks.
You can talk to the REST API directly from any language, or use the PHP SDK anikeen/id for Laravel, which covers the whole API.
Environments
| Environment | Base URL | Use |
|---|---|---|
| Production | https://id.anikeen.com | real users and real payments |
| Staging | https://staging.id.anikeen.com | development and testing; payments run in Stripe's test mode |
All API endpoints live under /api/v1 of the base URL, the OAuth endpoints under /oauth. Staging and production are separate: an app, its OAuth client, its webhook endpoints and all data exist in one environment only. Register your app on staging for development.
Test payments
On staging you pay with Stripe's test cards, e.g. 4242 4242 4242 4242 with any future expiry date and any CVC. No money is charged.
Registering your app
Apps are registered in Anikeen ID by Anikeen. For your app you need:
- an OAuth client with your callback URL as redirect URI (e.g.
https://shop.example.com/auth/callback). You get a client ID and – for server-side apps – a client secret. The secret is shown once; keep it safe, - a webhook endpoint (e.g.
https://shop.example.com/webhooks/anikeen) if you sell something. Anikeen ID shows its signing secretwhsec_…, - optionally a logo, shown to your users on the login and confirmation pages.
The origins of your redirect URIs matter beyond the login: every return_url you pass to an order, subscription, checkout session or billing portal link must have the origin (scheme, host and port) of one of your app's redirect URIs.
Kinds of apps
| Third-party app | Trusted app | |
|---|---|---|
| Who | any app built by another developer | apps operated by Anikeen, marked as trusted |
| Consent screen | shown, the user approves your scopes | skipped |
| Selling | creates drafts; the user confirms and pays on Anikeen ID | can also charge directly and confirm on the user's behalf |
| Own token (client credentials) | – | app subscriptions, app orders, charges, billing limit, preferences of any user, profiles by ID |
Most of this documentation applies to every app. Sections marked trusted apps need an app that Anikeen marked as trusted; see Trusted apps.
Where to go next
- Quickstart (Laravel) – from zero to a signed-in user and a first order.
- Sign in with Anikeen ID – the OAuth flow without the SDK.
- Billing overview – which way of selling fits your app.
- Webhooks – verify and handle events.
Beta features
Features marked beta are built but not generally available yet. Their details may still change.