POST
Create Compliance Request (Issuer)
Submits a freeze or unfreeze compliance request for an address.
Body Params
object
Request body for creating compliance requests (issuer-initiated).
Supports two operation types:
- freeze/unfreeze: address-based (address and addressLabel required)
- pause/unpause: contract-level, keyed off assetId only
Extra fields on the unified body are ignored: address/addressLabel are unused for pause/unpause. The token contract is not a request field — the UI may show it from the asset; the server resolves it from assetId.
-
addressstringBlockchain address targeted by this request (required for freeze/unfreeze) -
addressLabelstringHuman-readable label for the targeted address (required for freeze/unfreeze) -
typestring enum requiredType of compliance operationfreezeunfreezepauseunpause -
assetIdstring uuid requiredAsset identifier -
commentsstringOptional notes about the request
Responses
200
OK
Response Body
object
Detail-view shape — extends ComplianceRequestSummary with the full audit trail.
-
idstring uuid requiredUnique identifier for the compliance request -
typestring enum requiredType of compliance operationfreezeunfreezepauseunpause -
statusstring enum requiredCurrent lifecycle statuscreatedpending_approvalapprovedconfirmedrejectedcancelledfailed -
assetIdstring uuid requiredID of the asset this request applies to -
requestSourcestring enum requiredSource that originated this compliance request; trust-initiated requests are surfaced as 'bitgo'issuerbitgo -
baseAssetstring enum requiredBase stablecoin symbol for the assetgousdusd1sofidcusdfyusdqxmpscaasacme -
chainstring requiredBlockchain network for the asset -
addressstring requiredBlockchain address targeted by this request. For freeze/unfreeze this is the wallet; for pause/unpause this is the token contract. -
addressLabelstring requiredHuman-readable label for the targeted address. For pause/unpause this is the token-contract label. -
createdAtstring date-time requiredTimestamp when the request was created -
updatedAtstring date-time requiredTimestamp when the request was last updated -
enterpriseIdstringEnterprise associated with this request. For requestSource 'issuer' this is the enterprise that raised the request. For requestSource 'bitgo' (Trust-initiated) this is the enterprise that issues the asset, when one is configured. Absent when the asset has no configured issuer enterprise (e.g. gousd, which BitGo issues itself) — there is nothing to derive in that case. -
userIdstringID of the user who created the request; omitted when the maker is bitgo-source on issuer-facing responses -
commentsstringOptional notes about the request -
pendingApprovalIdstringPlatform pending-approval ID, present after the request is submitted for approval -
bitgoTransferIdstringBitGo transfer ID, present after the transaction is broadcast -
transactionHashstringOn-chain transaction hash, present after confirmation -
complianceRequestHistoryarray of objects requiredcomplianceRequestHistory object
-
statusstring enum requiredLifecycle status at the time of this history eventcreatedpending_approvalapprovedconfirmedrejectedcancelledfailed -
actorSourcestring enum requiredSource that performed this action; trust-initiated actions are surfaced as 'bitgo'issuerbitgosystem -
timestampstring date-time requiredTimestamp when this transition occurred -
actorIdstringID of the user who performed the action; omitted for system entries and masked for bitgo entries on issuer-facing responses
-
400
Bad Request
No response body
401
Unauthorized
No response body
403
Forbidden
No response body
404
Not Found
No response body
500
Internal Server Error
No response body