Accept Minting Terms
Accept the BitGo minting services terms on behalf of your enterprise before creating any mint or burn orders. See the Guide.
-
Retrieve the enterprise to check whether it has already accepted the minting services terms, and to read the version number you accept in the next step.
You need an access token for a user with the enterprise member or admin role. If the terms are not yet accepted, the response includes
mintAgreementLatestVersiononly. Once accepted, it also includesmintAgreement, an array of acceptance records. -
Accept the current agreement version on behalf of your enterprise. The
versionvalue must matchmintAgreementLatestVersionfrom the previous step.Accepting is a one-time action per version, and is required before any mint or burn order can be created. Creating an order first returns 401 Unauthorized.
// 1. Check Terms Status (Optional)
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE_ID="<YOUR_ENTERPRISE_ID>"
curl -X GET \
"https://app.bitgo-test.com/api/v2/enterprise/$ENTERPRISE_ID" \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $ACCESS_TOKEN"
// 2. Accept the Agreement
export BASE_URL="https://app.bitgo-test.com/api/mint/v1" # app.bitgo.com for production
curl -s -X PUT "$BASE_URL/enterprise/$ENTERPRISE_ID/agreement" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "x-enterprise-id: $ENTERPRISE_ID" \
-H 'Content-Type: application/json' \
-d '{ "version": 1 }'
// 1. Check Terms Status (Optional)
// Use the REST API for this step (see cURL tab)
// 2. Accept the Agreement
// Use the REST API for this step (see cURL tab)
// 1. Check Terms Status (Optional) Response
{
"id": "6437d9ae435d8b0007635c3f0db52154",
"name": "Example Enterprise",
"mintAgreement": [
{
"user": "682de31be80bbf9a733a2553d30e5cb5",
"date": "2026-03-23T14:20:58.892Z",
"ip": "10.24.183.6",
"version": 1
}
],
"mintAgreementLatestVersion": 1
}
// 2. Accept the Agreement Response
{
"enterpriseId": "your-enterprise-id",
"version": 1
}