---
title: "List Connected Apps"
method: GET
path: "/v1/user/oauth/grants"
tags: ["User"]
---

# List Connected Apps

`GET /v1/user/oauth/grants`

## Request

- Base URL: `https://api.robosystems.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.robosystems.ai/v1/user/oauth/grants`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Every MCP client the user has authorized through OAuth, with the one graph each connection reaches. Active grants only: a revoked grant cannot be reinstated, so it leaves the list.

## Response `200`

Successful Response

- OAuthGrantsResponse: Response model for listing connected apps.
  - `grants` OAuthGrantInfo[], required: Active OAuth grants, newest first
    - `id` string, required: Grant ID
    - `client_name` string, required: The connected client's display name
    - `client_uri` string, nullable: The client's homepage, if declared
    - `client_is_trusted` boolean, required: Whether the client is on the trusted list (pre-registered, or a known metadata-document host). Untrusted clients registered themselves.
    - `graph_id` string, required: The one graph this consent reaches
    - `graph_name` string, nullable: The graph's display name, when the graph still exists
    - `resource` string, required: The MCP URL the grant's tokens are bound to (their audience)
    - `scope` string, required: Granted scopes, space-separated
    - `created_at` string, required: When the user consented
    - `last_used_at` string, nullable: Last token use, if any

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Access denied
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/robosystems/apis/robosystems-api.md) · [All operations](https://skmtc.dev/robosystems/apis/robosystems-api/llms.txt) · [OpenAPI document](https://skmtc.dev/robosystems/apis/robosystems-api/revisions/e661e2d5ca6a?raw)
