Resource context
Usage reads require
chainId even though the type marks it optional. Use the wallet type’s network form: a bare decimal chain ID such as "8453" for EVM, or a prefixed network identifier such as solana:mainnet, sui:mainnet, cosmos:cosmoshub-4, stellar:testnet, or the Stellar network passphrase. Usage reads do not accept eip155: IDs or unprefixed Cosmos chain IDs. tokenAddress is an EVM token address, or the exact asset identity used in the policy for other wallet types.policyVersion identifies an immutable authored version. expectedRevision below identifies a mutable settings revision. Read the resource before writing and submit its current revision; use zero when no revision exists. A stale revision does not silently overwrite a newer update.
Adjustable parameters
values maps declared parameter IDs to their values. Amounts use the policy fact’s units, including base units where specified; do not substitute a formatted currency amount.
PermissionsV2UserAdjustablePolicyListResponse contains policies, an array of parameter views.
PermissionsV2UserParameterView identifies the user, application, policy version, and hash, and includes parameters, revision, and provenance (default or personal). Each parameter descriptor has id, label, defaultValue, fact, and optional asset and window.
status: "ready"includes currentvalues; stored revisions also includeconfigurationHash.status: "needs_confirmation"includespreviousValues. They are not confirmed values for the current policy version.
Approval configuration and authority
PermissionsV2AuthorizationConfigurationView, PermissionsV2AuthoritySetView, and PermissionsV2AuthorizationScopeBindingView return their resource identity, revision, changedAt, and changedBy. Configuration views also contain values and configurationHash. PermissionsV2EffectiveAuthorizationConfiguration returns the authored requirement, stored configuration (or null), and effectiveRequirement.
Capabilities describe which requirements the current user can manage. They are not a list of other scope members or a signing authorization.
Signature collection
PermissionsV2ApprovalSignatureCollectionResult returns caseId, status, and expiresAt. PermissionsV2ApprovalSigningPayload returns caseId, transaction, payloadDigest, and signingPayloadBase64. PermissionsV2ApprovalSignatures adds signatures, each containing walletId, signature, and actorId.
Collected signatures are not an onchain submission. Your chain-specific integration remains responsible for assembling and broadcasting the intended transaction.
Discovery, consent, and cases
Policy lifecycle values are
active, inactive, superseded, and archived. Activation timestamps additionally govern when a policy is effective. Consent status is pending, standing, manual_review, revoked, or expired.
Approval case status is pending, completed, rejected, expired, or invalidated. completed means the approval requirement was satisfied; it does not itself establish that a transaction was broadcast.
An approval case’s decision says whether the current user can decide and, if not, why: not_eligible, initiator, already_decided, case_terminal, or authority_changed. Partner backend case reads omit this user-specific field. Reading an initiated case does not grant approval authority.
Usage and history
PermissionsV2PolicyUsage identifies the policy, wallet, user (or null), application, and snapshot timestamp asOf. It includes the applicable parameter configuration and meters.
Each meter identifies the rule and condition, fact, operator, ruleEffect, assetType (NATIVE, ERC20, or TOKEN), optional tokenAddress, chain, window, bucket start/reset time, and string-valued limitBaseUnits, committedBaseUnits, reservedBaseUnits, and usedBaseUnits. remainingBaseUnits may be null. A usage snapshot is not a transaction evaluation result.
listAccessibleApprovalCases returns { cases: PermissionsV2ConditionalApprovalCaseView[] } without a pagination cursor. Portal URL methods return a string to open through your application’s browser integration.