TradeSafe API

TradeSafe GraphQL API Spec

Contact

TradeSafe Support
support@tradesafe.co.za

Terms of Service: https://www.tradesafe.co.za/documents/terms_and_conditions.pdf

API Endpoints
Production Server:
https://api.tradesafe.co.za/graphql
Development Server:
https://api-developer.tradesafe.dev/graphql
Version: 1.2.0

Queries

allocation

Returns an Allocation

Name Description
id - ID!

Example

Query
query allocation($id: ID!) {
  allocation(id: $id) {
    id
    title
    description
    auxiliaryData
    state
    value
    units
    unitCost
    initiatedDate
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    address {
      ...AddressFragment
    }
    deliveryInstructions
    currentAmendment {
      ...AmendmentFragment
    }
    acceptedAmendment {
      ...AmendmentFragment
    }
    amendments {
      ...AmendmentFragment
    }
    payments {
      ...PaymentsFragment
    }
    hasAccepted
    acceptances {
      ...AcceptanceFragment
    }
    calculation {
      ...AllocationCalculationFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "allocation": {
      "id": ID,
      "title": "abc123",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": AllocationState,
      "value": 123.45,
      "units": 987.65,
      "unitCost": 123.45,
      "initiatedDate": DateTime,
      "daysToDeliver": 123.45,
      "deliverBy": DateTime,
      "daysToInspect": 987.65,
      "inspectBy": DateTime,
      "address": Address,
      "deliveryInstructions": {},
      "currentAmendment": Amendment,
      "acceptedAmendment": Amendment,
      "amendments": [Amendment],
      "payments": [Payments],
      "hasAccepted": true,
      "acceptances": [Acceptance],
      "calculation": AllocationCalculation,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

apiProfile

Returns an ApiProfile

Example

Query
query apiProfile {
  apiProfile {
    id
    name
    token
    organizations {
      ...OrganizationApiProfileFragment
    }
  }
}
Response
{
  "data": {
    "apiProfile": {
      "id": ID,
      "name": "xyz789",
      "token": "abc123",
      "organizations": [OrganizationApiProfile]
    }
  }
}

clientInfo

Returns a ClientInfo

Example

Query
query clientInfo {
  clientInfo {
    id
    name
    callback
    organizationId
    production
  }
}
Response
{
  "data": {
    "clientInfo": {
      "id": ID,
      "name": "xyz789",
      "callback": "abc123",
      "organizationId": ID,
      "production": true
    }
  }
}

party

Returns a Party

Name Description
id - ID!
trashed - Trashed Allows to filter if trashed elements should be fetched

Example

Query
query party($id: ID!, $trashed: Trashed) {
  party(id: $id, trashed: $trashed) {
    id
    name
    details {
      ...PartyDetailsFragment
    }
    email
    role
    avatar
    fee
    feeType
    feeAllocation
    acceptance {
      ...AcceptanceFragment
    }
    owner
    calculation {
      ...PartyCalculationFragment
    }
    createdAt
    updatedAt
    deletedAt
    reference
    settings {
      ...PartySettingsFragment
    }
  }
}
Variables
{"id": ID, "trashed": Trashed}
Response
{
  "data": {
    "party": {
      "id": ID,
      "name": "xyz789",
      "details": PartyDetails,
      "email": "xyz789",
      "role": Role,
      "avatar": "xyz789",
      "fee": 123.45,
      "feeType": FeeType,
      "feeAllocation": FeeAllocation,
      "acceptance": Acceptance,
      "owner": false,
      "calculation": PartyCalculation,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime,
      "reference": "xyz789",
      "settings": PartySettings
    }
  }
}

reportTransactionSummary

Returns a TransactionPaginator

Name Description
startDate - Date
endDate - Date
first - Int Limits number of fetched elements. Default = 10
page - Int The offset from which elements are returned
trashed - Trashed Allows to filter if trashed elements should be fetched

Example

Query
query reportTransactionSummary($startDate: Date, $endDate: Date, $first: Int, $page: Int, $trashed: Trashed) {
  reportTransactionSummary(startDate: $startDate, endDate: $endDate, first: $first, page: $page, trashed: $trashed) {
    paginatorInfo {
      ...PaginatorInfoFragment
    }
    data {
      ...TransactionFragment
    }
  }
}
Variables
{
  "startDate": "2021-09-20T07:53:33.569Z",
  "endDate": "2021-03-20T07:53:33.569Z",
  "first": 10,
  "page": 987,
  "trashed": Trashed
}
Response
{
  "data": {
    "reportTransactionSummary": {
      "paginatorInfo": PaginatorInfo,
      "data": [Transaction]
    }
  }
}

reportTransactionSummaryDownloadCsv

Returns a String

Name Description
startDate - Date
endDate - Date

Example

Query
query reportTransactionSummaryDownloadCsv($startDate: Date, $endDate: Date) {
  reportTransactionSummaryDownloadCsv(startDate: $startDate, endDate: $endDate)
}
Variables
{"startDate": "2021-03-20T07:53:33.569Z", "endDate": "2021-09-20T07:53:33.569Z"}
Response
{"data": {"reportTransactionSummaryDownloadCsv": "xyz789"}}

reportTransactionSummaryDownloadPdf

Returns a String

Name Description
startDate - Date
endDate - Date

Example

Query
query reportTransactionSummaryDownloadPdf($startDate: Date, $endDate: Date) {
  reportTransactionSummaryDownloadPdf(startDate: $startDate, endDate: $endDate)
}
Variables
{"startDate": "2021-03-20T07:53:33.569Z", "endDate": "2021-03-20T07:53:33.569Z"}
Response
{"data": {"reportTransactionSummaryDownloadPdf": "xyz789"}}

stats

Returns a Stats

Example

Query
query stats {
  stats {
    summary {
      ...StatsSummaryFragment
    }
    gateways {
      ...StatsGatewaysFragment
    }
    transactions {
      ...StatsTransactionsFragment
    }
    industries {
      ...StatsIndustriesFragment
    }
    funds {
      ...StatsFundsFragment
    }
  }
}
Response
{
  "data": {
    "stats": {
      "summary": StatsSummary,
      "gateways": StatsGateways,
      "transactions": StatsTransactions,
      "industries": [StatsIndustries],
      "funds": StatsFunds
    }
  }
}

token

Returns a Token

Name Description
id - ID!
trashed - Trashed Allows to filter if trashed elements should be fetched

Example

Query
query token($id: ID!, $trashed: Trashed) {
  token(id: $id, trashed: $trashed) {
    id
    name
    legalName
    reference
    user {
      ...TokenUserFragment
    }
    organization {
      ...TokenOrganizationFragment
    }
    bankAccount {
      ...TokenBankAccountFragment
    }
    settings {
      ...TokenSettingsFragment
    }
    balance
  }
}
Variables
{"id": ID, "trashed": Trashed}
Response
{
  "data": {
    "token": {
      "id": ID,
      "name": "abc123",
      "legalName": "abc123",
      "reference": "abc123",
      "user": TokenUser,
      "organization": TokenOrganization,
      "bankAccount": TokenBankAccount,
      "settings": TokenSettings,
      "balance": 123.45
    }
  }
}

tokens

Returns a TokenPaginator

Name Description
first - Int Limits number of fetched elements. Default = 10
page - Int The offset from which elements are returned

Example

Query
query tokens($first: Int, $page: Int) {
  tokens(first: $first, page: $page) {
    paginatorInfo {
      ...PaginatorInfoFragment
    }
    data {
      ...TokenFragment
    }
  }
}
Variables
{"first": 10, "page": 123}
Response
{
  "data": {
    "tokens": {
      "paginatorInfo": PaginatorInfo,
      "data": [Token]
    }
  }
}

transaction

Returns a Transaction

Name Description
id - ID!
trashed - Trashed Allows to filter if trashed elements should be fetched

Example

Query
query transaction($id: ID!, $trashed: Trashed) {
  transaction(id: $id, trashed: $trashed) {
    id
    uuid
    reference
    metadata {
      ...TransactionMetadataFragment
    }
    privacy
    title
    description
    auxiliaryData
    state
    industry
    currency
    feeAllocation
    workflow
    calculation {
      ...CalculationFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    deposits {
      ...DepositFragment
    }
    payments {
      ...PaymentsFragment
    }
    address {
      ...AddressFragment
    }
    deliveryInstructions
    allocations {
      ...AllocationFragment
    }
    drawdowns {
      ...DrawdownFragment
    }
    parties {
      ...PartyFragment
    }
    comments {
      ...CommentFragment
    }
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "trashed": Trashed}
Response
{
  "data": {
    "transaction": {
      "id": ID,
      "uuid": ID,
      "reference": "abc123",
      "metadata": TransactionMetadata,
      "privacy": TransactionPrivacy,
      "title": "xyz789",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": State,
      "industry": Industry,
      "currency": Currency,
      "feeAllocation": FeeAllocation,
      "workflow": TransactionWorkflow,
      "calculation": Calculation,
      "acceptances": [Acceptance],
      "deposits": [Deposit],
      "payments": [Payments],
      "address": Address,
      "deliveryInstructions": "xyz789",
      "allocations": [Allocation],
      "drawdowns": [Drawdown],
      "parties": [Party],
      "comments": [Comment],
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

transactionDeposit

Returns a DepositDetails

Name Description
tokenId - ID

Example

Query
query transactionDeposit($tokenId: ID) {
  transactionDeposit(tokenId: $tokenId) {
    name
    number
    branch
    type
    reference
  }
}
Variables
{"tokenId": ID}
Response
{
  "data": {
    "transactionDeposit": {
      "name": "xyz789",
      "number": "xyz789",
      "branch": "abc123",
      "type": "abc123",
      "reference": "xyz789"
    }
  }
}

transactions

Returns a TransactionPaginator

Name Description
filter - TransactionFilterInput
orderBy - [TransactionsOrderByOrderByClause!]
first - Int Limits number of fetched elements. Default = 10
page - Int The offset from which elements are returned
trashed - Trashed Allows to filter if trashed elements should be fetched

Example

Query
query transactions($filter: TransactionFilterInput, $orderBy: [TransactionsOrderByOrderByClause!], $first: Int, $page: Int, $trashed: Trashed) {
  transactions(filter: $filter, orderBy: $orderBy, first: $first, page: $page, trashed: $trashed) {
    paginatorInfo {
      ...PaginatorInfoFragment
    }
    data {
      ...TransactionFragment
    }
  }
}
Variables
{
  "filter": TransactionFilterInput,
  "orderBy": [TransactionsOrderByOrderByClause],
  "first": 10,
  "page": 987,
  "trashed": Trashed
}
Response
{
  "data": {
    "transactions": {
      "paginatorInfo": PaginatorInfo,
      "data": [Transaction]
    }
  }
}

userinfo

Returns a Userinfo

Example

Query
query userinfo {
  userinfo {
    id
    sub
    first_name
    last_name
    email
    cellphonenumber
  }
}
Response
{
  "data": {
    "userinfo": {
      "id": ID,
      "sub": ID,
      "first_name": "abc123",
      "last_name": "xyz789",
      "email": Email,
      "cellphonenumber": "xyz789"
    }
  }
}

Mutations

allocationAcceptDelivery

Returns an Allocation

Name Description
id - ID!

Example

Query
mutation allocationAcceptDelivery($id: ID!) {
  allocationAcceptDelivery(id: $id) {
    id
    title
    description
    auxiliaryData
    state
    value
    units
    unitCost
    initiatedDate
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    address {
      ...AddressFragment
    }
    deliveryInstructions
    currentAmendment {
      ...AmendmentFragment
    }
    acceptedAmendment {
      ...AmendmentFragment
    }
    amendments {
      ...AmendmentFragment
    }
    payments {
      ...PaymentsFragment
    }
    hasAccepted
    acceptances {
      ...AcceptanceFragment
    }
    calculation {
      ...AllocationCalculationFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "allocationAcceptDelivery": {
      "id": ID,
      "title": "abc123",
      "description": "abc123",
      "auxiliaryData": {},
      "state": AllocationState,
      "value": 123.45,
      "units": 123.45,
      "unitCost": 123.45,
      "initiatedDate": DateTime,
      "daysToDeliver": 987.65,
      "deliverBy": DateTime,
      "daysToInspect": 987.65,
      "inspectBy": DateTime,
      "address": Address,
      "deliveryInstructions": {},
      "currentAmendment": Amendment,
      "acceptedAmendment": Amendment,
      "amendments": [Amendment],
      "payments": [Payments],
      "hasAccepted": false,
      "acceptances": [Acceptance],
      "calculation": AllocationCalculation,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

allocationCourierDetails

Returns an Allocation

Name Description
id - ID!
name - String!
code - String!

Example

Query
mutation allocationCourierDetails($id: ID!, $name: String!, $code: String!) {
  allocationCourierDetails(id: $id, name: $name, code: $code) {
    id
    title
    description
    auxiliaryData
    state
    value
    units
    unitCost
    initiatedDate
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    address {
      ...AddressFragment
    }
    deliveryInstructions
    currentAmendment {
      ...AmendmentFragment
    }
    acceptedAmendment {
      ...AmendmentFragment
    }
    amendments {
      ...AmendmentFragment
    }
    payments {
      ...PaymentsFragment
    }
    hasAccepted
    acceptances {
      ...AcceptanceFragment
    }
    calculation {
      ...AllocationCalculationFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "name": "abc123", "code": "abc123"}
Response
{
  "data": {
    "allocationCourierDetails": {
      "id": ID,
      "title": "abc123",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": AllocationState,
      "value": 123.45,
      "units": 987.65,
      "unitCost": 987.65,
      "initiatedDate": DateTime,
      "daysToDeliver": 987.65,
      "deliverBy": DateTime,
      "daysToInspect": 123.45,
      "inspectBy": DateTime,
      "address": Address,
      "deliveryInstructions": {},
      "currentAmendment": Amendment,
      "acceptedAmendment": Amendment,
      "amendments": [Amendment],
      "payments": [Payments],
      "hasAccepted": true,
      "acceptances": [Acceptance],
      "calculation": AllocationCalculation,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

allocationDisputeDelivery

Returns an Allocation

Name Description
id - ID!
comment - String!

Example

Query
mutation allocationDisputeDelivery($id: ID!, $comment: String!) {
  allocationDisputeDelivery(id: $id, comment: $comment) {
    id
    title
    description
    auxiliaryData
    state
    value
    units
    unitCost
    initiatedDate
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    address {
      ...AddressFragment
    }
    deliveryInstructions
    currentAmendment {
      ...AmendmentFragment
    }
    acceptedAmendment {
      ...AmendmentFragment
    }
    amendments {
      ...AmendmentFragment
    }
    payments {
      ...PaymentsFragment
    }
    hasAccepted
    acceptances {
      ...AcceptanceFragment
    }
    calculation {
      ...AllocationCalculationFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "comment": "abc123"}
Response
{
  "data": {
    "allocationDisputeDelivery": {
      "id": ID,
      "title": "abc123",
      "description": "abc123",
      "auxiliaryData": {},
      "state": AllocationState,
      "value": 987.65,
      "units": 123.45,
      "unitCost": 987.65,
      "initiatedDate": DateTime,
      "daysToDeliver": 123.45,
      "deliverBy": DateTime,
      "daysToInspect": 123.45,
      "inspectBy": DateTime,
      "address": Address,
      "deliveryInstructions": {},
      "currentAmendment": Amendment,
      "acceptedAmendment": Amendment,
      "amendments": [Amendment],
      "payments": [Payments],
      "hasAccepted": true,
      "acceptances": [Acceptance],
      "calculation": AllocationCalculation,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

allocationStartDelivery

Returns an Allocation

Name Description
id - ID!

Example

Query
mutation allocationStartDelivery($id: ID!) {
  allocationStartDelivery(id: $id) {
    id
    title
    description
    auxiliaryData
    state
    value
    units
    unitCost
    initiatedDate
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    address {
      ...AddressFragment
    }
    deliveryInstructions
    currentAmendment {
      ...AmendmentFragment
    }
    acceptedAmendment {
      ...AmendmentFragment
    }
    amendments {
      ...AmendmentFragment
    }
    payments {
      ...PaymentsFragment
    }
    hasAccepted
    acceptances {
      ...AcceptanceFragment
    }
    calculation {
      ...AllocationCalculationFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "allocationStartDelivery": {
      "id": ID,
      "title": "xyz789",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": AllocationState,
      "value": 123.45,
      "units": 123.45,
      "unitCost": 123.45,
      "initiatedDate": DateTime,
      "daysToDeliver": 987.65,
      "deliverBy": DateTime,
      "daysToInspect": 123.45,
      "inspectBy": DateTime,
      "address": Address,
      "deliveryInstructions": {},
      "currentAmendment": Amendment,
      "acceptedAmendment": Amendment,
      "amendments": [Amendment],
      "payments": [Payments],
      "hasAccepted": false,
      "acceptances": [Acceptance],
      "calculation": AllocationCalculation,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

amendmentAccept

Returns an Amendment

Name Description
id - ID!

Example

Query
mutation amendmentAccept($id: ID!) {
  amendmentAccept(id: $id) {
    id
    state
    value
    units
    unitCost
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    comments {
      ...CommentFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    accepted
    hasAccepted
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "amendmentAccept": {
      "id": ID,
      "state": AmendmentState,
      "value": 123.45,
      "units": 987.65,
      "unitCost": 123.45,
      "daysToDeliver": 123.45,
      "deliverBy": DateTime,
      "daysToInspect": 987.65,
      "inspectBy": DateTime,
      "comments": [Comment],
      "acceptances": [Acceptance],
      "accepted": true,
      "hasAccepted": true,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

amendmentCancel

Returns an Amendment

Name Description
id - ID!
comment - String!

Example

Query
mutation amendmentCancel($id: ID!, $comment: String!) {
  amendmentCancel(id: $id, comment: $comment) {
    id
    state
    value
    units
    unitCost
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    comments {
      ...CommentFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    accepted
    hasAccepted
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "comment": "xyz789"}
Response
{
  "data": {
    "amendmentCancel": {
      "id": ID,
      "state": AmendmentState,
      "value": 123.45,
      "units": 987.65,
      "unitCost": 987.65,
      "daysToDeliver": 987.65,
      "deliverBy": DateTime,
      "daysToInspect": 123.45,
      "inspectBy": DateTime,
      "comments": [Comment],
      "acceptances": [Acceptance],
      "accepted": true,
      "hasAccepted": false,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

amendmentCreate

Returns an Amendment

Name Description
allocationId - ID!
input - AmendmentInput!

Example

Query
mutation amendmentCreate($allocationId: ID!, $input: AmendmentInput!) {
  amendmentCreate(allocationId: $allocationId, input: $input) {
    id
    state
    value
    units
    unitCost
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    comments {
      ...CommentFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    accepted
    hasAccepted
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{
  "allocationId": ID,
  "input": AmendmentInput
}
Response
{
  "data": {
    "amendmentCreate": {
      "id": ID,
      "state": AmendmentState,
      "value": 123.45,
      "units": 987.65,
      "unitCost": 123.45,
      "daysToDeliver": 123.45,
      "deliverBy": DateTime,
      "daysToInspect": 987.65,
      "inspectBy": DateTime,
      "comments": [Comment],
      "acceptances": [Acceptance],
      "accepted": true,
      "hasAccepted": true,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

amendmentDecline

Returns an Amendment

Name Description
id - ID!
comment - String!

Example

Query
mutation amendmentDecline($id: ID!, $comment: String!) {
  amendmentDecline(id: $id, comment: $comment) {
    id
    state
    value
    units
    unitCost
    daysToDeliver
    deliverBy
    daysToInspect
    inspectBy
    comments {
      ...CommentFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    accepted
    hasAccepted
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "comment": "abc123"}
Response
{
  "data": {
    "amendmentDecline": {
      "id": ID,
      "state": AmendmentState,
      "value": 123.45,
      "units": 123.45,
      "unitCost": 123.45,
      "daysToDeliver": 987.65,
      "deliverBy": DateTime,
      "daysToInspect": 987.65,
      "inspectBy": DateTime,
      "comments": [Comment],
      "acceptances": [Acceptance],
      "accepted": true,
      "hasAccepted": false,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

calculator

Returns a Calculation

Name Description
input - CalculatorInput!

Example

Query
mutation calculator($input: CalculatorInput!) {
  calculator(input: $input) {
    baseValue
    processingFees {
      ...ProcessingFeesFragment
    }
    processingFeePercentage
    processingFeeValue
    processingFeeVat
    processingFeeTotal
    totalValue
    totalDeposits
    processingFeeOzow
    totalValueOzow
    processingFeeSnapscan
    totalValueSnapscan
    gatewayProcessingFees {
      ...GatewayProcessingFeesFragment
    }
    parties {
      ...PartyCalculationFragment
    }
    allocations {
      ...AllocationCalculationFragment
    }
    drawdownTotals {
      ...DrawdownCalculationFragment
    }
  }
}
Variables
{"input": CalculatorInput}
Response
{
  "data": {
    "calculator": {
      "baseValue": 123.45,
      "processingFees": ProcessingFees,
      "processingFeePercentage": 123.45,
      "processingFeeValue": 123.45,
      "processingFeeVat": 123.45,
      "processingFeeTotal": 987.65,
      "totalValue": 987.65,
      "totalDeposits": 123.45,
      "processingFeeOzow": 987.65,
      "totalValueOzow": 123.45,
      "processingFeeSnapscan": 987.65,
      "totalValueSnapscan": 123.45,
      "gatewayProcessingFees": GatewayProcessingFees,
      "parties": [PartyCalculation],
      "allocations": [AllocationCalculation],
      "drawdownTotals": DrawdownCalculation
    }
  }
}

drawdownApprove

Returns a Drawdown

Name Description
id - ID!

Example

Query
mutation drawdownApprove($id: ID!) {
  drawdownApprove(id: $id) {
    id
    title
    description
    value
    state
    reference
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "drawdownApprove": {
      "id": ID,
      "title": "xyz789",
      "description": "xyz789",
      "value": 123.45,
      "state": DrawdownState,
      "reference": "xyz789",
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

drawdownCancel

Returns a Drawdown

Name Description
id - ID!
comment - String

Example

Query
mutation drawdownCancel($id: ID!, $comment: String) {
  drawdownCancel(id: $id, comment: $comment) {
    id
    title
    description
    value
    state
    reference
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "comment": "xyz789"}
Response
{
  "data": {
    "drawdownCancel": {
      "id": ID,
      "title": "xyz789",
      "description": "xyz789",
      "value": 123.45,
      "state": DrawdownState,
      "reference": "xyz789",
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

drawdownCreate

Returns a Drawdown

Name Description
input - DrawdownInput

Example

Query
mutation drawdownCreate($input: DrawdownInput) {
  drawdownCreate(input: $input) {
    id
    title
    description
    value
    state
    reference
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"input": DrawdownInput}
Response
{
  "data": {
    "drawdownCreate": {
      "id": ID,
      "title": "xyz789",
      "description": "xyz789",
      "value": 987.65,
      "state": DrawdownState,
      "reference": "abc123",
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

drawdownDelete

Returns a Drawdown

Name Description
id - ID!

Example

Query
mutation drawdownDelete($id: ID!) {
  drawdownDelete(id: $id) {
    id
    title
    description
    value
    state
    reference
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "drawdownDelete": {
      "id": ID,
      "title": "abc123",
      "description": "xyz789",
      "value": 987.65,
      "state": DrawdownState,
      "reference": "xyz789",
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

drawdownReject

Returns a Drawdown

Name Description
id - ID!
comment - String

Example

Query
mutation drawdownReject($id: ID!, $comment: String) {
  drawdownReject(id: $id, comment: $comment) {
    id
    title
    description
    value
    state
    reference
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "comment": "xyz789"}
Response
{
  "data": {
    "drawdownReject": {
      "id": ID,
      "title": "xyz789",
      "description": "xyz789",
      "value": 987.65,
      "state": DrawdownState,
      "reference": "xyz789",
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

drawdownRequest

Returns a Drawdown

Name Description
id - ID!

Example

Query
mutation drawdownRequest($id: ID!) {
  drawdownRequest(id: $id) {
    id
    title
    description
    value
    state
    reference
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "drawdownRequest": {
      "id": ID,
      "title": "xyz789",
      "description": "abc123",
      "value": 987.65,
      "state": DrawdownState,
      "reference": "abc123",
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

TokenAccountWithdraw

Returns a Boolean

Name Description
id - ID!

Example

Query
mutation TokenAccountWithdraw($id: ID!) {
  TokenAccountWithdraw(id: $id)
}
Variables
{"id": ID}
Response
{"data": {"TokenAccountWithdraw": false}}

tokenCreate

Returns a Token

Name Description
input - TokenInput

Example

Query
mutation tokenCreate($input: TokenInput) {
  tokenCreate(input: $input) {
    id
    name
    legalName
    reference
    user {
      ...TokenUserFragment
    }
    organization {
      ...TokenOrganizationFragment
    }
    bankAccount {
      ...TokenBankAccountFragment
    }
    settings {
      ...TokenSettingsFragment
    }
    balance
  }
}
Variables
{"input": TokenInput}
Response
{
  "data": {
    "tokenCreate": {
      "id": ID,
      "name": "abc123",
      "legalName": "xyz789",
      "reference": "abc123",
      "user": TokenUser,
      "organization": TokenOrganization,
      "bankAccount": TokenBankAccount,
      "settings": TokenSettings,
      "balance": 123.45
    }
  }
}

tokenUpdate

Returns a Token

Name Description
id - ID!
input - TokenInput

Example

Query
mutation tokenUpdate($id: ID!, $input: TokenInput) {
  tokenUpdate(id: $id, input: $input) {
    id
    name
    legalName
    reference
    user {
      ...TokenUserFragment
    }
    organization {
      ...TokenOrganizationFragment
    }
    bankAccount {
      ...TokenBankAccountFragment
    }
    settings {
      ...TokenSettingsFragment
    }
    balance
  }
}
Variables
{"id": ID, "input": TokenInput}
Response
{
  "data": {
    "tokenUpdate": {
      "id": ID,
      "name": "abc123",
      "legalName": "abc123",
      "reference": "xyz789",
      "user": TokenUser,
      "organization": TokenOrganization,
      "bankAccount": TokenBankAccount,
      "settings": TokenSettings,
      "balance": 123.45
    }
  }
}

transactionCancel

Returns a Transaction

Name Description
id - ID!
comment - String

Example

Query
mutation transactionCancel($id: ID!, $comment: String) {
  transactionCancel(id: $id, comment: $comment) {
    id
    uuid
    reference
    metadata {
      ...TransactionMetadataFragment
    }
    privacy
    title
    description
    auxiliaryData
    state
    industry
    currency
    feeAllocation
    workflow
    calculation {
      ...CalculationFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    deposits {
      ...DepositFragment
    }
    payments {
      ...PaymentsFragment
    }
    address {
      ...AddressFragment
    }
    deliveryInstructions
    allocations {
      ...AllocationFragment
    }
    drawdowns {
      ...DrawdownFragment
    }
    parties {
      ...PartyFragment
    }
    comments {
      ...CommentFragment
    }
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "comment": "abc123"}
Response
{
  "data": {
    "transactionCancel": {
      "id": ID,
      "uuid": ID,
      "reference": "xyz789",
      "metadata": TransactionMetadata,
      "privacy": TransactionPrivacy,
      "title": "abc123",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": State,
      "industry": Industry,
      "currency": Currency,
      "feeAllocation": FeeAllocation,
      "workflow": TransactionWorkflow,
      "calculation": Calculation,
      "acceptances": [Acceptance],
      "deposits": [Deposit],
      "payments": [Payments],
      "address": Address,
      "deliveryInstructions": "xyz789",
      "allocations": [Allocation],
      "drawdowns": [Drawdown],
      "parties": [Party],
      "comments": [Comment],
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

transactionCreate

Returns a Transaction

Name Description
input - CreateTransactionInput

Example

Query
mutation transactionCreate($input: CreateTransactionInput) {
  transactionCreate(input: $input) {
    id
    uuid
    reference
    metadata {
      ...TransactionMetadataFragment
    }
    privacy
    title
    description
    auxiliaryData
    state
    industry
    currency
    feeAllocation
    workflow
    calculation {
      ...CalculationFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    deposits {
      ...DepositFragment
    }
    payments {
      ...PaymentsFragment
    }
    address {
      ...AddressFragment
    }
    deliveryInstructions
    allocations {
      ...AllocationFragment
    }
    drawdowns {
      ...DrawdownFragment
    }
    parties {
      ...PartyFragment
    }
    comments {
      ...CommentFragment
    }
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"input": CreateTransactionInput}
Response
{
  "data": {
    "transactionCreate": {
      "id": ID,
      "uuid": ID,
      "reference": "xyz789",
      "metadata": TransactionMetadata,
      "privacy": TransactionPrivacy,
      "title": "xyz789",
      "description": "abc123",
      "auxiliaryData": {},
      "state": State,
      "industry": Industry,
      "currency": Currency,
      "feeAllocation": FeeAllocation,
      "workflow": TransactionWorkflow,
      "calculation": Calculation,
      "acceptances": [Acceptance],
      "deposits": [Deposit],
      "payments": [Payments],
      "address": Address,
      "deliveryInstructions": "abc123",
      "allocations": [Allocation],
      "drawdowns": [Drawdown],
      "parties": [Party],
      "comments": [Comment],
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

transactionDecline

Returns a Transaction

Name Description
id - ID!
comment - String

Example

Query
mutation transactionDecline($id: ID!, $comment: String) {
  transactionDecline(id: $id, comment: $comment) {
    id
    uuid
    reference
    metadata {
      ...TransactionMetadataFragment
    }
    privacy
    title
    description
    auxiliaryData
    state
    industry
    currency
    feeAllocation
    workflow
    calculation {
      ...CalculationFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    deposits {
      ...DepositFragment
    }
    payments {
      ...PaymentsFragment
    }
    address {
      ...AddressFragment
    }
    deliveryInstructions
    allocations {
      ...AllocationFragment
    }
    drawdowns {
      ...DrawdownFragment
    }
    parties {
      ...PartyFragment
    }
    comments {
      ...CommentFragment
    }
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID, "comment": "xyz789"}
Response
{
  "data": {
    "transactionDecline": {
      "id": ID,
      "uuid": ID,
      "reference": "abc123",
      "metadata": TransactionMetadata,
      "privacy": TransactionPrivacy,
      "title": "abc123",
      "description": "abc123",
      "auxiliaryData": {},
      "state": State,
      "industry": Industry,
      "currency": Currency,
      "feeAllocation": FeeAllocation,
      "workflow": TransactionWorkflow,
      "calculation": Calculation,
      "acceptances": [Acceptance],
      "deposits": [Deposit],
      "payments": [Payments],
      "address": Address,
      "deliveryInstructions": "xyz789",
      "allocations": [Allocation],
      "drawdowns": [Drawdown],
      "parties": [Party],
      "comments": [Comment],
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

transactionDelete

Returns a Transaction

Name Description
id - ID!

Example

Query
mutation transactionDelete($id: ID!) {
  transactionDelete(id: $id) {
    id
    uuid
    reference
    metadata {
      ...TransactionMetadataFragment
    }
    privacy
    title
    description
    auxiliaryData
    state
    industry
    currency
    feeAllocation
    workflow
    calculation {
      ...CalculationFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    deposits {
      ...DepositFragment
    }
    payments {
      ...PaymentsFragment
    }
    address {
      ...AddressFragment
    }
    deliveryInstructions
    allocations {
      ...AllocationFragment
    }
    drawdowns {
      ...DrawdownFragment
    }
    parties {
      ...PartyFragment
    }
    comments {
      ...CommentFragment
    }
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "transactionDelete": {
      "id": ID,
      "uuid": ID,
      "reference": "abc123",
      "metadata": TransactionMetadata,
      "privacy": TransactionPrivacy,
      "title": "abc123",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": State,
      "industry": Industry,
      "currency": Currency,
      "feeAllocation": FeeAllocation,
      "workflow": TransactionWorkflow,
      "calculation": Calculation,
      "acceptances": [Acceptance],
      "deposits": [Deposit],
      "payments": [Payments],
      "address": Address,
      "deliveryInstructions": "abc123",
      "allocations": [Allocation],
      "drawdowns": [Drawdown],
      "parties": [Party],
      "comments": [Comment],
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

transactionDeposit

Returns a Deposit

Name Description
id - ID!
method - DepositMethod!
value - Float
redirects - TransactionDepositRedirects

Example

Query
mutation transactionDeposit($id: ID!, $method: DepositMethod!, $value: Float, $redirects: TransactionDepositRedirects) {
  transactionDeposit(id: $id, method: $method, value: $value, redirects: $redirects) {
    id
    value
    processingFee
    totalProcessingFee
    method
    processed
    paymentLink
    calculation {
      ...DepositCalculationFragment
    }
    redirects {
      ...DepositRedirectsFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{
  "id": ID,
  "method": DepositMethod,
  "value": 123.45,
  "redirects": TransactionDepositRedirects
}
Response
{
  "data": {
    "transactionDeposit": {
      "id": ID,
      "value": 123.45,
      "processingFee": 123.45,
      "totalProcessingFee": 123.45,
      "method": DepositMethod,
      "processed": false,
      "paymentLink": "xyz789",
      "calculation": DepositCalculation,
      "redirects": DepositRedirects,
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

transactionInvite

Returns a Transaction

Name Description
id - ID!

Example

Query
mutation transactionInvite($id: ID!) {
  transactionInvite(id: $id) {
    id
    uuid
    reference
    metadata {
      ...TransactionMetadataFragment
    }
    privacy
    title
    description
    auxiliaryData
    state
    industry
    currency
    feeAllocation
    workflow
    calculation {
      ...CalculationFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    deposits {
      ...DepositFragment
    }
    payments {
      ...PaymentsFragment
    }
    address {
      ...AddressFragment
    }
    deliveryInstructions
    allocations {
      ...AllocationFragment
    }
    drawdowns {
      ...DrawdownFragment
    }
    parties {
      ...PartyFragment
    }
    comments {
      ...CommentFragment
    }
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"id": ID}
Response
{
  "data": {
    "transactionInvite": {
      "id": ID,
      "uuid": ID,
      "reference": "xyz789",
      "metadata": TransactionMetadata,
      "privacy": TransactionPrivacy,
      "title": "abc123",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": State,
      "industry": Industry,
      "currency": Currency,
      "feeAllocation": FeeAllocation,
      "workflow": TransactionWorkflow,
      "calculation": Calculation,
      "acceptances": [Acceptance],
      "deposits": [Deposit],
      "payments": [Payments],
      "address": Address,
      "deliveryInstructions": "abc123",
      "allocations": [Allocation],
      "drawdowns": [Drawdown],
      "parties": [Party],
      "comments": [Comment],
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

transactionUpdate

Returns a Transaction

Name Description
input - UpdateTransactionInput

Example

Query
mutation transactionUpdate($input: UpdateTransactionInput) {
  transactionUpdate(input: $input) {
    id
    uuid
    reference
    metadata {
      ...TransactionMetadataFragment
    }
    privacy
    title
    description
    auxiliaryData
    state
    industry
    currency
    feeAllocation
    workflow
    calculation {
      ...CalculationFragment
    }
    acceptances {
      ...AcceptanceFragment
    }
    deposits {
      ...DepositFragment
    }
    payments {
      ...PaymentsFragment
    }
    address {
      ...AddressFragment
    }
    deliveryInstructions
    allocations {
      ...AllocationFragment
    }
    drawdowns {
      ...DrawdownFragment
    }
    parties {
      ...PartyFragment
    }
    comments {
      ...CommentFragment
    }
    files {
      ...FileFragment
    }
    createdAt
    updatedAt
    deletedAt
  }
}
Variables
{"input": UpdateTransactionInput}
Response
{
  "data": {
    "transactionUpdate": {
      "id": ID,
      "uuid": ID,
      "reference": "xyz789",
      "metadata": TransactionMetadata,
      "privacy": TransactionPrivacy,
      "title": "xyz789",
      "description": "xyz789",
      "auxiliaryData": {},
      "state": State,
      "industry": Industry,
      "currency": Currency,
      "feeAllocation": FeeAllocation,
      "workflow": TransactionWorkflow,
      "calculation": Calculation,
      "acceptances": [Acceptance],
      "deposits": [Deposit],
      "payments": [Payments],
      "address": Address,
      "deliveryInstructions": "xyz789",
      "allocations": [Allocation],
      "drawdowns": [Drawdown],
      "parties": [Party],
      "comments": [Comment],
      "files": [File],
      "createdAt": DateTime,
      "updatedAt": DateTime,
      "deletedAt": DateTime
    }
  }
}

Types

Acceptance

Field Name Description
user - AcceptanceUserData
accepted - Boolean
acceptedDate - DateTime
Example
{
  "user": AcceptanceUserData,
  "accepted": true,
  "acceptedDate": DateTime
}

AcceptanceUserData

Field Name Description
givenName - String First Name
familyName - String Last Name
email - String Email
Example
{"givenName": "xyz789", "familyName": "xyz789", "email": "xyz789"}

Account

Field Name Description
type - TransactionType
amount - Float
reference - String
status - TransactionStatus
information - JSON
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "type": TransactionType,
  "amount": 123.45,
  "reference": "abc123",
  "status": TransactionStatus,
  "information": {},
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

Address

Field Name Description
id - ID
name - String
line1 - String
line2 - String
line3 - String
line4 - String
city - String
area - String
code - String
country - Country
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "id": ID,
  "name": "xyz789",
  "line1": "abc123",
  "line2": "abc123",
  "line3": "xyz789",
  "line4": "xyz789",
  "city": "xyz789",
  "area": "abc123",
  "code": "xyz789",
  "country": Country,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

Allocation

Field Name Description
id - ID
title - String!
description - String!
auxiliaryData - JSON
state - AllocationState
value - Float
units - Float
unitCost - Float
initiatedDate - DateTime
daysToDeliver - Float
deliverBy - DateTime
daysToInspect - Float
inspectBy - DateTime
address - Address
deliveryInstructions - JSON
currentAmendment - Amendment
acceptedAmendment - Amendment
amendments - [Amendment]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

payments - [Payments]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

hasAccepted - Boolean
acceptances - [Acceptance]
calculation - AllocationCalculation
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "id": ID,
  "title": "abc123",
  "description": "abc123",
  "auxiliaryData": {},
  "state": AllocationState,
  "value": 123.45,
  "units": 987.65,
  "unitCost": 123.45,
  "initiatedDate": DateTime,
  "daysToDeliver": 123.45,
  "deliverBy": DateTime,
  "daysToInspect": 987.65,
  "inspectBy": DateTime,
  "address": Address,
  "deliveryInstructions": {},
  "currentAmendment": Amendment,
  "acceptedAmendment": Amendment,
  "amendments": [Amendment],
  "payments": [Payments],
  "hasAccepted": false,
  "acceptances": [Acceptance],
  "calculation": AllocationCalculation,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

AllocationCalculation

Field Name Description
id - ID
value - Float
units - Float
unitCost - Float
refund - Float
payout - Float
fee - Float
processingFee - Float
originalValues - AllocationCalculation
Example
{
  "id": ID,
  "value": 123.45,
  "units": 987.65,
  "unitCost": 123.45,
  "refund": 123.45,
  "payout": 123.45,
  "fee": 987.65,
  "processingFee": 987.65,
  "originalValues": AllocationCalculation
}

AllocationInput

Input Field Description
title - String
description - String
auxiliaryData - JSON
value - Float
units - Float
unitCost - Float
daysToDeliver - Float
daysToInspect - Float
partyId - ID
addressId - ID
deliveryInstructions - JSON
Example
{
  "title": "xyz789",
  "description": "xyz789",
  "auxiliaryData": {},
  "value": 987.65,
  "units": 123.45,
  "unitCost": 123.45,
  "daysToDeliver": 123.45,
  "daysToInspect": 123.45,
  "partyId": ID,
  "addressId": ID,
  "deliveryInstructions": {}
}

AllocationRelation

Input Field Description
connect - ID
create - [CreateAllocationInput!]
update - [UpdateAllocationInput!]
delete - [ID!]
Example
{
  "connect": ID,
  "create": [CreateAllocationInput],
  "update": [UpdateAllocationInput],
  "delete": [ID]
}

AllocationState

Enum Value Description

CREATED

Created

INITIATED

Initiated

DELIVERED

Goods / Service Accepted

RENEGOTIATION

Renegotiation

CANCELED

Canceled

DECLINED

Declined

DISPUTED

Disputed

FUNDS_RELEASED

Funds Released

AllocationSummary

Field Name Description
id - ID
title - String!
state - AllocationState
calculation - AllocationCalculation
payments - [Payments]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

Example
{
  "id": ID,
  "title": "abc123",
  "state": AllocationState,
  "calculation": AllocationCalculation,
  "payments": [Payments]
}

Amendment

Field Name Description
id - ID!
state - AmendmentState
value - Float
units - Float
unitCost - Float
daysToDeliver - Float
deliverBy - DateTime
daysToInspect - Float
inspectBy - DateTime
comments - [Comment]
acceptances - [Acceptance]
accepted - Boolean
hasAccepted - Boolean
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "id": ID,
  "state": AmendmentState,
  "value": 123.45,
  "units": 123.45,
  "unitCost": 123.45,
  "daysToDeliver": 123.45,
  "deliverBy": DateTime,
  "daysToInspect": 123.45,
  "inspectBy": DateTime,
  "comments": [Comment],
  "acceptances": [Acceptance],
  "accepted": false,
  "hasAccepted": true,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

AmendmentInput

Input Field Description
value - Float
units - Float
unitCost - Float
daysToDeliver - Float
daysToInspect - Float
comment - String
Example
{
  "value": 123.45,
  "units": 987.65,
  "unitCost": 987.65,
  "daysToDeliver": 987.65,
  "daysToInspect": 123.45,
  "comment": "abc123"
}

AmendmentState

Enum Value Description

CREATED

Created

ACCEPTED

Accepted

DECLINED

Declined

CANCELED

Canceled

ApiProfile

Field Name Description
id - ID
name - String
token - String
organizations - [OrganizationApiProfile]
Example
{
  "id": ID,
  "name": "abc123",
  "token": "xyz789",
  "organizations": [OrganizationApiProfile]
}

AreaOfOperation

Enum Value Description

FUEL

Fuel

MINING

Mining

BankAccount

Field Name Description
id - ID
accountNumberSuffix - String
accountNumber - String
accountType - BankAccountType
bank - UniversalBranchCode
bankName - String
branchCode - String
verified - Boolean
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "id": ID,
  "accountNumberSuffix": "xyz789",
  "accountNumber": "abc123",
  "accountType": BankAccountType,
  "bank": UniversalBranchCode,
  "bankName": "abc123",
  "branchCode": "abc123",
  "verified": true,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

BankAccountType

Enum Value Description

CHEQUE

Cheque/Current Account

SAVINGS

Savings Account

TRANSMISSION

Transmission Account

BOND

Bond Account

Boolean

The Boolean scalar type represents true or false.

Example
false

Calculation

Field Name Description
baseValue - Float
processingFees - ProcessingFees
processingFeePercentage - Float
processingFeeValue - Float
processingFeeVat - Float
processingFeeTotal - Float
totalValue - Float
totalDeposits - Float
processingFeeOzow - Float No longer supported
totalValueOzow - Float No longer supported
processingFeeSnapscan - Float No longer supported
totalValueSnapscan - Float No longer supported
gatewayProcessingFees - GatewayProcessingFees No longer supported
parties - [PartyCalculation]
allocations - [AllocationCalculation]
drawdownTotals - DrawdownCalculation
Example
{
  "baseValue": 123.45,
  "processingFees": ProcessingFees,
  "processingFeePercentage": 987.65,
  "processingFeeValue": 123.45,
  "processingFeeVat": 123.45,
  "processingFeeTotal": 123.45,
  "totalValue": 123.45,
  "totalDeposits": 123.45,
  "processingFeeOzow": 123.45,
  "totalValueOzow": 987.65,
  "processingFeeSnapscan": 123.45,
  "totalValueSnapscan": 987.65,
  "gatewayProcessingFees": GatewayProcessingFees,
  "parties": [PartyCalculation],
  "allocations": [AllocationCalculation],
  "drawdownTotals": DrawdownCalculation
}

CalculatorAllocationsInput

Input Field Description
value - Float
units - Float
unitCost - Float
Example
{"value": 987.65, "units": 123.45, "unitCost": 123.45}

CalculatorInput

Input Field Description
feeAllocation - FeeAllocation!
allocations - [CalculatorAllocationsInput!]!
parties - [CalculatorPartiesInput!]!
industry - Industry
Example
{
  "feeAllocation": FeeAllocation,
  "allocations": [CalculatorAllocationsInput],
  "parties": [CalculatorPartiesInput],
  "industry": Industry
}

CalculatorPartiesInput

Input Field Description
role - Role
fee - Float
feeType - FeeType
feeAllocation - FeeAllocation
Example
{
  "role": Role,
  "fee": 987.65,
  "feeType": FeeType,
  "feeAllocation": FeeAllocation
}

ClientInfo

Field Name Description
id - ID
name - String
callback - String
organizationId - ID
production - Boolean
Example
{
  "id": ID,
  "name": "xyz789",
  "callback": "xyz789",
  "organizationId": ID,
  "production": false
}

Comment

Field Name Description
id - ID
owner - CommentOwner
body - String
isNew - Boolean
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "id": ID,
  "owner": CommentOwner,
  "body": "xyz789",
  "isNew": false,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

CommentOwner

Field Name Description
activeUser - Boolean
name - String
avatar - String
role - String
Example
{"activeUser": false, "name": "abc123", "avatar": "abc123", "role": "abc123"}

Country

Enum Value Description

AFG

Afghanistan

ALA

Åland Islands

ALB

Albania

DZA

Algeria

ASM

American Samoa

AND

Andorra

AGO

Angola

AIA

Anguilla

ATA

Antarctica

ATG

Antigua and Barbuda

ARG

Argentina

ARM

Armenia

ABW

Aruba

AUS

Australia

AUT

Austria

AZE

Azerbaijan

BHS

Bahamas

BHR

Bahrain

BGD

Bangladesh

BRB

Barbados

BLR

Belarus

BEL

Belgium

BLZ

Belize

BEN

Benin

BMU

Bermuda

BTN

Bhutan

BOL

Bolivia (Plurinational State of)

BES

Bonaire, Sint Eustatius and Saba

BIH

Bosnia and Herzegovina

BWA

Botswana

BVT

Bouvet Island

BRA

Brazil

IOT

British Indian Ocean Territory

BRN

Brunei Darussalam

BGR

Bulgaria

BFA

Burkina Faso

BDI

Burundi

CPV

Cabo Verde

KHM

Cambodia

CMR

Cameroon

CAN

Canada

CYM

Cayman Islands

CAF

Central African Republic

TCD

Chad

CHL

Chile

CHN

China

CXR

Christmas Island

CCK

Cocos (Keeling) Islands

COL

Colombia

COM

Comoros

COG

Congo

COD

Congo (Democratic Republic of the)

COK

Cook Islands

CRI

Costa Rica

CIV

Côte d'Ivoire

HRV

Croatia

CUB

Cuba

CUW

Curaçao

CYP

Cyprus

CZE

Czechia

DNK

Denmark

DJI

Djibouti

DMA

Dominica

DOM

Dominican Republic

ECU

Ecuador

EGY

Egypt

SLV

El Salvador

GNQ

Equatorial Guinea

ERI

Eritrea

EST

Estonia

ETH

Ethiopia

SWZ

Eswatini

FLK

Falkland Islands (Malvinas)

FRO

Faroe Islands

FJI

Fiji

FIN

Finland

FRA

France

GUF

French Guiana

PYF

French Polynesia

ATF

French Southern Territories

GAB

Gabon

GMB

Gambia

GEO

Georgia

DEU

Germany

GHA

Ghana

GIB

Gibraltar

GRC

Greece

GRL

Greenland

GRD

Grenada

GLP

Guadeloupe

GUM

Guam

GTM

Guatemala

GGY

Guernsey

GIN

Guinea

GNB

Guinea-Bissau

GUY

Guyana

HTI

Haiti

HMD

Heard Island and McDonald Islands

VAT

Holy See

HND

Honduras

HKG

Hong Kong

HUN

Hungary

ISL

Iceland

IND

India

IDN

Indonesia

IRN

Iran (Islamic Republic of)

IRQ

Iraq

IRL

Ireland

IMN

Isle of Man

ISR

Israel

ITA

Italy

JAM

Jamaica

JPN

Japan

JEY

Jersey

JOR

Jordan

KAZ

Kazakhstan

KEN

Kenya

KIR

Kiribati

PRK

Korea (Democratic People's Republic of)

KOR

Korea (Republic of)

KWT

Kuwait

KGZ

Kyrgyzstan

LAO

Lao People's Democratic Republic

LVA

Latvia

LBN

Lebanon

LSO

Lesotho

LBR

Liberia

LBY

Libya

LIE

Liechtenstein

LTU

Lithuania

LUX

Luxembourg

MAC

Macao

MKD

North Macedonia

MDG

Madagascar

MWI

Malawi

MYS

Malaysia

MDV

Maldives

MLI

Mali

MLT

Malta

MHL

Marshall Islands

MTQ

Martinique

MRT

Mauritania

MUS

Mauritius

MYT

Mayotte

MEX

Mexico

FSM

Micronesia (Federated States of)

MDA

Moldova (Republic of)

MCO

Monaco

MNG

Mongolia

MNE

Montenegro

MSR

Montserrat

MAR

Morocco

MOZ

Mozambique

MMR

Myanmar

NAM

Namibia

NRU

Nauru

NPL

Nepal

NLD

Netherlands

NCL

New Caledonia

NZL

New Zealand

NIC

Nicaragua

NER

Niger

NGA

Nigeria

NIU

Niue

NFK

Norfolk Island

MNP

Northern Mariana Islands

NOR

Norway

OMN

Oman

PAK

Pakistan

PLW

Palau

PSE

Palestine, State of

PAN

Panama

PNG

Papua New Guinea

PRY

Paraguay

PER

Peru

PHL

Philippines

PCN

Pitcairn

POL

Poland

PRT

Portugal

PRI

Puerto Rico

QAT

Qatar

REU

Réunion

ROU

Romania

RUS

Russian Federation

RWA

Rwanda

BLM

Saint Barthélemy

SHN

Saint Helena, Ascension and Tristan da Cunha

KNA

Saint Kitts and Nevis

LCA

Saint Lucia

MAF

Saint Martin (French part)

SPM

Saint Pierre and Miquelon

VCT

Saint Vincent and the Grenadines

WSM

Samoa

SMR

San Marino

STP

Sao Tome and Principe

SAU

Saudi Arabia

SEN

Senegal

SRB

Serbia

SYC

Seychelles

SLE

Sierra Leone

SGP

Singapore

SXM

Sint Maarten (Dutch part)

SVK

Slovakia

SVN

Slovenia

SLB

Solomon Islands

SOM

Somalia

ZAF

South Africa

SGS

South Georgia and the South Sandwich Islands

SSD

South Sudan

ESP

Spain

LKA

Sri Lanka

SDN

Sudan

SUR

Suriname

SJM

Svalbard and Jan Mayen

SWE

Sweden

CHE

Switzerland

SYR

Syrian Arab Republic

TWN

Taiwan (Province of China)

TJK

Tajikistan

TZA

Tanzania, United Republic of

THA

Thailand

TLS

Timor-Leste

TGO

Togo

TKL

Tokelau

TON

Tonga

TTO

Trinidad and Tobago

TUN

Tunisia

TUR

Turkey

TKM

Turkmenistan

TCA

Turks and Caicos Islands

TUV

Tuvalu

UGA

Uganda

UKR

Ukraine

ARE

United Arab Emirates

GBR

United Kingdom of Great Britain and Northern Ireland

USA

United States of America

UMI

United States Minor Outlying Islands

URY

Uruguay

UZB

Uzbekistan

VUT

Vanuatu

VEN

Venezuela (Bolivarian Republic of)

VNM

Viet Nam

VGB

Virgin Islands (British)

VIR

Virgin Islands (U.S.)

WLF

Wallis and Futuna

ESH

Western Sahara

YEM

Yemen

ZMB

Zambia

ZWE

Zimbabwe

CreateAllocationInput

Input Field Description
title - String
description - String
auxiliaryData - JSON
value - Float
units - Float
unitCost - Float
daysToDeliver - Float
daysToInspect - Float
addressId - ID
deliveryInstructions - JSON
Example
{
  "title": "abc123",
  "description": "xyz789",
  "auxiliaryData": {},
  "value": 987.65,
  "units": 987.65,
  "unitCost": 123.45,
  "daysToDeliver": 123.45,
  "daysToInspect": 987.65,
  "addressId": ID,
  "deliveryInstructions": {}
}

CreateTransactionInput

Create a Transaction

Input Field Description
title - String!

Title sumarising the transaction

description - String!

Long description of the transaction and its terms

auxiliaryData - JSON

Additional data to describe the transaction

industry - Industry!

The industry classificaton for the transaction

currency - Currency!

The base curreny for the transaction

feeAllocation - FeeAllocation!

How TradeSafe's fee is split between the parties

workflow - TransactionWorkflow

How should the transaction be structured

allocations - AllocationRelation

How should the funds be paid out

parties - PartiesRelation

Parties involved in the transaction

addressId - String

Delivery Address ID

deliveryInstructions - String

Delivery Instructions

privacy - TransactionPrivacy
reference - String
Example
{
  "title": "xyz789",
  "description": "xyz789",
  "auxiliaryData": {},
  "industry": Industry,
  "currency": Currency,
  "feeAllocation": FeeAllocation,
  "workflow": TransactionWorkflow,
  "allocations": AllocationRelation,
  "parties": PartiesRelation,
  "addressId": "xyz789",
  "deliveryInstructions": "xyz789",
  "privacy": TransactionPrivacy,
  "reference": "xyz789"
}

Currency

Enum Value Description

ZAR

South African Rand

Date

A date string with format Y-m-d, e.g. 2011-05-23.

Example
2021-09-20T07:53:33.569Z

DateTime

A datetime string with format Y-m-d H:i:s, e.g. 2018-01-01 13:00:00.

Example
2016-10-07 01:08:03

Deposit

Field Name Description
id - ID
value - Float
processingFee - Float
totalProcessingFee - Float
method - DepositMethod
processed - Boolean
paymentLink - String
calculation - DepositCalculation
redirects - DepositRedirects
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "id": ID,
  "value": 123.45,
  "processingFee": 987.65,
  "totalProcessingFee": 123.45,
  "method": DepositMethod,
  "processed": true,
  "paymentLink": "abc123",
  "calculation": DepositCalculation,
  "redirects": DepositRedirects,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

DepositCalculation

Field Name Description
eft - EftCalculationDetails
ozow - OzowCalculationDetails
Example
{
  "eft": EftCalculationDetails,
  "ozow": OzowCalculationDetails
}

DepositDetails

Field Name Description
name - String
number - String
branch - String
type - String
reference - String
Example
{
  "name": "xyz789",
  "number": "xyz789",
  "branch": "xyz789",
  "type": "xyz789",
  "reference": "xyz789"
}

DepositMethod

Enum Value Description

ACC

Account

EFT

Electronic Funds Transfer

SNAP

Snapscan

OZOW

Ozow

ECEN

Ecentric

DepositRedirects

Field Name Description
success - String
failure - String
cancel - String No longer supported
Example
{"success": "xyz789", "failure": "abc123", "cancel": "abc123"}

Drawdown

Field Name Description
id - ID
title - String
description - String
value - Float
state - DrawdownState
reference - String
files - [File]
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
Example
{
  "id": ID,
  "title": "abc123",
  "description": "abc123",
  "value": 987.65,
  "state": DrawdownState,
  "reference": "abc123",
  "files": [File],
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

DrawdownCalculation

Field Name Description
available - Float
pending - Float
withdrawn - Float
Example
{"available": 987.65, "pending": 123.45, "withdrawn": 987.65}

DrawdownInput

Input Field Description
transactionId - ID!
title - String!
description - String!
value - Float!
Example
{
  "transactionId": ID,
  "title": "xyz789",
  "description": "abc123",
  "value": 123.45
}

DrawdownState

Enum Value Description

CREATED

Created

PENDING

Pending Approval

APPROVED

Approved

REJECTED

Rejected

CANCELED

Canceled

FUNDS_RELEASED

Funds Released

EftCalculationDetails

Field Name Description
value - Float
fee - Float
depositValue - Float
bankingDetails - DepositDetails
Example
{
  "value": 987.65,
  "fee": 987.65,
  "depositValue": 123.45,
  "bankingDetails": DepositDetails
}

Email

A RFC 5321 compliant email.

Example
user@example.net

EscrowFee

Field Name Description
percentage - Float
fee - Float
vat - Float
totalFee - Float
Example
{"percentage": 987.65, "fee": 123.45, "vat": 987.65, "totalFee": 123.45}

FeeAllocation

Enum Value Description

AGENT

Agent Pays Whole Fee

BUYER

Buyer Pays Whole Fee

SELLER

Seller Pays Whole Fee

BUYER_SELLER

Buyer & Seller Split Fee 50/50

BUYER_AGENT

Buyer & Agent Split Fee 50/50

SELLER_AGENT

Seller & Agent Split Fee 50/50

BUYER_SELLER_AGENT

Fee Split 3-ways between Buyer, Seller & Agent

FeeType

Enum Value Description

FLAT

Flat Fee

PERCENT

Percentage

PER_UNIT

Per Unit

File

File Object

Field Name Description
id - ID ID of File
filename - String Filename
mimetype - String MIME Type
metadata - JSON File Metadata
isNew - Boolean Is New file
allowedParties - [String] Allowed Parties
uri - String File URI
Example
{
  "id": ID,
  "filename": "abc123",
  "mimetype": "abc123",
  "metadata": {},
  "isNew": false,
  "allowedParties": ["xyz789"],
  "uri": "abc123"
}

FileUri

Field Name Description
id - ID
filename - String
uri - String
Example
{"id": ID, "filename": "xyz789", "uri": "xyz789"}

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

GatewayProcessingFees

Field Name Description
manualEft - ProcessingFee
ecentric - ProcessingFee
ozow - ProcessingFee
snapscan - ProcessingFee
Example
{
  "manualEft": ProcessingFee,
  "ecentric": ProcessingFee,
  "ozow": ProcessingFee,
  "snapscan": ProcessingFee
}

ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
3NtedQtDDX2vmlha9p8NQW

IdType

Enum Value Description

NATIONAL

National ID

PASSPORT

Passport

Industry

Enum Value Description

AGRICULTURE_LIVESTOCK_GAME

Agriculture, Livestock & Game

ART_ANTIQUES_COLLECTIBLES

Art, Antiques & Collectibles

VEHICLES_WATERCRAFT

Cars, Bikes, Planes & Boats

CELLPHONES_COMPUTERS

Cell phones, Computers & Electronics

CONSTRUCTION

Construction

FUEL

Diesel, Petroleum & Lubricating Oils

EVENTS

Events, Weddings & Functions

FILMS_PRODUCTION

Films, Production & Photography

CONTRACT_WORK_FREELANCING

Freelancing & Contract Work

GENERAL_GOODS_SERVICES

General Goods & Services

MERGERS_ACQUISITIONS

Mergers & Acquisitions

MINING

Mining & Metals

PROPERTY

Property (Residential & Commercial)

RENEWABLES

Renewables

RENTAL

Rental Deposits & Holiday Rentals

SOFTWARE_DEV_WEB_DOMAINS

Web Domain Purchases & Transfers

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

JSON

Arbitrary data encoded in JavaScript Object Notation. See https://www.json.org/.

Example
{}

MFAMethod

Enum Value Description

APP

Application

EMAIL

Email

MOBILE

Mobile

TOKEN

Token

OrderByClause

Allows ordering a list of records.

Input Field Description
field - String!

The column that is used for ordering.

order - SortOrder!

The direction that is used for ordering.

Example
{"field": "xyz789", "order": SortOrder}

OrganizationApiProfile

Field Name Description
id - ID
name - String
verified - Boolean
token - String
Example
{
  "id": ID,
  "name": "xyz789",
  "verified": false,
  "token": "xyz789"
}

OrganizationType

Enum Value Description

SOLE_PROP

Sole Proprietorship

PRIVATE

Private Company

PUBLIC

Public Company

STATE

State Owned Enterprise

INC

Personal Liability Company

CC

Close Corporation

NPC

Not for Profit

TRUST

Trust

OTHER

Other

OzowCalculationDetails

Field Name Description
value - Float
fee - Float
depositValue - Float
Example
{"value": 987.65, "fee": 987.65, "depositValue": 123.45}

PageInfo

Pagination information about the corresponding list of items.

Field Name Description
hasNextPage - Boolean! When paginating forwards, are there more items?
hasPreviousPage - Boolean! When paginating backwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue.
endCursor - String When paginating forwards, the cursor to continue.
total - Int Total number of node in connection.
count - Int Count of nodes in current request.
currentPage - Int Current page of request.
lastPage - Int Last page in connection.
Example
{
  "hasNextPage": true,
  "hasPreviousPage": false,
  "startCursor": "abc123",
  "endCursor": "abc123",
  "total": 123,
  "count": 123,
  "currentPage": 123,
  "lastPage": 987
}

PaginatorInfo

Pagination information about the corresponding list of items.

Field Name Description
count - Int! Total count of available items in the page.
currentPage - Int! Current pagination page.
firstItem - Int Index of first item in the current page.
hasMorePages - Boolean! If collection has more pages.
lastItem - Int Index of last item in the current page.
lastPage - Int! Last page number of the collection.
perPage - Int! Number of items per page in the collection.
total - Int! Total items available in the collection.
Example
{
  "count": 987,
  "currentPage": 123,
  "firstItem": 123,
  "hasMorePages": true,
  "lastItem": 123,
  "lastPage": 123,
  "perPage": 987,
  "total": 123
}

PartiesRelation

Input Field Description
connect - ID
create - [PartyInput!]
update - [UpdatePartyInput!]
delete - [ID!]
Example
{
  "connect": ID,
  "create": [PartyInput],
  "update": [UpdatePartyInput],
  "delete": [ID]
}

Party

Field Name Description
id - ID
name - String
details - PartyDetails
email - String
role - Role
avatar - String
fee - Float
feeType - FeeType
feeAllocation - FeeAllocation
acceptance - Acceptance
owner - Boolean
calculation - PartyCalculation
createdAt - DateTime
updatedAt - DateTime
deletedAt - DateTime
reference - String
settings - PartySettings
Example
{
  "id": ID,
  "name": "abc123",
  "details": PartyDetails,
  "email": "abc123",
  "role": Role,
  "avatar": "abc123",
  "fee": 123.45,
  "feeType": FeeType,
  "feeAllocation": FeeAllocation,
  "acceptance": Acceptance,
  "owner": false,
  "calculation": PartyCalculation,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime,
  "reference": "xyz789",
  "settings": PartySettings
}

PartyCalculation

Field Name Description
id - ID
role - String
deposit - Float
payout - Float
commission - Float
processingFee - Float
agentFee - Float
beneficiaryFee - Float
totalFee - Float
partyId - ID No longer supported
Example
{
  "id": ID,
  "role": "abc123",
  "deposit": 987.65,
  "payout": 987.65,
  "commission": 123.45,
  "processingFee": 123.45,
  "agentFee": 987.65,
  "beneficiaryFee": 123.45,
  "totalFee": 123.45,
  "partyId": ID
}

PartyDetails

Field Name Description
tokenId - ID
name - String
legalName - String
reference - String
user - TokenUser
organization - TokenOrganization
Example
{
  "tokenId": ID,
  "name": "abc123",
  "legalName": "abc123",
  "reference": "abc123",
  "user": TokenUser,
  "organization": TokenOrganization
}

PartyInput

Input Field Description
token - String

Tokenized userdata

email - String

Email of party

role - Role

Role of party in transaction

fee - Float

Fee

feeType - FeeType

Fee Type

feeAllocation - FeeAllocation

Fee Allocation

Example
{
  "token": "abc123",
  "email": "xyz789",
  "role": Role,
  "fee": 123.45,
  "feeType": FeeType,
  "feeAllocation": FeeAllocation
}

PartySettings

Field Name Description
payout - PayoutSettings
Example
{"payout": PayoutSettings}

PaymentSource

PaymentTarget

Union Types

Token

Payments

Field Name Description
id - ID
reference - String
account - Account
Example
{
  "id": ID,
  "reference": "xyz789",
  "account": Account
}

PayoutInterval

Enum Value Description

ACCOUNT

Account

IMMEDIATE

Immediate

DAILY

Daily

WEEKLY

Weekly

BIMONTHLY

Bimonthly

MONTHLY

Monthly

PayoutSettings

Field Name Description
interval - PayoutInterval
minmum - Float
refund - RefundMethod
Example
{
  "interval": PayoutInterval,
  "minmum": 123.45,
  "refund": RefundMethod
}

PayoutSettingsInput

Input Field Description
interval - PayoutInterval
minmum - Float
refund - RefundMethod
Example
{
  "interval": PayoutInterval,
  "minmum": 123.45,
  "refund": RefundMethod
}

ProcessingFee

Field Name Description
processingFee - Float
totalValue - Float
Example
{"processingFee": 123.45, "totalValue": 987.65}

ProcessingFees

Field Name Description
eft - EscrowFee
ecentric - EscrowFee
ozow - EscrowFee
snapscan - EscrowFee
Example
{
  "eft": EscrowFee,
  "ecentric": EscrowFee,
  "ozow": EscrowFee,
  "snapscan": EscrowFee
}

RefundMethod

Enum Value Description

IMMEDIATE

Bank Account

ACCOUNT

Escrow Wallet

ReportType

Enum Value Description

AUDIT

Audit Report

Role

Enum Value Description

BUYER

Buyer

SELLER

Seller

AGENT

Agent

BENEFICIARY_ADVISER

Adviser

BENEFICIARY_CONSULTANT

Consultant

BENEFICIARY_DELIVERY_COMPANY

Delivery Company

BENEFICIARY_FINANCIAL_INSTITUTION

Financial Institution

BENEFICIARY_INTERMEDIARY

Intermediary

BENEFICIARY_LEGAL_COUNSEL

Legal counsel

BENEFICIARY_SUB_AGENT

Sub-Agent

BENEFICIARY_WHOLESALER

Wholesaler

BENEFICIARY_MERCHANT

3rd Party Merchant

BENEFICIARY_OTHER

Other

READ_ONLY

Read-Only User

SortOrder

The available directions for ordering a list of records.

Enum Value Description

ASC

Sort records in ascending order.

DESC

Sort records in descending order.

State

Enum Value Description

CREATED

Invitation to be sent

INVITATION_SENT

Invitation Sent

NEGOTIATION

Transaction Negotiation

ACCEPTED

Transaction Accepted

FUNDS_DEPOSITED

Funds Deposited

FUNDS_RECEIVED

Funds Received & Cleared

INITIATED

Goods Sent / Service Initiated

GOODS_ACCEPTED

Goods / Service Accepted (Deprecated)

DELIVERED

Goods / Service Accepted

FUNDS_RELEASED

Funds Released

COMPLETE

Funds Released (Deprecated)

CANCELED

Transaction Canceled

DECLINED

Transaction Declined

DISPUTED

Transaction Disputed

LEGAL

Legal

SUSPENDED

Suspended by admin (Deprecated)

ADMIN_SUSPENDED

Suspended by admin

ADMIN_CANCELED

Canceled by admin

DISPUTED_EXTENDED

Extension Requested

DISPUTED_RENEGOTIATE

Renegotiation Requested

Stats

Field Name Description
summary - StatsSummary
gateways - StatsGateways
transactions - StatsTransactions
industries - [StatsIndustries]
funds - StatsFunds
Example
{
  "summary": StatsSummary,
  "gateways": StatsGateways,
  "transactions": StatsTransactions,
  "industries": [StatsIndustries],
  "funds": StatsFunds
}

StatsFunds

Field Name Description
deposited - Float
paid - Float
received - Float
fees - Float
Example
{"deposited": 123.45, "paid": 123.45, "received": 987.65, "fees": 987.65}

StatsGateways

Field Name Description
eft - Float
ozow - Float
ecentric - Float
snapscan - Float
Example
{"eft": 987.65, "ozow": 123.45, "ecentric": 987.65, "snapscan": 123.45}

StatsIndustries

Field Name Description
name - String
value - Float
count - Int
Example
{"name": "abc123", "value": 987.65, "count": 123}

StatsSummary

Field Name Description
transactions - Int
value - Float
users - Int
industry - Industry
deposit - Float
fees - Float
payout - Float
totalPayout - Float
Example
{
  "transactions": 123,
  "value": 123.45,
  "users": 987,
  "industry": Industry,
  "deposit": 987.65,
  "fees": 987.65,
  "payout": 987.65,
  "totalPayout": 987.65
}

StatsTransactions

Field Name Description
thisMonth - StatsTransactionsComplete
lastMonth - StatsTransactionsComplete
monthly - [StatsTransactionsMonthly]
Example
{
  "thisMonth": StatsTransactionsComplete,
  "lastMonth": StatsTransactionsComplete,
  "monthly": [StatsTransactionsMonthly]
}

StatsTransactionsComplete

Field Name Description
complete - Int
incomplete - Int
Example
{"complete": 123, "incomplete": 123}

StatsTransactionsMonthly

Field Name Description
month - String
payout - Float
value - Float
total - Int
Example
{"month": "xyz789", "payout": 987.65, "value": 987.65, "total": 123}

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Token

Field Name Description
id - ID
name - String
legalName - String
reference - String
user - TokenUser
organization - TokenOrganization
bankAccount - TokenBankAccount
settings - TokenSettings
balance - Float
Example
{
  "id": ID,
  "name": "xyz789",
  "legalName": "xyz789",
  "reference": "abc123",
  "user": TokenUser,
  "organization": TokenOrganization,
  "bankAccount": TokenBankAccount,
  "settings": TokenSettings,
  "balance": 123.45
}

TokenBankAccount

Field Name Description
accountNumber - String
accountType - BankAccountType
bank - UniversalBranchCode
bankName - String
branchCode - String
Example
{
  "accountNumber": "abc123",
  "accountType": BankAccountType,
  "bank": UniversalBranchCode,
  "bankName": "abc123",
  "branchCode": "abc123"
}

TokenBankAccountInput

Input Field Description
accountNumber - String
accountType - BankAccountType
bank - UniversalBranchCode
Example
{
  "accountNumber": "xyz789",
  "accountType": BankAccountType,
  "bank": UniversalBranchCode
}

TokenInput

Input Field Description
user - TokenUserInput!
organization - TokenOrganizationInput
bankAccount - TokenBankAccountInput
settings - TokenSettingsInput
Example
{
  "user": TokenUserInput,
  "organization": TokenOrganizationInput,
  "bankAccount": TokenBankAccountInput,
  "settings": TokenSettingsInput
}

TokenOrganization

Field Name Description
name - String
tradeName - String
type - OrganizationType
registration - String
taxNumber - String
Example
{
  "name": "xyz789",
  "tradeName": "xyz789",
  "type": OrganizationType,
  "registration": "xyz789",
  "taxNumber": "xyz789"
}

TokenOrganizationInput

Input Field Description
name - String
tradeName - String
type - OrganizationType
registrationNumber - String
taxNumber - String
Example
{
  "name": "xyz789",
  "tradeName": "xyz789",
  "type": OrganizationType,
  "registrationNumber": "xyz789",
  "taxNumber": "abc123"
}

TokenPaginator

A paginated list of Token items.

Field Name Description
paginatorInfo - PaginatorInfo! Pagination information about the list of items.
data - [Token!]! A list of Token items.
Example
{
  "paginatorInfo": PaginatorInfo,
  "data": [Token]
}

TokenSettings

Field Name Description
payout - PayoutSettings
Example
{"payout": PayoutSettings}

TokenSettingsInput

Input Field Description
creditAccount - Boolean
payoutInterval - PayoutInterval
payout - PayoutSettingsInput
Example
{
  "creditAccount": false,
  "payoutInterval": PayoutInterval,
  "payout": PayoutSettingsInput
}

TokenUser

Field Name Description
givenName - String
familyName - String
email - Email
mobile - String
idNumber - String
idType - IdType
idCountry - Country
Example
{
  "givenName": "abc123",
  "familyName": "xyz789",
  "email": Email,
  "mobile": "abc123",
  "idNumber": "abc123",
  "idType": IdType,
  "idCountry": Country
}

TokenUserInput

Input Field Description
givenName - String
familyName - String
email - Email
mobile - String
idNumber - String
idType - IdType
idCountry - Country
Example
{
  "givenName": "abc123",
  "familyName": "abc123",
  "email": Email,
  "mobile": "xyz789",
  "idNumber": "xyz789",
  "idType": IdType,
  "idCountry": Country
}

Transaction

Field Name Description
id - ID The Unique ID of the transaction
uuid - ID
reference - String
metadata - TransactionMetadata Metadata
privacy - TransactionPrivacy
title - String Title sumarising the transaction
description - String Long description of the transaction and its terms
auxiliaryData - JSON Additional data to describe the transaction
state - State The current state which the contact is in
industry - Industry The industry classificaton for the transaction
currency - Currency The base curreny for the transaction
feeAllocation - FeeAllocation How TradeSafe's fee is split between the parties
workflow - TransactionWorkflow! How should the transaction be structured
calculation - Calculation Fees & Costs
acceptances - [Acceptance]
deposits - [Deposit]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

payments - [Payments]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

address - Address Address to deliver goods to No longer supported
deliveryInstructions - String Delivery Instructions No longer supported
allocations - [Allocation] How should the funds be paid out

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

drawdowns - [Drawdown] Requests for funds to be paid out

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

parties - [Party] Parties involved in the transaction

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

comments - [Comment] Comments made during the lifetime of the transaction

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

files - [File] Files attached to the transaction No longer supported
createdAt - DateTime Created date
updatedAt - DateTime Last updated date
deletedAt - DateTime Deleted date
Example
{
  "id": ID,
  "uuid": ID,
  "reference": "xyz789",
  "metadata": TransactionMetadata,
  "privacy": TransactionPrivacy,
  "title": "xyz789",
  "description": "abc123",
  "auxiliaryData": {},
  "state": State,
  "industry": Industry,
  "currency": Currency,
  "feeAllocation": FeeAllocation,
  "workflow": TransactionWorkflow,
  "calculation": Calculation,
  "acceptances": [Acceptance],
  "deposits": [Deposit],
  "payments": [Payments],
  "address": Address,
  "deliveryInstructions": "xyz789",
  "allocations": [Allocation],
  "drawdowns": [Drawdown],
  "parties": [Party],
  "comments": [Comment],
  "files": [File],
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "deletedAt": DateTime
}

TransactionDepositRedirects

Input Field Description
success - String!
failure - String!
cancel - String!
Example
{"success": "xyz789", "failure": "abc123", "cancel": "xyz789"}

TransactionFilterInput

Filter transactions

Field Name Description
inState - [State]
notState - [State]
Example
{
  "inState": [State],
  "notState": [State]
}

TransactionMetadata

Field Name Description
activeParty - Party
verified - Boolean
owner - Boolean
reference - String
Example
{
  "activeParty": Party,
  "verified": false,
  "owner": true,
  "reference": "xyz789"
}

TransactionPaginator

A paginated list of Transaction items.

Field Name Description
paginatorInfo - PaginatorInfo! Pagination information about the list of items.
data - [Transaction!]! A list of Transaction items.
Example
{
  "paginatorInfo": PaginatorInfo,
  "data": [Transaction]
}

TransactionPrivacy

Enum Value Description

NONE

All details are visible

ALL

All details are private

DETAILS

Party details are private

CALCULATIONS

Fee's and costs are private

TransactionStatus

Enum Value Description

CRTD

Created

RCVD

Received

PDNG

Pending

ACSP

Processed

PART

Partly Processed

RJCT

Rejected

TransactionSummary

Field Name Description
id - ID
uuid - ID
title - String
state - State
createdAt - DateTime
updatedAt - DateTime
calculation - Calculation
allocations - [AllocationSummary]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

deposits - [Deposit]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

payments - [Payments]

Arguments

trashed - Trashed

Allows to filter if trashed elements should be fetched.

Example
{
  "id": ID,
  "uuid": ID,
  "title": "xyz789",
  "state": State,
  "createdAt": DateTime,
  "updatedAt": DateTime,
  "calculation": Calculation,
  "allocations": [AllocationSummary],
  "deposits": [Deposit],
  "payments": [Payments]
}

TransactionType

Enum Value Description

CREDIT

Credit

DEBIT

Debit

TransactionWorkflow

Enum Value Description

STANDARD

Payment is made on completion of the transaction

MILESTONE

Multiple payments occur over a set period

DRAWDOWN

Payments are requested on a adhoc basis

SIMPLE

A simplified payment workflow

CUSTOM

A custom payment workflow

TransactionsOrderByColumn

Allowed column names for the orderBy argument on the query transactions.

Enum Value Description

CREATED_AT

UPDATED_AT

TransactionsOrderByOrderByClause

Order by clause for the orderBy argument on the query transactions.

Input Field Description
field - TransactionsOrderByColumn!

The column that is used for ordering.

order - SortOrder!

The direction that is used for ordering.

Example
{
  "field": TransactionsOrderByColumn,
  "order": SortOrder
}

Trashed

Specify if you want to include or exclude trashed results from a query.

Enum Value Description

ONLY

Only return trashed results.

WITH

Return both trashed and non-trashed results.

WITHOUT

Only return non-trashed results.

UniversalBranchCode

Enum Value Description

ABSA

Absa Bank

AFRICAN

African Bank

CAPITEC

Capitec Bank

DISCOVERY

Discovery Bank

FNB

First National Bank

INVESTEC

Investec Bank

MTN

MTN Banking

NEDBANK

Nedbank

SAPO

Postbank

SASFIN

Sasfin Bank

SBSA

Standard Bank South Africa

TYME

TymeBank

OTHER

Other Bank

UpdateAllocationInput

Input Field Description
id - ID!
title - String
description - String
auxiliaryData - JSON
value - Float
units - Float
unitCost - Float
daysToDeliver - Float
daysToInspect - Float
addressId - ID
deliveryInstructions - JSON
Example
{
  "id": ID,
  "title": "abc123",
  "description": "abc123",
  "auxiliaryData": {},
  "value": 123.45,
  "units": 123.45,
  "unitCost": 987.65,
  "daysToDeliver": 123.45,
  "daysToInspect": 123.45,
  "addressId": ID,
  "deliveryInstructions": {}
}

UpdatePartyInput

Input Field Description
id - ID
token - String

Tokenized userdata

email - String

Email of party

role - Role

Role of party in transaction

fee - Float

Fee

feeType - FeeType

Fee Type

feeAllocation - FeeAllocation

Fee Allocation

Example
{
  "id": ID,
  "token": "abc123",
  "email": "abc123",
  "role": Role,
  "fee": 987.65,
  "feeType": FeeType,
  "feeAllocation": FeeAllocation
}

UpdateTransactionInput

Update a Transaction

Input Field Description
id - ID!

Transaction ID

title - String

Title sumarising the transaction

description - String

Long description of the transaction and its terms

auxiliaryData - JSON

Additional data to describe the transaction

industry - Industry

The industry classificaton for the transaction

currency - Currency

The base curreny for the transaction

feeAllocation - FeeAllocation

How TradeSafe's fee is split between the parties

allocations - AllocationRelation

How should the funds be paid out

parties - PartiesRelation

Parties involved in the transaction

addressId - String

Delivery Address ID

deliveryInstructions - String

Delivery Instructions

privacy - TransactionPrivacy
reference - String
Example
{
  "id": ID,
  "title": "xyz789",
  "description": "xyz789",
  "auxiliaryData": {},
  "industry": Industry,
  "currency": Currency,
  "feeAllocation": FeeAllocation,
  "allocations": AllocationRelation,
  "parties": PartiesRelation,
  "addressId": "xyz789",
  "deliveryInstructions": "abc123",
  "privacy": TransactionPrivacy,
  "reference": "abc123"
}

Upload

Can be used as an argument to upload files using https://github.com/jaydenseric/graphql-multipart-request-spec

Example
object

Userinfo

Field Name Description
id - ID
sub - ID
first_name - String
last_name - String
email - Email
cellphonenumber - String
Example
{
  "id": ID,
  "sub": ID,
  "first_name": "xyz789",
  "last_name": "xyz789",
  "email": Email,
  "cellphonenumber": "abc123"
}

VerificationType

Enum Value Description

EMAIL

Email

SMS

SMS