2026-10-22
Loading…| Method | Path | Description | Support |
|---|---|---|---|
| GET | /v1/health | Health check | ● Supported |
| GET | /v1/methods | Search platform methods | ● Supported |
| GET | /v1/methods/{name} | Retrieve a platform method | ● Supported |
ok.Meta is self-describing: /meta/v1/openapi.yaml returns the full OpenAPI spec for the current environment, which is authoritative for parameters and fields.
Errors follow the problem+json format, see errors; quotas and response headers are covered in rate limits.
/meta/v1/health● Supported200
Errors follow the problem+json format — see error codes
The API edge is up; the body is the plain text `ok`.
text/plain
| Name | Type | Description |
|---|---|---|
| $ | string | Always the literal `ok`. |
/meta/v1/methods● Supportedqstring可选query: Words to look for, for example `list agents` or `create table`. Matched against method name, summary and description; every word must match when the query has two words or fewer, otherwise at least 60% of them. Omit to list methods without ranking.
limitinteger可选query: Maximum methods returned. Without q, defaults to 50 and accepts 1–200. Search with q defaults to 20 and accepts 1–50. Out-of-range values return 400 INVALID_PARAMS.
after_idstring可选query: Return names lexically after this method name, usually last_id from the previous page. Ignored when q is present. An empty or expired cursor still uses lexical ordering.
200
A nonempty q searches by relevance over method name, summary and description, ignoring word order and case; limit is an integer from 1 to 50 (default 20). Without q, or with whitespace only, methods are listed by name; limit is 1 to 200 (default 50). When has_more is true, pass last_id unchanged as after_id for the next page. Search ignores after_id. An out-of-range limit returns 400 INVALID_PARAMS. The catalog covers platform methods (praxis.*) only, not the MCP tools of a session.
Errors follow the problem+json format — see error codes
Matching methods, best match first. An empty `data` array means nothing matched; try fewer or different words.
application/json
| Name | Type | Description |
|---|---|---|
| has_more | boolean | Present without q; true when another page follows. |
| first_id | string | null | Present without q; first method name in this page, or null for an empty page. |
| last_id | string | null | Present without q; last method name in this page, or null for an empty page. Pass as after_id to continue. |
| data | array<object> | Matching methods ordered by relevance for search, or by name for unranked listing. |
| data[].params | string | Compact argument list grouped by location, for example `path: database_id*, table* · query: select, order · body*`. A trailing `*` marks a required argument; `body` stands for the JSON request body. Call `GET /meta/v1/methods/{name}` for each argument's type and description. |
| data[].name | string | Method name such as `praxis.agent.agents.list`. Pass it to `GET /meta/v1/methods/{name}` and call it as `await praxis.agent.agents.list(args)` in codemode or an automation script. |
| data[].summary | string | One-line statement of what the method does. |
| data[].http | string | HTTP verb the method sends, for example GET or POST. |
| data[].path | string | Public API path template the method calls, with `{param}` placeholders filled from `args.path`. |
/meta/v1/methods/{name}● Supportednamestring必填path: Exact method name from the search results, for example `praxis.database.databases.tables.create`.
200
name comes from the search results and must match the method name exactly. The declaration is never truncated; copy field names and enum values from it. An unknown name returns 404 METHOD_NOT_FOUND whose hint lists up to three similar names.
Errors follow the problem+json format — see error codes
The method with its complete declaration.
application/json
| Name | Type | Description |
|---|---|---|
| name | string | Method name, for example `praxis.agent.agents.list`. |
| summary | string | One-line statement of what the method does. |
| description | string | Full guidance for the method from the API reference, including when to use it, limits and error behaviour. May be empty for methods documented only by summary. |
| http | string | HTTP verb the method sends. |
| path | string | Public API path template with `{param}` placeholders. |
| declaration | string | Complete TypeScript signature, `name(args): Promise<Result>`. `args` carries `path`, `query`, `headers` and `body` members exactly as declared. Never truncated. |
| parameters | array<object> | Path, query and header parameters of the operation. |
| parameters[].name | string | Parameter name as sent on the wire. |
| parameters[].in | string | Where the parameter goes, one of `path`, `query` or `header`; maps to the matching member of `args`. |
| parameters[].required | boolean | Whether the call is rejected when the parameter is missing. |
| parameters[].description | string | Meaning, format and allowed values of the parameter. |
| parameters[].type | string | TypeScript type of the parameter value. |
| request_body | object | Request body expectations; null when the method takes no body. |
| request_body.required | boolean | Whether `args.body` must be supplied. |
| request_body.description | string | What the body carries. |
| request_body.content_types | array<string> | Media types the body may use; the first is the default. |
| responses | array<object> | Documented responses, successful and failed. |
| responses[].status | string | HTTP status code or `default`. |
| responses[].description | string | What the response means and what to do next. |
| responses[].content_types | array<string> | Media types the response may use. |