# Meta API (/en/docs/api/native/meta)



## Base URL [#base-url]

<ApiBaseDomain prefix="/meta" />

## Get started [#get-started]

<QuickstartTabs snippets="{&#x22;curl&#x22;:&#x22;curl https://api-origin.invalid/meta/v1/health&#x22;,&#x22;python&#x22;:&#x22;import os\n\nimport requests\n\nopts = dict(\n    base_url=\&#x22;https://api-origin.invalid/meta\&#x22;,\n)\n\nresp = requests.get(f\&#x22;{opts['base_url']}/v1/health\&#x22;)\nprint(resp.text)&#x22;,&#x22;typescript&#x22;:&#x22;\n\nconst opts = {\n  baseURL: \&#x22;https://api-origin.invalid/meta\&#x22;,\n};\n\nconst resp = await fetch(`${opts.baseURL}/v1/health`);\nconsole.log(await resp.text());&#x22;}" />

## Endpoints [#endpoints]

| Method | Path                                                              | Description                | Support     |
| ------ | ----------------------------------------------------------------- | -------------------------- | ----------- |
| GET    | [`/v1/health`](/docs/api/native/meta/healthCheck)                 | Health check               | ● Supported |
| GET    | [`/v1/methods`](/docs/api/native/meta/metaMethodsSearch)          | Search platform methods    | ● Supported |
| GET    | [`/v1/methods/{name}`](/docs/api/native/meta/metaMethodsRetrieve) | Retrieve a platform method | ● Supported |

## Differences from Praxis [#differences-from-praxis]

* Meta is the platform's self-describing face and mirrors no third-party API; healthCheck and the method catalog need no authentication; healthCheck returns the plain text `ok`.
* <a href="/docs/api/native/meta/metaMethodsSearch">Search platform methods</a>：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.
* <a href="/docs/api/native/meta/metaMethodsRetrieve">Retrieve a platform method</a>：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.

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](/docs/api/errors); quotas and response headers are covered in [rate limits](/docs/api/rate-limits).
