API/Alias availability
v1.0.0-beta.mdGet API keys
Surfaces

Alias availability

POST /functions/v1/alias-availability

Handle format, reserved names, deterministic suggestions and a short reservation — with keystroke feedback that never looks like a failure.

A publishable pk_ key is valid here. An anonymous caller — no merchant key — may call check only.

Three actions

actionWhat it does
check (default)Is this alias free, and is the format valid
reserveHold it between choosing and finishing signup
releaseGive it back early

Format, owned by the engine

^[a-z][a-z0-9_]{2,29}$

Lowercase letters, digits and underscore; must start with a letter; no trailing underscore; no double underscore; 3–30 characters. Input is normalised before validation — a leading @ dropped, trimmed, lowercased, invalid characters stripped — and the normalised alias is echoed back, so the screen shows exactly what would be claimed.

A bad format is not an error

It is 200 with format_ok: false and a named code, so keystroke feedback never looks like a failure: ALIAS_TOO_SHORT, ALIAS_TOO_LONG, ALIAS_MUST_START_WITH_LETTER, ALIAS_INVALID_CHARS, ALIAS_TRAILING_UNDERSCORE, ALIAS_DOUBLE_UNDERSCORE, ALIAS_RESERVED.

curl -X POST https://api.sidaxis.com/functions/v1/alias-availability \
  -H "x-sidaxis-api-key: pk_live_..." \
  -H "content-type: application/json" \
  -d '{ "action": "check", "alias": "@Ana_Costa" }'
200
{
  "alias": "ana_costa",
  "format_ok": true,
  "available": false,
  "suggestions": ["ana_costa1", "ana_costa_2", "anacosta"]
}

Reserved names

About 90 aliases nobody can claim: brand (sidaxis, sieve, rostopay, aura), institutional (admin, support, security, legal, official) and technical surfaces (api, login, receipt, mandate, payment). Refused with ALIAS_RESERVED.

Suggestions

When an alias is taken, up to three suggestions are returned. They are deterministic — no randomness — and each is verified free before it is offered.

Reservation

reserve holds the alias for ttl_seconds, default 300, maximum 900, and returns a claim_token so the surface can release it early if the person changes her mind. A reservation expires on its own — nothing has to run for the alias to come back. Losing a race is 409 ALIAS_TAKEN.

Limits

Per minute: check 120 with a merchant key, 30 anonymous per IP; reserve and release 10. Responses are cache-control: no-store. Debounce keystrokes around 250 ms. See rate limits.

Sidaxis is the human authorisation layer. It never moves money, holds funds or settles. The machine-readable contract is openapi.yaml.
Sidaxis API documentationQuickstartAuthenticationHosted or headlessSandbox and productionIdempotencyRate limitsErrors and refusalsField namesWebhooksAssuranceThe document ruleAlias availabilityMerchant themeMCP serverCompatibilityStatusRoadmapChangelogIdentityEnroll an identityRecognise a personDisclose an attributeMandatesThe eight scopesIssue a mandateCheck an actionConsume a mandateRead a mandateRevoke a mandateReceiptsRead a merchant's receiptsVerify a receiptHosted sessionsCreate a hosted sessionConsume a hosted sessionOne Face for agents