GET /v1/users/me/connected-apps
Service: identity · operationId: (none)
List OAuth apps the authenticated user has granted access to
Required scopes
(no scope declared — review service config)
Responses
200 Connected apps list
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"client_id": {
"type": "string",
"description": "OAuth client_id"
},
"client_name": {
"type": "string",
"description": "Human-readable app name"
},
"client_uri": {
"type": [
"string",
"null"
],
"description": "App homepage URL"
},
"logo_uri": {
"type": [
"string",
"null"
],
"description": "App logo URL"
},
"is_first_party": {
"type": "boolean",
"description": "Whether this is a Loop-owned app"
},
"scopes_granted": {
"type": "array",
"items": {
"type": "string"
},
"description": "Scopes the user consented to"
},
"granted_at": {
"type": "string",
"description": "ISO 8601 timestamp of initial consent"
},
"updated_at": {
"type": "string",
"description": "ISO 8601 timestamp of last scope change"
}
},
"required": [
"client_id",
"client_name",
"client_uri",
"logo_uri",
"is_first_party",
"scopes_granted",
"granted_at",
"updated_at"
]
}
}
},
"required": [
"data"
]
}401 Not authenticated
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"error",
"message"
]
}500 Internal server error
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"error",
"message"
]
}Example
curl -X GET https://identity.platform.loop.health/v1/users/me/connected-apps \
-H "Authorization: Bearer $ACCESS_TOKEN"Related
services/identity— service overview- All endpoints — directory across services
- Auth model — how scopes are enforced