diff --git a/api.yaml b/api.yaml index e9c8133..3e52657 100644 --- a/api.yaml +++ b/api.yaml @@ -9347,18 +9347,24 @@ paths: properties: addressCity: type: string + description: The city of residence minLength: 1 addressPostalCode: type: string + description: The postal or ZIP code minLength: 1 addressStreet1: type: string + description: The street address line 1 minLength: 1 addressStreet2: type: string + description: The street address line 2 minLength: 1 addressSubdivision: type: string + description: The state, province, or region of residence + example: CA minLength: 1 birthdate: type: string @@ -9397,6 +9403,7 @@ paths: minLength: 1 enterpriseId: type: string + description: The BitGo enterprise ID minLength: 1 govIdCountryOfIssuance: type: string @@ -9405,31 +9412,47 @@ paths: minLength: 1 identificationNumber: type: string + description: |- + The Social Security Number (SSN) for US citizens + + Use this field only to submit the SSN for US citizens. For non-US citizens or for submitting other identification documents (e.g., passport, driver's license), use the [Submit KYC Documents](https://developers.bitgo.com/reference/entityvalidationidentitydocumentcreate) endpoint after creating the KYC identity + example: 123-45-6789 minLength: 1 nameFirst: type: string + description: The first name nameLast: type: string + description: The last name nameMiddle: type: string + description: The middle name of the individual notionalTradedEachMonth: type: number + description: The estimated notional amount traded per month in USD occupation: - $ref: '#/components/schemas/IdentityOccupation' + allOf: + - $ref: '#/components/schemas/IdentityOccupation' + description: The occupation category of the individual organizationId: type: string + description: The Bitgo organization ID minLength: 1 phoneNumber: type: string + description: The phone number of the individual minLength: 1 politicallyExposedPerson: type: boolean + description: Whether the individual is a Politically Exposed Person (PEP) transactionType: type: string enum: - institutionalIndividual + description: The type of KYC identity being created userId: type: string + description: The BitGo user ID minLength: 1 required: - addressCity @@ -9486,26 +9509,35 @@ paths: description: Debug status for simulating verification failure or success in the test environment - passes by default enterpriseId: type: string + description: The BitGo enterprise ID minLength: 1 enterpriseName: type: string + description: The legal name of the business entity minLength: 1 isEntity: type: boolean + description: Whether the account represents a business entity (true) or individual (false) nameFirst: type: string + description: The first name nameLast: type: string + description: The last name nameMiddle: type: string + description: The middle name of the individual organizationId: type: string + description: The Bitgo organization ID transactionType: type: string enum: - starterSignup + description: The type of transaction being created userId: type: string + description: The BitGo user ID minLength: 1 required: - birthdate @@ -9543,21 +9575,28 @@ paths: description: Debug status for simulating verification failure or success in the test environment - passes by default enterpriseId: type: string + description: The BitGo enterprise ID minLength: 1 nameFirst: type: string + description: The first name nameLast: type: string + description: The last name nameMiddle: type: string + description: The middle name of the individual organizationId: type: string + description: The Bitgo organization ID transactionType: type: string enum: - kycInc + description: The type of KYC identity being created userId: type: string + description: The BitGo user ID minLength: 1 required: - birthdate @@ -9605,28 +9644,38 @@ paths: description: Debug status for simulating verification failure or success in the test environment - passes by default enterpriseId: type: string + description: The BitGo enterprise ID minLength: 1 enterpriseName: type: string + description: The legal name of the individual or entity minLength: 1 isEntity: type: boolean + description: Whether the account represents a business entity (true) or individual (false) isPrimaryContact: type: boolean + description: Whether this individual is the primary contact for the enterprise nameFirst: type: string + description: The first name nameLast: type: string + description: The last name nameMiddle: type: string + description: The middle name of the individual organizationId: type: string + description: The Bitgo organization ID transactionType: type: string enum: - unverifiedPayGoUser + description: The type of KYC identity being created userId: type: string + description: The BitGo user ID minLength: 1 required: - birthdate @@ -9643,18 +9692,24 @@ paths: properties: addressCity: type: string + description: The city of residence minLength: 1 addressPostalCode: type: string + description: The postal or ZIP code minLength: 1 addressStreet1: type: string + description: The street address line 1 minLength: 1 addressStreet2: type: string + description: The street address line 2 minLength: 1 addressSubdivision: type: string + description: The state, province, or region of residence + example: CA minLength: 1 birthdate: type: string @@ -9693,6 +9748,7 @@ paths: minLength: 1 enterpriseId: type: string + description: The BitGo enterprise ID minLength: 1 govIdCountryOfIssuance: type: string @@ -9701,31 +9757,46 @@ paths: minLength: 1 identificationNumber: type: string + description: |- + The Social Security Number (SSN) for US citizens + + Use this field only to submit the SSN for US citizens. For non-US citizens or for submitting other identification documents (e.g., passport, driver's license), use the [Submit KYC Documents](https://developers.bitgo.com/reference/entityvalidationidentitydocumentcreate) endpoint after creating the KYC identity + example: 123-45-6789 minLength: 1 nameFirst: type: string + description: The first name nameLast: type: string + description: The last name nameMiddle: type: string + description: The middle name of the individual notionalTradedEachMonth: type: number + description: The estimated notional amount traded per month in USD occupation: - $ref: '#/components/schemas/IdentityOccupation' + allOf: + - $ref: '#/components/schemas/IdentityOccupation' + description: The occupation category of the individual organizationId: type: string + description: The Bitgo organization ID minLength: 1 phoneNumber: type: string + description: The phone number of the individual minLength: 1 politicallyExposedPerson: type: boolean + description: Whether the individual is a Politically Exposed Person (PEP) transactionType: type: string enum: - incContracted userId: type: string + description: The BitGo user ID minLength: 1 required: - addressCity @@ -9792,21 +9863,27 @@ paths: properties: enterpriseId: type: string + description: The BitGo enterprise ID minLength: 1 userId: type: string + description: The BitGo user ID minLength: 1 organizationId: type: string + description: The Bitgo organization ID minLength: 1 nameFirst: type: string + description: The first name minLength: 1 nameLast: type: string + description: The last name minLength: 1 nameMiddle: type: string + description: The middle name minLength: 1 debugStatus: type: string @@ -9820,6 +9897,7 @@ paths: minLength: 1 contractSignerNameFull: type: string + description: The full name of the individual signing the contract minLength: 1 contractSignedDate: type: string @@ -9829,12 +9907,15 @@ paths: title: ISO Date String contractSignedIPAddress: type: string + description: The IP address from which the contract was signed minLength: 1 contractVersion: type: string + description: The version of the contract being signed minLength: 1 userAgreesToTerms: type: boolean + description: Whether the user agrees to the terms and conditions occupation: type: string enum: @@ -9863,6 +9944,7 @@ paths: - Traders / Trading (High Frequency, Proprietary, Market Maker) - Other - Default - Weapons Dealers + description: The occupation category of the individual annualIncome: type: string enum: @@ -9871,6 +9953,7 @@ paths: - $100,001 - $300,000 - $300,001 - $500,000 - $500,001 and over + description: The annual income range of the individual netWorth: type: string enum: @@ -9879,6 +9962,7 @@ paths: - $500,001 - $1,000,000 - $1,000,001 - $5,000,000 - $5,000,001 and over + description: The net worth range of the individual sourceOfNetWorth: type: string enum: @@ -9887,25 +9971,30 @@ paths: - 'Legal and Compensation Payments: Funds received from legal settlements, including insurance claims, divorce settlements, accident compensations, etc.' - 'Inheritances and Gifts: Money or assets received as an inheritance, gift, or through trust distributions.' - 'Investment Earnings: Profits derived from investments such as cryptocurrencies, stocks, bonds, private equity, or venture capital.' + description: The primary source of the individual's net worth initialDepositType: type: string enum: - Fiat Currency - Crypto / Digital Assets + description: The type of initial deposit being made expectedMonthlyDeposits: type: string enum: - 0-10 Transactions - 11-20 Transactions - 21+ Transactions + description: The expected monthly deposit amount range expectedMonthlyWithdrawals: type: string enum: - 0-10 Transactions - 11-20 Transactions - 21+ Transactions + description: The expected monthly withdrawal amount range phoneNumber: type: string + description: The phone number of the individual minLength: 1 birthdate: type: string @@ -9930,14 +10019,19 @@ paths: minLength: 1 politicallyExposedPerson: type: boolean + description: Whether the individual is a Politically Exposed Person (PEP) addressStreet1: type: string + description: The street address line 1 minLength: 1 addressCity: type: string + description: The city of residence minLength: 1 addressSubdivision: type: string + description: The state, province, or region of residence + example: CA minLength: 1 country: type: string @@ -9946,12 +10040,19 @@ paths: minLength: 1 identificationNumber: type: string + description: |- + The Social Security Number (SSN) for US citizens + + Use this field only to submit the SSN for US citizens. For non-US citizens or for submitting other identification documents (e.g., passport, driver's license), use the [Submit KYC Documents](https://developers.bitgo.com/reference/entityvalidationidentitydocumentcreate) endpoint after creating the KYC identity + example: 123-45-6789 minLength: 1 addressStreet2: type: string + description: The street address line 2 minLength: 1 addressPostalCode: type: string + description: The postal or ZIP code minLength: 1 digitalAssetWalletAddress: type: string @@ -9959,10 +10060,13 @@ paths: minLength: 1 notionalTradedEachMonth: type: number + description: The estimated notional amount traded per month in USD isEntity: type: boolean + description: True, if the account represents a business entity. False, if the account represents an individual enterpriseName: type: string + description: The legal name of the individual or entity minLength: 1 countryOfIncorporation: type: string @@ -24103,6 +24207,72 @@ paths: $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/ServerError' + /api/policy/v1/organizations/{organizationId}/touchpoints/{touchpointName}/rules/{sharedId}: + put: + tags: + - Policy Builder + summary: Update organization policy rule + description: | + Updates an existing policy rule for an organization. + + **Authorization:** Organization admins can update their organization's rules. BitGo admins have access to all organizations. + + **Requirements:** + - Cannot update if there is a pending change (PENDING_APPROVAL status) for the same rule + - When the touchpoint has self_controlled=true, evaluation uses rules from that touchpoint instead of Policy Management + operationId: v1.policy.organization.rules.update + parameters: + - name: organizationId + in: path + required: true + description: The organization ID + schema: + type: string + pattern: ^[0-9a-f]{32}$ + - name: touchpointName + in: path + required: true + description: The touchpoint name where the rule exists + schema: + type: string + - name: sharedId + in: path + required: true + description: The policy rule shared ID + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePolicyRuleRequest' + examples: + example: + $ref: '#/components/examples/CreatePolicyRuleExample' + responses: + '201': + description: The updated policy rule (new version created) + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyRule1' + examples: + example: + $ref: '#/components/examples/PolicyRuleExample' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '409': + $ref: '#/components/responses/Conflict' + '500': + $ref: '#/components/responses/ServerError' /api/prime/trading/v1/user/current: get: summary: Get Current User @@ -24875,11 +25045,17 @@ paths: application/json: schema: type: object + required: + - balances properties: balances: type: array items: type: object + required: + - currency + - quantity + - balanceValue properties: currency: type: string @@ -24936,11 +25112,11 @@ paths: type: string pattern: ^[0-9]+(\.[0-9]+)?$ example: '0.2' - minimumCollateralValue: + minimumTransferredCollateral: allOf: - $ref: '#/components/schemas/Amount3' - type: object - description: Quantity representing the minimum collateral value required for margin trading. Currency represents the currency that the quantity is valued in (eg. USD) + description: Quantity representing the minimum transferred collateral value required for margin trading. Currency represents the currency that the quantity is valued in (eg. USD) example: totalShortPositionLimit: quantity: '1000000' @@ -24948,7 +25124,7 @@ paths: marginCallPercentage: '1.1' liquidationThresholdPercentage: '1.2' marginRequirementPercentage: '0.2' - minimumCollateralValue: + minimumTransferredCollateral: quantity: '50000' currency: USD /api/prime/trading/v1/accounts/{accountId}/margin/netopenpositions: @@ -25061,9 +25237,16 @@ paths: application/json: schema: type: object + required: + - riskProfile properties: riskProfile: type: object + required: + - netOpenPosition + - transferredCollateral + - unrealizedPnL + - marginBalance properties: netOpenPosition: allOf: @@ -25144,6 +25327,10 @@ paths: application/json: schema: type: object + required: + - currency + - quantity + - balanceValue properties: currency: type: string @@ -25192,24 +25379,37 @@ paths: application/json: schema: type: object + required: + - balances properties: - currency: - type: string - description: Symbol of the collateral asset - quantity: - type: number - description: Number representing the balance for the specified collateral - balanceValue: - allOf: - - $ref: '#/components/schemas/Amount3' - - type: object - description: Returns the value of the collateral. Has 2 fields denoting the currency used and the actual value. + balances: + type: array + description: List of position transfer balances + items: + type: object + required: + - currency + - quantity + - balanceValue + properties: + currency: + type: string + description: Symbol of the collateral asset + quantity: + type: string + description: String representing the balance for the specified collateral + balanceValue: + allOf: + - $ref: '#/components/schemas/Amount3' + - type: object + description: Returns the value of the collateral. Has 2 fields denoting the currency used and the actual value. example: - currency: BTC - quantity: 2 - balanceValue: - quantity: '1000000' - currency: USD + balances: + - currency: BTC + quantity: '2' + balanceValue: + quantity: '1000000' + currency: USD /api/prime/trading/v1/accounts/{accountId}/margin/positions/cover: post: summary: Cover all short margin positions @@ -25274,7 +25474,7 @@ paths: /api/prime/trading/v1/accounts/{accountId}/margin/positions/close: post: summary: Close all margin positions - description: Starts an asynchronous process to automatically close all positions by selling and buying assets to attempt to net them to zero. + description: Initiates an asynchronous process to close margin positions by executing market trades to net positions to zero. Unlike 'cover' which transfers assets, 'close' creates trade orders to sell or buy assets. Returns immediately with a request ID that can be used to track progress via the close position requests endpoints. operationId: trade.margin.positions.close tags: - Margin @@ -25346,7 +25546,7 @@ paths: - cancelled - name: dateGte in: query - description: Return close position requests with a `createdAt` that is greater than or equal to the given timestamp, + description: Return close position requests with a `creationDate` that is greater than or equal to the given timestamp. required: false style: form explode: true @@ -25355,7 +25555,7 @@ paths: format: date-time - name: dateLt in: query - description: Return close position requests with a `createdAt` that is less than the given timestamp. + description: Return close position requests with a `creationDate` that is less than the given timestamp. required: false style: form explode: true @@ -25451,8 +25651,8 @@ paths: currency: BTC quantity: '0.5' responses: - '201': - description: Collateral withdrawal request created + '202': + description: Collateral withdrawal request accepted for processing content: application/json: schema: @@ -27667,6 +27867,64 @@ paths: application/json: schema: $ref: '#/components/schemas/V1ErrorResponse' + /api/tradfi/v1/banks/{bankType}/{routingNumber}: + get: + tags: + - Fiat + summary: Verify routing number by bank type + description: Endpoint for routing number verification. + operationId: V1GetBankAccountsRoutingNumberRoute + parameters: + - name: bankType + in: path + required: true + description: The banking system where a bank operates. + schema: + type: string + enum: + - aba + - name: routingNumber + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/V1BankRoutingResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/V1ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/V1ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/V1ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/V1ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/V1ErrorResponse' /api/v2/bankaccounts: get: tags: @@ -27674,8 +27932,6 @@ paths: summary: List bank accounts description: List all bank accounts associated with a BitGo enterprise. operationId: v2.bankaccount.list - x-unknown-tags: - tags: Fiat Accounts parameters: - name: bankAccountId in: query @@ -27780,10 +28036,11 @@ paths: tags: - Fiat summary: Add bank account - description: Add a bank account to a BitGo enterprise so you can deposit and withdraw fiat. + description: | + Add a bank account to a BitGo enterprise so you can deposit and withdraw fiat. + + >**NOTE:** Required address parameters vary by country. Determine required parameters by calling [Get address format information](https://developers.bitgo.com/reference/fiataddressinfo). operationId: v2.bankaccount.add - x-unknown-tags: - tags: Fiat Accounts parameters: [] requestBody: content: @@ -27834,8 +28091,6 @@ paths: summary: Delete bank account description: Delete a bank account associated with a BitGo enterprise. operationId: v2.bankaccount.delete - x-unknown-tags: - tags: Fiat Accounts parameters: - name: bankAccountId in: path @@ -27892,8 +28147,6 @@ paths: summary: Get bank account description: Get a bank account associated with a BitGo enterprise by its ID. operationId: v2.bankaccount.get - x-unknown-tags: - tags: Fiat Accounts parameters: - name: bankAccountId in: path @@ -27938,8 +28191,6 @@ paths: summary: Update bank account description: Update a bank account associated with a BitGo enterprise. operationId: v2.bankaccount.update - x-unknown-tags: - tags: Fiat Accounts parameters: - name: bankAccountId in: path @@ -28092,8 +28343,6 @@ paths: summary: Get deposit info description: Get BitGo's bank account information so you can deposit fiat into a Go Account. operationId: fiat.get.deposit.info - x-unknown-tags: - tags: Fiat Accounts parameters: - name: currency in: query @@ -42897,6 +43146,16 @@ components: error: Bad Request errorName: BadRequest reqId: some-id + Conflict: + description: Conflict - The request conflicts with the current state of the resource + content: + application/json: + schema: + $ref: '#/components/schemas/GeneralError' + example: + code: Conflict + message: A pending change already exists for this policy rule + status: 409 ConflictError: description: Conflict content: @@ -45902,21 +46161,70 @@ components: BankAccountRequest1: title: BankAccountRequest description: | - Base schema for bank account creation requests. + Schema for bank account creation requests. - NOTE: Address fields required depend on the country format. - Use the /api/accounts/v1/address endpoint with the appropriate country code - to determine which address fields are required for a specific country. + Supports two address formats: + - Recommended: Normalized address fields (`bankAddressLine1`, `ownerAddressLine1`, etc.). + - Deprecated: Simple string fields (`address`, `ownerAddress`) + oneOf: + - $ref: '#/components/schemas/BankAccountRequestAddressNormalized' + - $ref: '#/components/schemas/DeprecatedBankAccountRequest' + BankAccountRequestAddressNormalized: + title: BankAccountRequestAddressNormalized + description: Bank account request using normalized address format. + allOf: + - $ref: '#/components/schemas/BankAccountRequestCore' + - type: object + properties: + ownerAddressLine1: + type: string + description: First line of owner's address (street number and name). + ownerAddressLine2: + type: string + description: Second line of owner's address (apartment/suite number, etc.). + ownerAddressCityLocality: + type: string + description: City or locality of owner's address. Depending on country, may be required. + ownerAddressStateProvince: + type: string + description: State or province of owner's address. Depending on country, may be required. + ownerAddressPostalCode: + type: string + description: Postal code of owner's address. Depending on country, may be required. + ownerAddressCountryCode: + type: string + description: Two-letter ISO country code of owner's address. + bankAddressLine1: + type: string + description: First line of bank's address (street number and name). + bankAddressLine2: + type: string + description: Second line of bank's address (branch information, etc.). + bankAddressCityLocality: + type: string + description: City or locality of bank's address. Depending on country, may be required. + bankAddressStateProvince: + type: string + description: State or province of bank's address. Depending on country, may be required. + bankAddressPostalCode: + type: string + description: Postal code of bank's address. Depending on country, may be required. + bankAddressCountryCode: + type: string + description: Two-letter ISO country code of bank's address. + required: + - bankAddressCountryCode + - bankAddressLine1 + - ownerAddressCountryCode + - ownerAddressLine1 + BankAccountRequestCore: + title: BankAccountRequestCore type: object properties: name: type: string minLength: 1 description: Name of the banking institution. - shortCountryCode: - type: string - minLength: 1 - description: Two-letter ISO country code of bank's address. accountNumber: type: string minLength: 1 @@ -45951,52 +46259,11 @@ components: intermediaryBankId: type: string description: Intermediary bank routing number. - ownerAddressLine1: - type: string - description: First line of owner's address (street number and name). - ownerAddressLine2: - type: string - description: Second line of owner's address (apartment/suite number, etc.). - ownerAddressCityLocality: - type: string - description: City or locality of owner's address. Can be required depending ownerAddressCountryCode. - ownerAddressStateProvince: - type: string - description: State or province of owner's address. Can be required depending on ownerAddressCountryCode. - ownerAddressPostalCode: - type: string - description: Postal code of owner's address. Can be required depending on ownerAddressCountryCode. - ownerAddressCountryCode: - type: string - description: Two-letter ISO country code of owner's address. - bankAddressLine1: - type: string - description: First line of bank's address (street number and name). - bankAddressLine2: - type: string - description: Second line of bank's address (branch information, etc.). - bankAddressCityLocality: - type: string - description: City or locality of bank's address. Can be required depending on bankAddressCountryCode. - bankAddressStateProvince: - type: string - description: State or province of bank's address. Can be required depending on bankAddressCountryCode. - bankAddressPostalCode: - type: string - description: Postal code of bank's address. Can be required depending on bankAddressCountryCode. - bankAddressCountryCode: - type: string - description: Two-letter ISO country code of bank's address, should be the same as shortCountryCode. required: - accountNumber - - bankAddressCountryCode - - bankAddressLine1 - currency - name - - ownerAddressCountryCode - - ownerAddressLine1 - ownerName - - shortCountryCode BankAccountResponse1: title: BankAccountResponse oneOf: @@ -48827,71 +49094,51 @@ components: ClosePositionOrderResponse: type: object required: - - orderId - closePositionsRequestId - - currency - - side - - quantity - status - - createdAt + - currency + - targetCurrency + - creationDate + - modifiedDate properties: - orderId: - type: string - format: uuid - description: Unique identifier for the close position order closePositionsRequestId: type: string format: uuid - description: Associated close position request ID + description: The close position request ID associated with this order + status: + $ref: '#/components/schemas/ClosePositionStatus' currency: type: string description: Currency symbol for the order - side: - $ref: '#/components/schemas/Side' - quantity: - type: string - format: decimal - description: Order quantity - filledQuantity: - type: string - format: decimal - description: Filled quantity - averagePrice: + targetCurrency: type: string - format: decimal - description: Average fill price - status: - $ref: '#/components/schemas/OrderStatus' - createdAt: + description: The target currency to trade into when closing the position + creationDate: type: string format: date-time description: Timestamp when the order was created - completedAt: + modifiedDate: type: string format: date-time - description: Timestamp when the order was completed - clientOrderId: + description: Timestamp when the order was last modified + orderId: type: string format: uuid - description: Optional client order ID if the close position order is associated with a client order - nullable: true + description: The order ID of the trade created to close this position. Omitted if the trade order has not been created yet. example: - orderId: c3d4e5f6-g7h8-9012-cdef-345678901234 closePositionsRequestId: b2c3d4e5-f6g7-8901-bcde-f23456789012 - currency: BTC - side: sell - quantity: '0.5' - filledQuantity: '0.5' - averagePrice: '45000.00' status: completed - createdAt: 2024-01-15T11:05:00.000Z - completedAt: 2024-01-15T11:06:00.000Z + currency: BTC + targetCurrency: USD + creationDate: 2024-01-15T11:05:00.000Z + modifiedDate: 2024-01-15T11:06:00.000Z + orderId: c3d4e5f6-g7h8-9012-cdef-345678901234 ClosePositionRequestOrdersResponse: type: object required: - - data + - orders properties: - data: + orders: type: array items: $ref: '#/components/schemas/ClosePositionOrderResponse' @@ -48915,14 +49162,7 @@ components: type: string description: Enterprise ID associated with the request status: - type: string - enum: - - pending - - in_progress - - completed - - failed - - cancelled - description: Current status of the close position request + $ref: '#/components/schemas/ClosePositionStatus' bitgoUserId: type: string description: BitGo user ID who initiated the request @@ -48960,6 +49200,14 @@ components: status: completed bitgoUserId: user456 creationDate: 2024-01-15T10:30:00.000Z + ClosePositionStatus: + type: string + description: Status of a close position request or order + enum: + - pending + - in_progress + - completed + - failed ClosedByUnion: title: ClosedByUnion type: string @@ -49107,16 +49355,26 @@ components: CollateralWithdrawalRequestResponse: type: object required: - - requestId + - id + - accountId + - enterpriseId - currency - quantity - status - - createdAt + - createdBy + - creationDate + - modifiedDate properties: - requestId: + id: type: string format: uuid description: Unique identifier for the withdrawal request + accountId: + type: string + description: Account ID associated with the withdrawal request + enterpriseId: + type: string + description: Enterprise ID associated with the withdrawal request currency: type: string description: Currency symbol for the withdrawal @@ -49133,32 +49391,31 @@ components: - completed - cancelled description: Current status of the withdrawal request - createdAt: + createdBy: type: string - format: date-time - description: Timestamp when the request was created - updatedAt: + description: User who created the withdrawal request + canceledBy: type: string - format: date-time - description: Timestamp when the request was last updated - approvedAt: + nullable: true + description: User who canceled the withdrawal request, if applicable + creationDate: type: string format: date-time - description: Timestamp when the request was approved - completedAt: + description: Timestamp when the request was created + modifiedDate: type: string format: date-time - description: Timestamp when the request was completed - rejectionReason: - type: string - description: Reason for rejection if status is rejected + description: Timestamp when the request was last modified example: - requestId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + accountId: account123 + enterpriseId: enterprise456 currency: BTC quantity: '0.5' status: pending - createdAt: 2024-01-15T10:30:00.000Z - updatedAt: 2024-01-15T10:30:00.000Z + createdBy: user789 + creationDate: 2024-01-15T10:30:00.000Z + modifiedDate: 2024-01-15T10:30:00.000Z CollateralWithdrawalRequestsResponse: type: object required: @@ -49168,18 +49425,6 @@ components: type: array items: $ref: '#/components/schemas/CollateralWithdrawalRequestResponse' - pagination: - type: object - properties: - offset: - type: integer - description: Current offset for pagination - limit: - type: integer - description: Number of items per page - total: - type: integer - description: Total number of withdrawal requests CommitmentShare: type: object properties: @@ -50995,6 +51240,42 @@ components: required: - toAddress - token + DeprecatedBankAccountRequest: + title: DeprecatedBankAccountRequest + description: | + DEPRECATED - Bank account request using simple string fields for addresses. + + This format is deprecated, because it's less flexible for international address validation. + + Instead, use the normalized address format. + deprecated: true + allOf: + - $ref: '#/components/schemas/BankAccountRequestCore' + - type: object + properties: + shortCountryCode: + type: string + minLength: 2 + maxLength: 2 + deprecated: true + description: | + Two-letter ISO country code of bank's address. This field is deprecated. Instead use `bankAddressCountryCode`. + address: + type: string + minLength: 1 + deprecated: true + description: | + Unstructured bank address. This field is deprecated. Instead, use the normalized bank address fields (`bankAddressLine1`, `bankAddressCityLocality`, etc.). + ownerAddress: + type: string + minLength: 1 + deprecated: true + description: | + DEPRECATED - Unstructured owner address string. This field is deprecated. Instead, use the normalized bank address fields (`bankAddressLine1`, `bankAddressCityLocality`, etc.). + required: + - shortCountryCode + - address + - ownerAddress DestinationTypeCoinConditionParameter: title: Asset type: object @@ -51969,6 +52250,7 @@ components: properties: contractSignerNameFull: type: string + description: The full name of the individual signing the contract minLength: 1 contractSignedDate: type: string @@ -51978,14 +52260,19 @@ components: title: ISO Date String contractSignedIPAddress: type: string + description: The IP address from which the contract was signed minLength: 1 contractType: - $ref: '#/components/schemas/ContractType' + allOf: + - $ref: '#/components/schemas/ContractType' + description: The type of contract being signed contractVersion: type: string + description: The version of the contract being signed minLength: 1 userAgreesToTerms: type: boolean + description: Whether the user agrees to the terms and conditions required: - contractSignerNameFull - contractSignedDate @@ -57539,8 +57826,7 @@ components: type: string title: uuid status: - type: string - minLength: 1 + $ref: '#/components/schemas/IdentityDocumentStatus' createdAt: type: string format: date-time @@ -57579,6 +57865,14 @@ components: - updatedAt required: - documents + IdentityDocumentStatus: + title: IdentityDocumentStatus + type: string + enum: + - pending + - processing + - approved + - rejected IdentityDocumentType: title: IdentityDocumentType type: string @@ -65790,8 +66084,7 @@ components: type: string title: uuid status: - type: string - minLength: 1 + $ref: '#/components/schemas/IdentityDocumentStatus' selectedIdClass: $ref: '#/components/schemas/PersonaIdClass' fileUploads: @@ -66081,8 +66374,7 @@ components: type: string title: uuid status: - type: string - minLength: 1 + $ref: '#/components/schemas/IdentityDocumentStatus' selectedIdClass: $ref: '#/components/schemas/PersonaIdClass' required: @@ -76571,6 +76863,37 @@ components: required: - settledInSettlementId - $ref: '#/components/schemas/V1ClosedDisputeWithClosureOutput' + V1BankRoutingResponse: + title: V1BankRoutingResponse + type: object + properties: + address: + $ref: '#/components/schemas/V1RoutingAddress' + bankType: + type: string + enum: + - aba + createdAt: + type: string + format: date-time + title: ISO Date String + name: + type: string + routingNumber: + type: string + description: The banks routing number + swiftCode: + type: string + description: SWIFT/BIC code for the account + transferTypes: + type: array + description: The transfer types supported by the bank + items: + type: string + enum: + - ach-us + - wire-domestic + - wire-swift V1BlockListResponse: title: V1BlockListResponse type: object @@ -78841,6 +79164,33 @@ components: description: The retriable reserved deallocation details. Contains information about the deallocation that is in the reserved state (pending) and can be retried if needed. required: - deallocation + V1RoutingAddress: + type: object + properties: + city: + type: string + countryCode: + type: string + createdAt: + type: string + format: date-time + title: ISO Date String + locality: + type: string + postalCode: + type: string + region: + type: string + street: + type: string + subregion: + type: string + unit: + type: string + updatedAt: + type: string + format: date-time + title: ISO Date String V1SettlementOutput: title: V1SettlementOutput oneOf: