Skip to content
Docs
Applications

List applications

List applications

zones.applications.list(strzone_id, ApplicationListParams**kwargs) -> ApplicationListResponse
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.

ParametersExpand Collapse
zone_id: str
after: Optional[str]

Cursor for forward pagination

minLength1
maxLength255
before: Optional[str]

Cursor for backward pagination

minLength1
maxLength255
expand: Optional[Union[Literal["total_count"], List[Literal["total_count"]]]]
Accepts one of the following:
Literal["total_count"]
List[Literal["total_count"]]
filter_id: Optional[Union[str, SequenceNotStr[str]]]

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

Accepts one of the following:
str

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

SequenceNotStr[str]
filter_identifier: Optional[Union[str, SequenceNotStr[str]]]

Filter by exact application identifier

Accepts one of the following:
str

Filter by exact application identifier

SequenceNotStr[str]
filter_slug: Optional[Union[str, SequenceNotStr[str]]]

Filter by exact application slug

Accepts one of the following:
str

Filter by exact application slug

SequenceNotStr[str]
identifier: Optional[str]
limit: Optional[int]

Maximum number of items to return

minimum1
maximum100
query: Optional[Union[str, SequenceNotStr[str]]]

Search across name and identifier (substring match)

Accepts one of the following:
str

Search across name and identifier (substring match)

SequenceNotStr[str]
query_identifier: Optional[Union[str, SequenceNotStr[str]]]

Search by identifier (substring match)

Accepts one of the following:
str

Search by identifier (substring match)

SequenceNotStr[str]
query_name: Optional[Union[str, SequenceNotStr[str]]]

Search by name (substring match)

Accepts one of the following:
str

Search by name (substring match)

SequenceNotStr[str]
slug: Optional[str]
sort: Optional[str]

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

traits: Optional[List[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[List[ApplicationTrait]]

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

Accepts one of the following:
"gateway"
"mcp-provider"
ReturnsExpand Collapse
class ApplicationListResponse:
items: List[Application]
id: str

Unique identifier of the application

Accepts one of the following:
created_at: datetime

Entity creation timestamp

formatdate-time
dependencies_count: int

Number of resource dependencies

identifier: str

User specified identifier, unique within the zone

minLength1
maxLength2048
name: str

Human-readable name

minLength1
maxLength255
organization_id: str

Organization that owns this application

owner_type: Literal["platform", "customer"]

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

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

URL-safe identifier, unique within the zone

minLength1
maxLength63
updated_at: datetime

Entity update timestamp

formatdate-time
zone_id: str

Zone this application belongs to

description: Optional[str]

Human-readable description

maxLength2048
metadata: Optional[Metadata]

Entity metadata

docs_url: Optional[str]

Documentation URL

formaturi
maxLength2048
protocols: Optional[Protocols]

Protocol-specific configuration

oauth2: Optional[ProtocolsOauth2]

OAuth 2.0 protocol configuration

post_logout_redirect_uris: Optional[List[str]]

OAuth 2.0 post-logout redirect URIs for this application

redirect_uris: Optional[List[str]]

OAuth 2.0 redirect URIs for this application

Deprecatedpage_info: PageInfoPagination

Pagination information

has_next_page: bool

Whether there are more items after the current page

has_previous_page: bool

Whether there are items before the current page

end_cursor: Optional[str]

Cursor pointing to the last item in the current page

start_cursor: Optional[str]

Cursor pointing to the first item in the current page

List applications

from keycardai_api import KeycardAPI

client = KeycardAPI()
applications = client.zones.applications.list(
    zone_id="zoneId",
)
print(applications.items)
{
  "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
  }
}