Documentation versions and change context
What changed in the developer docs, which contract versions they describe, and how to tell what the service you call supports.
Updated
The running service is the authority on what the API does. This page shows how to find out what you are calling, which contract versions these docs describe, how result shapes are versioned, and where change notes are published.
Check what you are calling
GET https://api.wavemaker.io/healthanswers{"ok": true, "service": "wmcore"}without a credential.GET /openapi.jsonlists the API routes the service publishes. It needs no credential.GET /v1/tools, with a credential, lists the twelve tools with each one'sscope,summaryandargs_schema. An MCP host sees the same intools/list.GET /v1/identityshows the credential's workspace, scopes,modeand expiry.GET /api/v1/operations, with areadcredential, returns the older operation catalog. It also lists operations the service no longer answers; those answer 501operation_not_ported.
A newer client, SDK or docs page doesn't prove the service was upgraded. When a page and the service disagree, trust the service's own schemas and replies.
Current versions
| Contract | Version these docs describe | How a client sees it |
|---|---|---|
Session API (/v1/sessions/**, /v1/quotes, /v1/identity) | 1.0.0-draft.3 | The schema literal on every result, such as wmcore.turn/1 |
Tools (/v1/tools/{tool} and MCP) | dated 2026-10-18 | GET /v1/tools returns the live argument schemas |
| Webhook events | wmcore.event/1 | The schema field of each delivery |
Older operations (/api/v1/ops/{name}) | wmlab.result/1 | The schema field of each reply |
The service doesn't report the session API or tools version strings in its replies, and the info.version in /openapi.json (0.1.0) is not a contract version. Rely on the schema literals and the live schemas.
How result shapes are versioned
Every session, quote, identity and webhook result carries a schema literal in data:
| Literal | Result |
|---|---|
wmcore.session/1 | A session |
wmcore.sessions/1 | A page of sessions |
wmcore.turn/1 | A turn |
wmcore.quote/1 | A turn quote |
wmcore.claim/1 | A controller claim |
wmcore.approval/1 | An approval decision |
wmcore.events/1 | A page of events |
wmcore.identity/1 | The calling credential |
wmcore.webhook-endpoint/1 | A webhook endpoint |
wmcore.webhook-delivery/1 | A webhook delivery |
A breaking change to a shape bumps its literal. Additive changes don't. Write clients to survive additive change:
- Ignore response fields you don't know. New fields can appear at any time.
- Ignore event types you don't know. New types can be added to the event stream and to webhooks.
- Treat unknown error codes as final unless
retryableistrue. New codes can be added. - Don't send fields the schema doesn't list. Session, webhook and tool requests refuse unknown fields with
invalid_requestanddetails.path.
Older operations
The older operation catalog stays reachable at POST /api/v1/ops/{name} in its original wmlab.result/1 envelope, so callers of the operations still served keep working. Only part of it is served: 226 of 390 operations. Every agents.*, productions.*, jobs.*, compute.*, creative.*, generation.*, capabilities.* and api.* operation answers 501 operation_not_ported. A name outside the catalog answers 404. The older MCP tools (discover_operations, execute_operation, prepare_generation, watch_job, watch_compute) are gone; use the twelve tools. See Capability map for where each job lives now.
Where change notes live
- What's new. Product updates are published at
/changelog, with an RSS feed at/changelog.xml. The web app shows the same entries in its What's new panel. Each entry is dated and titled. - Review date. Each Help and Docs page shows the date it was last Reviewed under its title.
- Article history.
GET /api/content/articles/{slug}returns a page with itsrevision,last_reviewed,versionandfreshness, andGET /api/content/articles/{slug}/versionsreturns every published revision. Add?revision={n}to a Help or Docs page to read an earlier revision. Published revisions don't change. - Freshness.
freshnessiscurrentwhen none of the source files the page was checked against have changed since its review,stalewhen one has, andunknownwhen the service can't tell. Astalepage may still be right; confirm against the live schemas.
22 October 2026
- The
grokhosted agent is retired. Creating a session with"harness": "grok", or posting a turn or quote on an existinggroksession, is refused withinvalid_requestanddetails.reason: "harness_not_enabled". Continue that project in a new session on another agent.
21 October 2026
- The developer documentation describes the current service: the session API (
/v1/sessions), quotes (/v1/quotes), identity (/v1/identity) and the twelve tools atPOST /v1/tools/{tool}, which are also the MCP tools at/mcp. Make an ad walks through a session from brief to verified download, including HTML5 banners. - The older operation catalog is served only in part, as described above.
30 September 2026
- Developer documentation gained host setup for Claude, ChatGPT, Cursor, Grok and the CLI on MCP setup, and the hosted API origin on HTTP API.
- Help, Docs, Blog and Examples render on the public site, not inside the signed-in app.
Report a problem precisely
Private account issues go through support. When you report an API problem, include the route, the time, the request_id, the session or job id, and the error.code, never your credential. Keep request_ids after uncertain writes, and read the original result before sending anything again. See Errors, limits and safe retries.