Admin actions
Use one_get_admin_configuration to inspect settings. Call one_get_admin_action_contract with an action name before constructing the request. one_plan_admin_change creates the saved preview; one_apply_action_plan applies it only after approval.
App actions require an exact appId and matching environment. Workspace operations omit both. App metadata, entitlement definitions and Support labels affect shared configuration and require a workspace-wide token. Workspace settings and member role changes also require the token issuer to remain an owner.
Existing campaign, remote config and rule changes use one_create_action_plan; their request schemas are also available from one_get_admin_action_contract. These use their existing validation rules. They are not covered by the new configuration snapshot mechanism.
New Admin plans pin their current configuration and reject changes made after preview. Concurrent applications of the same plan are serialized. A network timeout can still leave an external provider operation uncertain; inspect its state before taking further action.
Webhook creation requires a signing secret at apply time. Optional custom headers can be provided only during creation, also at apply time. Readbacks expose header names, never values. Header updates and signing-secret rotation remain in Admin.
apps.configure
Section titled “apps.configure”Required scope: apps:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "appearance": { "type": "object", "properties": { "version": { "type": "string", "const": "1.0" }, "mode": { "type": "string", "enum": [ "light", "dark", "system" ] }, "variables": { "type": "object", "properties": { "accent": { "type": "string", "maxLength": 2048 }, "accentFg": { "type": "string", "maxLength": 2048 }, "bg": { "type": "string", "maxLength": 2048 }, "fg": { "type": "string", "maxLength": 2048 }, "muted": { "type": "string", "maxLength": 2048 }, "mutedFg": { "type": "string", "maxLength": 2048 }, "border": { "type": "string", "maxLength": 2048 }, "radius": { "type": "string", "maxLength": 2048 }, "shadow": { "type": "string", "enum": [ "none", "sm", "md" ] }, "fontFamily": { "type": "string", "enum": [ "system", "inter", "sf-pro", "geist" ] }, "logo": { "type": "string", "maxLength": 2048 }, "authBg": { "type": "string", "maxLength": 2048 }, "authBgImage": { "type": "string", "maxLength": 2048 }, "brandGradient": { "type": "string", "maxLength": 2048 }, "darkBg": { "type": "string", "maxLength": 2048 }, "darkFg": { "type": "string", "maxLength": 2048 }, "darkAccent": { "type": "string", "maxLength": 2048 } }, "additionalProperties": false } }, "required": [ "version", "mode", "variables" ], "additionalProperties": false }, "bundleId": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 255 }, { "type": "null" } ] }, "webOrigin": { "anyOf": [ { "type": "string", "format": "uri" }, { "type": "null" } ] } }, "additionalProperties": false}apps.configure_auth
Section titled “apps.configure_auth”Required scope: apps:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "emailPasswordEnabled": { "type": "boolean" }, "magicLinkEnabled": { "type": "boolean" }, "redirectUrls": { "maxItems": 20, "type": "array", "items": { "type": "string", "format": "uri" } }, "sessionMode": { "type": "string", "enum": [ "persistent", "rolling", "absolute" ] }, "sessionInactivityDays": { "anyOf": [ { "type": "integer", "minimum": 1, "maximum": 3650 }, { "type": "null" } ] }, "sessionAbsoluteDays": { "anyOf": [ { "type": "integer", "minimum": 1, "maximum": 3650 }, { "type": "null" } ] }, "recentAuthenticationWindowSeconds": { "anyOf": [ { "type": "integer", "minimum": 60, "maximum": 86400 }, { "type": "null" } ] }, "passwordMaxAgeDays": { "anyOf": [ { "type": "integer", "minimum": 1, "maximum": 3650 }, { "type": "null" } ] }, "accountDeletion": { "type": "object", "properties": { "mode": { "type": "string", "enum": [ "delete_customer", "delete_credential" ] }, "requireCurrentPassword": { "type": "boolean" }, "scrubCustomerProfile": { "type": "boolean" }, "detachCustomerAuthUser": { "type": "boolean" }, "detachWorkspaceCustomer": { "type": "boolean" }, "deleteCustomerAuthUserWhenUnused": { "type": "boolean" }, "credentialProviderIds": { "minItems": 1, "maxItems": 20, "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$" } } }, "required": [ "mode", "requireCurrentPassword", "scrubCustomerProfile", "detachCustomerAuthUser", "detachWorkspaceCustomer", "deleteCustomerAuthUserWhenUnused", "credentialProviderIds" ], "additionalProperties": false }, "restoreDeletedCredentialsOnSignup": { "type": "boolean" }, "emailChangeMode": { "type": "string", "enum": [ "verification_link", "password_confirmed" ] } }, "additionalProperties": false}apps.configure_support
Section titled “apps.configure_support”Required scope: apps:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "contactMode": { "type": "string", "enum": [ "optional_email", "required_email", "authenticated_account" ] }, "emailVerificationMode": { "type": "string", "enum": [ "none", "optional", "required" ] } }, "required": [ "contactMode", "emailVerificationMode" ], "additionalProperties": false}catalog.manage_entitlement
Section titled “catalog.manage_entitlement”Required scope: catalog:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "operation": { "type": "string", "const": "create" }, "values": { "type": "object", "properties": { "identifier": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[a-z0-9_]+$" }, "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "description": { "anyOf": [ { "type": "string", "maxLength": 1000 }, { "type": "null" } ] } }, "required": [ "identifier", "name" ], "additionalProperties": false } }, "required": [ "operation", "values" ], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "update" }, "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "values": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "description": { "anyOf": [ { "type": "string", "maxLength": 1000 }, { "type": "null" } ] } }, "additionalProperties": false } }, "required": [ "operation", "id", "values" ], "additionalProperties": false } ]}messaging.manage_template
Section titled “messaging.manage_template”Required scope: messaging:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "operation": { "type": "string", "const": "create" }, "values": { "type": "object", "properties": { "identifier": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[a-z0-9_-]+$" }, "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "channel": { "default": "email", "type": "string", "enum": [ "email", "push" ] }, "category": { "default": "transactional", "type": "string", "enum": [ "transactional", "lifecycle", "marketing", "system" ] }, "locale": { "default": "default", "type": "string", "minLength": 1, "maxLength": 32 }, "enabled": { "default": true, "type": "boolean" }, "subject": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bodyText": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "contentType": { "default": "mjml", "type": "string", "enum": [ "mjml", "html", "text", "push" ] }, "contentSource": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "contentHtml": { "type": "string" }, "dataPayload": { "anyOf": [ { "anyOf": [ { "type": "string" }, { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } ] }, { "type": "null" } ] }, "variables": { "anyOf": [ { "anyOf": [ { "type": "string" }, { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } ] }, { "type": "null" } ] } }, "required": [ "identifier", "name" ], "additionalProperties": false } }, "required": [ "operation", "values" ], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "update" }, "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "values": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "category": { "type": "string", "enum": [ "transactional", "lifecycle", "marketing", "system" ] }, "locale": { "type": "string", "minLength": 1, "maxLength": 32 }, "enabled": { "type": "boolean" }, "subject": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bodyText": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "contentType": { "type": "string", "enum": [ "mjml", "html", "text", "push" ] }, "contentSource": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "contentHtml": { "type": "string" }, "dataPayload": { "anyOf": [ { "anyOf": [ { "type": "string" }, { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } ] }, { "type": "null" } ] }, "variables": { "anyOf": [ { "anyOf": [ { "type": "string" }, { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } ] }, { "type": "null" } ] } }, "additionalProperties": false } }, "required": [ "operation", "id", "values" ], "additionalProperties": false } ]}messaging.manage_trigger
Section titled “messaging.manage_trigger”Required scope: messaging:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "operation": { "type": "string", "const": "create" }, "values": { "type": "object", "properties": { "identifier": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9_-]+$" }, "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "source": { "default": "event", "type": "string", "enum": [ "event", "auth", "billing", "api", "manual" ] }, "eventType": { "anyOf": [ { "type": "string", "maxLength": 100 }, { "type": "null" } ] }, "enabled": { "default": true, "type": "boolean" }, "delaySeconds": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2592000 }, "cooldownSeconds": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2592000 } }, "required": [ "identifier", "name" ], "additionalProperties": false } }, "required": [ "operation", "values" ], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "update" }, "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "values": { "type": "object", "properties": { "identifier": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9_-]+$" }, "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "source": { "type": "string", "enum": [ "event", "auth", "billing", "api", "manual" ] }, "eventType": { "anyOf": [ { "type": "string", "maxLength": 100 }, { "type": "null" } ] }, "enabled": { "type": "boolean" }, "delaySeconds": { "type": "integer", "minimum": 0, "maximum": 2592000 }, "cooldownSeconds": { "type": "integer", "minimum": 0, "maximum": 2592000 } }, "additionalProperties": false } }, "required": [ "operation", "id", "values" ], "additionalProperties": false } ]}messaging.bind_template_trigger
Section titled “messaging.bind_template_trigger”Required scope: messaging:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "triggerId": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 200 }, { "type": "null" } ] } }, "required": [ "id", "triggerId" ], "additionalProperties": false}webhooks.manage_destination
Section titled “webhooks.manage_destination”Required scope: webhooks:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "operation": { "type": "string", "const": "create" }, "values": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 120 }, "url": { "type": "string", "maxLength": 2048, "format": "uri" }, "enabled": { "type": "boolean" }, "eventTypes": { "maxItems": 200, "type": "array", "items": { "type": "string", "enum": [ "session_start", "session_end", "deep_link_open", "app_activity", "milestone_recorded", "onboarding_step_viewed", "paywall_requested", "paywall_shown", "paywall_closed", "paywall_product_selected", "paywall_screen_changed", "product_offer_redemption_updated", "paywall_checkout_requested", "checkout_started", "purchase_started", "purchase_already_entitled", "purchase_cancelled", "purchase_pending", "purchase_failed", "purchase_sync_failed", "purchase_succeeded", "restore_started", "restore_succeeded", "restore_failed", "sdk_access_observed", "restore_operation_updated", "apple_order_recovery_succeeded", "apple_access_observed", "billing_operation_failed", "surface_impression", "subscription_started", "subscription_trial_started", "subscription_trial_converted", "purchase_verified", "purchase_refunded", "purchase_refund_reversed", "purchase_refund_declined", "subscription_renewed", "subscription_renewal_extended", "subscription_renewal_preference_changed", "subscription_renewal_failed", "subscription_expired", "subscription_cancelled", "subscription_cancellation_scheduled", "subscription_reactivated", "subscription_paused", "subscription_resumed", "purchase_revoked", "price_change_detected", "grace_period_started", "grace_period_ended", "purchase_refund_requested", "offer_redeemed", "entitlement_granted", "entitlement_revoked", "notification_sent", "notification_opened", "webhook_delivered", "webhook_failed", "email_changed", "password_changed", "signup", "signin", "signout", "account_deleted", "customer_note_added", "app_crash_reported", "app_error_reported", "identity_attached", "customer_first_seen" ] } } }, "required": [ "name", "url" ], "additionalProperties": false } }, "required": [ "operation", "values" ], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "update" }, "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "values": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 120 }, "url": { "type": "string", "maxLength": 2048, "format": "uri" }, "enabled": { "type": "boolean" }, "eventTypes": { "maxItems": 200, "type": "array", "items": { "type": "string", "enum": [ "session_start", "session_end", "deep_link_open", "app_activity", "milestone_recorded", "onboarding_step_viewed", "paywall_requested", "paywall_shown", "paywall_closed", "paywall_product_selected", "paywall_screen_changed", "product_offer_redemption_updated", "paywall_checkout_requested", "checkout_started", "purchase_started", "purchase_already_entitled", "purchase_cancelled", "purchase_pending", "purchase_failed", "purchase_sync_failed", "purchase_succeeded", "restore_started", "restore_succeeded", "restore_failed", "sdk_access_observed", "restore_operation_updated", "apple_order_recovery_succeeded", "apple_access_observed", "billing_operation_failed", "surface_impression", "subscription_started", "subscription_trial_started", "subscription_trial_converted", "purchase_verified", "purchase_refunded", "purchase_refund_reversed", "purchase_refund_declined", "subscription_renewed", "subscription_renewal_extended", "subscription_renewal_preference_changed", "subscription_renewal_failed", "subscription_expired", "subscription_cancelled", "subscription_cancellation_scheduled", "subscription_reactivated", "subscription_paused", "subscription_resumed", "purchase_revoked", "price_change_detected", "grace_period_started", "grace_period_ended", "purchase_refund_requested", "offer_redeemed", "entitlement_granted", "entitlement_revoked", "notification_sent", "notification_opened", "webhook_delivered", "webhook_failed", "email_changed", "password_changed", "signup", "signin", "signout", "account_deleted", "customer_note_added", "app_crash_reported", "app_error_reported", "identity_attached", "customer_first_seen" ] } } }, "additionalProperties": false } }, "required": [ "operation", "id", "values" ], "additionalProperties": false } ]}webhooks.test_destination
Section titled “webhooks.test_destination”Required scope: webhooks:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 } }, "required": [ "id" ], "additionalProperties": false}webhooks.retry_delivery
Section titled “webhooks.retry_delivery”Required scope: webhooks:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 } }, "required": [ "id" ], "additionalProperties": false}workspace.update_settings
Section titled “workspace.update_settings”Required scope: workspace:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "slug": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[a-z0-9-]+$" } }, "additionalProperties": false}workspace.update_project
Section titled “workspace.update_project”Required scope: workspace:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "name": { "type": "string", "minLength": 1, "maxLength": 100 } }, "required": [ "id", "name" ], "additionalProperties": false}workspace.update_member_role
Section titled “workspace.update_member_role”Required scope: workspace:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "role": { "type": "string", "enum": [ "owner", "admin", "member" ] } }, "required": [ "id", "role" ], "additionalProperties": false}integrations.validate_connection
Section titled “integrations.validate_connection”Required scope: integrations:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 } }, "required": [ "id" ], "additionalProperties": false}integrations.update_connection
Section titled “integrations.update_connection”Required scope: integrations:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "values": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "status": { "type": "string", "enum": [ "active", "disabled" ] } }, "additionalProperties": false } }, "required": [ "id", "values" ], "additionalProperties": false}integrations.update_mapping
Section titled “integrations.update_mapping”Required scope: integrations:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "connectionId": { "type": "string", "minLength": 1 }, "values": { "type": "object", "properties": { "externalAppName": { "type": "string", "minLength": 1, "maxLength": 200 }, "enabled": { "type": "boolean" } }, "additionalProperties": false } }, "required": [ "id", "connectionId", "values" ], "additionalProperties": false}integrations.configure_email
Section titled “integrations.configure_email”Required scope: integrations:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "anyOf": [ { "type": "object", "properties": { "enabled": { "type": "boolean" }, "replaceCredentials": { "type": "boolean" }, "publicConfig": { "type": "object", "properties": { "accountId": { "type": "string", "minLength": 1, "maxLength": 100 }, "sendingDomain": { "type": "string", "minLength": 1, "maxLength": 255 }, "fromAddress": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "fromName": { "type": "string", "maxLength": 100 }, "replyTo": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" } }, "required": [ "accountId", "sendingDomain", "fromAddress" ], "additionalProperties": false } }, "required": [ "enabled", "replaceCredentials", "publicConfig" ], "additionalProperties": false }, { "type": "object", "properties": { "enabled": { "type": "boolean" }, "replaceCredentials": { "type": "boolean", "const": false }, "useExistingBinding": { "type": "boolean", "const": true }, "publicConfig": { "type": "object", "properties": { "fromAddress": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "fromName": { "type": "string", "maxLength": 100 }, "replyTo": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" } }, "required": [ "fromAddress" ], "additionalProperties": false } }, "required": [ "enabled", "replaceCredentials", "useExistingBinding", "publicConfig" ], "additionalProperties": false } ]}messaging.manage_support_label
Section titled “messaging.manage_support_label”Required scope: messaging:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "operation": { "type": "string", "const": "create" }, "values": { "type": "object", "properties": { "title": { "type": "string", "minLength": 1, "maxLength": 40 }, "color": { "type": "string", "enum": [ "slate", "blue", "green", "amber", "rose", "violet" ] } }, "required": [ "title", "color" ], "additionalProperties": false } }, "required": [ "operation", "values" ], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "update" }, "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "values": { "type": "object", "properties": { "title": { "type": "string", "minLength": 1, "maxLength": 40 }, "color": { "type": "string", "enum": [ "slate", "blue", "green", "amber", "rose", "violet" ] } }, "required": [ "title", "color" ], "additionalProperties": false } }, "required": [ "operation", "id", "values" ], "additionalProperties": false } ]}messaging.set_support_status
Section titled “messaging.set_support_status”Required scope: messaging:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "status": { "type": "string", "enum": [ "open", "resolved" ] } }, "required": [ "id", "status" ], "additionalProperties": false}messaging.set_support_read_state
Section titled “messaging.set_support_read_state”Required scope: messaging:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "read": { "type": "boolean" } }, "required": [ "id", "read" ], "additionalProperties": false}messaging.set_support_labels
Section titled “messaging.set_support_labels”Required scope: messaging:write.
request must match:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "labelIds": { "maxItems": 20, "type": "array", "items": { "type": "string", "minLength": 1 } } }, "required": [ "id", "labelIds" ], "additionalProperties": false}