subscription.actor-rbac-seat.internal-grant ​
Internal non-Stripe paid RBAC actor seat grant.
Grant one existing paid agent seat to a Staff actor without touching Stripe.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Atomic |
| Library | App-subscription |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
organization_uuid | uuid | Yes | — | Organization UUID for tenant isolation. |
subscription_uuid | uuid | No | — | Optional platform subscription UUID; omitted resolves the active platform subscription. |
staff_actor_uuid | string | Yes | — | Staff actor UUID to grant a paid RBAC seat to. |
name | string | No | — | Optional agent identity name when creating the identity. |
description | string | No | — | Optional agent identity description when creating the identity. |
reason | string | No | — | Internal audit/source reason. |
source_workflow_ref | string | No | — | Calling workflow reference. |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
organization_uuid | uuid | No | — | Organization UUID. |
subscription_uuid | uuid | No | — | Platform subscription UUID. |
staff_actor_uuid | string | No | — | Staff actor UUID. |
agent_uuid | string | No | — | Agent identity UUID. |
operation | string | No | — | Internal seat operation. |
status | string | No | — | Operation status. |
permission_mode | string | No | — | Current actor permission mode. |
seat_mode | string | No | — | Current actor seat mode. |
token_state | string | No | — | Current token state. |
active_token_count | integer | No | — | Active exported token count. |
revoked_token_count | integer | No | — | Tokens revoked by this operation. |
token_refresh_required | boolean | No | — | True when the actor needs fresh credentials after a safe revoke/grant cycle. |
subscription_status | string | No | — | Current subscription status. |
current_period_end | string | No | — | Current billing period end timestamp. |
explanation | string | No | — | Paid RBAC actor seat model explanation. |
paid_rbac_actor_seats_total | integer | No | — | Paid agent seat pool total. |
paid_rbac_actor_seats_used | integer | No | — | Paid Staff actors currently consuming seats. |
integration_key_seats_used | integer | No | — | Integration keys consuming the same paid agent pool. |
shared_paid_agent_seats_used | integer | No | — | Total paid agent seats currently consumed. |
paid_rbac_actor_seats_available | integer | No | — | Remaining paid agent seats. |
purchase_required | boolean | No | — | True when no paid agent seat remains available. |
stripe_ready | boolean | No | — | Existing customer billing readiness signal. |
stripe_calls | list | No | — | Always empty for internal non-Stripe seat grants/revokes. |
prior | json | No | — | Prior actor and seat status. |
completed_at | string | No | — | Completion timestamp. |
failed_at | string | No | — | Failure timestamp. |
failure_reason | string | No | — | Failure reason. |
error | string | No | — | Unexpected error message. |
error_type | string | No | — | Unexpected error class. |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | execute | — |
completed | No | Yes | Yes | — | — |
failed | No | Yes | No | — | — |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
pending | execute | completed | — |
pending | fail | failed | — |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "subscription.actor-rbac-seat.internal-grant",
"initial_data": {
"organization_uuid": "value",
"staff_actor_uuid": "value"
}
}