Environments can also be managed in the KeyStone Dashboard under Settings > Environments - no code required.
create
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | - | Display name |
slug | string | Yes | - | URL-friendly identifier (lowercase, hyphens) |
auth0ClientId | string | Yes | - | M2M client ID for this environment |
webhookUrl | string | No | - | Default webhook URL |
webhookSecret | string | No | - | Default webhook secret |
defaultTimeoutSeconds | number | No | 3600 | Default settlement timeout (60 to 604800) |
list / get
EnvironmentRead
| Field | Type | Description |
|---|---|---|
id | string | Environment UUID |
platformId | string | Parent platform UUID |
name | string | Display name |
slug | string | URL-friendly identifier |
auth0ClientId | string | M2M credential for this environment |
webhookUrl | string | null | Default webhook URL |
apiVersion | string | null | Pinned API version |
defaultTimeoutSeconds | number | Default settlement timeout |
isActive | boolean | Whether M2M auth is accepted |
rateLimitRpm | number | null | Rate limit override (requests per minute) |
createdAt | string | Creation timestamp |
updatedAt | string | Last update timestamp |
update
| Field | Type | Description |
|---|---|---|
name | string | Display name |
webhookUrl | string | null | Default webhook URL |
webhookSecret | string | null | Default webhook secret |
defaultTimeoutSeconds | number | Settlement timeout |
isActive | boolean | Enable or disable |
rateLimitRpm | number | null | Rate limit override |
deactivate
Deactivate an environment. Preserves all data but blocks M2M authentication using this environment’s credentials.update with isActive: true.