---
title: "Update enterprise"
method: PUT
path: "/api/v2/enterprise/{enterpriseId}"
tags: ["Enterprise"]
---

# Update enterprise

`PUT /api/v2/enterprise/{enterpriseId}`

## Path parameters

- `enterpriseId` string, required

## Request body

- UpdateEnterprise
  - `legalIdentifiers` PlatformLegalIdentifiers
    - `legalPersonName` string, required — Legal name of the Enterprise
  - `approvalsRequired` integer — How many Enterprise Admins are required for action to fire
  - `distributedCustody` DistributedCustodyUpdateEnterprise — Parameters associated with distributed custody enterprises. If you want to remove 'signingBitgoOrg', set it to null.
    - `signingBitgoOrg` string, nullable — BitGo Organization related to this entity. Allowed values are BitGo Inc, BitGo Trust, BitGo New York, BitGo Germany, BitGo Switzerland, Frankfurt DE Trust, BitGo Sister Trust 1, BitGo Korea, BitGo Singapore, null
  - `usersViewAllWallets` boolean — Allow users to view all wallets
  - `preferredUi` 'bg23' | 'bg25-inst' | 'bg25-retail' | 'kintsugi'

## Response `200`

OK

- PlatformEnterprise
  - `accountType` 'individual' | 'entity' — Indicates which type of KYC process the enterprise has to complete
  - `additionalEnterpriseInfo` PlatformAdditionalEnterpriseInfo
    - `contact` PlatformGeographicAddress
      - `name` string — Legal name of the enterprise, not neccessarily the enterprise name
      - `street` string — Address line
      - `street2` string, nullable — Optional 2nd address line
      - `suite` string — Optional suite number
      - `city` string — City name
      - `state` string — State or region
      - `postalCode` string — Postcal code
      - `country` string — ISO 3166-1 Alpha-3 country code
  - `admin` object
    - `policy` PlatformPolicy
      - `id` string, required
      - `date` string, date-time
      - `label` string
      - `latest` boolean, required
      - `rules` PlatformPolicyRule[], required
        - `id` string, required
        - `lockDate` string, date-time, required — The time at which this rule becomes immutable
        - `mutabilityConstraint` 'managed' | 'permanent' — Specifies whether a BitGo admin can change `lockDate` * `managed` - Not locked, but requires approval from a BitGo admin to change * `permanent` - `lockDate` cannot be changed
        - `coin` string — A cryptocurrency or token ticker symbol.
        - `type` 'advancedWhitelist' | 'allTx' | 'bitcoinAddressWhitelist' | 'coinAddressWhitelist' | 'coinAddressBlacklist' | 'transactionLimit' | 'velocityLimit' | 'webhook', required — What causes this rule to trigger
        - `condition` union — Parameters for the type
          - object
            - `amountString` string
            - `timeWindow` integer — Time window in seconds for a velocity limit, between 1 and a month
          - object
            - `amountString` string
            - `timeWindow` integer — Time window in seconds for a velocity limit, between 1 and 30 days
          - object
            - `addresses` union[] — Addresses allowed/restricted for a whitelist/blacklist
              - …
          - object
            - `entries` AdvancedListRuleEntry1[] — Entries specifying which addresses/ wallets/ enterprises are on the whitelist
              - …
          - object
            - `url` string — the url to query for the webhook
        - `action` PolicyRuleActions, required — What happens when this rule is triggered
          - `type` 'deny' | 'getApproval' | 'getFinalApproval' | 'getCustodianApproval' | 'getIdVerification', required
          - `userIds` Id[] — For a final approver action, who can approve
      - `version` integer, required
  - `approvedVideoIdUsers` Id[] — IDs of users on the enterprise that are approved for custodial video ID
  - `approvalsRequired` integer — How many Enterprise Admins are required for action to fire
  - `bitgoEthKey` string — The public portion of the ethererum key generated for the enterprise fee address
  - `bitgoOrg` 'BitGo Inc' | 'BitGo Trust' | 'BitGo New York' | 'BitGo Germany' | 'BitGo Switzerland' | 'Frankfurt DE Trust' | 'BitGo Sister Trust 1' | 'BitGo Korea' | 'BitGo Singapore' | 'BitGo Europe ApS' | 'BitGo Mena Fze' | 'BitGo Custody MENA FZE' | 'BitGo India' — BitGo Organization related to this entity
  - `canAccessBorrowing` boolean — whether the enterprise has the licence for BitGo Prime Borrowing
  - `canAccessLending` boolean — whether the enterprise has the licence for BitGo Prime Lending
  - `canAccessSettlement` boolean — whether the enterprise has the licence to utilize settlement functionality
  - `canAccessTrading` boolean — whether the enterprise has the licence to access BitGo Trading
  - `canCreateColdWallet` boolean — whether the enterprise has the license to create cold wallets
  - `canCreateCustodialWallets` boolean — whether the enterprise has the license to create custodial wallets
  - `canCreateHotWallet` boolean — whether the enterprise has the license to create hot wallets
  - `contract` PlatformEnterpriseContract
    - `startDate` string — The contract start date for an enterprise
    - `endDate` string — The contract end date for an enterprise
  - `custodyServicesAgreement` CustodyServicesAgreement — Information about the signed custody services agreement
    - `user` string, required
    - `date` string, date-time, required — The date when the agreement was signed
    - `ip` string — The IP address from which the agreement was signed
    - `bitgoOrg` 'BitGo Inc' | 'BitGo Trust' | 'BitGo New York' | 'BitGo Germany' | 'BitGo Switzerland' | 'Frankfurt DE Trust' | 'BitGo Sister Trust 1' | 'BitGo Korea' | 'BitGo Singapore' | 'BitGo Europe ApS' | 'BitGo Mena Fze' | 'BitGo Custody MENA FZE' | 'BitGo India' — The Trust entity for which the CSA was signed. Used to prevent switching custodians after signing. May be undefined for legacy agreements signed before this field was added.
  - `emergencyPhone` string — Phone number for emergencies
  - `ethFeeAddress` string — The eth fee address used to pay for network transaction fees of this enterprise
  - `freeze` PlatformFreeze
    - `time` string, date-time — When the freeze started
    - `expires` string, date-time — When the freeze will end
  - `id` string, required
  - `mutablePolicyWindow` integer — Time in seconds after which policies on this Enterprise cannot be updated
  - `name` string
  - `pricingTypes` object[]
    - `name` EnterprisePricingType
      - `name` 'starter' | 'growth'
    - `datesActive` AuditableItem[]
      - `id` string — Unique identifier for the date range.
      - `startDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the start date of a new auditable item. If not present, will use the current date to create a new auditable item. Start date is inclusive, i.e. we will start billing/functionality at this instant and afterwards.
      - `startReason` string — An optional note describing the reason the auditable item was added/created.
      - `endDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the end date of a new auditable item. If not present, we will set the endDate to null, and we will assume an indefinite range. endDate is exclusive, i.e. we will end billing/functionality up to but not at this particular time.
      - `endReason` string — An optional note describing the reason the auditable item was ended.
  - `activePricingType` EnterpriseActivePricingType
    - `id` string — Unique identifier for the date range.
    - `startDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the start date of a new auditable item. If not present, will use the current date to create a new auditable item. Start date is inclusive, i.e. we will start billing/functionality at this instant and afterwards.
    - `startReason` string — An optional note describing the reason the auditable item was added/created.
    - `endDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the end date of a new auditable item. If not present, we will set the endDate to null, and we will assume an indefinite range. endDate is exclusive, i.e. we will end billing/functionality up to but not at this particular time.
    - `endReason` string — An optional note describing the reason the auditable item was ended.
    - `name` 'starter' | 'growth'
  - `kits` object[]
    - `name` EnterpriseKitName
      - `name` 'default' | 'wallet' | 'custody' | 'liquidity' | 'cryptoCompare'
    - `datesActive` AuditableItem[]
      - `id` string — Unique identifier for the date range.
      - `startDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the start date of a new auditable item. If not present, will use the current date to create a new auditable item. Start date is inclusive, i.e. we will start billing/functionality at this instant and afterwards.
      - `startReason` string — An optional note describing the reason the auditable item was added/created.
      - `endDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the end date of a new auditable item. If not present, we will set the endDate to null, and we will assume an indefinite range. endDate is exclusive, i.e. we will end billing/functionality up to but not at this particular time.
      - `endReason` string — An optional note describing the reason the auditable item was ended.
  - `activeKits` object[]
    - `id` string — Unique identifier for the date range.
    - `startDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the start date of a new auditable item. If not present, will use the current date to create a new auditable item. Start date is inclusive, i.e. we will start billing/functionality at this instant and afterwards.
    - `startReason` string — An optional note describing the reason the auditable item was added/created.
    - `endDate` string — ISO 8601 Datetime (example at https://datatracker.ietf.org/doc/html/rfc3339#section-5.8). If present, will use as the end date of a new auditable item. If not present, we will set the endDate to null, and we will assume an indefinite range. endDate is exclusive, i.e. we will end billing/functionality up to but not at this particular time.
    - `endReason` string — An optional note describing the reason the auditable item was ended.
    - `name` 'default' | 'wallet' | 'custody' | 'liquidity' | 'cryptoCompare'
  - `primaryContact` string
  - `preferredUi` 'bg23' | 'bg25-inst' | 'bg25-retail' | 'kintsugi'
  - `totalWalletsCount` integer — The total number of wallets in the enterprise
  - `usersViewAllWallets` boolean — All users on the enterprise can view all enterprise wallets, even if they are not viewers on the wallet itself
  - `videoIdWaived` boolean — Whether the customer has waived the need for Video ID on low risk withdrawals.

## Other responses

- `202` — Accepted
- `400` — Bad Request
- `404` — Not Found

---

[API](https://skmtc.net/bitgo/apis/bitgo-api.md) · [All operations](https://skmtc.net/bitgo/apis/bitgo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitgo/bitgo-api/revisions/e445c15e5bee/schema)
