Skip to content

Commit 4a4d2a7

Browse files
Merge pull request #352 from BitGo/update-bitgo-api-docs
Update API reference on BitGo Developer Portal
2 parents 0d5f7b5 + ef712cf commit 4a4d2a7

1 file changed

Lines changed: 105 additions & 7 deletions

File tree

api.yaml

Lines changed: 105 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29936,6 +29936,65 @@ paths:
2993629936
$ref: '#/components/responses/NotFoundError1'
2993729937
'500':
2993829938
$ref: '#/components/responses/InternalServerError1'
29939+
/api/staking/v1/{coin}/wallets/{walletId}/kyc/upload:
29940+
post:
29941+
tags:
29942+
- Staking Request
29943+
summary: Upload KYC document and get IPFS hash
29944+
description: |
29945+
Accepts a KYC PDF document, uploads it to the XinFin MasterNode IPFS API,
29946+
and returns the authoritative IPFS hash assigned by the network.
29947+
Only supported for XDC and TXDC coins.
29948+
29949+
The returned hash must be included in the subsequent XDC stake request as `kycHash`.
29950+
It is submitted to the validator contract in the AUTHORIZE (uploadKYC) transaction.
29951+
operationId: xdc.kyc.upload
29952+
x-internal: false
29953+
parameters:
29954+
- name: coin
29955+
in: path
29956+
required: true
29957+
description: Must be xdc or txdc.
29958+
schema:
29959+
type: string
29960+
enum:
29961+
- xdc
29962+
- txdc
29963+
- name: walletId
29964+
in: path
29965+
required: true
29966+
description: The wallet ID of the wallet used for staking.
29967+
schema:
29968+
$ref: '#/components/schemas/WalletId'
29969+
requestBody:
29970+
required: true
29971+
description: The request body for uploading KYC.
29972+
content:
29973+
multipart/form-data:
29974+
schema:
29975+
type: object
29976+
required:
29977+
- file
29978+
properties:
29979+
file:
29980+
type: string
29981+
format: binary
29982+
description: The KYC PDF document to upload (max 5MB).
29983+
responses:
29984+
'200':
29985+
description: IPFS hash computed successfully.
29986+
content:
29987+
application/json:
29988+
schema:
29989+
$ref: '#/components/schemas/XdcKycUploadResponse'
29990+
'400':
29991+
$ref: '#/components/responses/BadRequestError1'
29992+
'401':
29993+
$ref: '#/components/responses/UnauthorizedError2'
29994+
'403':
29995+
$ref: '#/components/responses/ForbiddenError2'
29996+
'500':
29997+
$ref: '#/components/responses/InternalServerError1'
2993929998
/api/fiat/v1/transaction/ach-debit:
2994029999
post:
2994130000
summary: Initiate ACH deposit
@@ -45341,6 +45400,7 @@ components:
4534145400
nftTier: DAWN
4534245401
validator: '0xae99cb89767a09d53e589a40cb4016974aba4b94'
4534345402
type: STAKE
45403+
subType: STAKE
4534445404
VetUnStakingRequestPOSTBodyExample:
4534545405
summary: VET UnStaking Request POST Body Example
4534645406
value:
@@ -80341,6 +80401,11 @@ components:
8034180401
description: Whether multiple delegation IDs must be specified for the unstaking request.
8034280402
type: boolean
8034380403
default: false
80404+
fields:
80405+
description: Dynamic form fields for the unstaking request (e.g., resource type selection).
80406+
type: array
80407+
items:
80408+
$ref: '#/components/schemas/StakingField'
8034480409
unstakingSubTypes:
8034580410
type: array
8034680411
description: Supported unstaking sub-types with their own spendable attributes.
@@ -85213,11 +85278,22 @@ components:
8521385278
properties:
8521485279
nftTier:
8521585280
type: string
85216-
description: The NFT tier selected for staking (e.g., DAWN, LIGHTNING, FLASH).
85281+
nullable: true
85282+
description: The NFT tier selected for staking (e.g., DAWN, LIGHTNING, FLASH). Present for regular staking, null for validator registration.
8521785283
validatorAddress:
8521885284
type: string
8521985285
nullable: true
85220-
description: The validator address to delegate to.
85286+
description: The validator address to delegate to or the validator address being registered.
85287+
stakingType:
85288+
type: string
85289+
description: The staking type - VET_STAKE for regular staking, VET_VALIDATOR_REGISTRATION for validator registration.
85290+
enum:
85291+
- VET_STAKE
85292+
- VET_VALIDATOR_REGISTRATION
85293+
beneficiaryAddress:
85294+
type: string
85295+
nullable: true
85296+
description: The beneficiary address that receives validator rewards. Present only for validator registration.
8522185297
required:
8522285298
- nftTier
8522385299
VetStakingRequestPOSTBody:
@@ -85227,16 +85303,24 @@ components:
8522785303
- type: object
8522885304
properties:
8522985305
nftTier:
85230-
description: The NFT tier to stake for VET PoS. Amount will be auto-populated based on the selected tier. Options are dynamically populated from the wallet attributes endpoint based on user balance.
85306+
description: The NFT tier to stake for VET PoS. Amount will be auto-populated based on the selected tier. Options are dynamically populated from the wallet attributes endpoint based on user balance. Required for subType=STAKE.
8523185307
type: string
8523285308
example: DAWN
8523385309
validator:
85234-
description: The validator address to delegate the NFT to.
85310+
description: The validator address. For regular staking (subType=STAKE), this is the validator to delegate the NFT to. For validator registration (subType=VET_VALIDATOR_REGISTRATION), this is the validator address being registered.
8523585311
type: string
8523685312
example: '0xae99cb89767a09d53e589a40cb4016974aba4b94'
85237-
required:
85238-
- nftTier
85239-
- validator
85313+
beneficiaryAddress:
85314+
description: The beneficiary address that will receive validator rewards. Required for subType=VET_VALIDATOR_REGISTRATION.
85315+
type: string
85316+
example: '0x1234567890123456789012345678901234567890'
85317+
subType:
85318+
description: The staking sub-type. STAKE for regular NFT-based staking, VET_VALIDATOR_REGISTRATION for registering as a validator.
85319+
type: string
85320+
enum:
85321+
- STAKE
85322+
- VET_VALIDATOR_REGISTRATION
85323+
example: STAKE
8524085324
type: object
8524185325
VetStakingTransactionProperties:
8524285326
title: VET Staking Transaction Properties
@@ -88739,6 +88823,20 @@ components:
8873988823
- rootAddress
8874088824
- pendingChainInitialization
8874188825
- creationFailure
88826+
XdcKycUploadResponse:
88827+
title: XDC KYC Upload Response
88828+
description: Response containing the IPFS CIDv0 hash of the uploaded KYC document.
88829+
type: object
88830+
required:
88831+
- hash
88832+
properties:
88833+
hash:
88834+
type: string
88835+
description: |
88836+
IPFS CIDv0 hash of the uploaded KYC document.
88837+
Must be included as `kycHash` in the subsequent XDC stake request.
88838+
pattern: ^Qm[1-9A-HJ-NP-Za-km-z]{44}$
88839+
example: QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX
8874288840
XdcProposeIntent:
8874388841
title: XDC Propose Intent
8874488842
allOf:

0 commit comments

Comments
 (0)