AsoBeast Backend API
The Backend API from AsoBeast — 21 operation(s) for backend.
The Backend API from AsoBeast — 21 operation(s) for backend.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/asobeast-com:asobeast-com-backend-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AsoBeast Backend API
version: '2026-11-01'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-01: 54 operation(s) read from 28 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; AsoBeast has published no machine-readable contract that the pipeline could find. Engine: oss.'
x-evidence-tiers:
code-example: 23
documentation: 31
pages-with-code: 24
pages-read: 28
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-11-01'
x-generator: generate-contract-from-docs.py
x-engine: oss
x-sources:
- https://docs.asobeast.com/operations/restore.md
- https://docs.asobeast.com/api-reference/introduction
- https://docs.asobeast.com/api-reference/conventions.md
- https://docs.asobeast.com/api-reference/rate-limits.md
- https://docs.asobeast.com/api-reference/introduction.md
- https://docs.asobeast.com/api-reference/authentication.md
- https://docs.asobeast.com/api-reference/authentication
- https://docs.asobeast.com/api-reference/rate-limits
- https://docs.asobeast.com/api-reference/conventions
- https://docs.asobeast.com/api-reference/auth/register-an-account
- https://docs.asobeast.com/api-reference/auth/log-in
- https://docs.asobeast.com/api-reference/auth/log-out
- https://docs.asobeast.com/api-reference/auth/current-authenticated-user
- https://docs.asobeast.com/api-reference/auth/workspace-plan-limits-and-usage-against-them
- https://docs.asobeast.com/api-reference/auth/confirm-an-email-address-and-start-the-trial
- https://docs.asobeast.com/api-reference/auth/send-a-fresh-confirmation-link-to-this-account
- https://docs.asobeast.com/api-reference/auth/change-password-and-reset-other-sessions
- https://docs.asobeast.com/api-reference/auth/email-a-recovery-link-to-an-account-that-exists
- https://docs.asobeast.com/api-reference/auth/redeem-a-recovery-link-and-end-every-session
- https://docs.asobeast.com/api-reference/auth/public-auth-configuration-and-session-state
- https://docs.asobeast.com/api-reference/auth/list-personal-api-tokens
- https://docs.asobeast.com/api-reference/auth/create-a-personal-api-token
- https://docs.asobeast.com/api-reference/auth/revoke-a-personal-api-token
- https://docs.asobeast.com/api-reference/auth/members-of-this-workspace-and-pending-invites
- https://docs.asobeast.com/api-reference/auth/invite-a-member-into-this-workspace
- https://docs.asobeast.com/api-reference/auth/revoke-a-pending-invitation
- https://docs.asobeast.com/api-reference/auth/remove-a-member-from-this-workspace
- https://docs.asobeast.com/api-reference/auth/accept-an-invitation-and-create-the-account
security:
- bearer: []
tags:
- name: Backend
paths:
/api/backend/apps:
get:
operationId: get_api_backend_apps
tags:
- Backend
summary: GET /api/backend/apps
x-source: https://docs.asobeast.com/api-reference/authentication.md
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl -H "Authorization: Bearer $ASOBEAST_API_TOKEN" https://your-host/api/backend/apps
```'
/api/backend/auth/login:
post:
operationId: post_api_backend_auth_login
tags:
- Backend
summary: POST /api/backend/auth/login
x-source: https://docs.asobeast.com/api-reference/auth/log-in
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/login --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"email\": \" [email protected] \", \n \"password\": \"<string>\" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stringify({email: ' [email pr"
/api/backend/auth/logout:
post:
operationId: post_api_backend_auth_logout
tags:
- Backend
summary: POST /api/backend/auth/logout
x-source: https://docs.asobeast.com/api-reference/auth/log-out
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/logout --header 'Authorization: Bearer <token>' const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/auth/logout', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://localhost:3000"
/api/backend/auth/me:
get:
operationId: get_api_backend_auth_me
tags:
- Backend
summary: GET /api/backend/auth/me
x-source: https://docs.asobeast.com/api-reference/auth/current-authenticated-user
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request GET --url http://localhost:3000/api/backend/auth/me --header 'Authorization: Bearer <token>' const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/auth/me', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://localhost:3000/api/backe"
/api/backend/auth/password:
post:
operationId: post_api_backend_auth_password
tags:
- Backend
summary: POST /api/backend/auth/password
x-source: https://docs.asobeast.com/api-reference/auth/change-password-and-reset-other-sessions
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/password --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"next\": \"<string>\", \n \"current\": \"<string>\" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stringify({next: '<string>', current: '"
/api/backend/auth/password/forgot:
post:
operationId: post_api_backend_auth_password_forgot
tags:
- Backend
summary: POST /api/backend/auth/password/forgot
x-source: https://docs.asobeast.com/api-reference/auth/email-a-recovery-link-to-an-account-that-exists
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/password/forgot --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"email\": \" [email protected] \" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stringify({email: ' [email protected] '})\n};\n"
/api/backend/auth/password/reset:
post:
operationId: post_api_backend_auth_password_reset
tags:
- Backend
summary: POST /api/backend/auth/password/reset
x-source: https://docs.asobeast.com/api-reference/auth/redeem-a-recovery-link-and-end-every-session
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/password/reset --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"password\": \"<string>\", \n \"token\": \"<string>\" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stringify({password: '<string>'"
/api/backend/auth/plan:
get:
operationId: get_api_backend_auth_plan
tags:
- Backend
summary: GET /api/backend/auth/plan
x-source: https://docs.asobeast.com/api-reference/auth/workspace-plan-limits-and-usage-against-them
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request GET --url http://localhost:3000/api/backend/auth/plan --header 'Authorization: Bearer <token>' const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/auth/plan', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://localhost:3000/api/b"
/api/backend/auth/register:
post:
operationId: post_api_backend_auth_register
tags:
- Backend
summary: POST /api/backend/auth/register
x-source: https://docs.asobeast.com/api-reference/auth/register-an-account
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/register --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"password\": \"<string>\", \n \"email\": \" [email protected] \", \n \"name\": \"<string>\" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stri"
/api/backend/auth/status:
get:
operationId: get_api_backend_auth_status
tags:
- Backend
summary: GET /api/backend/auth/status
x-source: https://docs.asobeast.com/api-reference/auth/public-auth-configuration-and-session-state
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request GET --url http://localhost:3000/api/backend/auth/status --header 'Authorization: Bearer <token>' const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/auth/status', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://localhost:3000/a"
/api/backend/auth/tokens:
get:
operationId: get_api_backend_auth_tokens
tags:
- Backend
summary: GET /api/backend/auth/tokens
x-source: https://docs.asobeast.com/api-reference/auth/list-personal-api-tokens
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request GET --url http://localhost:3000/api/backend/auth/tokens --header 'Authorization: Bearer <token>' const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/auth/tokens', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://localhost:3000/a"
post:
operationId: post_api_backend_auth_tokens
tags:
- Backend
summary: POST /api/backend/auth/tokens
x-source: https://docs.asobeast.com/api-reference/auth/create-a-personal-api-token
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/tokens --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"name\": \"<string>\", \n \"scope\": \"read\", \n \"expiresInDays\": 183 \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stringify({name: '<stri"
/api/backend/auth/tokens/{id}:
delete:
operationId: delete_api_backend_auth_tokens_id
tags:
- Backend
summary: DELETE /api/backend/auth/tokens/{id}
x-source: https://docs.asobeast.com/api-reference/auth/revoke-a-personal-api-token
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request DELETE --url http://localhost:3000/api/backend/auth/tokens/{id} --header 'Authorization: Bearer <token>' const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/auth/tokens/{id}', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://"
/api/backend/auth/verify:
post:
operationId: post_api_backend_auth_verify
tags:
- Backend
summary: POST /api/backend/auth/verify
x-source: https://docs.asobeast.com/api-reference/auth/confirm-an-email-address-and-start-the-trial
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/verify --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"token\": \"<string>\" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stringify({token: '<string>'})\n};\nfetch('http://localhost:3000/ap"
/api/backend/auth/verify/resend:
post:
operationId: post_api_backend_auth_verify_resend
tags:
- Backend
summary: POST /api/backend/auth/verify/resend
x-source: https://docs.asobeast.com/api-reference/auth/send-a-fresh-confirmation-link-to-this-account
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/auth/verify/resend --header 'Authorization: Bearer <token>' const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/auth/verify/resend', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://"
/api/backend/docs-json:
get:
operationId: get_api_backend_docs_json
tags:
- Backend
summary: GET /api/backend/docs-json
x-source: https://docs.asobeast.com/api-reference/introduction
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -H \"Authorization: Bearer asob_…\" https://your-host/api/backend/docs-json > openapi.json \n npx @openapitools/openapi-generator-cli generate -i openapi.json -g typescript-fetch -o ./asobeast-client \n If you write TypeScript, consider using @asobeast/shared directly instead. It holds the same contract types the API and the dashboard are built from, which is what the MCP server does. \n Relat"
/api/backend/health:
get:
operationId: get_api_backend_health
tags:
- Backend
summary: GET /api/backend/health
x-source: https://docs.asobeast.com/operations/restore.md
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl --fail --silent --show-error http://127.0.0.1:3001/api/backend/health
docker compose exec -T postgres psql --username asobeast --dbname asobeast --command ''select count(*) from "App";''
docker compose exec -T postgres psql --username asobeast --dbname asobeast --command ''select count(*) from "Keyword";''
```'
/api/backend/workspace/invites:
post:
operationId: post_api_backend_workspace_invites
tags:
- Backend
summary: POST /api/backend/workspace/invites
x-source: https://docs.asobeast.com/api-reference/auth/invite-a-member-into-this-workspace
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/workspace/invites --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"email\": \" [email protected] \" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stringify({email: ' [email protected] '})\n};\nfet"
/api/backend/workspace/invites/accept:
post:
operationId: post_api_backend_workspace_invites_accept
tags:
- Backend
summary: POST /api/backend/workspace/invites/accept
x-source: https://docs.asobeast.com/api-reference/auth/accept-an-invitation-and-create-the-account
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request POST --url http://localhost:3000/api/backend/workspace/invites/accept --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data ' \n { \n \"password\": \"<string>\", \n \"token\": \"<string>\", \n \"name\": \"<string>\" \n } \n ' const options = {\n method: 'POST',\n headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},\n body: JSON.stri"
/api/backend/workspace/invites/{id}:
delete:
operationId: delete_api_backend_workspace_invites_id
tags:
- Backend
summary: DELETE /api/backend/workspace/invites/{id}
x-source: https://docs.asobeast.com/api-reference/auth/revoke-a-pending-invitation
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request DELETE --url http://localhost:3000/api/backend/workspace/invites/{id} --header 'Authorization: Bearer <token>' const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/workspace/invites/{id}', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nur"
/api/backend/workspace/members/{id}:
delete:
operationId: delete_api_backend_workspace_members_id
tags:
- Backend
summary: DELETE /api/backend/workspace/members/{id}
x-source: https://docs.asobeast.com/api-reference/auth/remove-a-member-from-this-workspace
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request DELETE --url http://localhost:3000/api/backend/workspace/members/{id} --header 'Authorization: Bearer <token>' const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/workspace/members/{id}', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nur"
/api/backend/workspace/team:
get:
operationId: get_api_backend_workspace_team
tags:
- Backend
summary: GET /api/backend/workspace/team
x-source: https://docs.asobeast.com/api-reference/auth/members-of-this-workspace-and-pending-invites
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl curl --request GET --url http://localhost:3000/api/backend/workspace/team --header 'Authorization: Bearer <token>' const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};\nfetch('http://localhost:3000/api/backend/workspace/team', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err)); import requests\nurl = \"http://localhost:"
components:
securitySchemes:
bearer:
type: http
scheme: bearer