spintax-net Me API
The Me API from spintax-net — 2 operation(s) for me.
The Me API from spintax-net — 2 operation(s) for me.
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/spintax-net:spintax-net-me-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: clx management Me API
version: 0.8.0
description: 'The /v1 API of clx (docs/spec.md §15). The clx.cx page is a thin client over the same endpoints.
Authorization: `Bearer ` from a signed-in page, or `Bearer clx_…` — an API key
(one on the `free` plan, up to 5 on `api`). Every POST, PUT, PATCH and DELETE takes an `Idempotency-Key` header, required
with an API key; a repeat with the same body replays the first answer for 24 hours.
Errors: `{ "error": { "code", "message", "details"? } }`. This file grows with each stage; a
test checks that every route in the code is here and back.'
servers:
- url: https://clx.cx
security:
- bearer: []
tags:
- name: Me
paths:
/v1/me:
get:
summary: The caller — user, plan, limits, current use
description: 'Sign-up, e-mail confirmation and password reset are not part of /v1: they live under /auth
with the page session (docs/spec.md §9). Until `email_confirmed`, POST /v1/accounts answers
`email_unconfirmed`.'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
user:
type: object
properties:
id:
type: integer
email:
type: string
email_confirmed:
type: boolean
locale:
type: string
enum:
- en
- ru
description: The language of the app after sign-in and of clx's e-mails
plan:
type: string
enum:
- free
- api
limits:
type: object
description: the plan's limits
properties:
cf_accounts:
type: integer
sites:
type: integer
external_sites:
type: integer
description: 'of the sites, those not on Cloudflare: 0 on free'
links:
type: integer
rules_per_link:
type: integer
api_keys:
type: integer
use:
type: object
description: what is in use now
properties:
cf_accounts:
type: integer
api_keys:
type: integer
via:
type: string
enum:
- session
- key
- telegram
telegram:
type:
- object
- 'null'
description: the Telegram user linked to the account (docs/spec.md §17)
properties:
id:
type: integer
description: the Telegram user id
username:
type:
- string
- 'null'
linked_at:
type: string
format: date-time
default:
$ref: '#/components/responses/Error'
tags:
- Me
operationId: getV1Me
x-operation-id-source: derived
patch:
summary: Set the user's language (page session only; also the Telegram bot's /lang)
description: 'The app after sign-in and every e-mail of clx speak it; sign-up sets it to the language of
the page signed up from.'
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
requestBody:
content:
application/json:
schema:
type: object
required:
- locale
properties:
locale:
type: string
enum:
- en
- ru
responses:
'200':
description: Set
content:
application/json:
schema:
type: object
properties:
locale:
type: string
enum:
- en
- ru
default:
$ref: '#/components/responses/Error'
tags:
- Me
operationId: patchV1Me
x-operation-id-source: derived
delete:
summary: Delete the account (page session only, with the password)
description: 'Every connected Cloudflare account is disconnected first (clx-edge, its database and routes
removed where the token still can — what could not be is listed in `left`, the working tokens
to revoke in `revoke_tokens`); then the totals go at once, and the user with the keys, sites
and links. Refused with `balance_not_empty` while money is on the balance or the partner wallet, or a
payment, refund or payout is open, a referral''s deposit is under 90 days old or has no commission
yet, or a referral''s refund is open (docs/spec.md §18); the journal is kept for accounting without the address.'
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
requestBody:
content:
application/json:
schema:
type: object
required:
- password
properties:
password:
type: string
responses:
'200':
description: Deleted
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
left:
type: array
items:
type: string
revoke_tokens:
type: array
items:
type: string
default:
$ref: '#/components/responses/Error'
tags:
- Me
operationId: deleteV1Me
x-operation-id-source: derived
/v1/me/telegram:
delete:
summary: Unlink the Telegram linked to the account (page session only)
description: 'The Telegram bot (docs/spec.md §17) acts for the account it is linked to; this ends the link.
A password reset ends it too.'
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
responses:
'200':
description: Unlinked
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
default:
$ref: '#/components/responses/Error'
tags:
- Me
operationId: deleteV1MeTelegram
x-operation-id-source: derived
components:
parameters:
IdempotencyKey:
name: Idempotency-Key
in: header
required: false
schema:
type: string
minLength: 1
maxLength: 200
pattern: ^[!-~]{1,200}$
responses:
Error:
description: An error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
required:
- error
properties:
error:
type: object
required:
- code
- message
properties:
code:
type: string
description: 'Stable codes: unauthorized, invalid_request, not_found, payload_too_large,
limit_reached, service_full, idempotency_conflict, operation_in_progress,
scope_required, session_required, key_already_issued,
account_taken, already_connected, account_not_ready, invalid_bootstrap,
bootstrap_permission_error, permission_catalog, orphan_not_deleted,
token_rights_mismatch, token_check_failed, renew_lost, rate_limited, cloudflare_unavailable,
not_configured, internal. In an account''s or operation''s `error` (the install, §4):
name_taken, resource_drift, cron_limit, permission_error, revoked, self_check_timeout,
credentials_missing, credentials_unreadable (clx cannot open the stored token),
cloudflare_error. Sites: zone_not_found, site_exists, route_conflict, site_not_active,
update_required (external sites need a newer clx-edge),
route_not_ours (a route clx made was changed outside clx and left in place).
Sign-up: email_unconfirmed (POST /v1/accounts before the address is confirmed),
invalid_password, balance_not_empty (DELETE /v1/me while money is on the balance or the partner wallet or still moving, §18).
Billing (docs/spec.md §18): insufficient_balance (Pro needs $9 on the balance), invoice_limit (3 pending top-ups),
payments_unavailable (crypto top-ups not set up or the processor down),
refund_unavailable (a top-up never credited, older than 90 days or refunded
already), refund_open (a refund of that top-up is asked for already), paused (an
object beyond the free plan''s limits: it can be read and deleted, not changed).
Links: link_exists (the code is taken on that link host), link_host_not_ready (links go
on an active host only), link_host_in_use
(DELETE /v1/link-hosts/{id} while live links are on it). In a link host''s `error`:
dns_record_exists (the named host already has a DNS record — never taken over),
domain_taken (another worker''s custom domain), domain_not_ours.
'
message:
type: string
details:
type: object
securitySchemes:
bearer:
type: http
scheme: bearer