Skip to content

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 ​

EnvironmentBase URLUse
Productionhttps://id.anikeen.comreal users and real payments
Staginghttps://staging.id.anikeen.comdevelopment 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 secret whsec_…,
  • 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 appTrusted app
Whoany app built by another developerapps operated by Anikeen, marked as trusted
Consent screenshown, the user approves your scopesskipped
Sellingcreates drafts; the user confirms and pays on Anikeen IDcan 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 ​

Beta features

Features marked beta are built but not generally available yet. Their details may still change.

Anikeen ID developer documentation