API reference/Overview
API reference
This is the API of the example multi-tenant app in examples/full-multi, rendered from its checked-in
openapi.json. Every app you create with aps new serves the same reference for its own API at /docs, and aps dev serves the API at http://127.0.0.1:8080.Base URL#
Send requests to the server the API runs on. "Try it" on each endpoint asks for its address.
Authentication#
bearer. Session token from POST /v1/auth/login with "transport": "bearer". Browsers use the session cookie that login sets instead.
Errors#
Errors are application/problem+json. Match on code: it stays the same, while messages may change.
codestringrequired
Stable machine-readable error code
statusintegerrequired
HTTP status code
format: int64titlestringrequired
Short summary of the problem type
detailstring
Human-readable explanation
errorsarray of object
Field-level validation errors
nullable2 fields
messagestringrequired
What is wrong
locationstring
Where the error occurred
request_idstring
Correlates with server logs and traces
typestring
URI identifying the problem type
Endpoints#
Ops: audit
Ops: auth
Ops: job definitions
GET
/ops/jobs/definitionsList job definitionsGET/ops/jobs/definitions/{name}Get a job definitionPUT/ops/jobs/definitions/{name}Change a job's configurationDEL/ops/jobs/definitions/{name}Reset a job to its code defaultsGET/ops/jobs/definitions/{name}/historyList a job definition's changesPOST/ops/jobs/definitions/{name}/runRun a job nowGET/ops/jobs/scheduledList enabled scheduled jobs, soonest firstOps: job runs
GET
/ops/jobs/runsList job runs, newest firstGET/ops/jobs/runs/{id}Get a job runPOST/ops/jobs/runs/{id}/cancelCancel a job runPOST/ops/jobs/runs/{id}/retryRetry a job run nowOps: email
Ops: job queues
GET
/ops/queuesList active job queuesPOST/ops/queues/{name}/pausePause a queue on every instancePOST/ops/queues/{name}/resumeResume a paused queueOps: releases
GET
/ops/releasesList releases, newest firstGET/ops/releases/currentList the releases running nowGET/ops/releases/instancesList instance starts, newest firstOps: settings
GET
/ops/settingsList runtime settingsGET/ops/settings/{key}Get a runtime settingPUT/ops/settings/{key}Change a runtime settingDEL/ops/settings/{key}Reset a runtime setting to its defaultGET/ops/settings/{key}/historyList a runtime setting's changesAuth
POST
/v1/auth/apple/callbackApple's return to the APIPOST/v1/auth/apple/notificationsApple's server-to-server notificationsPOST/v1/auth/apple/tokenSign in with an Apple ID tokenGET/v1/auth/google/callbackGoogle's return to the APIPOST/v1/auth/google/tokenSign in with a Google ID tokenGET/v1/auth/identitiesList linked Google and Apple accountsDEL/v1/auth/identities/{id}Unlink a Google or Apple accountPOST/v1/auth/loginSign inPOST/v1/auth/login/mfaFinish signing in with a second factorPOST/v1/auth/login/mfa/passkeyStart a passkey second factorPOST/v1/auth/logoutSign out this devicePOST/v1/auth/logout-allSign out every deviceGET/v1/auth/meGet the signed-in userDEL/v1/auth/meDelete the accountPOST/v1/auth/mfa/recovery-codesReplace the recovery codesPOST/v1/auth/mfa/totpStart setting up an authenticator appDEL/v1/auth/mfa/totpTurn off the authenticator appPOST/v1/auth/mfa/totp/confirmTurn on the authenticator appGET/v1/auth/passkeysList passkeysPOST/v1/auth/passkeysAdd a passkeyPOST/v1/auth/passkeys/loginSign in with a passkeyPOST/v1/auth/passkeys/login/optionsStart signing in with a passkeyPOST/v1/auth/passkeys/registrationStart adding a passkeyPOST/v1/auth/passkeys/verificationConfirm a change with a passkeyPATCH/v1/auth/passkeys/{id}Rename a passkeyDEL/v1/auth/passkeys/{id}Remove a passkeyPUT/v1/auth/passwordChange the passwordPOST/v1/auth/password/forgotEmail a password reset codePOST/v1/auth/password/resetSet a new password with a reset codePOST/v1/auth/registerCreate an accountGET/v1/auth/sessionsList signed-in devicesDEL/v1/auth/sessions/{id}Sign out one devicePOST/v1/auth/verify-emailVerify an email address with its codePOST/v1/auth/verify-email/resendSend a new verification codePOST/v1/auth/{provider}/nonceGet a nonce for a native sign-inGET/v1/auth/{provider}/startSign in with Google or Apple in a browserExample
Organisations
POST
/v1/invitations/acceptAccept an invitationGET/v1/orgsList your organisationsPOST/v1/orgsCreate an organisationGET/v1/orgs/{orgId}Get an organisationPATCH/v1/orgs/{orgId}Rename an organisationDEL/v1/orgs/{orgId}Delete an organisationGET/v1/orgs/{orgId}/invitationsList open invitationsPOST/v1/orgs/{orgId}/invitationsInvite someoneDEL/v1/orgs/{orgId}/invitations/{invitationId}Revoke an invitationPOST/v1/orgs/{orgId}/invitations/{invitationId}/resendResend an invitationPOST/v1/orgs/{orgId}/leaveLeave an organisationGET/v1/orgs/{orgId}/membersList membersPATCH/v1/orgs/{orgId}/members/{userId}Change a member's roleDEL/v1/orgs/{orgId}/members/{userId}Remove a memberPOST/v1/orgs/{orgId}/restoreRestore a deleted organisationProjects
GET
/v1/orgs/{orgId}/projectsList the organisation's projectsPOST/v1/orgs/{orgId}/projectsCreate a projectGET/v1/orgs/{orgId}/projects/{id}Get a projectPATCH/v1/orgs/{orgId}/projects/{id}Update a projectDEL/v1/orgs/{orgId}/projects/{id}Delete a projectSystem
Was this page useful?
Open an issue
v0.4