Router Introspection
Method: GET /{api_prefix}/_router
Auth: Flux API Key
Returns a flat list of routes available under the selected Flux API prefix. This endpoint is designed for tool discovery (MCP/LLM agents) and for clients that need a runtime contract of available endpoints.
URL Pattern
GET https://{environment_key}.fxns.io/{api_prefix}/_router
Example:
GET https://7c9h4pwu.fxns.io/blog/_router
Response Shape
- Name
api- Type
- string
- Description
Flux API prefix used in the request.
- Name
routes- Type
- array<object>
- Description
Flat list of route definitions.
Route Object
- Name
method- Type
- string
- Description
HTTP method for this route (
GETorPOST).
- Name
path- Type
- string
- Description
Absolute route path including API prefix.
- Name
path_template- Type
- string
- Description
Canonical route template without API prefix.
- Name
action- Type
- string
- Description
One of:
get_many,get_one,search,schema.
- Name
scope- Type
- string
- Description
Route scope:
collectionfor list/search endpointsitemfor single-resource endpointsintrospectionfor schema endpoints
- Name
description- Type
- string
- Description
Human-readable description for this action. Comes from folder connection
description_*values configured in Management API.
- Name
response_ref- Type
- string
- Description
Pointer to the corresponding
/_schemaendpoint for this resource path.
- Name
response_ref_type- Type
- string
- Description
Reference type. Currently always
schema.
- Name
query_params- Type
- array<object>
- Description
Query parameter descriptors for this route. Each item has
name,type,required,description.
- Name
request_body- Type
- object|null
- Description
Request body contract.
nullfor GET routes. Forsearch, contains:content_typerequiredfields(descriptor array)
- Name
response_shape- Type
- object
- Description
High-level response contract:
- For list/search:
required_fields,optional_fields,results_item_ref - For get_one:
required_fields,optional_fields,data_ref - For schema:
required_fieldsincludesjson_schema,path,actions,searchable_fields,non_searchable_fields
- For list/search:
- Name
path_param_order- Type
- array<string>
- Description
Ordered list of path parameter names.
- Name
path_params- Type
- array<object>
- Description
Path parameter descriptors (
name,resource,type,required,example).
Example
curl "https://7c9h4pwu.fxns.io/blog/_router" \
-H "Authorization: Secure <access_key>:<signature>"
Response (excerpt)
{
"api": "blog",
"routes": [
{
"method": "GET",
"path": "/blog/articles",
"path_template": "/articles",
"action": "get_many",
"scope": "collection",
"description": "List published articles",
"response_ref": "/blog/articles/_schema",
"response_ref_type": "schema",
"query_params": [
{
"name": "limit",
"type": "integer",
"required": false,
"description": "Page size (clamped to service limit)."
}
],
"request_body": null,
"response_shape": {
"type": "object",
"required_fields": ["limit", "next", "previous", "results"],
"optional_fields": ["metadata", "vector_boost_metadata"],
"results_item_ref": "/blog/articles/_schema"
},
"path_param_order": [],
"path_params": []
},
{
"method": "POST",
"path": "/blog/articles/_search",
"path_template": "/articles/_search",
"action": "search",
"scope": "collection",
"description": "Search articles by filters",
"response_ref": "/blog/articles/_schema",
"response_ref_type": "schema",
"query_params": [
{
"name": "limit",
"type": "integer",
"required": false,
"description": "Page size (clamped to service limit)."
}
],
"request_body": {
"content_type": "application/json",
"required": false,
"fields": [
{"name": "where", "type": "object", "required": false, "description": "Structured filter expression tree."},
{"name": "find_text", "type": "object", "required": false, "description": "Full-text search block with query, fields, threshold."}
]
},
"response_shape": {
"type": "object",
"required_fields": ["limit", "next", "previous", "results"],
"optional_fields": ["metadata", "vector_boost_metadata"],
"results_item_ref": "/blog/articles/_schema"
},
"path_param_order": [],
"path_params": []
},
{
"method": "GET",
"path": "/blog/articles/_schema",
"path_template": "/articles/_schema",
"action": "schema",
"scope": "introspection",
"description": "Returns JSON schema for this resource.",
"response_ref": "/blog/articles/_schema",
"response_ref_type": "schema",
"query_params": [],
"request_body": null,
"response_shape": {
"type": "object",
"required_fields": [
"json_schema",
"path",
"actions",
"searchable_fields",
"non_searchable_fields"
],
"optional_fields": ["alias", "content_type", "schema_key", "schema_version_key"]
},
"path_param_order": [],
"path_params": []
}
]
}
Errors
| Status | error_code | When returned |
|---|---|---|
| 401 | authentication_required | Missing or invalid credentials. |
| 403 | access_denied | Key is authenticated but lacks access to this API prefix. |
| 404 | route_not_found | API prefix does not exist in this environment. |
| 405 | action_not_allowed | Method other than GET is used on /_router. |
Related Endpoints
- Schema Introspection — fetch current JSON Schema for a resource path.
- List Resources — execute
get_many. - Get Resource — execute
get_one. - Search — execute
search.