Skip to content
API Reference

Create application

zones.applications.create(strzone_id, ApplicationCreateParams**kwargs) -> Application
POST/zones/{zoneId}/applications

Creates a new Application - a software system with an identity that can access Resources

ParametersExpand Collapse
zone_id: str
identifier: str

User specified identifier, unique within the zone

minLength1
maxLength2048
name: str

Human-readable name

minLength1
maxLength255
dependencies: Optional[Iterable[Dependency]]

Dependencies of the application

id: str

Resource identifier

type: Optional[str]
description: Optional[str]

Human-readable description

maxLength2048
metadata: Optional[MetadataParam]

Entity metadata

docs_url: Optional[str]

Documentation URL

formaturi
maxLength2048
protocols: Optional[Protocols]

Protocol-specific configuration for application creation

oauth2: Optional[ProtocolsOauth2]

OAuth 2.0 protocol configuration for application creation

post_logout_redirect_uris: Optional[SequenceNotStr[str]]

OAuth 2.0 post-logout redirect URIs for this application

redirect_uris: Optional[SequenceNotStr[str]]

OAuth 2.0 redirect URIs for this application

ReturnsExpand Collapse
class Application:

An Application is a software system with an associated identity that can access Resources. It may act on its own behalf (machine-to-machine) or on behalf of a user (delegated access).

id: str

Unique identifier of the application

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

Create application

from keycardai_api import KeycardAPI

client = KeycardAPI()
application = client.zones.applications.create(
    zone_id="zoneId",
    identifier="x",
    name="x",
)
print(application.id)
{
  "id": "id",
  "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"
      ]
    }
  }
}
Returns Examples
{
  "id": "id",
  "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"
      ]
    }
  }
}