Platform
Team : The container for everything you build. Owns API keys, content, and usage. Your first team is created at sign-up. See Teams & API keys. Tenant : The server-side identity a request resolves to. It is determined by your API key and attached by the gateway — you never send it. If you need to serve several customers from one integration, give each one its own key rather than trying to pass a tenant. Service : A product you activate from the dashboard, such as AI CMS. Each has its own reference and its own key scope. Dashboard : dashboard.octaviatech.app — where you activate services, manage teams and keys, and inspect usage. Plan : The entitlement level on a service. It decides how much you can do before the API returns426. See Plans.
Requests
API key : The credential sent asx-api-key on every request. It is scoped to one
team and one service. See Authentication.
Base URL
: The root every request is built on — for AI CMS,
https://api.octaviatech.app/cms. See Base URL.
Envelope
: The single JSON shape every endpoint returns:
{ success, statusCode, message, data }, with pagination on list endpoints. See
Response format.
Path parameter
: A value substituted into the URL, e.g. /articles/{id}.
Query parameter
: A value that filters a list, sent after ? in the URL.
Body
: The JSON payload of a POST, PUT or PATCH. Anything that creates or updates
data goes here.
Data
ObjectId : A 24-character hex string identifying a record, e.g.6810f2c3a1b2c3d4e5f60718. Passed in the path or the body.
Slug
: A URL-facing unique string, e.g. hello-world. Some create endpoints
accept one explicitly; others derive it from the name.
Multilingual field
: A map from a language code to a string, e.g.
{ "en": "Hello", "es": "Hola" }. Articles can only be written in a language that has
been registered first.
Soft delete
: A delete that marks the record rather than removing it, so it can be restored or
kept out of public queries.
Archive
: Removing an article from the published site without deleting it.
AI CMS
Article : The central content record. It has a title, body, author, categories, and a publication state. Draft / published : An article’s visibility. Drafts are visible to authenticated callers with the right role; published articles are public. Category / Subcategory : The two-level taxonomy an article is filed under.category and subCategory on an
article take arrays of IDs, even when you only have one.
Tag
: A free-form label. Optional, and nothing depends on it.
Form
: A schema of sections and fields that a visitor submits. Forms are defined per
language.
Submission
: One completed response to a form. Submissions can be related to an article.
Repurpose
: Turning one article into platform-specific copy for LinkedIn, Twitter/X or Telegram.
Conversation
: A multi-turn AI session that drafts an article from a prompt and your feedback.
Limits and errors
Rate limit : A transient throttle. Answered with429, and retryable.
Plan quota
: An entitlement ceiling on your plan. Answered with 426, and not
retryable — it only clears when you upgrade, the period rolls over, or you delete
something.
AI tokens
: The metered AI credit pool. It is consumed, not a count of resources, and it is
checked with a projection: the API estimates the cost before running the call.
retry-after
: A response header telling you how long to wait. Available where the SDK surfaces
response headers.
Status codes
Every code and its meaning.
Content model
Every AI CMS resource and its fields.

