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

  1. GET https://api.wavemaker.io/health answers {"ok": true, "service": "wmcore"} without a credential.
  2. GET /openapi.json lists the API routes the service publishes. It needs no credential.
  3. GET /v1/tools, with a credential, lists the twelve tools with each one's scope, summary and args_schema. An MCP host sees the same in tools/list.
  4. GET /v1/identity shows the credential's workspace, scopes, mode and expiry.
  5. GET /api/v1/operations, with a read credential, returns the older operation catalog. It also lists operations the service no longer answers; those answer 501 operation_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

ContractVersion these docs describeHow a client sees it
Session API (/v1/sessions/**, /v1/quotes, /v1/identity)1.0.0-draft.3The schema literal on every result, such as wmcore.turn/1
Tools (/v1/tools/{tool} and MCP)dated 2026-10-18GET /v1/tools returns the live argument schemas
Webhook eventswmcore.event/1The schema field of each delivery
Older operations (/api/v1/ops/{name})wmlab.result/1The 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:

LiteralResult
wmcore.session/1A session
wmcore.sessions/1A page of sessions
wmcore.turn/1A turn
wmcore.quote/1A turn quote
wmcore.claim/1A controller claim
wmcore.approval/1An approval decision
wmcore.events/1A page of events
wmcore.identity/1The calling credential
wmcore.webhook-endpoint/1A webhook endpoint
wmcore.webhook-delivery/1A 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 retryable is true. New codes can be added.
  • Don't send fields the schema doesn't list. Session, webhook and tool requests refuse unknown fields with invalid_request and details.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 its revision, last_reviewed, version and freshness, and GET /api/content/articles/{slug}/versions returns every published revision. Add ?revision={n} to a Help or Docs page to read an earlier revision. Published revisions don't change.
  • Freshness. freshness is current when none of the source files the page was checked against have changed since its review, stale when one has, and unknown when the service can't tell. A stale page may still be right; confirm against the live schemas.

22 October 2026

  • The grok hosted agent is retired. Creating a session with "harness": "grok", or posting a turn or quote on an existing grok session, is refused with invalid_request and details.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 at POST /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.

Related guidance