DriveWealth Settlements API
The Settlements API from DriveWealth — 6 operation(s) for settlements.
The Settlements API from DriveWealth — 6 operation(s) for settlements.
openapi: 3.0.2
info:
title: DriveWealth Accounts Settlements API
version: '1.0'
servers:
- url: https://bo-api.drivewealth.io/back-office
description: Sandbox server (Uses test data)
- url: https://bo-api.drivewealth.net/back-office
description: Production Server (Uses LIVE data)
tags:
- name: Settlements
x-displayName: Settlements
paths:
/funding/reconciliations:
get:
tags:
- Settlements
summary: List Cashless Reconciliations
description: Fetches a list of daily reconciliations for a firm using cashless settlement.
parameters:
- in: query
name: to
schema:
type: string
required: true
example: '2022-12-25T18:36:40.609Z'
description: The date and time in which to end at.
- in: query
name: from
schema:
type: string
required: true
example: '2022-12-08T18:36:40.609Z'
description: The date and time in which to start from.
- in: query
name: type
schema:
type: string
required: false
example: CRYPTO
description: Filters the reconciliations reports by the type of reconciliation.
- in: query
name: status
schema:
$ref: '#/components/schemas/reconciliationStatus'
required: false
description: Filters the reconciliations reports by the status of reconciliation.
responses:
'200':
description: Fetching a list of daily reconciliations for a firm was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ListOfDailyReconciliations'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/funding/reconciliations/{reconciliationID}:
get:
tags:
- Settlements
summary: Retrieve Cashless Reconciliation
description: Fetches reconciliations details for a firm using cashless settlement.
parameters:
- in: path
name: reconciliationID
schema:
$ref: '#/components/schemas/reconciliationID'
required: true
description: The unique identifier of the reconciliation report.
responses:
'200':
description: Fetching a firm's reconciliation details was successful.
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ReconciliationDetails'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
patch:
tags:
- Settlements
summary: Update Cashless Reconciliation
description: Updates a Cashless Reconciliation by reconciliationID.
parameters:
- in: path
name: reconciliationID
schema:
$ref: '#/components/schemas/reconciliationID'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReconciliationUpdate'
responses:
'200':
description: Updating the Cashless Reconciliations was Successful.
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ReconciliationDetails'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/accounts/{accountID}/reports/daily-trade-summary:
post:
tags:
- Settlements
summary: Create DVP RVP Report
description: Creates a job to generate a DVP RVP Report.
parameters:
- in: path
name: accountID
schema:
$ref: '#/components/schemas/accountID'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDVPRVP'
responses:
'200':
description: Creating the job to generate a DVP/RVP Report was successful
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDVPRVPRes'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
get:
tags:
- Settlements
summary: List DVP RVP Reports
description: Lists DVP RVP reports.
parameters:
- in: path
name: accountID
schema:
$ref: '#/components/schemas/accountID'
required: true
- in: query
name: status
schema:
$ref: '#/components/schemas/DVPRVPStatus'
description: A filter, to filter on the status of the DVP/RVP.
- in: query
name: from
schema:
$ref: '#/components/schemas/from'
required: true
- in: query
name: to
schema:
$ref: '#/components/schemas/to'
required: true
responses:
'200':
description: Fetching DVP/RVP List was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDVPRVP'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/accounts/{accountID}/reports/daily-trade-summary/{reportID}:
get:
summary: Retrieve DVP RVP
description: Retrieves a DVP RVP by reportID.
tags:
- Settlements
parameters:
- in: path
name: accountID
schema:
$ref: '#/components/schemas/accountID'
required: true
- in: path
name: reportID
schema:
type: string
example: bsr_040fb9cc-84e8-4f20-bf09-d398dacd458d.1622745430469_20210604
description: The DVP/RVP report identifier.
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DVPRVPDetails'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/settlements:
get:
tags:
- Settlements
summary: Retrieve Settlements
description: Retrieves a list of Settlements.
parameters:
- in: query
name: from
schema:
type: string
required: true
example: '2022-12-08'
description: The date to start from.
- in: query
name: to
schema:
type: string
required: true
example: '2022-12-25'
description: The date to end at.
- in: query
name: status
schema:
$ref: '#/components/schemas/singleSettlementStatus'
required: false
description: Filters, the settlements by the status.
- in: query
name: settlementProfileID
schema:
$ref: '#/components/schemas/settlementProfileID'
required: false
description: Filters, the settlements by the settlement profile.
- in: query
name: limit
schema:
type: integer
default: 50
maximum: 200
required: false
description: The number of items to return.
- in: query
name: offset
schema:
type: string
default: null
required: false
description: Used for pagination. Set this to the first/last id value of your payload to get the prev/next page of results respectively.
- in: query
name: direction
schema:
type: string
enum:
- prev
- next
required: false
description: The direction of the pagination.
responses:
'200':
description: Retrieving a list of Settlements was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SingleSettlementReports'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/settlements/{settlementID}:
get:
tags:
- Settlements
summary: Retrieve Settlement
description: Retrieves Settlement by settlementID.
parameters:
- in: path
name: settlementID
schema:
$ref: '#/components/schemas/singleSettlementID'
required: true
responses:
'200':
description: Retrieving Settlement by settlementID was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SingleSettlementByID'
'404':
description: The settlement for given settlementID doesn't exist.
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
components:
schemas:
SingleSettlementDetails:
type: object
properties:
id:
$ref: '#/components/schemas/singleSettlementID'
settlementDate:
$ref: '#/components/schemas/date'
description: The date for which the settlement was generated.
partnerID:
$ref: '#/components/schemas/parentIBID'
status:
$ref: '#/components/schemas/singleSettlementStatus'
totalAmount:
type: number
example: -14250
description: The total aggregated sum of all underlying accounts and transactions.
createdAt:
$ref: '#/components/schemas/created'
description: The date and time the settlement was created.
updatedAt:
$ref: '#/components/schemas/updated'
description: The date and time the settlement was last updated.
settlementProfileID:
$ref: '#/components/schemas/settlementProfileID'
reconciliationID:
type: string
example: 80f9b672-120d-4b73-9cc9-42fb3262c4b9_20240417
description: The unique identifier of the reconciliation report.
CreateDVPRVPRes:
type: object
properties:
id:
type: string
example: bsr_040fb9cc-84e8-4f20-bf09-d398dacd458d.1622745430469_20210604
description: The DVP/RVP report identifier.
accountID:
$ref: '#/components/schemas/accountID'
accountNo:
$ref: '#/components/schemas/accountNo'
tradeDate:
type: string
format: date
example: '2021-06-04'
pattern: yyyy-MM-dd
description: The date for which the DVP/RVP was run for.
note:
$ref: '#/components/schemas/note'
partnerID:
$ref: '#/components/schemas/partnerID'
CreateDVPRVP:
type: object
required:
- tradeDate
properties:
tradeDate:
type: string
format: date
example: '2021-06-04'
pattern: yyyy-MM-dd
description: The date to generate the DVP/RVP report for.
note:
$ref: '#/components/schemas/note'
note:
type: string
example: Hey! Welcome to DriveWealth Developer Docs!
description: A way to store a message/comment on the this object.
reconciliationStatus:
type: string
example: APPROVED
description: The current status of the reconciliation report.
enum:
- PENDING
- APPROVED
- PROCESSING
- SUCCESSFUL
- FAILED
settlementProfileID:
type: string
example: settlement-profile-bank-account-1
description: A settlement profile identifier that links to a specific bank account for fund settlement.
updated:
type: string
example: '2022-12-11T22:28:21.810Z'
description: ''
SingleSettlementReports:
type: object
properties:
pageSize:
type: integer
example: 1
description: The amount of results on the page.
limit:
type: integer
example: 50
description: The maximum number of results per page.
settlements:
type: array
items:
oneOf:
- $ref: '#/components/schemas/SingleSettlementDetails'
SingleSettlementByID:
type: object
properties:
id:
$ref: '#/components/schemas/singleSettlementID'
settlementDate:
$ref: '#/components/schemas/date'
description: The date the settlement was generated for.
status:
$ref: '#/components/schemas/singleSettlementStatus'
statusComment:
type: string
example: Finished processing breakdown
description: A custom comment about the current status of the settlement.
amount:
type: object
properties:
total:
type: number
example: 5000.45
description: The aggregated sum of all the transactions settling on the settlement date.
credits:
type: number
example: 6000.45
description: The aggregated sum of all the credit transactions settling on the settlement date.
debits:
type: number
example: -1000
description: The aggregated sum of all the debit transactions settling on the settlement date.
breakdownReport:
type: string
format: url
example: https://du2c4wzqz90h1.cloudfront.net/singleSettlementReport....
description: A breakdown of all the deposits or withdrawals across sub accounts over the course of the settlement date.
partnerID:
$ref: '#/components/schemas/partnerID'
settlementProfileID:
$ref: '#/components/schemas/settlementProfileID'
updatedBy:
$ref: '#/components/schemas/updatedBy'
createdAt:
$ref: '#/components/schemas/created'
description: The date and time of when the settlement was created.
updatedAt:
$ref: '#/components/schemas/updated'
description: The date and time of when the settlement was last updated.
created:
type: string
example: '2022-12-11T22:28:21.810Z'
description: ''
singleSettlementID:
type: string
example: sett_63ccb073-a7b6-4b33-af77-5baec5cc4494_settle-profile-usa_20221224
description: A unique identifier that identifies the settlement.
from:
type: string
format: date
pattern: yyyy-MM-dd
example: '2022-12-25'
description: A filter, the start date.
singleSettlementStatus:
type: string
example: PENDING
description: The current status of the settlement.
enum:
- PENDING
- APPROVED
- SUCCESSFUL
- REJECTED
accountID:
type: string
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932.1407775317759
description: The user's unique account identifier.
DailyReconciliation:
type: object
properties:
id:
$ref: '#/components/schemas/reconciliationID'
date:
type: string
example: '2024-04-17'
description: The date of when the reconciliation report was generated for.
status:
$ref: '#/components/schemas/reconciliationStatus'
statusComment:
type: string
example: Finished processing breakdown
description: A custom comment about the status.
totalAmount:
type: number
example: 12001.01
description: The total amount due or owed to the firm.
created:
type: string
example: '2024-04-15T22:28:21.810Z'
description: The date and time the reconciliation report was created.
updated:
type: string
example: '2024-04-17T22:28:21.810Z'
description: The date and time the reconciliation report was last updated.
updatedBy:
$ref: '#/components/schemas/updatedBy'
to:
type: string
format: date
pattern: yyyy-MM-dd
example: '2022-12-26'
description: A filter, the end date.
ReconciliationUpdate:
type: object
properties:
status:
type: string
example: SUCCESSFUL
description: The status to update the reconciliation report to.
enum:
- SUCCESSFUL
statusComment:
type: string
example: Manually approving reconciliation for testing purposes.
description: A custom comment about the status.
parentIBID:
type: string
example: 80f9b672-120d-4b73-9cc9-42fb3262c4b9
description: The unique identifier of the firm.
ReconciliationDetails:
type: object
properties:
id:
$ref: '#/components/schemas/reconciliationID'
date:
type: string
example: '2024-04-17'
description: The date of when the reconciliation report was generated for.
status:
$ref: '#/components/schemas/reconciliationStatus'
statusComment:
type: string
example: Finished processing breakdown
description: A custom comment about the status.
amounts:
type: object
properties:
total:
type: number
example: -1263.56
description: The total amount due or owed to the firm.
purchases:
type: number
example: -1680.07
description: The total amount in purchases of equity instruments, that are due to DriveWealth.
sales:
type: number
example: 416.51
description: The total amount in sales of equity instruments, that are owed to the firm.
dividends:
type: number
example: 0
description: The total amount of dividends, that are owed to the firm.
fees:
type: number
example: 0
description: The total amount of fees, that are due to DriveWealth.
other:
type: number
example: 0
description: The total amount of other payments, that are owed to the firm.
transferAmounts:
type: object
properties:
currency:
type: string
example: USD
description: The currency in abbreviation form.
payablesToDW:
type: number
example: 1263.56
description: The total amount due to DriveWealth.
receivablesFromDW:
type: number
example: 0
description: The total amount owed to the partner firm.
reconciliationBreakdown:
type: string
properties:
JSON:
type: string
example: https://d3k101jzh5wilt.cloudfront.net/reconciliation_2e901d48-dd17-42fe-8225-32d2ca6b633e_20190322.json?Policy=eyJTdGF0ddiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vZDNrMTAxanpoNXdpbHQuY2xvdWRmcm9udC5uZXQvcmVjb25jaWxpYXRpb25fMmU5ffdasdamA17ggVl6C40gHkKsr2HLfmjTd9BevcYRPh-QDKA1J~76INZ3nfada4ROS6OUR66A%22
description: A URL that contains the breakdown of all the transactions that are settling in the reconciliation report.
partnerID:
$ref: '#/components/schemas/parentIBID'
created:
type: string
example: '2024-04-15T22:28:21.810Z'
description: The date and time when the reconciliation report was created.
updated:
type: string
example: '2024-04-17T22:28:21.810Z'
description: The date and time when the reconciliation report was last updated.
updatedBy:
$ref: '#/components/schemas/updatedBy'
accountNo:
type: string
example: DWBG000052
description: The user's unique account number, that is human readable.
DVPRVP:
type: object
properties:
id:
type: string
example: bsr_040fb9cc-84e8-4f20-bf09-d398dacd458d.1622745430469_20210604
description: The DVP/RVP report identifier.
tradeDate:
type: string
format: date
example: '2021-06-04'
pattern: yyyy-MM-dd
description: The date for which the DVP/RVP was run for.
status:
type: string
example: SUCCESSFUL
description: The status of the generated report.
enum:
- PROCESSING
- SUCCESSFUL
note:
$ref: '#/components/schemas/note'
partnerID:
$ref: '#/components/schemas/partnerID'
created:
$ref: '#/components/schemas/created'
updated:
$ref: '#/components/schemas/updated'
updatedBy:
$ref: '#/components/schemas/updatedBy'
source:
type: string
example: MANUAL
enum:
- MANUAL
- SYSTEM
description: The method type in which the report was generated.
date:
type: string
example: '2022-12-25'
description: ''
partnerID:
type: string
example: 80f9b672-120d-4b73-9ccv9-42fb3262c4b9
description: The partner's unique identifier.
ListOfDailyReconciliations:
type: array
description: A list of daily reconciliations for a firm.
items:
oneOf:
- $ref: '#/components/schemas/DailyReconciliation'
ListDVPRVP:
type: array
items:
oneOf:
- $ref: '#/components/schemas/DVPRVP'
updatedBy:
type: string
example: SYSTEM
enum:
- SYSTEM REPORT SERVICE
- INSTANT FUNDING BREAKDOWN JOB
DVPRVPStatus:
type: string
example: Processing
enum:
- Processing
- Successful
DVPRVPDetails:
type: object
allOf:
- $ref: '#/components/schemas/DVPRVP'
- type: object
properties:
amount:
type: object
properties:
totalBuy:
type: object
properties:
quantity:
type: number
example: 10.71358941
description: The amount of shares that were purchased.
notional:
type: number
example: 144.26
description: The total amount in USD value of the instruments.
orders:
type: number
example: 30
description: The total amount of orders assiocated to the amount of shares purchased.
totalSell:
type: object
properties:
quantity:
type: number
example: 0
description: The amount of shares that were sold.
notional:
type: number
example: 0
description: The total amount in USD value of the instruments.
orders:
type: number
example: 0
description: The total amount of orders assiocated to the amount of shares sold.
breakdownJson:
type: string
format: url
description: A json file of the trade breakdown of all the purchases and sale transactions.
example: https://du2c4wzqz90h1.cloudfront.net/buySellTradesReport....
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
dwAppKey:
type: apiKey
in: header
name: dw-client-app-key
sessionToken:
type: apiKey
in: header
name: dw-auth-token