Cala GraphQL API reference

Get started on cala.sh/docs

API Endpoints
http://localhost:2252/graphql

Queries

account

Response

Returns an Account

Arguments
Name Description
id - UUID!

Example

Query
query account($id: UUID!) {
  account(id: $id) {
    id
    accountId
    version
    code
    name
    normalBalanceType
    status
    externalId
    description
    metadata
    createdAt
    modifiedAt
    balance {
      ...BalanceFragment
    }
    balanceInRange {
      ...RangedBalanceFragment
    }
    sets {
      ...AccountSetConnectionFragment
    }
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}
Response
{
  "data": {
    "account": {
      "id": "4",
      "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 123,
      "code": "xyz789",
      "name": "abc123",
      "normalBalanceType": "DEBIT",
      "status": "ACTIVE",
      "externalId": "abc123",
      "description": "abc123",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642,
      "balance": Balance,
      "balanceInRange": RangedBalance,
      "sets": AccountSetConnection
    }
  }
}

accountByCode

Response

Returns an Account

Arguments
Name Description
code - String!

Example

Query
query accountByCode($code: String!) {
  accountByCode(code: $code) {
    id
    accountId
    version
    code
    name
    normalBalanceType
    status
    externalId
    description
    metadata
    createdAt
    modifiedAt
    balance {
      ...BalanceFragment
    }
    balanceInRange {
      ...RangedBalanceFragment
    }
    sets {
      ...AccountSetConnectionFragment
    }
  }
}
Variables
{"code": "xyz789"}
Response
{
  "data": {
    "accountByCode": {
      "id": 4,
      "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 987,
      "code": "xyz789",
      "name": "xyz789",
      "normalBalanceType": "DEBIT",
      "status": "ACTIVE",
      "externalId": "abc123",
      "description": "xyz789",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642,
      "balance": Balance,
      "balanceInRange": RangedBalance,
      "sets": AccountSetConnection
    }
  }
}

accountByExternalId

Response

Returns an Account

Arguments
Name Description
externalId - String!

Example

Query
query accountByExternalId($externalId: String!) {
  accountByExternalId(externalId: $externalId) {
    id
    accountId
    version
    code
    name
    normalBalanceType
    status
    externalId
    description
    metadata
    createdAt
    modifiedAt
    balance {
      ...BalanceFragment
    }
    balanceInRange {
      ...RangedBalanceFragment
    }
    sets {
      ...AccountSetConnectionFragment
    }
  }
}
Variables
{"externalId": "abc123"}
Response
{
  "data": {
    "accountByExternalId": {
      "id": 4,
      "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 987,
      "code": "xyz789",
      "name": "abc123",
      "normalBalanceType": "DEBIT",
      "status": "ACTIVE",
      "externalId": "xyz789",
      "description": "abc123",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642,
      "balance": Balance,
      "balanceInRange": RangedBalance,
      "sets": AccountSetConnection
    }
  }
}

accountSet

Response

Returns an AccountSet

Arguments
Name Description
id - UUID!

Example

Query
query accountSet($id: UUID!) {
  accountSet(id: $id) {
    id
    accountSetId
    version
    journalId
    name
    normalBalanceType
    description
    metadata
    createdAt
    modifiedAt
    balance {
      ...BalanceFragment
    }
    balanceInRange {
      ...RangedBalanceFragment
    }
    members {
      ...AccountSetMemberConnectionFragment
    }
    sets {
      ...AccountSetConnectionFragment
    }
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}
Response
{
  "data": {
    "accountSet": {
      "id": 4,
      "accountSetId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 123,
      "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "name": "xyz789",
      "normalBalanceType": "DEBIT",
      "description": "xyz789",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642,
      "balance": Balance,
      "balanceInRange": RangedBalance,
      "members": AccountSetMemberConnection,
      "sets": AccountSetConnection
    }
  }
}

accounts

Response

Returns an AccountConnection!

Arguments
Name Description
first - Int!
after - String

Example

Query
query accounts(
  $first: Int!,
  $after: String
) {
  accounts(
    first: $first,
    after: $after
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...AccountEdgeFragment
    }
    nodes {
      ...AccountFragment
    }
  }
}
Variables
{"first": 987, "after": "abc123"}
Response
{
  "data": {
    "accounts": {
      "pageInfo": PageInfo,
      "edges": [AccountEdge],
      "nodes": [Account]
    }
  }
}

balance

Response

Returns a Balance

Arguments
Name Description
journalId - UUID!
accountId - UUID!
currency - CurrencyCode!

Example

Query
query balance(
  $journalId: UUID!,
  $accountId: UUID!,
  $currency: CurrencyCode!
) {
  balance(
    journalId: $journalId,
    accountId: $accountId,
    currency: $currency
  ) {
    id
    journalId
    accountId
    entryId
    currency
    settled {
      ...BalanceAmountFragment
    }
    pending {
      ...BalanceAmountFragment
    }
    encumbrance {
      ...BalanceAmountFragment
    }
    version
    available {
      ...BalanceAmountFragment
    }
  }
}
Variables
{
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "currency": CurrencyCode
}
Response
{
  "data": {
    "balance": {
      "id": "4",
      "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "entryId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "currency": CurrencyCode,
      "settled": BalanceAmount,
      "pending": BalanceAmount,
      "encumbrance": BalanceAmount,
      "version": 987,
      "available": BalanceAmount
    }
  }
}

balanceInRange

Response

Returns a RangedBalance

Arguments
Name Description
journalId - UUID!
accountId - UUID!
currency - CurrencyCode!
from - Timestamp!
until - Timestamp

Example

Query
query balanceInRange(
  $journalId: UUID!,
  $accountId: UUID!,
  $currency: CurrencyCode!,
  $from: Timestamp!,
  $until: Timestamp
) {
  balanceInRange(
    journalId: $journalId,
    accountId: $accountId,
    currency: $currency,
    from: $from,
    until: $until
  ) {
    start {
      ...BalanceFragment
    }
    end {
      ...BalanceFragment
    }
    diff {
      ...BalanceFragment
    }
  }
}
Variables
{
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "currency": CurrencyCode,
  "from": 1592577642,
  "until": 1592577642
}
Response
{
  "data": {
    "balanceInRange": {
      "start": Balance,
      "end": Balance,
      "diff": Balance
    }
  }
}

journal

Response

Returns a Journal

Arguments
Name Description
id - UUID!

Example

Query
query journal($id: UUID!) {
  journal(id: $id) {
    id
    journalId
    version
    name
    status
    description
    createdAt
    modifiedAt
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}
Response
{
  "data": {
    "journal": {
      "id": 4,
      "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 123,
      "name": "abc123",
      "status": "ACTIVE",
      "description": "xyz789",
      "createdAt": 1592577642,
      "modifiedAt": 1592577642
    }
  }
}

serverVersion

Response

Returns a String!

Example

Query
query serverVersion {
  serverVersion
}
Response
{"data": {"serverVersion": "abc123"}}

transaction

Response

Returns a Transaction

Arguments
Name Description
id - UUID!

Example

Query
query transaction($id: UUID!) {
  transaction(id: $id) {
    id
    transactionId
    version
    txTemplateId
    journalId
    effective
    correlationId
    externalId
    description
    metadata
    createdAt
    modifiedAt
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}
Response
{
  "data": {
    "transaction": {
      "id": "4",
      "transactionId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 987,
      "txTemplateId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "effective": "2007-12-03",
      "correlationId": "xyz789",
      "externalId": "xyz789",
      "description": "xyz789",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642
    }
  }
}

transactionByExternalId

Response

Returns a Transaction

Arguments
Name Description
externalId - String!

Example

Query
query transactionByExternalId($externalId: String!) {
  transactionByExternalId(externalId: $externalId) {
    id
    transactionId
    version
    txTemplateId
    journalId
    effective
    correlationId
    externalId
    description
    metadata
    createdAt
    modifiedAt
  }
}
Variables
{"externalId": "abc123"}
Response
{
  "data": {
    "transactionByExternalId": {
      "id": "4",
      "transactionId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 123,
      "txTemplateId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "effective": "2007-12-03",
      "correlationId": "xyz789",
      "externalId": "abc123",
      "description": "abc123",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642
    }
  }
}

txTemplate

Response

Returns a TxTemplate

Arguments
Name Description
id - UUID!

Example

Query
query txTemplate($id: UUID!) {
  txTemplate(id: $id) {
    id
    txTemplateId
    version
    code
    params {
      ...ParamDefinitionFragment
    }
    transaction {
      ...TxTemplateTransactionFragment
    }
    entries {
      ...TxTemplateEntryFragment
    }
    description
    metadata
    createdAt
    modifiedAt
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}
Response
{
  "data": {
    "txTemplate": {
      "id": 4,
      "txTemplateId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 987,
      "code": "abc123",
      "params": [ParamDefinition],
      "transaction": TxTemplateTransaction,
      "entries": [TxTemplateEntry],
      "description": "xyz789",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642
    }
  }
}

txTemplateByCode

Response

Returns a TxTemplate

Arguments
Name Description
code - String!

Example

Query
query txTemplateByCode($code: String!) {
  txTemplateByCode(code: $code) {
    id
    txTemplateId
    version
    code
    params {
      ...ParamDefinitionFragment
    }
    transaction {
      ...TxTemplateTransactionFragment
    }
    entries {
      ...TxTemplateEntryFragment
    }
    description
    metadata
    createdAt
    modifiedAt
  }
}
Variables
{"code": "abc123"}
Response
{
  "data": {
    "txTemplateByCode": {
      "id": 4,
      "txTemplateId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "version": 123,
      "code": "xyz789",
      "params": [ParamDefinition],
      "transaction": TxTemplateTransaction,
      "entries": [TxTemplateEntry],
      "description": "xyz789",
      "metadata": {},
      "createdAt": 1592577642,
      "modifiedAt": 1592577642
    }
  }
}

velocityControl

Response

Returns a VelocityControl

Arguments
Name Description
id - UUID!

Example

Query
query velocityControl($id: UUID!) {
  velocityControl(id: $id) {
    id
    velocityControlId
    name
    description
    enforcement {
      ...VelocityEnforcementFragment
    }
    condition
    limits {
      ...VelocityLimitFragment
    }
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}
Response
{
  "data": {
    "velocityControl": {
      "id": 4,
      "velocityControlId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "name": "abc123",
      "description": "xyz789",
      "enforcement": VelocityEnforcement,
      "condition": Expression,
      "limits": [VelocityLimit]
    }
  }
}

velocityLimit

Response

Returns a VelocityLimit

Arguments
Name Description
id - UUID!

Example

Query
query velocityLimit($id: UUID!) {
  velocityLimit(id: $id) {
    id
    velocityLimitId
    name
    description
    condition
    window {
      ...PartitionKeyFragment
    }
    currency
    params {
      ...ParamDefinitionFragment
    }
    limit {
      ...LimitFragment
    }
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}
Response
{
  "data": {
    "velocityLimit": {
      "id": 4,
      "velocityLimitId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
      "name": "xyz789",
      "description": "xyz789",
      "condition": Expression,
      "window": [PartitionKey],
      "currency": CurrencyCode,
      "params": [ParamDefinition],
      "limit": Limit
    }
  }
}

Mutations

accountCreate

Response

Returns an AccountCreatePayload!

Arguments
Name Description
input - AccountCreateInput!

Example

Query
mutation accountCreate($input: AccountCreateInput!) {
  accountCreate(input: $input) {
    account {
      ...AccountFragment
    }
  }
}
Variables
{"input": AccountCreateInput}
Response
{"data": {"accountCreate": {"account": Account}}}

accountSetCreate

Response

Returns an AccountSetCreatePayload!

Arguments
Name Description
input - AccountSetCreateInput!

Example

Query
mutation accountSetCreate($input: AccountSetCreateInput!) {
  accountSetCreate(input: $input) {
    accountSet {
      ...AccountSetFragment
    }
  }
}
Variables
{"input": AccountSetCreateInput}
Response
{"data": {"accountSetCreate": {"accountSet": AccountSet}}}

accountSetUpdate

Response

Returns an AccountSetUpdatePayload!

Arguments
Name Description
id - UUID!
input - AccountSetUpdateInput!

Example

Query
mutation accountSetUpdate(
  $id: UUID!,
  $input: AccountSetUpdateInput!
) {
  accountSetUpdate(
    id: $id,
    input: $input
  ) {
    accountSet {
      ...AccountSetFragment
    }
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "input": AccountSetUpdateInput
}
Response
{"data": {"accountSetUpdate": {"accountSet": AccountSet}}}

accountUpdate

Response

Returns an AccountUpdatePayload!

Arguments
Name Description
id - UUID!
input - AccountUpdateInput!

Example

Query
mutation accountUpdate(
  $id: UUID!,
  $input: AccountUpdateInput!
) {
  accountUpdate(
    id: $id,
    input: $input
  ) {
    account {
      ...AccountFragment
    }
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "input": AccountUpdateInput
}
Response
{"data": {"accountUpdate": {"account": Account}}}

addToAccountSet

Response

Returns an AddToAccountSetPayload!

Arguments
Name Description
input - AddToAccountSetInput!

Example

Query
mutation addToAccountSet($input: AddToAccountSetInput!) {
  addToAccountSet(input: $input) {
    accountSet {
      ...AccountSetFragment
    }
  }
}
Variables
{"input": AddToAccountSetInput}
Response
{"data": {"addToAccountSet": {"accountSet": AccountSet}}}

calaOutboxImportJobCreate

Arguments
Name Description
input - CalaOutboxImportJobCreateInput!

Example

Query
mutation calaOutboxImportJobCreate($input: CalaOutboxImportJobCreateInput!) {
  calaOutboxImportJobCreate(input: $input) {
    job {
      ...JobFragment
    }
  }
}
Variables
{"input": CalaOutboxImportJobCreateInput}
Response
{"data": {"calaOutboxImportJobCreate": {"job": Job}}}

journalCreate

Response

Returns a JournalCreatePayload!

Arguments
Name Description
input - JournalCreateInput!

Example

Query
mutation journalCreate($input: JournalCreateInput!) {
  journalCreate(input: $input) {
    journal {
      ...JournalFragment
    }
  }
}
Variables
{"input": JournalCreateInput}
Response
{"data": {"journalCreate": {"journal": Journal}}}

journalUpdate

Response

Returns a JournalUpdatePayload!

Arguments
Name Description
id - UUID!
input - JournalUpdateInput!

Example

Query
mutation journalUpdate(
  $id: UUID!,
  $input: JournalUpdateInput!
) {
  journalUpdate(
    id: $id,
    input: $input
  ) {
    journal {
      ...JournalFragment
    }
  }
}
Variables
{
  "id": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "input": JournalUpdateInput
}
Response
{"data": {"journalUpdate": {"journal": Journal}}}

removeFromAccountSet

Response

Returns a RemoveFromAccountSetPayload!

Arguments
Name Description
input - RemoveFromAccountSetInput!

Example

Query
mutation removeFromAccountSet($input: RemoveFromAccountSetInput!) {
  removeFromAccountSet(input: $input) {
    accountSet {
      ...AccountSetFragment
    }
  }
}
Variables
{"input": RemoveFromAccountSetInput}
Response
{
  "data": {
    "removeFromAccountSet": {"accountSet": AccountSet}
  }
}

transactionPost

Response

Returns a TransactionPostPayload!

Arguments
Name Description
input - TransactionInput!

Example

Query
mutation transactionPost($input: TransactionInput!) {
  transactionPost(input: $input) {
    transaction {
      ...TransactionFragment
    }
  }
}
Variables
{"input": TransactionInput}
Response
{
  "data": {
    "transactionPost": {"transaction": Transaction}
  }
}

txTemplateCreate

Response

Returns a TxTemplateCreatePayload!

Arguments
Name Description
input - TxTemplateCreateInput!

Example

Query
mutation txTemplateCreate($input: TxTemplateCreateInput!) {
  txTemplateCreate(input: $input) {
    txTemplate {
      ...TxTemplateFragment
    }
  }
}
Variables
{"input": TxTemplateCreateInput}
Response
{"data": {"txTemplateCreate": {"txTemplate": TxTemplate}}}

velocityControlAddLimit

Response

Returns a VelocityControlAddLimitPayload!

Arguments
Name Description
input - VelocityControlAddLimitInput!

Example

Query
mutation velocityControlAddLimit($input: VelocityControlAddLimitInput!) {
  velocityControlAddLimit(input: $input) {
    velocityControl {
      ...VelocityControlFragment
    }
  }
}
Variables
{"input": VelocityControlAddLimitInput}
Response
{
  "data": {
    "velocityControlAddLimit": {
      "velocityControl": VelocityControl
    }
  }
}

velocityControlAttach

Response

Returns a VelocityControlAttachPayload!

Arguments
Name Description
input - VelocityControlAttachInput!

Example

Query
mutation velocityControlAttach($input: VelocityControlAttachInput!) {
  velocityControlAttach(input: $input) {
    velocityControl {
      ...VelocityControlFragment
    }
  }
}
Variables
{"input": VelocityControlAttachInput}
Response
{
  "data": {
    "velocityControlAttach": {
      "velocityControl": VelocityControl
    }
  }
}

velocityControlCreate

Response

Returns a VelocityControlCreatePayload!

Arguments
Name Description
input - VelocityControlCreateInput!

Example

Query
mutation velocityControlCreate($input: VelocityControlCreateInput!) {
  velocityControlCreate(input: $input) {
    velocityControl {
      ...VelocityControlFragment
    }
  }
}
Variables
{"input": VelocityControlCreateInput}
Response
{
  "data": {
    "velocityControlCreate": {
      "velocityControl": VelocityControl
    }
  }
}

velocityLimitCreate

Response

Returns a VelocityLimitCreatePayload!

Arguments
Name Description
input - VelocityLimitCreateInput!

Example

Query
mutation velocityLimitCreate($input: VelocityLimitCreateInput!) {
  velocityLimitCreate(input: $input) {
    velocityLimit {
      ...VelocityLimitFragment
    }
  }
}
Variables
{"input": VelocityLimitCreateInput}
Response
{
  "data": {
    "velocityLimitCreate": {
      "velocityLimit": VelocityLimit
    }
  }
}

Types

Account

Fields
Field Name Description
id - ID!
accountId - UUID!
version - Int!
code - String!
name - String!
normalBalanceType - DebitOrCredit!
status - Status!
externalId - String
description - String
metadata - JSON
createdAt - Timestamp!
modifiedAt - Timestamp!
balance - Balance
Arguments
journalId - UUID!
currency - CurrencyCode!
balanceInRange - RangedBalance
Arguments
journalId - UUID!
currency - CurrencyCode!
from - Timestamp!
until - Timestamp
sets - AccountSetConnection!
Arguments
first - Int!
after - String
Example
{
  "id": 4,
  "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "version": 123,
  "code": "abc123",
  "name": "abc123",
  "normalBalanceType": "DEBIT",
  "status": "ACTIVE",
  "externalId": "xyz789",
  "description": "abc123",
  "metadata": {},
  "createdAt": 1592577642,
  "modifiedAt": 1592577642,
  "balance": Balance,
  "balanceInRange": RangedBalance,
  "sets": AccountSetConnection
}

AccountConnection

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [AccountEdge!]! A list of edges.
nodes - [Account!]! A list of nodes.
Example
{
  "pageInfo": PageInfo,
  "edges": [AccountEdge],
  "nodes": [Account]
}

AccountCreateInput

Fields
Input Field Description
accountId - UUID!
externalId - String
code - String!
name - String!
normalBalanceType - DebitOrCredit!
description - String
status - Status!
metadata - JSON
accountSetIds - [UUID!]
Example
{
  "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "externalId": "xyz789",
  "code": "abc123",
  "name": "xyz789",
  "normalBalanceType": "DEBIT",
  "description": "xyz789",
  "status": "ACTIVE",
  "metadata": {},
  "accountSetIds": [
    "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
  ]
}

AccountCreatePayload

Fields
Field Name Description
account - Account!
Example
{"account": Account}

AccountEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Account! The item at the end of the edge
cursor - String! A cursor for use in pagination
Example
{
  "node": Account,
  "cursor": "xyz789"
}

AccountSet

Fields
Field Name Description
id - ID!
accountSetId - UUID!
version - Int!
journalId - UUID!
name - String!
normalBalanceType - DebitOrCredit!
description - String
metadata - JSON
createdAt - Timestamp!
modifiedAt - Timestamp!
balance - Balance
Arguments
currency - CurrencyCode!
balanceInRange - RangedBalance
Arguments
journalId - UUID!
currency - CurrencyCode!
from - Timestamp!
until - Timestamp
members - AccountSetMemberConnection!
Arguments
first - Int!
after - String
sets - AccountSetConnection!
Arguments
first - Int!
after - String
Example
{
  "id": 4,
  "accountSetId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "version": 987,
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "xyz789",
  "normalBalanceType": "DEBIT",
  "description": "xyz789",
  "metadata": {},
  "createdAt": 1592577642,
  "modifiedAt": 1592577642,
  "balance": Balance,
  "balanceInRange": RangedBalance,
  "members": AccountSetMemberConnection,
  "sets": AccountSetConnection
}

AccountSetConnection

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [AccountSetEdge!]! A list of edges.
nodes - [AccountSet!]! A list of nodes.
Example
{
  "pageInfo": PageInfo,
  "edges": [AccountSetEdge],
  "nodes": [AccountSet]
}

AccountSetCreateInput

Fields
Input Field Description
accountSetId - UUID!
journalId - UUID!
name - String!
normalBalanceType - DebitOrCredit!
description - String
metadata - JSON
Example
{
  "accountSetId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "abc123",
  "normalBalanceType": "DEBIT",
  "description": "abc123",
  "metadata": {}
}

AccountSetCreatePayload

Fields
Field Name Description
accountSet - AccountSet!
Example
{"accountSet": AccountSet}

AccountSetEdge

Description

An edge in a connection.

Fields
Field Name Description
node - AccountSet! The item at the end of the edge
cursor - String! A cursor for use in pagination
Example
{
  "node": AccountSet,
  "cursor": "abc123"
}

AccountSetMember

Types
Union Types

Account

AccountSet

Example
Account

AccountSetMemberConnection

Fields
Field Name Description
pageInfo - PageInfo! Information to aid in pagination.
edges - [AccountSetMemberEdge!]! A list of edges.
nodes - [AccountSetMember!]! A list of nodes.
Example
{
  "pageInfo": PageInfo,
  "edges": [AccountSetMemberEdge],
  "nodes": [Account]
}

AccountSetMemberEdge

Description

An edge in a connection.

Fields
Field Name Description
node - AccountSetMember! The item at the end of the edge
cursor - String! A cursor for use in pagination
Example
{
  "node": Account,
  "cursor": "xyz789"
}

AccountSetMemberType

Values
Enum Value Description

ACCOUNT

ACCOUNT_SET

Example
"ACCOUNT"

AccountSetUpdateInput

Fields
Input Field Description
name - String
normalBalanceType - DebitOrCredit
description - String
metadata - JSON
Example
{
  "name": "abc123",
  "normalBalanceType": "DEBIT",
  "description": "xyz789",
  "metadata": {}
}

AccountSetUpdatePayload

Fields
Field Name Description
accountSet - AccountSet!
Example
{"accountSet": AccountSet}

AccountUpdateInput

Fields
Input Field Description
externalId - String
code - String
name - String
normalBalanceType - DebitOrCredit
description - String
status - Status
metadata - JSON
Example
{
  "externalId": "xyz789",
  "code": "abc123",
  "name": "xyz789",
  "normalBalanceType": "DEBIT",
  "description": "abc123",
  "status": "ACTIVE",
  "metadata": {}
}

AccountUpdatePayload

Fields
Field Name Description
account - Account!
Example
{"account": Account}

AddToAccountSetInput

Fields
Input Field Description
accountSetId - UUID!
memberId - UUID!
memberType - AccountSetMemberType!
Example
{
  "accountSetId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "memberId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "memberType": "ACCOUNT"
}

AddToAccountSetPayload

Fields
Field Name Description
accountSet - AccountSet!
Example
{"accountSet": AccountSet}

Balance

Fields
Field Name Description
id - ID!
journalId - UUID!
accountId - UUID!
entryId - UUID!
currency - CurrencyCode!
settled - BalanceAmount!
pending - BalanceAmount!
encumbrance - BalanceAmount!
version - Int!
available - BalanceAmount!
Arguments
layer - Layer!
Example
{
  "id": "4",
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "entryId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "currency": CurrencyCode,
  "settled": BalanceAmount,
  "pending": BalanceAmount,
  "encumbrance": BalanceAmount,
  "version": 123,
  "available": BalanceAmount
}

BalanceAmount

Fields
Field Name Description
drBalance - Money!
crBalance - Money!
normalBalance - Money!
entryId - UUID!
Example
{
  "drBalance": Money,
  "crBalance": Money,
  "normalBalance": Money,
  "entryId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}

BalanceLimit

Fields
Field Name Description
layer - Expression!
amount - Expression!
normalBalanceType - Expression!
start - Expression
end - Expression
Example
{
  "layer": Expression,
  "amount": Expression,
  "normalBalanceType": Expression,
  "start": Expression,
  "end": Expression
}

BalanceLimitInput

Fields
Input Field Description
limitType - BalanceLimitType!
layer - Expression!
amount - Expression!
normalBalanceType - Expression!
start - Expression
end - Expression
Example
{
  "limitType": "AVAILABLE",
  "layer": Expression,
  "amount": Expression,
  "normalBalanceType": Expression,
  "start": Expression,
  "end": Expression
}

BalanceLimitType

Values
Enum Value Description

AVAILABLE

Example
"AVAILABLE"

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

CalaOutboxImportJobCreateInput

Fields
Input Field Description
jobId - UUID!
name - String!
description - String
endpoint - String!
Example
{
  "jobId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "xyz789",
  "description": "abc123",
  "endpoint": "abc123"
}

CalaOutboxImportJobCreatePayload

Fields
Field Name Description
job - Job!
Example
{"job": Job}

CurrencyCode

Example
CurrencyCode

Date

Example
"2007-12-03"

DebitOrCredit

Values
Enum Value Description

DEBIT

CREDIT

Example
"DEBIT"

Decimal

Example
Decimal

Expression

Example
Expression

ID

Description

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
"4"

Int

Description

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

Example
123

JSON

Example
{}

Job

Fields
Field Name Description
id - ID!
jobId - UUID!
name - String!
description - String
Example
{
  "id": 4,
  "jobId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "abc123",
  "description": "xyz789"
}

Journal

Fields
Field Name Description
id - ID!
journalId - UUID!
version - Int!
name - String!
status - Status!
description - String
createdAt - Timestamp!
modifiedAt - Timestamp!
Example
{
  "id": "4",
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "version": 123,
  "name": "xyz789",
  "status": "ACTIVE",
  "description": "xyz789",
  "createdAt": 1592577642,
  "modifiedAt": 1592577642
}

JournalCreateInput

Fields
Input Field Description
journalId - UUID!
name - String!
status - Status!
description - String
Example
{
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "abc123",
  "status": "ACTIVE",
  "description": "abc123"
}

JournalCreatePayload

Fields
Field Name Description
journal - Journal!
Example
{"journal": Journal}

JournalUpdateInput

Fields
Input Field Description
name - String
status - Status
description - String
Example
{
  "name": "xyz789",
  "status": "ACTIVE",
  "description": "abc123"
}

JournalUpdatePayload

Fields
Field Name Description
journal - Journal!
Example
{"journal": Journal}

Layer

Values
Enum Value Description

SETTLED

PENDING

ENCUMBRANCE

Example
"SETTLED"

Limit

Fields
Field Name Description
timestampSource - Expression
balance - [BalanceLimit!]!
Example
{
  "timestampSource": Expression,
  "balance": [BalanceLimit]
}

LimitInput

Fields
Input Field Description
timestampSource - Expression
balance - [BalanceLimitInput!]!
Example
{
  "timestampSource": Expression,
  "balance": [BalanceLimitInput]
}

Money

Fields
Field Name Description
units - Decimal!
currency - CurrencyCode!
Example
{
  "units": Decimal,
  "currency": CurrencyCode
}

PageInfo

Description

Information about pagination in a connection

Fields
Field Name Description
hasPreviousPage - Boolean! When paginating backwards, are there more items?
hasNextPage - Boolean! When paginating forwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue.
endCursor - String When paginating forwards, the cursor to continue.
Example
{
  "hasPreviousPage": false,
  "hasNextPage": true,
  "startCursor": "xyz789",
  "endCursor": "abc123"
}

ParamDataType

Values
Enum Value Description

STRING

INTEGER

DECIMAL

BOOLEAN

UUID

DATE

TIMESTAMP

JSON

Example
"STRING"

ParamDefinition

Fields
Field Name Description
name - String!
type - ParamDataType!
default - Expression
description - String
Example
{
  "name": "abc123",
  "type": "STRING",
  "default": Expression,
  "description": "xyz789"
}

ParamDefinitionInput

Fields
Input Field Description
name - String!
type - ParamDataType!
default - Expression
description - String
Example
{
  "name": "xyz789",
  "type": "STRING",
  "default": Expression,
  "description": "xyz789"
}

PartitionKey

Fields
Field Name Description
alias - String!
value - Expression!
Example
{
  "alias": "xyz789",
  "value": Expression
}

PartitionKeyInput

Fields
Input Field Description
alias - String!
value - Expression!
Example
{
  "alias": "abc123",
  "value": Expression
}

RangedBalance

Fields
Field Name Description
start - Balance!
end - Balance!
diff - Balance!
Example
{
  "start": Balance,
  "end": Balance,
  "diff": Balance
}

RemoveFromAccountSetInput

Fields
Input Field Description
accountSetId - UUID!
memberId - UUID!
memberType - AccountSetMemberType!
Example
{
  "accountSetId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "memberId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "memberType": "ACCOUNT"
}

RemoveFromAccountSetPayload

Fields
Field Name Description
accountSet - AccountSet!
Example
{"accountSet": AccountSet}

Status

Values
Enum Value Description

ACTIVE

LOCKED

Example
"ACTIVE"

String

Description

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.

Example
"abc123"

Timestamp

Example
1592577642

Transaction

Fields
Field Name Description
id - ID!
transactionId - UUID!
version - Int!
txTemplateId - UUID!
journalId - UUID!
effective - Date!
correlationId - String!
externalId - String
description - String
metadata - JSON
createdAt - Timestamp!
modifiedAt - Timestamp!
Example
{
  "id": 4,
  "transactionId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "version": 123,
  "txTemplateId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "journalId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "effective": "2007-12-03",
  "correlationId": "abc123",
  "externalId": "xyz789",
  "description": "abc123",
  "metadata": {},
  "createdAt": 1592577642,
  "modifiedAt": 1592577642
}

TransactionInput

Fields
Input Field Description
transactionId - UUID!
txTemplateCode - String!
params - JSON
Example
{
  "transactionId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "txTemplateCode": "xyz789",
  "params": {}
}

TransactionPostPayload

Fields
Field Name Description
transaction - Transaction!
Example
{"transaction": Transaction}

TxTemplate

Fields
Field Name Description
id - ID!
txTemplateId - UUID!
version - Int!
code - String!
params - [ParamDefinition!]
transaction - TxTemplateTransaction!
entries - [TxTemplateEntry!]!
description - String
metadata - JSON
createdAt - Timestamp!
modifiedAt - Timestamp!
Example
{
  "id": "4",
  "txTemplateId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "version": 987,
  "code": "xyz789",
  "params": [ParamDefinition],
  "transaction": TxTemplateTransaction,
  "entries": [TxTemplateEntry],
  "description": "abc123",
  "metadata": {},
  "createdAt": 1592577642,
  "modifiedAt": 1592577642
}

TxTemplateCreateInput

Fields
Input Field Description
txTemplateId - UUID!
code - String!
params - [ParamDefinitionInput!]
transaction - TxTemplateTransactionInput!
entries - [TxTemplateEntryInput!]!
description - String
metadata - JSON
Example
{
  "txTemplateId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "code": "abc123",
  "params": [ParamDefinitionInput],
  "transaction": TxTemplateTransactionInput,
  "entries": [TxTemplateEntryInput],
  "description": "xyz789",
  "metadata": {}
}

TxTemplateCreatePayload

Fields
Field Name Description
txTemplate - TxTemplate!
Example
{"txTemplate": TxTemplate}

TxTemplateEntry

Fields
Field Name Description
entryType - Expression!
accountId - Expression!
layer - Expression!
direction - Expression!
units - Expression!
currency - Expression!
description - Expression
Example
{
  "entryType": Expression,
  "accountId": Expression,
  "layer": Expression,
  "direction": Expression,
  "units": Expression,
  "currency": Expression,
  "description": Expression
}

TxTemplateEntryInput

Fields
Input Field Description
entryType - Expression!
accountId - Expression!
layer - Expression!
direction - Expression!
units - Expression!
currency - Expression!
description - Expression
Example
{
  "entryType": Expression,
  "accountId": Expression,
  "layer": Expression,
  "direction": Expression,
  "units": Expression,
  "currency": Expression,
  "description": Expression
}

TxTemplateTransaction

Fields
Field Name Description
effective - Expression!
journalId - Expression!
correlationId - Expression
externalId - Expression
description - Expression
metadata - Expression
Example
{
  "effective": Expression,
  "journalId": Expression,
  "correlationId": Expression,
  "externalId": Expression,
  "description": Expression,
  "metadata": Expression
}

TxTemplateTransactionInput

Fields
Input Field Description
effective - Expression!
journalId - Expression!
correlationId - Expression
externalId - Expression
description - Expression
metadata - Expression
Example
{
  "effective": Expression,
  "journalId": Expression,
  "correlationId": Expression,
  "externalId": Expression,
  "description": Expression,
  "metadata": Expression
}

UUID

Example
"86c668c9-ad45-43d1-8b23-c1b83baecb1a"

VelocityControl

Fields
Field Name Description
id - ID!
velocityControlId - UUID!
name - String!
description - String!
enforcement - VelocityEnforcement!
condition - Expression
limits - [VelocityLimit!]!
Example
{
  "id": "4",
  "velocityControlId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "abc123",
  "description": "abc123",
  "enforcement": VelocityEnforcement,
  "condition": Expression,
  "limits": [VelocityLimit]
}

VelocityControlAddLimitInput

Fields
Input Field Description
velocityControlId - UUID!
velocityLimitId - UUID!
Example
{
  "velocityControlId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "velocityLimitId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a"
}

VelocityControlAddLimitPayload

Fields
Field Name Description
velocityControl - VelocityControl!
Example
{"velocityControl": VelocityControl}

VelocityControlAttachInput

Fields
Input Field Description
velocityControlId - UUID!
accountId - UUID!
params - JSON!
Example
{
  "velocityControlId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "accountId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "params": {}
}

VelocityControlAttachPayload

Fields
Field Name Description
velocityControl - VelocityControl!
Example
{"velocityControl": VelocityControl}

VelocityControlCreateInput

Fields
Input Field Description
velocityControlId - UUID!
name - String!
description - String!
enforcement - VelocityEnforcementInput!
condition - Expression
Example
{
  "velocityControlId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "abc123",
  "description": "abc123",
  "enforcement": VelocityEnforcementInput,
  "condition": Expression
}

VelocityControlCreatePayload

Fields
Field Name Description
velocityControl - VelocityControl!
Example
{"velocityControl": VelocityControl}

VelocityEnforcement

Fields
Field Name Description
velocityEnforcementAction - VelocityEnforcementAction!
Example
{"velocityEnforcementAction": "REJECT"}

VelocityEnforcementAction

Values
Enum Value Description

REJECT

Example
"REJECT"

VelocityEnforcementInput

Fields
Input Field Description
velocityEnforcementAction - VelocityEnforcementAction!
Example
{"velocityEnforcementAction": "REJECT"}

VelocityLimit

Fields
Field Name Description
id - ID!
velocityLimitId - UUID!
name - String!
description - String!
condition - Expression
window - [PartitionKey!]!
currency - CurrencyCode
params - [ParamDefinition!]
limit - Limit!
Example
{
  "id": "4",
  "velocityLimitId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "abc123",
  "description": "xyz789",
  "condition": Expression,
  "window": [PartitionKey],
  "currency": CurrencyCode,
  "params": [ParamDefinition],
  "limit": Limit
}

VelocityLimitCreateInput

Fields
Input Field Description
velocityLimitId - UUID!
name - String!
description - String!
window - [PartitionKeyInput!]!
condition - Expression
limit - LimitInput!
currency - CurrencyCode
params - [ParamDefinitionInput!]
Example
{
  "velocityLimitId": "86c668c9-ad45-43d1-8b23-c1b83baecb1a",
  "name": "xyz789",
  "description": "abc123",
  "window": [PartitionKeyInput],
  "condition": Expression,
  "limit": LimitInput,
  "currency": CurrencyCode,
  "params": [ParamDefinitionInput]
}

VelocityLimitCreatePayload

Fields
Field Name Description
velocityLimit - VelocityLimit!
Example
{"velocityLimit": VelocityLimit}