ApiClient
Api Client resource for Authentication Service.
This resource supports the following standard methods: create(), load(), update(), delete(). They operate on the instance state — set properties with dot notation, then call the method with no arguments. Any other action listed below is a custom action that takes explicit keyword arguments and returns a value.
Quick Start
import zssdk
import logging
# Enable debug logging for ApiClient
logging.getLogger('zssdk.zid').setLevel(logging.DEBUG)
logging.basicConfig(level=logging.DEBUG)
session = zssdk.Session(
vanity_domain="your-vanity-domain",
client_id="your-client-id",
client_secret="your-client-secret",
)
# Get a specific ApiClient
resource = session.zid.ApiClient(id="your-resource-id")
resource.load()
print(resource)
# Debug output shows HTTP request/response details
Identifiers
| Name | Type | Description |
|---|---|---|
id | string | Unique identifier |
Actions
create()
Creates a new ApiClient. Set properties on the resource instance, then call create() — this method takes no arguments.
Properties for creation:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | - |
description | string | No | - |
status | boolean | No | - |
access_token_life_time | integer | Yes | - |
client_authentication | ClientAuthenticationReq | Yes | - |
client_resources | ClientResourceRespWrapperCollection | Yes | - |
Returns: ApiClient
Example:
resource = session.zid.ApiClient()
resource.name = "example-name"
resource.access_token_life_time = 3600
resource.client_authentication = {"client_JWKs_url": "https://example.com", "public_keys": [{"key_name": "example-key-name", "key_value": "value"}], "client_certificates": [{"cert_content": "value"}], "auth_type": "value"}
resource.client_resources = [{"name": "example-name", "default_api": True, "id": "resource-id", "selected_scopes": [{"name": "example-name", "id": "resource-id"}]}]
resource.create()
print(f"Created with ID: {resource.id}")
delete()
Deletes a ApiClient by id. Only the id identifier is required; delete() takes no other arguments.
Example:
resource = session.zid.ApiClient(id="your-resource-id")
resource.delete()
load()
Fetches an existing ApiClient by id. Only the id identifier is required; load() takes no other arguments.
Returns: ApiClient
Example:
resource = session.zid.ApiClient(id="your-resource-id")
resource.load()
print(resource.name)
update()
Updates an existing ApiClient. Call load() first, modify properties, then call update() — this method takes no arguments.
Properties for update:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | - |
description | string | No | - |
status | boolean | No | - |
access_token_life_time | integer | Yes | - |
client_authentication | ClientAuthenticationReq | Yes | - |
client_resources | ClientResourceRespWrapperCollection | Yes | - |
Returns: ApiClient
Example:
resource = session.zid.ApiClient(id="your-resource-id")
resource.load()
resource.name = "Updated value"
resource.update()
add_secret()
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
expires_at | long | Yes | - |
Returns: ApiClientSecret
Example:
resource = session.zid.ApiClient(id="your-resource-id")
result = resource.add_secret(expires_at=3600)
print(result)
delete_secret()
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
secret_id | string | Yes | - |
Example:
resource = session.zid.ApiClient(id="your-resource-id")
result = resource.delete_secret(secret_id="resource-id")
print(result)
Attributes
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | - |
description | string | No | - |
status | boolean | No | - |
access_token_life_time | integer | Yes | - |
client_authentication | ClientAuthenticationReq | Yes | - |
client_resources | ClientResourceRespWrapperCollection | Yes | - |
id | string | Yes | - |
Related
- ApiClient - Data structure definition
- Logging guide - enable verbose logs while debugging this resource