Skip to content
AXOWLDevelopers
Quickstart

Organizations

All routes need a signed-in session.

Method · RoutePurpose
POST /createCreate an organization
GET /my-organizationsThe organizations you belong to
POST /{slug}/upgrade-typeUpgrade org type (sole proprietorship → corporation). Owner only
PUT /{slug}/regionChange the organization’s country. Owner only
POST /representativeSet/update the representative director
POST /otp/send · /otp/verifyPhone OTP
POST /otp/email/send · /otp/email/verifyEmail OTP
POST /{slug}/delete · /{slug}/restoreDelete an organization (Owner only, personal-seal confirmation; purged after a 7-day grace period) or restore it within that period
POST /{slug}/transfer-ownership (+ /cancel)Offer ownership to another person. Owner only, with a personal-seal confirmation; needs the Ownership Transfer add-on (402 ADDON_REQUIRED without it). It takes effect when the recipient accepts
GET /transfer-ownership/{code} · POST /transfer-ownership/{code}/accept · /declineThe recipient’s side of an ownership transfer
Method · RoutePurposeRequired scope
PUT /general · /security · /domains · /api-key-scope · /member-policiesOrg configorg.setting.update
POST /domains/verify · /domains/auto-configureVerify a domainorg.org.verify_domain
PUT /onboardingSave the onboarding wizardorg.setting.update
PUT /notifications · POST /notifications/testNotification configorg.setting.update
Method · RoutePurposeRequired scope
POST /keys/api-keysIssue an API key. Body: name, description, connectedIdId, allowedScopes, expiresAt, maxTokenLifetimeSecondsorg.api_key.issue
POST /keys/api-keys/{keyId}/self-testCheck that a key works right now, without its secretorg.api_key.issue
DELETE /keys/api-keys/{keyId}Revoke an API keyorg.api_key.revoke
POST /keys/signing-key/rotateRotate the RSA signing key. The previous key stays valid for verification during the grace period — see Key rotationorg.setting.rotate_signing_key
POST /keys/webhook-secret/regenerateRotate webhook secretorg.setting.regenerate_webhook_secret
POST · DELETE /keys/plugin-tokens[/{tokenId}]Plugin tokensorg.api_key.issue · org.api_key.revoke
POST · DELETE /scim/tokens[/{tokenId}] (+ /hard)SCIM tokensorg.setting.update
POST · DELETE /federation[/{providerId}] (+ /test)IdP federationorg.idp_connection.update

maxTokenLifetimeSeconds sets how long tokens minted with the key live: 60 seconds to 7 days, default 300. A value above 300 needs the organization owner and a personal-seal confirmation in assertionResponseJson. Errors: 400 LIFETIME_TOO_LONG (over 7 days), 403 OWNER_REQUIRED, 401 SEAL_REQUIRED.

Sub-organizations — /api/org/{slug}/sub-orgs

Section titled “Sub-organizations — /api/org/{slug}/sub-orgs”
Method · RoutePurposeRequired scope
GET /List sub-orgs—
POST /Create sub-orgorg.org.create
DELETE /{subSlug}Delete sub-orgorg.org.delete

GET /api/org/{slug}/parent returns the parent organization.