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 (GET or POST).

  • 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:

    • collection for list/search endpoints
    • item for single-resource endpoints
    • introspection for 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 /_schema endpoint 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. null for GET routes. For search, contains:

    • content_type
    • required
    • fields (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_fields includes json_schema, path, actions, searchable_fields, non_searchable_fields
  • 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

Statuserror_codeWhen returned
401authentication_requiredMissing or invalid credentials.
403access_deniedKey is authenticated but lacks access to this API prefix.
404route_not_foundAPI prefix does not exist in this environment.
405action_not_allowedMethod other than GET is used on /_router.

Was this page helpful?