Due Vaults API
The Vaults API from Due — 6 operation(s) for vaults.
The Vaults API from Due — 6 operation(s) for vaults.
openapi: 3.0.3
info:
title: Due Account Vaults API
version: v1
description: 'Due provides borderless payment infrastructure: cross-border transfers, fiat<->stablecoin on/off-ramps, virtual accounts, FX rates, KYC/KYB onboarding, non-custodial MPC wallets (Vault), and webhooks. Assembled by API Evangelist from Due''s per-operation OpenAPI fragments published on due.readme.io.'
contact:
email: demo@due.network
url: https://www.opendue.com
servers:
- url: https://api.due.network
description: Production
- url: https://api.sandbox.due.network
description: Sandbox
security:
- BearerAuth: []
tags:
- name: Vaults
paths:
/v1/vaults/credentials:
get:
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/bp_models.PasskeyCredential'
operationId: get_v1-vaults-credentials
tags:
- Vaults
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/bp_dto.CredentialCreationResponse'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bp_models.PasskeyCredential'
operationId: post_v1-vaults-credentials
tags:
- Vaults
/v1/vaults/credentials/approve:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/dfnsdto.SignedEnvelope--bp_dto.PasskeyApprovalRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bp_models.PasskeyCredential'
'403':
description: Action Signature Required
content:
application/json:
schema:
$ref: '#/components/schemas/SignatureRequiredErr'
operationId: post_v1-vaults-credentials-approve
tags:
- Vaults
/v1/vaults/credentials/deactivate:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/dfnsdto.SignedEnvelope--bp_dto.PasskeyDeactivateRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bp_models.PasskeyCredential'
operationId: post_v1-vaults-credentials-deactivate
tags:
- Vaults
/v1/vaults/credentials/init:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/bp_dto.PasskeyCreationRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bp_dto.CredentialCreation'
operationId: post_v1-vaults-credentials-init
tags:
- Vaults
/v1/vaults/sign:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/dfnsdto.SignedEnvelope--bp_dto.DfnsTmpSignatureRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bp_dto.DfnsSignature'
operationId: post_v1-vaults-sign
tags:
- Vaults
/v1/vaults:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/dfnsdto.SignedEnvelope--any'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bp_models.MPCWalletEvm'
operationId: post_v1-vaults
tags:
- Vaults
components:
schemas:
dfns_entities.Fido2CredentialFactor:
type: object
properties:
credId:
type: string
clientData:
type: string
format: byte
authenticatorData:
type: string
format: byte
signature:
type: string
format: byte
userHandle:
type: string
format: byte
kind:
type: string
required:
- kind
dfns_entities.KeyCredentialFactor:
type: object
properties:
credId:
type: string
clientData:
type: string
format: byte
signature:
type: string
format: byte
kind:
type: string
required:
- kind
dfnsdto.SignedEnvelope--bp_dto.DfnsTmpSignatureRequest:
type: object
properties:
payload:
$ref: '#/components/schemas/bp_dto.DfnsTmpSignatureRequest'
signature:
$ref: '#/components/schemas/dfnsdto.ActionAuthenticationResponse'
dfnsdto.ActionAllowedFactorsSet:
type: object
properties:
Fido2:
$ref: '#/components/schemas/protocol.CredentialAssertion'
Key:
$ref: '#/components/schemas/dfns_entities.KeyCredentialFactor'
bp_dto.PasskeyApprovalRequest:
type: object
properties:
credentialId:
type: string
SignatureRequiredErr:
type: object
properties:
factors:
$ref: '#/components/schemas/dfnsdto.ActionAllowedFactorsSet'
challengeIdentifier:
type: string
dfnsdto.SignedEnvelope--bp_dto.PasskeyDeactivateRequest:
type: object
properties:
payload:
$ref: '#/components/schemas/bp_dto.PasskeyDeactivateRequest'
signature:
$ref: '#/components/schemas/dfnsdto.ActionAuthenticationResponse'
bp_dto.PasskeyCreationRequest:
type: object
properties:
name:
type: string
location:
$ref: '#/components/schemas/bp_models.PassKeyCredentialLocation'
recoveryShard:
type: string
format: byte
kind:
type: string
dfnsdto.ActionAuthenticationResponse:
type: object
properties:
challengeIdentifier:
type: string
firstFactor:
oneOf:
- $ref: '#/components/schemas/dfns_entities.Fido2CredentialFactor'
- $ref: '#/components/schemas/dfns_entities.KeyCredentialFactor'
discriminator:
propertyName: kind
mapping:
Fido2: '#/components/schemas/dfns_entities.Fido2CredentialFactor'
Key: '#/components/schemas/dfns_entities.KeyCredentialFactor'
protocol.CredentialDescriptor:
type: object
properties:
type:
type: string
enum:
- public-key
id:
type: string
format: byte
transports:
type: array
items:
type: string
enum:
- usb
- nfc
- ble
- hybrid
- internal
bp_dto.DfnsTmpSignatureRequest:
type: object
properties:
walletId:
type: string
keyId:
type: string
hash:
type: string
bp_dto.DfnsSignature:
type: object
properties:
hash:
type: string
signature:
type: string
dfnsdto.SignedEnvelope--bp_dto.PasskeyApprovalRequest:
type: object
properties:
payload:
$ref: '#/components/schemas/bp_dto.PasskeyApprovalRequest'
signature:
$ref: '#/components/schemas/dfnsdto.ActionAuthenticationResponse'
bp_dto.PasskeyDeactivateRequest:
type: object
properties:
credentialId:
type: string
protocol.CredentialAssertion:
type: object
properties:
publicKey:
$ref: '#/components/schemas/protocol.PublicKeyCredentialRequestOptions'
protocol.PublicKeyCredentialRequestOptions:
type: object
properties:
challenge:
type: string
format: byte
timeout:
type: integer
format: int32
rpId:
type: string
allowCredentials:
type: array
items:
$ref: '#/components/schemas/protocol.CredentialDescriptor'
userVerification:
type: string
enum:
- required
- preferred
- discouraged
extensions:
type: object
bp_models.PassKeyCredentialLocation:
type: object
properties:
deviceType:
type: string
deviceOS:
type: string
deviceName:
type: string
bp_models.MPCWalletEvm:
type: object
properties:
id:
type: string
address:
type: string
bp_dto.CredentialCreation:
type: object
properties:
Data:
type: object
bp_models.PasskeyCredential:
type: object
properties:
id:
type: string
kind:
type: string
algorithm:
type: string
location:
$ref: '#/components/schemas/bp_models.PassKeyCredentialLocation'
name:
type: string
publicKey:
type: string
hasWalletAccess:
type: boolean
createdAt:
type: string
format: date-time
recoveryShard:
type: string
format: byte
approveUntil:
type: string
isActive:
type: boolean
bp_dto.CredentialCreationResponse:
type: object
properties:
Response:
type: object
dfnsdto.SignedEnvelope--any:
type: object
properties:
payload:
type: object
signature:
$ref: '#/components/schemas/dfnsdto.ActionAuthenticationResponse'
securitySchemes:
BearerAuth:
type: http
scheme: bearer