Skip to content
Docs
Applications

List applications

List applications

GET/zones/{zoneId}/applications

Returns a paginated list of applications in the specified zone. Use cursor pagination via after/before. Sort: comma-separated field list; prefix with - for descending. Use expand[]=total_count to include the matching row count. Filter by exact slug via filter[slug] and by exact identifier via filter[identifier]. Search via query[name] / query[identifier] / query[] (substring match, OR'd across repeated values). query[] matches against name and identifier. Pass filter[id] (repeatable, max 100) to restrict results to a known set of applications — mutually exclusive with after/before (returns 400 if combined). When filter[id] is set, limit is ignored and the response contains every requested application that exists in the zone, in a single page. IDs not in the zone are silently omitted.

Path ParametersExpand Collapse
zoneId: string
Query ParametersExpand Collapse
after: optional string

Cursor for forward pagination

minLength1
maxLength255
before: optional string

Cursor for backward pagination

minLength1
maxLength255
"expand[]": optional "total_count" or array of "total_count"
Accepts one of the following:
UnionMember0 = "total_count"
UnionMember1 = array of "total_count"
"filter[id]": optional string or array of string

Restrict results to applications with this publicId. Repeatable, max 100. Mutually exclusive with after/before.

Accepts one of the following:
UnionMember0 = string

Restrict results to applications with this publicId. Repeatable, max 100. Mutually exclusive with after/before.

UnionMember1 = array of string
"filter[identifier]": optional string or array of string

Filter by exact application identifier

Accepts one of the following:
UnionMember0 = string

Filter by exact application identifier

UnionMember1 = array of string
"filter[slug]": optional string or array of string

Filter by exact application slug

Accepts one of the following:
UnionMember0 = string

Filter by exact application slug

UnionMember1 = array of string
identifier: optional string
limit: optional number

Maximum number of items to return

minimum1
maximum100
"query[]": optional string or array of string

Search across name and identifier (substring match)

Accepts one of the following:
UnionMember0 = string

Search across name and identifier (substring match)

UnionMember1 = array of string
"query[identifier]": optional string or array of string

Search by identifier (substring match)

Accepts one of the following:
UnionMember0 = string

Search by identifier (substring match)

UnionMember1 = array of string
"query[name]": optional string or array of string

Search by name (substring match)

Accepts one of the following:
UnionMember0 = string

Search by name (substring match)

UnionMember1 = array of string
slug: optional string
sort: optional string

Comma-separated sort fields. Prefix with - for descending. Allowed: created_at, name, identifier

traits: optional array of ApplicationTrait

Filter by traits (OR matching - returns applications with any of the specified traits)

Accepts one of the following:
"gateway"
"mcp-provider"
"traits[all]": optional array of ApplicationTrait

Filter by traits (AND matching - returns applications with all of the specified traits)

Accepts one of the following:
"gateway"
"mcp-provider"
ReturnsExpand Collapse
items: array of Application { id, consent, created_at, 11 more }
id: string

Unique identifier of the application

Accepts one of the following:
created_at: string

Entity creation timestamp

formatdate-time
dependencies_count: number

Number of resource dependencies

identifier: string

User specified identifier, unique within the zone

minLength1
maxLength2048
name: string

Human-readable name

minLength1
maxLength255
organization_id: string

Organization that owns this application

owner_type: "platform" or "customer"

Who owns this application. Platform-owned applications cannot be modified via API.

Accepts one of the following:
"platform"
"customer"
slug: string

URL-safe identifier, unique within the zone

minLength1
maxLength63
updated_at: string

Entity update timestamp

formatdate-time
zone_id: string

Zone this application belongs to

description: optional string

Human-readable description

maxLength2048
metadata: optional Metadata { docs_url }

Entity metadata

docs_url: optional string

Documentation URL

formaturi
maxLength2048
protocols: optional object { oauth2 }

Protocol-specific configuration

oauth2: optional object { post_logout_redirect_uris, redirect_uris }

OAuth 2.0 protocol configuration

post_logout_redirect_uris: optional array of string

OAuth 2.0 post-logout redirect URIs for this application

redirect_uris: optional array of string

OAuth 2.0 redirect URIs for this application

Deprecatedpage_info: PageInfoPagination { has_next_page, has_previous_page, end_cursor, start_cursor }

Pagination information

has_next_page: boolean

Whether there are more items after the current page

has_previous_page: boolean

Whether there are items before the current page

end_cursor: optional string

Cursor pointing to the last item in the current page

start_cursor: optional string

Cursor pointing to the first item in the current page

List applications

curl https://api.keycard.ai/zones/$ZONE_ID/applications
{
  "items": [
    {
      "id": "id",
      "consent": "implicit",
      "created_at": "2019-12-27T18:11:19.117Z",
      "dependencies_count": 0,
      "identifier": "x",
      "name": "x",
      "organization_id": "organization_id",
      "owner_type": "platform",
      "slug": "slug",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "zone_id": "zone_id",
      "description": "description",
      "metadata": {
        "docs_url": "https://example.com"
      },
      "protocols": {
        "oauth2": {
          "post_logout_redirect_uris": [
            "https://example.com"
          ],
          "redirect_uris": [
            "https://example.com"
          ]
        }
      }
    }
  ],
  "page_info": {
    "has_next_page": true,
    "has_previous_page": true,
    "end_cursor": "end_cursor",
    "start_cursor": "start_cursor"
  },
  "pagination": {
    "after_cursor": "x",
    "before_cursor": "x",
    "total_count": 0
  }
}
Returns Examples
{
  "items": [
    {
      "id": "id",
      "consent": "implicit",
      "created_at": "2019-12-27T18:11:19.117Z",
      "dependencies_count": 0,
      "identifier": "x",
      "name": "x",
      "organization_id": "organization_id",
      "owner_type": "platform",
      "slug": "slug",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "zone_id": "zone_id",
      "description": "description",
      "metadata": {
        "docs_url": "https://example.com"
      },
      "protocols": {
        "oauth2": {
          "post_logout_redirect_uris": [
            "https://example.com"
          ],
          "redirect_uris": [
            "https://example.com"
          ]
        }
      }
    }
  ],
  "page_info": {
    "has_next_page": true,
    "has_previous_page": true,
    "end_cursor": "end_cursor",
    "start_cursor": "start_cursor"
  },
  "pagination": {
    "after_cursor": "x",
    "before_cursor": "x",
    "total_count": 0
  }
}