---
title: "Search integration accounts"
method: GET
path: "/v1/admin/integration-accounts"
tags: ["admin"]
---

# Search integration accounts

`GET /v1/admin/integration-accounts`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/admin/integration-accounts`
- Auth: HTTP bearer

List integration accounts with filtering, sorting, and pagination.

## Query parameters

- `q` string, nullable: ANTLR filter expression
- `limit` integer, nullable: Page size
- `sort_by` string, nullable: Sort expression (e.g. created_at:desc)
- `fields` string, nullable: Field projection (e.g. id,name)
- `pq` string, nullable: Pagination cursor query
- `from_prev` boolean: Backward pagination flag

## Response `200`

Paginated integration account list.

- ModelsIntegrationIntegrationAccountSearchValidator: Typed cursor-paginated list response.
  - `items` ModelsIntegrationIntegrationAccountFullValidator[], required
    - `id` string, uuid, required
    - `tenant_id` string, uuid, required
    - `provider` string, required
    - `app_slug` string, nullable
    - `app_name` string, nullable
    - `external_account_id` string, required
    - `status_code` 'active' | 'revoked' | 'error' | 'revoking' | 'revoke_failed', required: Lifecycle of a connected account. ``ACTIVE`` is connected and usable. ``REVOKED`` has been disconnected. ``ERROR`` needs reconnecting. ``REVOKING`` is being disconnected and temporarily refuses reconnect. ``REVOKE_FAILED`` is a legacy failed-disconnect status; new settlements no longer write it. A dead letter also releases reconnect, without confirming an upstream kill.
    - `visibility_code` 'team' | 'personal': Who, within a tenant, may use a connected account's tools. ``TEAM``: any actor in the tenant. ``PERSONAL``: only the actor who connected it. Designed to extend to a ``GROUP`` scope later (the Groups model is already on main).
    - `label` string, nullable
    - `scopes` unknown[]
      - unknown
    - `last_synced_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `mcp_endpoint` string, nullable
  - `first` string, nullable
  - `next` string, nullable
  - `previous` string, nullable

## Other responses

- `401`: Unauthorized
- `403`: Permission denied (PERMISSION_DENIED) or email not verified (EMAIL_NOT_VERIFIED)
- `422`: Validation error

---

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