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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}
Response
{
  "data": {
    "account": {
      "id": 4,
      "accountId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "version": 987,
      "code": "xyz789",
      "name": "xyz789",
      "normalBalanceType": "DEBIT",
      "status": "ACTIVE",
      "externalId": "xyz789",
      "description": "xyz789",
      "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": "abc123"}
Response
{
  "data": {
    "accountByCode": {
      "id": "4",
      "accountId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "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
    }
  }
}

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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "version": 987,
      "code": "abc123",
      "name": "abc123",
      "normalBalanceType": "DEBIT",
      "status": "ACTIVE",
      "externalId": "abc123",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}
Response
{
  "data": {
    "accountSet": {
      "id": 4,
      "accountSetId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "version": 123,
      "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "name": "xyz789",
      "normalBalanceType": "DEBIT",
      "description": "abc123",
      "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": "xyz789"}
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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "accountId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "currency": CurrencyCode
}
Response
{
  "data": {
    "balance": {
      "id": "4",
      "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "accountId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "entryId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "currency": CurrencyCode,
      "settled": BalanceAmount,
      "pending": BalanceAmount,
      "encumbrance": BalanceAmount,
      "version": 123,
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "accountId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}
Response
{
  "data": {
    "journal": {
      "id": "4",
      "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}
Response
{
  "data": {
    "transaction": {
      "id": 4,
      "transactionId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "version": 123,
      "txTemplateId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "effective": "2007-12-03",
      "correlationId": "xyz789",
      "externalId": "xyz789",
      "description": "abc123",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "version": 987,
      "txTemplateId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "effective": "2007-12-03",
      "correlationId": "xyz789",
      "externalId": "xyz789",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}
Response
{
  "data": {
    "txTemplate": {
      "id": 4,
      "txTemplateId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "version": 123,
      "code": "abc123",
      "params": [ParamDefinition],
      "transaction": TxTemplateTransaction,
      "entries": [TxTemplateEntry],
      "description": "abc123",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "version": 987,
      "code": "xyz789",
      "params": [ParamDefinition],
      "transaction": TxTemplateTransaction,
      "entries": [TxTemplateEntry],
      "description": "abc123",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}
Response
{
  "data": {
    "velocityControl": {
      "id": 4,
      "velocityControlId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "name": "xyz789",
      "description": "abc123",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}
Response
{
  "data": {
    "velocityLimit": {
      "id": 4,
      "velocityLimitId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
      "name": "abc123",
      "description": "abc123",
      "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "version": 987,
  "code": "abc123",
  "name": "abc123",
  "normalBalanceType": "DEBIT",
  "status": "ACTIVE",
  "externalId": "abc123",
  "description": "xyz789",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "externalId": "xyz789",
  "code": "xyz789",
  "name": "abc123",
  "normalBalanceType": "DEBIT",
  "description": "xyz789",
  "status": "ACTIVE",
  "metadata": {},
  "accountSetIds": [
    "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
  ]
}

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": "abc123"
}

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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "version": 123,
  "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "abc123",
  "normalBalanceType": "DEBIT",
  "description": "abc123",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "abc123",
  "normalBalanceType": "DEBIT",
  "description": "xyz789",
  "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": "xyz789"
}

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": "abc123"
}

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": "xyz789",
  "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": "abc123",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "memberId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "accountId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "entryId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}

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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "abc123",
  "description": "abc123",
  "endpoint": "xyz789"
}

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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "xyz789",
  "status": "ACTIVE",
  "description": "xyz789"
}

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": false,
  "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": "abc123"
}

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": "xyz789",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "memberId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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
"xyz789"

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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "version": 123,
  "txTemplateId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "journalId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "effective": "2007-12-03",
  "correlationId": "xyz789",
  "externalId": "xyz789",
  "description": "xyz789",
  "metadata": {},
  "createdAt": 1592577642,
  "modifiedAt": 1592577642
}

TransactionInput

Fields
Input Field Description
transactionId - UUID!
txTemplateCode - String!
params - JSON
Example
{
  "transactionId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "txTemplateCode": "abc123",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "version": 123,
  "code": "abc123",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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
"cf88b13e-fcd2-4eb5-958e-90d5753dfa80"

VelocityControl

Fields
Field Name Description
id - ID!
velocityControlId - UUID!
name - String!
description - String!
enforcement - VelocityEnforcement!
condition - Expression
limits - [VelocityLimit!]!
Example
{
  "id": 4,
  "velocityControlId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "abc123",
  "description": "xyz789",
  "enforcement": VelocityEnforcement,
  "condition": Expression,
  "limits": [VelocityLimit]
}

VelocityControlAddLimitInput

Fields
Input Field Description
velocityControlId - UUID!
velocityLimitId - UUID!
Example
{
  "velocityControlId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "velocityLimitId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80"
}

VelocityControlAddLimitPayload

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

VelocityControlAttachInput

Fields
Input Field Description
velocityControlId - UUID!
accountId - UUID!
params - JSON!
Example
{
  "velocityControlId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "accountId": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "xyz789",
  "description": "xyz789",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "xyz789",
  "description": "abc123",
  "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": "cf88b13e-fcd2-4eb5-958e-90d5753dfa80",
  "name": "abc123",
  "description": "xyz789",
  "window": [PartitionKeyInput],
  "condition": Expression,
  "limit": LimitInput,
  "currency": CurrencyCode,
  "params": [ParamDefinitionInput]
}

VelocityLimitCreatePayload

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