Skip to content

Whether an AI client may connect, and with which tools

GET
/mcp/access
curl --request GET \
--url https://api.flotera.com/api/v1/mcp/access \
--cookie __Host-erm_session=<__Host-erm_session>

One MCP token per account, not a list. A list forces the question “which of these four does the model hold right now?” — and someone who cannot answer it cannot revoke access with confidence either.

enabled is the state of that single token. tools[].allowed says whether its scopes cover the tool; available says whether the plan allows it at all — a checkbox cannot fix the second.

Access state.

Media typeapplication/json
object
enabled
required
boolean
groups
required

Subject areas in catalog order, with their descriptions. The panel renders one block per area; a list of its own would fall behind the catalog the first time a tool is added.

Array<object>
object
key
required
string
description
required
string
prefix

First characters of the token. The token itself is shown once, at issue.

string | null
issued_at
string | null format: date-time
last_used_at
string | null format: date-time
expires_at
string | null format: date-time
endpoint
required

Public MCP address; empty when the gateway is not published.

string
clients
required

Clients connected over OAuth. Empty means nobody connected, or all were removed.

Array<object>
object
id
required
string format: uuid
name
required
string
connected_at
required
string format: date-time
last_used_at
string | null format: date-time
tools
required
Array<object>
object
name
required
string
group
required

Subject area the tool belongs to; the panel groups by it.

string
mode
required

Whether the tool reads or changes things.

string
Allowed values: read write
allowed
required

The token’s scopes cover this tool.

boolean
available
required

The plan permits this tool. False cannot be fixed by a checkbox.

boolean
Example
{
"tools": [
{
"mode": "read"
}
]
}

Missing/invalid credentials (code=unauthorized).

Media typeapplication/problem+json

RFC 9457 problem document with a stable machine code.

object
type
required
string format: uri
title
required
string
<= 256 characters
status
required
integer
>= 100 <= 599
code
required

Stable machine-readable error code (03 §2.4).

string
Allowed values: unauthorized forbidden csrf_rejected not_found conflict idempotency_conflict validation_failed rate_limited payload_too_large unsupported_agent_version temporarily_unavailable offline_queue_full online_queue_full plan_required server_limit_reached feature_not_entitled account_in_grace account_frozen payment_pending payment_expired payment_amount_mismatch change_already_pending change_already_applied change_effective reserve_not_covered direction_changed
detail
string
<= 2048 characters
instance
string
<= 512 characters
request_id

UUID (v7 for new entities; v4 accepted during migration).

string format: uuid
errors
Array<object>
<= 100 items
object
path
required

JSON Pointer to the offending field.

string
<= 512 characters
code
required
string
<= 64 characters
Example
{
"type": "https://ermeon.com/problems/validation",
"code": "unauthorized"
}

A dependency the endpoint needs is not configured or is temporarily unavailable (code=unavailable). The rest of the API keeps working — an absent external integration must not take the service down.

Media typeapplication/problem+json

RFC 9457 problem document with a stable machine code.

object
type
required
string format: uri
title
required
string
<= 256 characters
status
required
integer
>= 100 <= 599
code
required

Stable machine-readable error code (03 §2.4).

string
Allowed values: unauthorized forbidden csrf_rejected not_found conflict idempotency_conflict validation_failed rate_limited payload_too_large unsupported_agent_version temporarily_unavailable offline_queue_full online_queue_full plan_required server_limit_reached feature_not_entitled account_in_grace account_frozen payment_pending payment_expired payment_amount_mismatch change_already_pending change_already_applied change_effective reserve_not_covered direction_changed
detail
string
<= 2048 characters
instance
string
<= 512 characters
request_id

UUID (v7 for new entities; v4 accepted during migration).

string format: uuid
errors
Array<object>
<= 100 items
object
path
required

JSON Pointer to the offending field.

string
<= 512 characters
code
required
string
<= 64 characters
Example
{
"type": "https://ermeon.com/problems/validation",
"code": "unauthorized"
}