Quiltt Logo

Profile GraphQL API

The Profile GraphQL API is the primary way to interact with a specific Profile's data. If you're new to GraphQL, please see our overview guide to get started.

API Endpoints
https://api.quiltt.io/v1/graphql
Headers
Authorization: Bearer <SESSION_TOKEN>
Content-Type: application/json

Authorization

To access the Profile GraphQL API, include a Session token in the HTTP Authorization header as a Bearer token. To learn how to obtain a Session token, see the Authentication guide.

Authorization: Bearer <SESSION_TOKEN>

For server-side calls, you can also use Basic Auth by passing a Base64-encoded combination of the Profile ID and API Key secret. See the Authentication guide for more details.

Authorization: Basic <Base64-encoded profileId:API_KEY_SECRET>

Introspection

Many popular GraphQL libraries make use of GraphQL's powerful introspection system to dynamically generate typings, access documentation and more. See the the official GraphQL documentation to learn more.

The introspection system is available out of the box for all authenticated requests. If you need to access introspection outside the context of a particular Profile - say during a build task - you can provide your API Key secret as a Bearer token:

Authorization: Bearer <API_KEY_SECRET>

Queries

account

Description

Look up an Account by its ID.

Response

Returns an Account

Arguments
Name Description
id - ID! The ID of the Account.

Example

Query
query account($id: ID!) {
  account(id: $id) {
    balance {
      ...BalanceFragment
    }
    connection {
      ...ConnectionFragment
    }
    currencyCode
    id
    institution {
      ...InstitutionFragment
    }
    mask
    metadata
    name
    provider
    remoteData {
      ...AccountRemoteDataFragment
    }
    state
    transactedFirstOn
    transactedLastOn
    transactions {
      ...TransactionConnectionFragment
    }
    type
    verified
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "account": {
      "balance": Balance,
      "connection": Connection,
      "currencyCode": "USD",
      "id": "acct_12Hz9Dz7vEAuljYvhmPcvM9",
      "institution": Institution,
      "mask": 1234,
      "metadata": {"accountNickname": "My favorite checking account"},
      "name": "Super fancy checking",
      "provider": "AKOYA",
      "remoteData": AccountRemoteData,
      "state": "CLOSED",
      "transactedFirstOn": "2022-01-01",
      "transactedLastOn": "2024-01-10",
      "transactions": TransactionConnection,
      "type": "CHECKING",
      "verified": true
    }
  }
}

accounts

Description

Get a list of Accounts.

You can apply filters, search and sort to refine the list.

Response

Returns [Account!]

Arguments
Name Description
filter - AccountFilter
search - SearchQuery
sort - AccountSort

Example

Query
query accounts(
  $filter: AccountFilter,
  $search: SearchQuery,
  $sort: AccountSort
) {
  accounts(
    filter: $filter,
    search: $search,
    sort: $sort
  ) {
    balance {
      ...BalanceFragment
    }
    connection {
      ...ConnectionFragment
    }
    currencyCode
    id
    institution {
      ...InstitutionFragment
    }
    mask
    metadata
    name
    provider
    remoteData {
      ...AccountRemoteDataFragment
    }
    state
    transactedFirstOn
    transactedLastOn
    transactions {
      ...TransactionConnectionFragment
    }
    type
    verified
  }
}
Variables
{
  "filter": AccountFilter,
  "search": SearchQuery,
  "sort": "LAST_TRANSACTED_ON_ASC"
}
Response
{
  "data": {
    "accounts": [
      {
        "balance": Balance,
        "connection": Connection,
        "currencyCode": "USD",
        "id": "acct_12Hz9Dz7vEAuljYvhmPcvM9",
        "institution": Institution,
        "mask": 1234,
        "metadata": {"accountNickname": "My favorite checking account"},
        "name": "Super fancy checking",
        "provider": "AKOYA",
        "remoteData": AccountRemoteData,
        "state": "CLOSED",
        "transactedFirstOn": "2022-01-01",
        "transactedLastOn": "2024-01-10",
        "transactions": TransactionConnection,
        "type": "CHECKING",
        "verified": false
      }
    ]
  }
}

connection

Description

Look up a Connection by its ID.

Response

Returns a Connection

Arguments
Name Description
id - ID! The ID of the Connection.

Example

Query
query connection($id: ID!) {
  connection(id: $id) {
    accounts {
      ...AccountFragment
    }
    externallyManaged
    features
    id
    institution {
      ...InstitutionFragment
    }
    metadata
    provider
    remoteData {
      ...ConnectionRemoteDataFragment
    }
    status
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "connection": {
      "accounts": [Account],
      "externallyManaged": false,
      "features": ["ACCOUNT_NUMBERS"],
      "id": "conn_14TJiFDKRJlPiBHuukUIlXZ",
      "institution": Institution,
      "metadata": {"hiddenFromUI": true},
      "provider": "AKOYA",
      "remoteData": ConnectionRemoteData,
      "status": "DISCONNECTED"
    }
  }
}

connections

Description

Get a list of Connections.

You can apply filters to refine the list.

Response

Returns [Connection!]

Arguments
Name Description
filter - ConnectionFilter

Example

Query
query connections($filter: ConnectionFilter) {
  connections(filter: $filter) {
    accounts {
      ...AccountFragment
    }
    externallyManaged
    features
    id
    institution {
      ...InstitutionFragment
    }
    metadata
    provider
    remoteData {
      ...ConnectionRemoteDataFragment
    }
    status
  }
}
Variables
{"filter": ConnectionFilter}
Response
{
  "data": {
    "connections": [
      {
        "accounts": [Account],
        "externallyManaged": false,
        "features": ["ACCOUNT_NUMBERS"],
        "id": "conn_14TJiFDKRJlPiBHuukUIlXZ",
        "institution": Institution,
        "metadata": {"hiddenFromUI": true},
        "provider": "AKOYA",
        "remoteData": ConnectionRemoteData,
        "status": "DISCONNECTED"
      }
    ]
  }
}

profile

Description

Access information about the authenticated Profile.

Response

Returns a Profile!

Example

Query
query profile {
  profile {
    address {
      ...ProfileAddressFragment
    }
    dateOfBirth
    email
    id
    metadata
    name
    names {
      ...ProfileNameFragment
    }
    phone
    remoteData {
      ...ProfileRemoteDataFragment
    }
    uuid
  }
}
Response
{
  "data": {
    "profile": {
      "address": ProfileAddress,
      "dateOfBirth": "2007-12-03",
      "email": "xyz789",
      "id": "p_1hyoxpVVFib1HngGwKAzIr",
      "metadata": {
        "firebaseId": "4Wz7x0QkPdNNzgRgjZ4iIzMKjXo2",
        "avatar": "https://www.gravatar.com/avatar/5658ffccee7f0ebfda2b226238b1eb6e",
        "favoriteColor": "Purple"
      },
      "name": "abc123",
      "names": ProfileName,
      "phone": "abc123",
      "remoteData": ProfileRemoteData,
      "uuid": "174ec567-2492-4498-a706-504a79437235"
    }
  }
}

transaction

Description

Look up a Transaction by its ID.

Response

Returns a Transaction

Arguments
Name Description
id - ID! The ID of the Transaction.

Example

Query
query transaction($id: ID!) {
  transaction(id: $id) {
    account {
      ...AccountFragment
    }
    amount
    currencyCode
    date
    description
    entryType
    id
    logo {
      ...ImageFragment
    }
    metadata
    provider
    remoteData {
      ...TransactionRemoteDataFragment
    }
    status
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "transaction": {
      "account": Account,
      "amount": 123.45,
      "currencyCode": "AED",
      "date": "2007-12-03",
      "description": "abc123",
      "entryType": "CREDIT",
      "id": "txn_11VgTOO9DR1vbAZxb6zBLdb",
      "logo": Image,
      "metadata": {"userDefinedName": "My favorite transaction"},
      "provider": "AKOYA",
      "remoteData": TransactionRemoteData,
      "status": "PENDING"
    }
  }
}

transactions

Description

Get a paginated list of up to 100 Transactions.

You can apply filters, search and sort to refine the list.

Response

Returns a TransactionConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
filter - TransactionFilter
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.
search - SearchQuery
sort - TransactionSort Default = DATE_DESC

Example

Query
query transactions(
  $after: String,
  $before: String,
  $filter: TransactionFilter,
  $first: Int,
  $last: Int,
  $search: SearchQuery,
  $sort: TransactionSort
) {
  transactions(
    after: $after,
    before: $before,
    filter: $filter,
    first: $first,
    last: $last,
    search: $search,
    sort: $sort
  ) {
    count
    edges {
      ...TransactionEdgeFragment
    }
    nodes {
      ...TransactionFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "after": "xyz789",
  "before": "abc123",
  "filter": TransactionFilter,
  "first": 123,
  "last": 987,
  "search": SearchQuery,
  "sort": "DATE_DESC"
}
Response
{
  "data": {
    "transactions": {
      "count": 987,
      "edges": [TransactionEdge],
      "nodes": [Transaction],
      "pageInfo": PageInfo
    }
  }
}

Mutations

accountUpdate

Description

Update an Account's metadata.

Response

Returns an AccountUpdatePayload

Arguments
Name Description
input - AccountUpdateInput! Parameters for AccountUpdate

Example

Query
mutation accountUpdate($input: AccountUpdateInput!) {
  accountUpdate(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...AccountFragment
    }
    success
  }
}
Variables
{"input": AccountUpdateInput}
Response
{
  "data": {
    "accountUpdate": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": Account,
      "success": false
    }
  }
}

connectionDisconnect

Description

Disconnect a Connection.

Response

Returns a ConnectionDisconnectPayload

Arguments
Name Description
input - ConnectionDisconnectInput! Parameters for ConnectionDisconnect

Example

Query
mutation connectionDisconnect($input: ConnectionDisconnectInput!) {
  connectionDisconnect(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectionDisconnectInput}
Response
{
  "data": {
    "connectionDisconnect": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": Connection,
      "success": false
    }
  }
}

connectionPlaidImport

Description

Import an existing Plaid Item as a Connection in Quiltt.

Response

Returns a ConnectionPlaidImportPayload

Arguments
Name Description
input - ConnectionPlaidImportInput! Parameters for ConnectionPlaidImport

Example

Query
mutation connectionPlaidImport($input: ConnectionPlaidImportInput!) {
  connectionPlaidImport(input: $input) {
    clientMutationId
    errors {
      ...PlaidMutationErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectionPlaidImportInput}
Response
{
  "data": {
    "connectionPlaidImport": {
      "clientMutationId": "abc123",
      "errors": [PlaidMutationError],
      "record": Connection,
      "success": false
    }
  }
}

connectionSimulateError

Description

Put an active Connection into a repairable error state. This allows you to simulate repairing Connection errors by passing the Connection ID to the Quiltt Connector.

Note that this mutation is not available in DEVELOPMENT or PRODUCTION environments.

Response

Returns a ConnectionSimulateErrorPayload

Arguments
Name Description
input - ConnectionSimulateErrorInput! Parameters for ConnectionSimulateError

Example

Query
mutation connectionSimulateError($input: ConnectionSimulateErrorInput!) {
  connectionSimulateError(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectionSimulateErrorInput}
Response
{
  "data": {
    "connectionSimulateError": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": Connection,
      "success": true
    }
  }
}

connectionUpdate

Description

Update a Connection's metadata.

Response

Returns a ConnectionUpdatePayload

Arguments
Name Description
input - ConnectionUpdateInput! Parameters for ConnectionUpdate

Example

Query
mutation connectionUpdate($input: ConnectionUpdateInput!) {
  connectionUpdate(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectionUpdateInput}
Response
{
  "data": {
    "connectionUpdate": {
      "clientMutationId": "xyz789",
      "errors": [Error],
      "record": Connection,
      "success": false
    }
  }
}

connectorAkoyaClose

Description

Create or update a Akoya-sourced Connection from a successful Akoya Connector submission.

Response

Returns a ConnectorAkoyaClosePayload

Arguments
Name Description
input - ConnectorAkoyaCloseInput! Parameters for ConnectorAkoyaClose

Example

Query
mutation connectorAkoyaClose($input: ConnectorAkoyaCloseInput!) {
  connectorAkoyaClose(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectorAkoyaCloseInput}
Response
{
  "data": {
    "connectorAkoyaClose": {
      "clientMutationId": "xyz789",
      "errors": [Error],
      "record": Connection,
      "success": false
    }
  }
}

connectorAkoyaInitialize

Description

Generate a Akoya Connector token.

Response

Returns a ConnectorAkoyaInitializePayload

Arguments
Name Description
input - ConnectorAkoyaInitializeInput! Parameters for ConnectorAkoyaInitialize

Example

Query
mutation connectorAkoyaInitialize($input: ConnectorAkoyaInitializeInput!) {
  connectorAkoyaInitialize(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...AkoyaConnectorSessionFragment
    }
    success
  }
}
Variables
{"input": ConnectorAkoyaInitializeInput}
Response
{
  "data": {
    "connectorAkoyaInitialize": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": AkoyaConnectorSession,
      "success": false
    }
  }
}

connectorMockClose

Description

Create or update a Mock-sourced Connection from a successful Mock Connector submission.

Response

Returns a ConnectorMockClosePayload

Arguments
Name Description
input - ConnectorMockCloseInput! Parameters for ConnectorMockClose

Example

Query
mutation connectorMockClose($input: ConnectorMockCloseInput!) {
  connectorMockClose(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectorMockCloseInput}
Response
{
  "data": {
    "connectorMockClose": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": Connection,
      "success": false
    }
  }
}

connectorMockInitialize

Description

Generate a Mock Connector token.

Response

Returns a ConnectorMockInitializePayload

Arguments
Name Description
input - ConnectorMockInitializeInput! Parameters for ConnectorMockInitialize

Example

Query
mutation connectorMockInitialize($input: ConnectorMockInitializeInput!) {
  connectorMockInitialize(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...MockConnectorSessionFragment
    }
    success
  }
}
Variables
{"input": ConnectorMockInitializeInput}
Response
{
  "data": {
    "connectorMockInitialize": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": MockConnectorSession,
      "success": true
    }
  }
}

connectorMxClose

Description

Create or update an MX-sourced Connection from a successful MX Connect submission.

Response

Returns a ConnectorMxClosePayload

Arguments
Name Description
input - ConnectorMxCloseInput! Parameters for ConnectorMxClose

Example

Query
mutation connectorMxClose($input: ConnectorMxCloseInput!) {
  connectorMxClose(input: $input) {
    clientMutationId
    errors {
      ...MxMutationErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectorMxCloseInput}
Response
{
  "data": {
    "connectorMxClose": {
      "clientMutationId": "xyz789",
      "errors": [MxMutationError],
      "record": Connection,
      "success": false
    }
  }
}

connectorMxInitialize

Description

Generate a widget URL to initialize MX Connect.

Response

Returns a ConnectorMxInitializePayload

Arguments
Name Description
input - ConnectorMxInitializeInput! Parameters for ConnectorMxInitialize

Example

Query
mutation connectorMxInitialize($input: ConnectorMxInitializeInput!) {
  connectorMxInitialize(input: $input) {
    clientMutationId
    errors {
      ...MxMutationErrorFragment
    }
    record {
      ...MxConnectorSessionFragment
    }
    success
  }
}
Variables
{"input": ConnectorMxInitializeInput}
Response
{
  "data": {
    "connectorMxInitialize": {
      "clientMutationId": "xyz789",
      "errors": [MxMutationError],
      "record": MxConnectorSession,
      "success": false
    }
  }
}

connectorPlaidClose

Description

Create or update a Plaid-sourced Connection from a successful Plaid Link submission.

Response

Returns a ConnectorPlaidClosePayload

Arguments
Name Description
input - ConnectorPlaidCloseInput! Parameters for ConnectorPlaidClose

Example

Query
mutation connectorPlaidClose($input: ConnectorPlaidCloseInput!) {
  connectorPlaidClose(input: $input) {
    clientMutationId
    errors {
      ...PlaidMutationErrorFragment
    }
    record {
      ...ConnectionFragment
    }
    success
  }
}
Variables
{"input": ConnectorPlaidCloseInput}
Response
{
  "data": {
    "connectorPlaidClose": {
      "clientMutationId": "xyz789",
      "errors": [PlaidMutationError],
      "record": Connection,
      "success": true
    }
  }
}

connectorPlaidInitialize

Description

Generate a Plaid Link token to initialize Plaid Link.

Response

Returns a ConnectorPlaidInitializePayload

Arguments
Name Description
input - ConnectorPlaidInitializeInput! Parameters for ConnectorPlaidInitialize

Example

Query
mutation connectorPlaidInitialize($input: ConnectorPlaidInitializeInput!) {
  connectorPlaidInitialize(input: $input) {
    clientMutationId
    errors {
      ...PlaidMutationErrorFragment
    }
    record {
      ...PlaidConnectorSessionFragment
    }
    success
  }
}
Variables
{"input": ConnectorPlaidInitializeInput}
Response
{
  "data": {
    "connectorPlaidInitialize": {
      "clientMutationId": "xyz789",
      "errors": [PlaidMutationError],
      "record": PlaidConnectorSession,
      "success": false
    }
  }
}

connectorUpgrade

Description

Attempt to upgrade a Connection.

Response

Returns a ConnectorUpgradePayload

Arguments
Name Description
input - ConnectorUpgradeInput! Parameters for ConnectorUpgrade

Example

Query
mutation connectorUpgrade($input: ConnectorUpgradeInput!) {
  connectorUpgrade(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...ConnectorUpgradeFragment
    }
    success
  }
}
Variables
{"input": ConnectorUpgradeInput}
Response
{
  "data": {
    "connectorUpgrade": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": ConnectorUpgrade,
      "success": false
    }
  }
}

profileUpdate

Description

Update Profile information.

Response

Returns a ProfileUpdatePayload

Arguments
Name Description
input - ProfileUpdateInput! Parameters for ProfileUpdate

Example

Query
mutation profileUpdate($input: ProfileUpdateInput!) {
  profileUpdate(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...ProfileFragment
    }
    success
  }
}
Variables
{"input": ProfileUpdateInput}
Response
{
  "data": {
    "profileUpdate": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": Profile,
      "success": true
    }
  }
}

transactionUpdate

Description

Update a transaction's metadata.

Response

Returns a TransactionUpdatePayload

Arguments
Name Description
input - TransactionUpdateInput! Parameters for TransactionUpdate

Example

Query
mutation transactionUpdate($input: TransactionUpdateInput!) {
  transactionUpdate(input: $input) {
    clientMutationId
    errors {
      ...ErrorFragment
    }
    record {
      ...TransactionFragment
    }
    success
  }
}
Variables
{"input": TransactionUpdateInput}
Response
{
  "data": {
    "transactionUpdate": {
      "clientMutationId": "abc123",
      "errors": [Error],
      "record": Transaction,
      "success": false
    }
  }
}

Subscriptions

accountVerified

Description

An Account was verified for money movement.

Response

Returns an AccountVerifiedPayload!

Arguments
Name Description
accountId - ID The ID of the Account.

Example

Query
subscription accountVerified($accountId: ID) {
  accountVerified(accountId: $accountId) {
    account {
      ...AccountFragment
    }
  }
}
Variables
{"accountId": "4"}
Response
{"data": {"accountVerified": {"account": Account}}}

connectionCreated

Description

A Connection was created.

Response

Returns a ConnectionCreatedPayload!

Example

Query
subscription connectionCreated {
  connectionCreated {
    connection {
      ...ConnectionFragment
    }
  }
}
Response
{
  "data": {
    "connectionCreated": {"connection": Connection}
  }
}

connectionUpdated

Description

A Connection was updated.

Response

Returns a ConnectionUpdatedPayload!

Arguments
Name Description
connectionId - ID The ID of the Connection.

Example

Query
subscription connectionUpdated($connectionId: ID) {
  connectionUpdated(connectionId: $connectionId) {
    connection {
      ...ConnectionFragment
    }
  }
}
Variables
{"connectionId": 4}
Response
{
  "data": {
    "connectionUpdated": {"connection": Connection}
  }
}

Types

Account

Description

An Account represents the accounting of a banking relationship.

Fields
Field Name Description
balance - Balance The most recent Balance for the Account.
connection - Connection The primary Connection for this Account.
currencyCode - CurrencyCode The ISO-4217 currency code of the Account
id - ID! The ID of the Account.
institution - Institution! The Institution where the Account is held.
mask - String A mostly unique identifier, typically the last 4 numbers of the Account.
metadata - JSON

Custom metadata about the Account, stored in a 'key-value' format.

See the Custom Metadata guide for more information and examples.

name - String! The Name of the Account
provider - ConnectionProvider! The original provider of the Account.
remoteData - AccountRemoteData

The Remote Data associated with the Account.

See the Remote Data guide for more information.

state - AccountState! The State of the Account
transactedFirstOn - Date The date of the earliest known Transaction.
transactedLastOn - Date The date of the most recent known Transaction.
transactions - TransactionConnection! A paginated list of Transactions.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

last - Int

Returns the last n elements from the list.

search - SearchQuery
type - AccountType! Represents the classification of an Account.
verified - Boolean! Specifies whether the Account has been verified for money movement.
Example
{
  "balance": Balance,
  "connection": Connection,
  "currencyCode": "USD",
  "id": "acct_12Hz9Dz7vEAuljYvhmPcvM9",
  "institution": Institution,
  "mask": 1234,
  "metadata": {"accountNickname": "My favorite checking account"},
  "name": "Super fancy checking",
  "provider": "AKOYA",
  "remoteData": AccountRemoteData,
  "state": "CLOSED",
  "transactedFirstOn": "2022-01-01",
  "transactedLastOn": "2024-01-10",
  "transactions": TransactionConnection,
  "type": "CHECKING",
  "verified": true
}

AccountFilter

Description

Options for filtering Accounts.

Fields
Input Field Description
metadata - JSON Filter by the contents of Account metadata.
remoteData - AccountRemoteDataFilter Specifies the Remote Data of the Account.
transactedFirstOn - Date The date of the earliest known Transaction.
transactedFirstOn_gt - Date Greater than the date of the earliest known Transaction.
transactedFirstOn_gte - Date Greater than or equal to the date of the earliest known Transaction.
transactedFirstOn_lt - Date Less than the date of the earliest known Transaction.
transactedFirstOn_lte - Date Less than or equal to the date of the earliest known Transaction.
transactedLastOn - Date The date of the most recent known Transaction.
transactedLastOn_gt - Date Greater than the date of the most recent known Transaction.
transactedLastOn_gte - Date Greater than or equal to the date of the most recent known Transaction.
transactedLastOn_lt - Date Less than the date of the most recent known Transaction.
transactedLastOn_lte - Date Less than or equal to the date of the most recent known Transaction.
type - [AccountType!] The Account classifications to include, supplied as an array or a single value.
type_not - [AccountType!] The Account classifications to exclude, supplied as an array or a single value.
verified - Boolean Filter by whether Accounts have been verified for money movement.
Example
{
  "metadata": {},
  "remoteData": AccountRemoteDataFilter,
  "transactedFirstOn": "2007-12-03",
  "transactedFirstOn_gt": "2007-12-03",
  "transactedFirstOn_gte": "2007-12-03",
  "transactedFirstOn_lt": "2007-12-03",
  "transactedFirstOn_lte": "2007-12-03",
  "transactedLastOn": "2007-12-03",
  "transactedLastOn_gt": "2007-12-03",
  "transactedLastOn_gte": "2007-12-03",
  "transactedLastOn_lt": "2007-12-03",
  "transactedLastOn_lte": "2007-12-03",
  "type": ["CHECKING"],
  "type_not": ["CHECKING"],
  "verified": false
}

AccountRemoteData

Description

Remote data associated with an Account.

Fields
Field Name Description
mock - AccountRemoteDataMock The Mock remote data associated with the Account.
mx - AccountRemoteDataMx The MX remote data associated with the Account.
plaid - AccountRemoteDataPlaid The Plaid remote data associated with the Account.
Example
{
  "mock": AccountRemoteDataMock,
  "mx": AccountRemoteDataMx,
  "plaid": AccountRemoteDataPlaid
}

AccountRemoteDataFilter

Description

Remote Data filters.

Fields
Input Field Description
mock - AccountRemoteDataMockFilter Mock Account Remote Data.
mx - AccountRemoteDataMxFilter MX Account Remote Data.
plaid - AccountRemoteDataPlaidFilter Plaid Account Remote Data.
Example
{
  "mock": AccountRemoteDataMockFilter,
  "mx": AccountRemoteDataMxFilter,
  "plaid": AccountRemoteDataPlaidFilter
}

AccountRemoteDataMock

Description

Account-level data from Mock.

Fields
Field Name Description
account - AccountRemoteDataMockAccount The base Account data from Mock.
Example
{"account": AccountRemoteDataMockAccount}

AccountRemoteDataMockAccount

Description

The base Account data from Mock.

Fields
Field Name Description
response - MockAccount The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": MockAccount,
  "timestamp": "2007-12-03T10:15:30Z"
}

AccountRemoteDataMockFilter

Description

Options for filtering inside Mock Remote Data payload.

Fields
Input Field Description
id - String Mock account ID.
Example
{"id": "abc123"}

AccountRemoteDataMx

Description

Account-level data from MX.

Fields
Field Name Description
account - AccountRemoteDataMxAccount The base Account data from MX.
Example
{"account": AccountRemoteDataMxAccount}

AccountRemoteDataMxAccount

Description

The base Account data from MX.

Fields
Field Name Description
response - MxAccount The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": MxAccount,
  "timestamp": "2007-12-03T10:15:30Z"
}

AccountRemoteDataMxFilter

Description

Options for filtering inside MX Remote Data.

Fields
Input Field Description
accountNumber - String The account number associated with the account. This will typically be a masked or partial account number.
accountOwnership - String
annuityPolicyToDate - String
annuityProvider - String
annuityTermYear - Float
apr - Float The annual percentage rate associated with the account.
apy - Float The annual percentage yield associated with the account.
availableBalance - Float The balance that is available for use in asset accounts like checking and savings. PENDING transactions are typically taken into account with the available balance, but this may not always be the case. available_balance will usually be a positive value for all account types, determined in the same way as the balance field.
availableCredit - Float The amount of credit available for use in liability accounts like credit cards and lines of credit. PENDING transactions are typically taken into account with available credit, but this may not always be the case. available_credit will usually be a positive value for all account types, determined in the same way as the balance field.
balance - Float The current balance of the account. PENDING transactions are typically not taken into account with the current balance, but this may not always be the case. This is the value used for the account balance displayed in MX UIs. The balance will usually be a positive value for all account types. Asset-type accounts (CHECKING, SAVINGS, INVESTMENT) may have a negative balance if they are in overdraft. Debt-type accounts (CREDIT_CARD, LOAN, LINE_OF_CREDIT, MORTGAGE) may have a negative balance if they are overpaid.
cashBalance - Float The cash balance of the account.
cashSurrenderValue - Float The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.
createdAt - String The date and time at which the account was created on the MX Platform.
creditLimit - Float The credit limit associated with the account.
currencyCode - String The three-character ISO 4217 currency code.
dayPaymentIsDue - Int The day of the month the payment is due. For example, the 14th is passed as 14.
deathBenefit - Int The amount paid to the beneficiary of the account upon death of the account owner.
guid - String The unique identifier for the account. Defined by MX.
holdingsValue - Float The sum of all long holdings within this account, not including any that are shorted and not including cash.
id - String The unique partner-defined identifier for the account
importedAt - String The date and time at which the account was last successfully aggregated and received data.
institutionCode - String A unique identifier for the institution associated with this account. Defined by MX.
insuredName - String The name of the insured individual.
interestRate - Float The interest rate associated with the account.
isClosed - Boolean This indicates whether an account has been closed.
isHidden - Boolean This indicates whether the account is hidden. Defaults to false.
isManual - Boolean
lastPayment - Float The date and time of the most recent payment on the account.
lastPaymentAt - String The amount of the most recent payment on the account.
loanAmount - Float The amount of the loan associated with the account.
marginBalance - Float
maturesOn - String The date on which the account matures.
memberGuid - String The unique identifier for the member associated with the account. Defined by MX.
memberId - String The unique, partner-defined, identifier for the member associated with this account.
memberIsManagedByUser - Boolean This indicates whether the associated member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to false.
metadata - String Additional information a partner can store on the account.
minimumBalance - Float The minimum balance associated with the account.
minimumPayment - Float The minimum payment required for an account. This can apply to any debt account.
name - String The human-readable name for the account.
nickname - String An alternate name for the account.
originalBalance - Float The original balance associated with the account. This will always be positive.
payOutAmount - Float The amount paid out to the insured individual or beneficiary under the conditions of the insurance policy.
paymentDueAt - String The date and time at which the next payment is due on the account.
payoffBalance - Float The payoff balance for a debt account. This will normally be a positive number.
premiumAmount - Float The insurance policy’s premium amount.
propertyType - String
routingNumber - String The routing number for the account.
startedOn - String The date on which a debt account was started.
subtype - String The account’s subtype, e.g., PLAN_401_K, MONEY_MARKET, or HOME_EQUITY.
todayUglAmount - Float
todayUglPercentage - Float
totalAccountValue - Float The total value of the account.
type - String The general or parent type of the account.
updatedAt - String The date and time at which the account was most recently updated.
userGuid - String The unique identifier for the user associated with the account. Defined by MX.
userId - String The unique, partner-defined, identifier for the user associated with this account.
Example
{
  "accountNumber": "xyz789",
  "accountOwnership": "xyz789",
  "annuityPolicyToDate": "xyz789",
  "annuityProvider": "xyz789",
  "annuityTermYear": 123.45,
  "apr": 987.65,
  "apy": 987.65,
  "availableBalance": 987.65,
  "availableCredit": 987.65,
  "balance": 123.45,
  "cashBalance": 987.65,
  "cashSurrenderValue": 987.65,
  "createdAt": "abc123",
  "creditLimit": 123.45,
  "currencyCode": "xyz789",
  "dayPaymentIsDue": 123,
  "deathBenefit": 123,
  "guid": "abc123",
  "holdingsValue": 987.65,
  "id": "xyz789",
  "importedAt": "abc123",
  "institutionCode": "abc123",
  "insuredName": "xyz789",
  "interestRate": 987.65,
  "isClosed": true,
  "isHidden": false,
  "isManual": false,
  "lastPayment": 123.45,
  "lastPaymentAt": "xyz789",
  "loanAmount": 123.45,
  "marginBalance": 987.65,
  "maturesOn": "abc123",
  "memberGuid": "xyz789",
  "memberId": "abc123",
  "memberIsManagedByUser": true,
  "metadata": "xyz789",
  "minimumBalance": 987.65,
  "minimumPayment": 987.65,
  "name": "xyz789",
  "nickname": "abc123",
  "originalBalance": 987.65,
  "payOutAmount": 987.65,
  "paymentDueAt": "abc123",
  "payoffBalance": 987.65,
  "premiumAmount": 123.45,
  "propertyType": "xyz789",
  "routingNumber": "xyz789",
  "startedOn": "abc123",
  "subtype": "abc123",
  "todayUglAmount": 987.65,
  "todayUglPercentage": 987.65,
  "totalAccountValue": 123.45,
  "type": "abc123",
  "updatedAt": "abc123",
  "userGuid": "xyz789",
  "userId": "abc123"
}

AccountRemoteDataPlaid

Description

Account-level data from Plaid.

Fields
Field Name Description
account - AccountRemoteDataPlaidAccount The base Account data from Plaid.
Example
{"account": AccountRemoteDataPlaidAccount}

AccountRemoteDataPlaidAccount

Description

The base Account data from Plaid.

Fields
Field Name Description
response - PlaidAccount The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": PlaidAccount,
  "timestamp": "2007-12-03T10:15:30Z"
}

AccountRemoteDataPlaidFilter

Description

Options for filtering inside Plaid Remote Data.

Fields
Input Field Description
accountId - String

Plaid’s unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new account_id will be assigned to the account.

The account_id can also change if the access_token is deleted and the same credentials that were used to generate that access_token are used to generate a new access_token on a later date. In that case, the new account_id will be different from the old account_id.

If an account with a specific account_id disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the account_id is case sensitive.

mask - String The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.
name - String The name of the account, either assigned by the user or by the financial institution itself
officialName - String The official name of the account as given by the financial institution
persistentAccountId - String A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This is currently an opt-in field and only supported for Chase Items.
subtype - String See the Account type schema for a full listing of account types and corresponding subtypes.
type - String

investment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.

credit: Credit card

depository: Depository account

loan: Loan account

other: Non-specified account type

See the Account type schema for a full listing of account types and corresponding subtypes.

verificationStatus - String

The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only.

pending_automatic_verification: The Item is pending automatic verification

pending_manual_verification: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the two amounts.

automatically_verified: The Item has successfully been automatically verified

manually_verified: The Item has successfully been manually verified

verification_expired: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link.

verification_failed: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link.

Example
{
  "accountId": "abc123",
  "mask": "xyz789",
  "name": "xyz789",
  "officialName": "xyz789",
  "persistentAccountId": "abc123",
  "subtype": "abc123",
  "type": "xyz789",
  "verificationStatus": "abc123"
}

AccountSort

Description

Options for sorting Accounts.

Values
Enum Value Description

LAST_TRANSACTED_ON_ASC

Oldest First, Pending Last.

LAST_TRANSACTED_ON_DESC

Newest First, Pending First.
Example
"LAST_TRANSACTED_ON_ASC"

AccountState

Values
Enum Value Description

CLOSED

Terminated

OPEN

Open
Example
"CLOSED"

AccountType

Description

Represents the classification of an Account.

Values
Enum Value Description

CHECKING

Checking and cash management.

CREDIT

Credit cards.

INVESTMENT

Brokerage, retirement and other investments.

LOAN

Lines of credit, mortgage, student and installment loans.

OTHER

All other Account types.

SAVINGS

Savings and money market.
Example
"CHECKING"

AccountUpdateInput

Description

Autogenerated input type of AccountUpdate

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
id - ID! The ID of the Account to be updated.
metadata - JSON Customizable metadata.
Example
{
  "clientMutationId": "abc123",
  "id": 4,
  "metadata": {}
}

AccountUpdatePayload

Description

Autogenerated return type of AccountUpdate.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Account The updated Account.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [Error],
  "record": Account,
  "success": false
}

AccountVerifiedPayload

Description

Autogenerated return type of AccountVerified.

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

AddressCountryCode

Description

ISO 3166-1 alpha-3 country code.

Values
Enum Value Description

USA

United States of America
Example
"USA"

AkoyaConnectorSession

Description

The Connector configuration for the Akoya provider.

Fields
Field Name Description
connectorStatus - ConnectorStatus! The status of the Akoya Connector Session.
connectorToken - String The unique token for the Akoya Connector Session.
url - String OAuth Flow URL.
Example
{
  "connectorStatus": "ABORT",
  "connectorToken": "xyz789",
  "url": "xyz789"
}

Balance

Description

Represents an Account Balance.

Fields
Field Name Description
at - DateTime! The timestamp of the Account Balance record.
available - Float The amount of funds accounting for pending Transactions.
current - Float The amount of funds based on posted Transactions.
id - ID! The ID of the Balance.
limit - Float The amount of funds that may be overdraft or spent on credit.
Example
{
  "at": "2007-12-03T10:15:30Z",
  "available": 987.65,
  "current": 123.45,
  "id": "bal_12vXOdjpsZIgB3Ae80Y7Pl",
  "limit": 123.45
}

Boolean

Description

The Boolean scalar type represents true or false.

Connection

Description

A Connection represents the data source for a Profile's accounts and transactions, such as a Plaid Item or MX member.

The easiest way to register connections is with the Quiltt Connector, which handles the configuration for Plaid Link and MX Connect.

Fields
Field Name Description
accounts - [Account!]! A list of Accounts.
Arguments
filter - AccountFilter
search - SearchQuery
sort - AccountSort
externallyManaged - Boolean! Specifies whether this Connection is managed by an external system.
features - [ConnectionFeature!]! The features currently enabled on the Connection.
id - ID! The ID of the Connection.
institution - Institution! The Institution of the Connection.
metadata - JSON

Custom metadata about the Connection, stored in a 'key-value' format.

See the Custom Metadata guide for more information and examples.

provider - ConnectionProvider! Represents a data provider for the Connection.
remoteData - ConnectionRemoteData

The Remote Data associated with the Connection.

See the Remote Data guide for more information.

status - ConnectionStatus! The status of the Connection.
Example
{
  "accounts": [Account],
  "externallyManaged": false,
  "features": ["ACCOUNT_NUMBERS"],
  "id": "conn_14TJiFDKRJlPiBHuukUIlXZ",
  "institution": Institution,
  "metadata": {"hiddenFromUI": true},
  "provider": "AKOYA",
  "remoteData": ConnectionRemoteData,
  "status": "DISCONNECTED"
}

ConnectionCreatedPayload

Description

Autogenerated return type of ConnectionCreated.

Fields
Field Name Description
connection - Connection The newly created Connection.
Example
{"connection": Connection}

ConnectionDisconnectInput

Description

Autogenerated input type of ConnectionDisconnect

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
id - ID! The ID of the Connection to be disconnected.
Example
{
  "clientMutationId": "abc123",
  "id": "4"
}

ConnectionDisconnectPayload

Description

Autogenerated return type of ConnectionDisconnect.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Connection The disconnected Connection.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [Error],
  "record": Connection,
  "success": false
}

ConnectionFeature

Description

Represents a feature of a Connection.

Values
Enum Value Description

ACCOUNT_NUMBERS

Verify account numbers to support money movement operations.

With this feature enabled, eligible accounts will be enabled for the Account Numbers and Processor Tokens endpoints.

ACCOUNT_OWNERS

Verify account-holder information.

With this feature enabled, account-holder information will become available in Remote Data.

BALANCES

Access Balance data.

INVESTMENTS

Access to Investments account data, this may be included by default or incure additional costs depending on the provider.

LIABILITIES

Access to Liabilities account data, this may be included by default or incure additional costs depending on the provider.

TRANSACTIONS

Access up to 24 months of transaction history, depending on the provider.

Note that for MX, full history is a "premium" feature that incurs a one-time per-Connection fee. Contact Quiltt support to enable this capability.

Example
"ACCOUNT_NUMBERS"

ConnectionFilter

Description

Options for filtering Connections.

Fields
Input Field Description
metadata - JSON Filter by the contents of Connection metadata.
provider - [ConnectionProvider!]
remoteData - ConnectionRemoteDataFilter Specifies the Remote Data of the Connection.
status - [ConnectionStatus!] The Connection statuses to include.
status_not - [ConnectionStatus!] The Connection statuses to exclude.
Example
{
  "metadata": {},
  "provider": ["AKOYA"],
  "remoteData": ConnectionRemoteDataFilter,
  "status": ["DISCONNECTED"],
  "status_not": ["DISCONNECTED"]
}

ConnectionPlaidImportInput

Description

Autogenerated input type of ConnectionPlaidImport

Fields
Input Field Description
accessToken - String! The access_token of the Plaid Item to be imported.
clientMutationId - String A unique identifier for the client performing the mutation.
externallyManaged - Boolean Specifies whether the Connection will be managed by an external system. Default = false
Example
{
  "accessToken": "xyz789",
  "clientMutationId": "xyz789",
  "externallyManaged": true
}

ConnectionPlaidImportPayload

Description

Autogenerated return type of ConnectionPlaidImport.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [PlaidMutationError!] A list of Plaid API errors from the mutation.
record - Connection The imported Connection.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [PlaidMutationError],
  "record": Connection,
  "success": true
}

ConnectionProvider

Description

Represents a data provider for the Connection.

Values
Enum Value Description

AKOYA

Akoya

DISCONNECTED

Disconnected

MOCK

Mock data

MX

MX

PLAID

Plaid
Example
"AKOYA"

ConnectionRemoteData

Description

Remote data associated with a Connection.

Fields
Field Name Description
mock - ConnectionRemoteDataMock The Mock remote data associated with the Connection.
mx - ConnectionRemoteDataMx The MX remote data associated with the Connection.
plaid - ConnectionRemoteDataPlaid The Plaid remote data associated with the Connection.
Example
{
  "mock": ConnectionRemoteDataMock,
  "mx": ConnectionRemoteDataMx,
  "plaid": ConnectionRemoteDataPlaid
}

ConnectionRemoteDataFilter

Description

Remote Data filters.

Fields
Input Field Description
mock - ConnectionRemoteDataMockFilter Mock Connection Remote Data.
mx - ConnectionRemoteDataMxFilter MX Member Remote Data.
plaid - ConnectionRemoteDataPlaidFilter Plaid Item Remote Data.
Example
{
  "mock": ConnectionRemoteDataMockFilter,
  "mx": ConnectionRemoteDataMxFilter,
  "plaid": ConnectionRemoteDataPlaidFilter
}

ConnectionRemoteDataMock

Description

Connection-level data from Mock.

Fields
Field Name Description
connection - ConnectionRemoteDataMockConnection The Connection data from Mock.
Example
{"connection": ConnectionRemoteDataMockConnection}

ConnectionRemoteDataMockConnection

Description

The Connection data from Mock.

Fields
Field Name Description
response - MockConnection The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": MockConnection,
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionRemoteDataMockFilter

Description

Options for filtering inside Mock Remote Data.

Fields
Input Field Description
id - String Mock Connection ID.
Example
{"id": "abc123"}

ConnectionRemoteDataMx

Description

Connection-level data from MX.

Fields
Field Name Description
accountOwners - ConnectionRemoteDataMxAccountOwners The Account Owners data from MX.
connection - ConnectionRemoteDataMxConnection The base Connection data from MX.
Example
{
  "accountOwners": ConnectionRemoteDataMxAccountOwners,
  "connection": ConnectionRemoteDataMxConnection
}

ConnectionRemoteDataMxAccountOwners

Description

The Account Owners data from MX.

Fields
Field Name Description
response - [MxAccountOwner!] The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": [MxAccountOwner],
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionRemoteDataMxConnection

Description

The base Connection data from MX.

Fields
Field Name Description
response - MxConnection The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": MxConnection,
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionRemoteDataMxFilter

Description

Options for filtering inside MX Remote Data.

Fields
Input Field Description
aggregatedAt - String The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component. A job will automatically be started when a member is created or its credentials are updated, unless the skip_aggregation parameter is used. Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget. A job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history.
backgroundAggregationIsDisabled - Boolean This indicates whether background aggregation is disabled for the member.
connectionStatus - String This indicates the state of a member’s aggregation. See member connection statuses for more information.
guid - String The unique identifier for the member. Defined by MX.
id - String The partner-defined unique identifier for the member.
institutionCode - String The unique identifier for the institution associated with the member. Defined by MX.
isBeingAggregated - Boolean This indicates whether the member was being aggregated at the time of the request.
isManagedByUser - Boolean This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to false.
isOauth - Boolean This indicates whether the member uses OAuth to authenticate. Defaults to false.
metadata - String Additional information you can store on this member.
name - String The name of the member.
oauthWindowUri - String
successfullyAggregatedAt - String The date and time the member was last successfully aggregated.
userGuid - String The unique identifier for the user associated with the member. Defined by MX.
userId - String The unique partner-defined identifier for the user associated with the member.
Example
{
  "aggregatedAt": "abc123",
  "backgroundAggregationIsDisabled": false,
  "connectionStatus": "abc123",
  "guid": "xyz789",
  "id": "xyz789",
  "institutionCode": "xyz789",
  "isBeingAggregated": true,
  "isManagedByUser": true,
  "isOauth": false,
  "metadata": "abc123",
  "name": "abc123",
  "oauthWindowUri": "xyz789",
  "successfullyAggregatedAt": "abc123",
  "userGuid": "abc123",
  "userId": "abc123"
}

ConnectionRemoteDataPlaid

Description

Connection-level data from Plaid.

Fields
Field Name Description
accountOwners - ConnectionRemoteDataPlaidAccountOwners The Account Owners data from Plaid.
connection - ConnectionRemoteDataPlaidConnection The base Connection data from Plaid.
investments - ConnectionRemoteDataPlaidInvestments The Investments data from Plaid.
liabilities - ConnectionRemoteDataPlaidLiabilities The Liabilities data from Plaid.
Example
{
  "accountOwners": ConnectionRemoteDataPlaidAccountOwners,
  "connection": ConnectionRemoteDataPlaidConnection,
  "investments": ConnectionRemoteDataPlaidInvestments,
  "liabilities": ConnectionRemoteDataPlaidLiabilities
}

ConnectionRemoteDataPlaidAccountOwners

Description

The Account Owners data from Plaid.

Fields
Field Name Description
response - [PlaidAccountIdentity!] The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": [PlaidAccountIdentity],
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionRemoteDataPlaidConnection

Description

The base Connection data from Plaid.

Fields
Field Name Description
response - PlaidConnection The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": PlaidConnection,
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionRemoteDataPlaidFilter

Description

Options for filtering inside Plaid Remote Data.

Fields
Input Field Description
availableProducts - [String!] A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with billed_products.
billedProducts - [String!] A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with available_products. Note - billed_products is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as balance, will not appear here.
consentExpirationTime - DateTime

The RFC 3339 timestamp after which the consent provided by the end user will expire. Upon consent expiration, the item will enter the ITEM_LOGIN_REQUIRED error state. To circumvent the ITEM_LOGIN_REQUIRED error and maintain continuous consent, the end user can reauthenticate via Link’s update mode in advance of the consent expiration time.

Note - This is only relevant for certain OAuth-based institutions. For all other institutions, this field will be null.

consentedProducts - [String!] Beta: A list of products that have gone through consent collection for the Item. Only present for those enabled in the beta.
institutionId - String The Plaid Institution ID associated with the Item. Field is null for Items created via Same Day Micro-deposits.
itemId - String The Plaid Item ID. The item_id is always unique; linking the same account at the same institution twice will result in two Items with different item_id values. Like all Plaid identifiers, the item_id is case-sensitive.
products - [String!] A list of authorized products for the Item.
updateType - String

Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication.

background - Item can be updated in the background

user_present_required - Item requires user interaction to be updated

webhook - String The URL registered to receive webhooks for the Item.
Example
{
  "availableProducts": ["xyz789"],
  "billedProducts": ["abc123"],
  "consentExpirationTime": "2007-12-03T10:15:30Z",
  "consentedProducts": ["xyz789"],
  "institutionId": "xyz789",
  "itemId": "abc123",
  "products": ["abc123"],
  "updateType": "abc123",
  "webhook": "xyz789"
}

ConnectionRemoteDataPlaidInvestments

Description

The Investments data from Plaid.

Fields
Field Name Description
holdings - ConnectionRemoteDataPlaidInvestmentsHoldings The Investments Holdings data from Plaid.
transactions - ConnectionRemoteDataPlaidInvestmentsTransactions The Investments Transactions data from Plaid.
Example
{
  "holdings": ConnectionRemoteDataPlaidInvestmentsHoldings,
  "transactions": ConnectionRemoteDataPlaidInvestmentsTransactions
}

ConnectionRemoteDataPlaidInvestmentsHoldings

Description

The Investments Holdings data from Plaid.

Fields
Field Name Description
response - PlaidInvestmentsHoldings The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": PlaidInvestmentsHoldings,
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionRemoteDataPlaidInvestmentsTransactions

Description

The Investments Transactions data from Plaid.

Fields
Field Name Description
response - PlaidInvestmentsTransactions The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": PlaidInvestmentsTransactions,
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionRemoteDataPlaidLiabilities

Description

The Liabilities data from Plaid.

Fields
Field Name Description
response - PlaidLiabilities The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": PlaidLiabilities,
  "timestamp": "2007-12-03T10:15:30Z"
}

ConnectionSimulateErrorInput

Description

Autogenerated input type of ConnectionSimulateError

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
id - ID! The ID of the Connection to be put in a repairable state.
Example
{"clientMutationId": "xyz789", "id": 4}

ConnectionSimulateErrorPayload

Description

Autogenerated return type of ConnectionSimulateError.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Connection The Connection put in a repairable state.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [Error],
  "record": Connection,
  "success": false
}

ConnectionStatus

Description

Represents the status of a Connection.

Values
Enum Value Description

DISCONNECTED

The Connection has been disconnected from all providers.

ERROR_INSTITUTION

The Connection provider is indicating an issue with the institution.

ERROR_PROVIDER

The Connection provider is experiencing a service interruption.

ERROR_REPAIRABLE

The Connection has a repairable error. Initialize a Connector session for the user to repair the connection.

ERROR_SERVICE

Quiltt is experiencing a service interruption. Visit our Status page for more information.

INITIALIZING

The Connection is being initialized.

SYNCED

The Connection is up to date.

SYNCING

The Connection is currently syncing.

UPGRADING

The Connection is attempting to add new features.
Example
"DISCONNECTED"

ConnectionUpdateInput

Description

Autogenerated input type of ConnectionUpdate

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
id - ID! The ID of the Connection to be updated.
metadata - JSON Customizable metadata.
Example
{
  "clientMutationId": "xyz789",
  "id": 4,
  "metadata": {}
}

ConnectionUpdatePayload

Description

Autogenerated return type of ConnectionUpdate.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Connection The updated Connection.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "abc123",
  "errors": [Error],
  "record": Connection,
  "success": true
}

ConnectionUpdatedPayload

Description

Autogenerated return type of ConnectionUpdated.

Fields
Field Name Description
connection - Connection The updated Connection
Example
{"connection": Connection}

ConnectorAkoyaCloseInput

Description

Autogenerated input type of ConnectorAkoyaClose

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
connectorToken - String! The connectorToken from the connectorAkoyaInitialize response.
Example
{
  "clientMutationId": "abc123",
  "connectorToken": "xyz789"
}

ConnectorAkoyaClosePayload

Description

Autogenerated return type of ConnectorAkoyaClose.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Connection The Connection.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [Error],
  "record": Connection,
  "success": true
}

ConnectorAkoyaInitializeInput

Description

Autogenerated input type of ConnectorAkoyaInitialize

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
connectionId - ID The ID of the Connection to be updated.
features - [ConnectionFeature!]! The Connection features to be enabled.
portalId - ID! The ID of the Portal that will used to create a new Connection.
redirectUri - String The URI to redirect to after an OAuth Handshake
Example
{
  "clientMutationId": "xyz789",
  "connectionId": 4,
  "features": ["ACCOUNT_NUMBERS"],
  "portalId": 4,
  "redirectUri": "abc123"
}

ConnectorAkoyaInitializePayload

Description

Autogenerated return type of ConnectorAkoyaInitialize.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - AkoyaConnectorSession Connector payload for a Akoya Connector.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [Error],
  "record": AkoyaConnectorSession,
  "success": false
}

ConnectorMockCloseInput

Description

Autogenerated input type of ConnectorMockClose

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
connectorToken - String! The connectorToken from the connectorMockInitialize response.
Example
{
  "clientMutationId": "abc123",
  "connectorToken": "abc123"
}

ConnectorMockClosePayload

Description

Autogenerated return type of ConnectorMockClose.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Connection The Connection.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [Error],
  "record": Connection,
  "success": false
}

ConnectorMockInitializeInput

Description

Autogenerated input type of ConnectorMockInitialize

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
connectionId - ID The ID of the Connection to be updated.
features - [ConnectionFeature!]! The Connection features to be enabled.
portalId - ID The ID of the Portal that will used to create a new Connection.
Example
{
  "clientMutationId": "xyz789",
  "connectionId": 4,
  "features": ["ACCOUNT_NUMBERS"],
  "portalId": 4
}

ConnectorMockInitializePayload

Description

Autogenerated return type of ConnectorMockInitialize.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - MockConnectorSession Connector payload for a Mock Connector.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "abc123",
  "errors": [Error],
  "record": MockConnectorSession,
  "success": false
}

ConnectorMxCloseInput

Description

Autogenerated input type of ConnectorMxClose

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
connectorToken - String! The connectorToken from the connectorMxInitialize response.
metadata - JSON! The metadata object from MX Connect's memberConnected callback.
Example
{
  "clientMutationId": "xyz789",
  "connectorToken": "xyz789",
  "metadata": {}
}

ConnectorMxClosePayload

Description

Autogenerated return type of ConnectorMxClose.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [MxMutationError!] A list of MX API errors from the mutation.
record - Connection The Connection.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "abc123",
  "errors": [MxMutationError],
  "record": Connection,
  "success": true
}

ConnectorMxInitializeInput

Description

Autogenerated input type of ConnectorMxInitialize

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
clientRedirectUrl - String Used as a redirect destination at the end of OAuth, if used with is_mobile_webview: true or oauth_referral_source: "APP".
colorScheme - String Load the Connect widget in the specified color_scheme; options are light and dark. Defaults to light.
connectionId - ID The ID of the Connection that will be updated with MX Connect. This is typically used when repairing a connection with an ERROR_REPAIRABLE status.
disableBackgroundAgg - Boolean Set to true or false to explicitly set the value of background_aggregation_is_disabled for new members created through the Connect widget. Default = false
features - [ConnectionFeature!]! The Connection features to be enabled.
includeTransactions - Boolean When set to false while creating or updating a member, transaction data will not be automatically aggregated. Future manual or background aggregations will not be affected. Default = true
isMobileWebview - Boolean Renders the widget in a mobile WebView. Executes URL updates in place of the JavaScript event postMessages.
oauthReferralSource - String

This determines how MX will respond to the result of an OAuth flow.

When set to APP, MX will redirect to the URI specified in the ui_message_webview_url_scheme.

When set to BROWSER, MX will send a postMessage but not redirect.

If is_mobile_webview is true, this defaults to APP. If false, it defaults to BROWSER.

portalId - ID The ID of the Portal that will used to create a new Connection.
redirectUri - String The URI to redirect to after an OAuth Handshake
uiMessageWebviewUrlScheme - String Used in postMessages and OAuth redirects in WebViews. Defaults to mx.
Example
{
  "clientMutationId": "xyz789",
  "clientRedirectUrl": "xyz789",
  "colorScheme": "abc123",
  "connectionId": 4,
  "disableBackgroundAgg": false,
  "features": ["ACCOUNT_NUMBERS"],
  "includeTransactions": true,
  "isMobileWebview": false,
  "oauthReferralSource": "xyz789",
  "portalId": "4",
  "redirectUri": "xyz789",
  "uiMessageWebviewUrlScheme": "xyz789"
}

ConnectorMxInitializePayload

Description

Autogenerated return type of ConnectorMxInitialize.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [MxMutationError!] A list of MX API errors from the mutation.
record - MxConnectorSession Connector payload for MX Connect.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "abc123",
  "errors": [MxMutationError],
  "record": MxConnectorSession,
  "success": true
}

ConnectorPlaidCloseInput

Description

Autogenerated input type of ConnectorPlaidClose

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
connectorToken - String! The connectorToken from the connectorPlaidInitialize response.
metadata - JSON! The metadata object from Plaid Link's onSuccess callback.
publicToken - String! The public_token string from Plaid Link's onSuccess callback.
Example
{
  "clientMutationId": "xyz789",
  "connectorToken": "xyz789",
  "metadata": {},
  "publicToken": "xyz789"
}

ConnectorPlaidClosePayload

Description

Autogenerated return type of ConnectorPlaidClose.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [PlaidMutationError!] A list of Plaid API errors from the mutation.
record - Connection The Connection.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [PlaidMutationError],
  "record": Connection,
  "success": true
}

ConnectorPlaidInitializeInput

Description

Autogenerated input type of ConnectorPlaidInitialize

Fields
Input Field Description
accountFilters - PlaidLinkTokenAccountFilters

By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the products parameter of /link/token/create, and, if auth is specified in the products array, will also filter out accounts other than checking and savings accounts on the Account Select pane. You can further limit the accounts shown in Link by using account_filters to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value "all". If the account_filters filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the Account schema.

For institutions using OAuth, the filter will not affect the list of accounts shown by the bank in the OAuth window.

additionalConsentedProducts - [String!]

(Beta) This field has no effect unless you are participating in the Product Scope Transparency beta program. List of additional Plaid product(s) you wish to collect consent for. These products will not be billed until you start using them by calling the relevant endpoints.

balance is not a valid value, the Balance product does not require explicit initialization and will automatically have consent collected.

Institutions that do not support these products will still be shown in Link

androidPackageName - String The name of your app's Android package. Required if using the link_token to initialize Link on Android. When creating a link_token for initializing Link on other platforms, this field must be left blank. Any package name specified here must also be added to the Allowed Android package names setting on the developer dashboard.
auth - PlaidLinkTokenCreateRequestAuth Specifies options for initializing Link for use with the Auth product. This field can be used to enable or disable extended Auth flows for the resulting Link session. Omitting any field will result in a default that can be configured by your account manager.
clientMutationId - String A unique identifier for the client performing the mutation.
clientName - String The name of your application, as it should be displayed in Link. Maximum length of 30 characters. If a value longer than 30 characters is provided, Link will display "This Application" instead.
connectionId - ID The ID of the Connection that will be updated with Plaid Link. This is typically used when repairing a connection with an ERROR_REPAIRABLE status or for completing the Same-day (manual) Micro-deposit flow.
countryCodes - [String!]

Specify an array of Plaid-supported country codes using the ISO-3166-1 alpha-2 country code standard. Institutions from all listed countries will be shown. For a complete mapping of supported products by country, see https://plaid.com/global/.

If Link is launched with multiple country codes, only products that you are enabled for in all countries will be used by Link. Note that while all countries are enabled by default in Sandbox and Development, in Production only US and Canada are enabled by default. Access to European institutions requires additional compliance steps. To request access to European institutions in the Production environment, file a product access Support ticket via the Plaid dashboard. If you initialize with a European country code, your users will see the European consent panel during the Link flow.

If using a Link customization, make sure the country codes in the customization match those specified in country_codes, or the customization may not be applied.

If using the Auth features Instant Match, Same-day Micro-deposits, or Automated Micro-deposits, country_codes must be set to ['US']. Default = ["US"]

features - [ConnectionFeature!]! The Connection features to be enabled.
language - String

The language that Link should be displayed in. When initializing with Identity Verification, this field is not used; for more details, see Identity Verification supported languages.

Supported languages are:

  • Danish ('da')
  • Dutch ('nl')
  • English ('en')
  • Estonian ('et')
  • French ('fr')
  • German ('de')
  • Italian ('it')
  • Latvian ('lv')
  • Lithuanian ('lt')
  • Norwegian ('no')
  • Polish ('pl')
  • Portuguese ('pt')
  • Romanian ('ro')
  • Spanish ('es')
  • Swedish ('se')

When using a Link customization, the language configured here must match the setting in the customization, or the customization will not be applied. Default = "en"

linkCustomizationName - String The name of the Link customization from the Plaid Dashboard to be applied to Link. If not specified, the default customization will be used. When using a Link customization, the language in the customization must match the language selected via the language parameter, and the countries in the customization should match the country codes selected via country_codes.
portalId - ID The ID of the Portal that will used to create a new Connection.
products - [String!]

List of Plaid product(s) you wish to use. If launching Link in update mode, should be omitted; required otherwise.

balance is not a valid value, the Balance product does not require explicit initialization and will automatically be initialized when any other product is initialized.

The products specified here will determine which institutions will be available to your users in Link. Only institutions that support all requested products can be selected; a if a user attempts to select an institution that does not support a listed product, a "Connectivity not supported" error message will appear in Link. To maximize the number of institutions available, initialize Link with the minimal product set required for your use case. Additional products can be added after Link initialization by calling the relevant endpoints. For details and exceptions, see Choosing when to initialize products.

Note that, unless you have opted to disable Instant Match support, institutions that support Instant Match will also be shown in Link if auth is specified as a product, even though these institutions do not contain auth in their product array.

In Production, you will be billed for each product that you specify when initializing Link. Note that a product cannot be removed from an Item once the Item has been initialized with that product. To stop billing on an Item for subscription-based products, such as Liabilities, Investments, and Transactions, remove the Item via /item/remove.

redirectUri - String The URI to redirect to after an OAuth Handshake
update - PlaidLinkTokenCreateRequestUpdate Specifies options for initializing Link for update mode.
Example
{
  "accountFilters": PlaidLinkTokenAccountFilters,
  "additionalConsentedProducts": ["xyz789"],
  "androidPackageName": "abc123",
  "auth": PlaidLinkTokenCreateRequestAuth,
  "clientMutationId": "xyz789",
  "clientName": "abc123",
  "connectionId": "4",
  "countryCodes": ["abc123"],
  "features": ["ACCOUNT_NUMBERS"],
  "language": "abc123",
  "linkCustomizationName": "abc123",
  "portalId": 4,
  "products": ["xyz789"],
  "redirectUri": "abc123",
  "update": PlaidLinkTokenCreateRequestUpdate
}

ConnectorPlaidInitializePayload

Description

Autogenerated return type of ConnectorPlaidInitialize.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [PlaidMutationError!] A list of Plaid API errors from the mutation.
record - PlaidConnectorSession Connector payload for Plaid Link.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "abc123",
  "errors": [PlaidMutationError],
  "record": PlaidConnectorSession,
  "success": false
}

ConnectorStatus

Description

Represents the next step with initializing a Connector session.

Values
Enum Value Description

ABORT

Unable to upgrade feature as it is not supported by the Institution.

ACTION_REQUIRED

The end-user must interact with the Connection provider.

CONTINUE

No end-user interaction is required.

WAIT

An asynchronous operation is occurring that may need further end-user interaction.
Example
"ABORT"

ConnectorUpgrade

Description

The actionable status for the attempted upgrade

Fields
Field Name Description
status - ConnectorStatus! The actionable status of the Upgrade.
Example
{"status": "ABORT"}

ConnectorUpgradeInput

Description

Autogenerated input type of ConnectorUpgrade

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
connectionId - ID The Connection ID to be upgraded.
features - [ConnectionFeature!]! The Features to be applied to the Connection.
Example
{
  "clientMutationId": "xyz789",
  "connectionId": 4,
  "features": ["ACCOUNT_NUMBERS"]
}

ConnectorUpgradePayload

Description

Autogenerated return type of ConnectorUpgrade.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - ConnectorUpgrade Connector features upgrade statuses.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "xyz789",
  "errors": [Error],
  "record": ConnectorUpgrade,
  "success": false
}

CurrencyCode

Description

Represents a supported ISO-4217 currency code.

Values
Enum Value Description

AED

United Arab Emirates Dirham

AFN

Afghan Afghani

ALL

Albanian Lek

AMD

Armenian Dram

ANG

Netherlands Antillean Gulden

AOA

Angolan Kwanza

ARS

Argentine Peso

AUD

Australian Dollar

AWG

Aruban Florin

AZN

Azerbaijani Manat

BAM

Bosnia and Herzegovina Convertible Mark

BBD

Barbadian Dollar

BDT

Bangladeshi Taka

BGN

Bulgarian Lev

BHD

Bahraini Dinar

BIF

Burundian Franc

BMD

Bermudian Dollar

BND

Brunei Dollar

BOB

Bolivian Boliviano

BRL

Brazilian Real

BSD

Bahamian Dollar

BTN

Bhutanese Ngultrum

BWP

Botswana Pula

BYN

Belarusian Ruble

BYR

Belarusian Ruble

BZD

Belize Dollar

CAD

Canadian Dollar

CDF

Congolese Franc

CHF

Swiss Franc

CLF

Unidad de Fomento

CLP

Chilean Peso

CNY

Chinese Renminbi Yuan

COP

Colombian Peso

CRC

Costa Rican Colón

CUC

Cuban Convertible Peso

CUP

Cuban Peso

CVE

Cape Verdean Escudo

CZK

Czech Koruna

DJF

Djiboutian Franc

DKK

Danish Krone

DOP

Dominican Peso

DZD

Algerian Dinar

EGP

Egyptian Pound

ERN

Eritrean Nakfa

ETB

Ethiopian Birr

EUR

Euro

FJD

Fijian Dollar

FKP

Falkland Pound

GBP

British Pound

GEL

Georgian Lari

GHS

Ghanaian Cedi

GIP

Gibraltar Pound

GMD

Gambian Dalasi

GNF

Guinean Franc

GTQ

Guatemalan Quetzal

GYD

Guyanese Dollar

HKD

Hong Kong Dollar

HNL

Honduran Lempira

HRK

Croatian Kuna

HTG

Haitian Gourde

HUF

Hungarian Forint

IDR

Indonesian Rupiah

ILS

Israeli New Sheqel

INR

Indian Rupee

IQD

Iraqi Dinar

IRR

Iranian Rial

ISK

Icelandic Króna

JMD

Jamaican Dollar

JOD

Jordanian Dinar

JPY

Japanese Yen

KES

Kenyan Shilling

KGS

Kyrgyzstani Som

KHR

Cambodian Riel

KMF

Comorian Franc

KPW

North Korean Won

KRW

South Korean Won

KWD

Kuwaiti Dinar

KYD

Cayman Islands Dollar

KZT

Kazakhstani Tenge

LAK

Lao Kip

LBP

Lebanese Pound

LKR

Sri Lankan Rupee

LRD

Liberian Dollar

LSL

Lesotho Loti

LYD

Libyan Dinar

MAD

Moroccan Dirham

MDL

Moldovan Leu

MGA

Malagasy Ariary

MKD

Macedonian Denar

MMK

Myanmar Kyat

MNT

Mongolian Tögrög

MOP

Macanese Pataca

MRU

Mauritanian Ouguiya

MUR

Mauritian Rupee

MVR

Maldivian Rufiyaa

MWK

Malawian Kwacha

MXN

Mexican Peso

MYR

Malaysian Ringgit

MZN

Mozambican Metical

NAD

Namibian Dollar

NGN

Nigerian Naira

NIO

Nicaraguan Córdoba

NOK

Norwegian Krone

NPR

Nepalese Rupee

NZD

New Zealand Dollar

OMR

Omani Rial

PAB

Panamanian Balboa

PEN

Peruvian Sol

PGK

Papua New Guinean Kina

PHP

Philippine Peso

PKR

Pakistani Rupee

PLN

Polish Złoty

PYG

Paraguayan Guaraní

QAR

Qatari Riyal

RON

Romanian Leu

RSD

Serbian Dinar

RUB

Russian Ruble

RWF

Rwandan Franc

SAR

Saudi Riyal

SBD

Solomon Islands Dollar

SCR

Seychellois Rupee

SDG

Sudanese Pound

SEK

Swedish Krona

SGD

Singapore Dollar

SHP

Saint Helenian Pound

SKK

Slovak Koruna

SLL

Sierra Leonean Leone

SOS

Somali Shilling

SRD

Surinamese Dollar

SSP

South Sudanese Pound

STD

São Tomé and Príncipe Dobra

SVC

Salvadoran Colón

SYP

Syrian Pound

SZL

Swazi Lilangeni

THB

Thai Baht

TJS

Tajikistani Somoni

TMT

Turkmenistani Manat

TND

Tunisian Dinar

TOP

Tongan Paʻanga

TRY

Turkish Lira

TTD

Trinidad and Tobago Dollar

TWD

New Taiwan Dollar

TZS

Tanzanian Shilling

UAH

Ukrainian Hryvnia

UGX

Ugandan Shilling

USD

United States Dollar

UYU

Uruguayan Peso

UZS

Uzbekistan Som

VES

Venezuelan Bolívar Soberano

VND

Vietnamese Đồng

VUV

Vanuatu Vatu

WST

Samoan Tala

XAF

Central African Cfa Franc

XAG

Silver (Troy Ounce)

XAU

Gold (Troy Ounce)

XBA

European Composite Unit

XBB

European Monetary Unit

XBC

European Unit of Account 9

XBD

European Unit of Account 17

XCD

East Caribbean Dollar

XDR

Special Drawing Rights

XOF

West African Cfa Franc

XPD

Palladium

XPF

Cfp Franc

XPT

Platinum

XTS

Codes specifically reserved for testing purposes

YER

Yemeni Rial

ZAR

South African Rand

ZMK

Zambian Kwacha

ZMW

Zambian Kwacha

ZWL

Zimbabwean Dollar
Example
"AED"

Date

Description

Represents an ISO 8601-encoded date.

Example
"2007-12-03"

DateTime

Description

Represents an ISO 8601-encoded datetime.

Example
"2007-12-03T10:15:30Z"

Error

Description

Represents an Error.

Fields
Field Name Description
message - String A description of the error.
path - [String!] Which input value this error came from.
Example
{
  "message": "xyz789",
  "path": ["abc123"]
}

FingoalTransaction

Description

FinGoal Transaction data.

Fields
Field Name Description
accountid - String The ID of the account associated with the transaction
amountnum - Float The transaction's USD amount
category - String The most applicable categorization for the transaction
categoryId - String The numeric ID of the transaction's category
categoryLabel - [String!] A cascading hierarchy of the transaction's categories, from high-level to detail-level categorization
clientId - String Your FinGoal client ID
container - String A high-level categorization of the account type. Eg, 'bank'
date - String The date on which the transaction took place
detailCategoryId - String The numeric ID of the transaction's detail category
guid - String The transaction's globally unique FinSight API issued ID
highLevelCategoryId - String The numeric ID of the transaction's high level category
isPhysical - Boolean Whether the transaction was made at a physical location, or online
isRecurring - Boolean Whether the transaction is set to recur on a fixed interval
merchantAddress1 - String The street address of the merchant associated with the transaction
merchantCity - String The name of the city where the merchant is located
merchantCountry - String The name of the country where the merchant is located
merchantLatitude - String The latitude of the merchant
merchantLogoURL - String The URL resource for the merchant's logo
merchantLongitude - String The longitude of the merchant
merchantName - String The name of the merchant associated with the transaction
merchantPhoneNumber - String The phone number of the merchant associated with the transaction
merchantState - String The name of the state where the merchant is located
merchantType - String The merchant's type
merchantZip - String The ZIP code where the merchant is located
originalDescription - String The transaction description as received. This will not change
receiptDate - String The date on which FinSight API first received the transaction
requestId - String A unique ID for the request the transaction came in with, for debugging purposes
simpleDescription - String An easy-to-understand, plain-language transaction description
sourceId - String The source of the transaction
subType - String A more detailed classification that provides further information on the type of transaction.
transactionTags - [String!] The FinSight API issued tags for the transaction
transactionid - String The ID of the transaction as it was originally submitted
type - String An attribute describing the nature of the intent behind the transaction.
uid - String The ID of the user associated with the transaction, as originally submitted
Example
{
  "accountid": "xyz789",
  "amountnum": 987.65,
  "category": "xyz789",
  "categoryId": "abc123",
  "categoryLabel": ["xyz789"],
  "clientId": "xyz789",
  "container": "abc123",
  "date": "abc123",
  "detailCategoryId": "xyz789",
  "guid": "abc123",
  "highLevelCategoryId": "xyz789",
  "isPhysical": true,
  "isRecurring": true,
  "merchantAddress1": "abc123",
  "merchantCity": "abc123",
  "merchantCountry": "xyz789",
  "merchantLatitude": "abc123",
  "merchantLogoURL": "xyz789",
  "merchantLongitude": "abc123",
  "merchantName": "abc123",
  "merchantPhoneNumber": "xyz789",
  "merchantState": "abc123",
  "merchantType": "xyz789",
  "merchantZip": "xyz789",
  "originalDescription": "abc123",
  "receiptDate": "abc123",
  "requestId": "abc123",
  "simpleDescription": "abc123",
  "sourceId": "xyz789",
  "subType": "abc123",
  "transactionTags": ["xyz789"],
  "transactionid": "xyz789",
  "type": "xyz789",
  "uid": "abc123"
}

FingoalUser

Description

FinGoal User data.

Fields
Field Name Description
clientId - String Your client ID.
id - String The user ID.
lifetimeSavings - Float The user's lifetime savings, if known.
registrationDate - String The date on which the user was registered with FinSight API.
subtenantId - String The user's subtenant ID.
tags - [String!] The FinSight API tags that were applied to the user.
totaltransactions - Float The total number of transactions the user has in FinSight API.
transactionsSinceLastUpdate - Float The number of transactions since the last time insights were run for the user.
uid - String The user's ID.
uniqueId - String The user's unique ID in the format of client_id:uid.
Example
{
  "clientId": "abc123",
  "id": "xyz789",
  "lifetimeSavings": 987.65,
  "registrationDate": "abc123",
  "subtenantId": "xyz789",
  "tags": ["abc123"],
  "totaltransactions": 987.65,
  "transactionsSinceLastUpdate": 123.45,
  "uid": "xyz789",
  "uniqueId": "xyz789"
}

Float

Description

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

Example
987.65

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

Image

Description

Represents an Image.

Fields
Field Name Description
url - URL The URL for the Image.
Example
{"url": "http://www.test.com/"}

Institution

Description

Represents an Institution.

Fields
Field Name Description
id - ID! The ID of the Institution.
logo - Image A single Transaction Logo.
name - String! The name of the Institution.
Example
{
  "id": "inst_17z3zKpUmcWRYjrpTBWJ1M",
  "logo": Image,
  "name": "abc123"
}

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

Description

Represents untyped JSON

Example
{}

MockAccount

Description

Mock Account data.

Fields
Field Name Description
id - String ID of the Mock Account
Example
{"id": "xyz789"}

MockConnection

Description

Mock Connection data.

Fields
Field Name Description
id - String ID of the Mock Connection
Example
{"id": "xyz789"}

MockConnectorSession

Description

The Connector configuration for the Mock provider.

Fields
Field Name Description
connectorStatus - ConnectorStatus! The status of the Mock Connector Session.
connectorToken - String The unique token for the Mock Connector Session. This token must be passed to the connectorMockClose mutation.
Example
{
  "connectorStatus": "ABORT",
  "connectorToken": "xyz789"
}

MockTransaction

Description

Mock Transaction data.

Fields
Field Name Description
id - String ID of the Mock Transaction
Example
{"id": "xyz789"}

MxAccount

Description

MX Account data.

Fields
Field Name Description
accountNumber - String The account number associated with the account. This will typically be a masked or partial account number.
accountOwnership - String
annuityPolicyToDate - String
annuityProvider - String
annuityTermYear - Float
apr - Float The annual percentage rate associated with the account.
apy - Float The annual percentage yield associated with the account.
availableBalance - Float The balance that is available for use in asset accounts like checking and savings. PENDING transactions are typically taken into account with the available balance, but this may not always be the case. available_balance will usually be a positive value for all account types, determined in the same way as the balance field.
availableCredit - Float The amount of credit available for use in liability accounts like credit cards and lines of credit. PENDING transactions are typically taken into account with available credit, but this may not always be the case. available_credit will usually be a positive value for all account types, determined in the same way as the balance field.
balance - Float The current balance of the account. PENDING transactions are typically not taken into account with the current balance, but this may not always be the case. This is the value used for the account balance displayed in MX UIs. The balance will usually be a positive value for all account types. Asset-type accounts (CHECKING, SAVINGS, INVESTMENT) may have a negative balance if they are in overdraft. Debt-type accounts (CREDIT_CARD, LOAN, LINE_OF_CREDIT, MORTGAGE) may have a negative balance if they are overpaid.
cashBalance - Float The cash balance of the account.
cashSurrenderValue - Float The sum of money paid to the policyholder or annuity holder in the event the policy is voluntarily terminated before it matures, or the insured event occurs.
createdAt - String! The date and time at which the account was created on the MX Platform.
creditLimit - Float The credit limit associated with the account.
currencyCode - String The three-character ISO 4217 currency code.
dayPaymentIsDue - Int The day of the month the payment is due. For example, the 14th is passed as 14.
deathBenefit - Int The amount paid to the beneficiary of the account upon death of the account owner.
guid - String The unique identifier for the account. Defined by MX.
holdingsValue - Float The sum of all long holdings within this account, not including any that are shorted and not including cash.
id - String The unique partner-defined identifier for the account
importedAt - String The date and time at which the account was last successfully aggregated and received data.
institutionCode - String A unique identifier for the institution associated with this account. Defined by MX.
insuredName - String The name of the insured individual.
interestRate - Float The interest rate associated with the account.
isClosed - Boolean This indicates whether an account has been closed.
isHidden - Boolean This indicates whether the account is hidden. Defaults to false.
isManual - Boolean
lastPayment - Float The date and time of the most recent payment on the account.
lastPaymentAt - String The amount of the most recent payment on the account.
loanAmount - Float The amount of the loan associated with the account.
marginBalance - Float
maturesOn - String The date on which the account matures.
memberGuid - String The unique identifier for the member associated with the account. Defined by MX.
memberId - String The unique, partner-defined, identifier for the member associated with this account.
memberIsManagedByUser - Boolean This indicates whether the associated member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to false.
metadata - String Additional information a partner can store on the account.
minimumBalance - Float The minimum balance associated with the account.
minimumPayment - Float The minimum payment required for an account. This can apply to any debt account.
name - String The human-readable name for the account.
nickname - String An alternate name for the account.
originalBalance - Float The original balance associated with the account. This will always be positive.
payOutAmount - Float The amount paid out to the insured individual or beneficiary under the conditions of the insurance policy.
paymentDueAt - String The date and time at which the next payment is due on the account.
payoffBalance - Float The payoff balance for a debt account. This will normally be a positive number.
premiumAmount - Float The insurance policy’s premium amount.
propertyType - String
routingNumber - String The routing number for the account.
startedOn - String The date on which a debt account was started.
subtype - String The account’s subtype, e.g., PLAN_401_K, MONEY_MARKET, or HOME_EQUITY.
todayUglAmount - Float
todayUglPercentage - Float
totalAccountValue - Float The total value of the account.
type - String The general or parent type of the account.
updatedAt - String The date and time at which the account was most recently updated.
userGuid - String The unique identifier for the user associated with the account. Defined by MX.
userId - String The unique, partner-defined, identifier for the user associated with this account.
Example
{
  "accountNumber": "abc123",
  "accountOwnership": "xyz789",
  "annuityPolicyToDate": "abc123",
  "annuityProvider": "abc123",
  "annuityTermYear": 123.45,
  "apr": 123.45,
  "apy": 123.45,
  "availableBalance": 123.45,
  "availableCredit": 987.65,
  "balance": 987.65,
  "cashBalance": 123.45,
  "cashSurrenderValue": 987.65,
  "createdAt": "xyz789",
  "creditLimit": 123.45,
  "currencyCode": "abc123",
  "dayPaymentIsDue": 987,
  "deathBenefit": 123,
  "guid": "xyz789",
  "holdingsValue": 987.65,
  "id": "abc123",
  "importedAt": "abc123",
  "institutionCode": "abc123",
  "insuredName": "xyz789",
  "interestRate": 987.65,
  "isClosed": false,
  "isHidden": true,
  "isManual": true,
  "lastPayment": 987.65,
  "lastPaymentAt": "xyz789",
  "loanAmount": 123.45,
  "marginBalance": 987.65,
  "maturesOn": "xyz789",
  "memberGuid": "xyz789",
  "memberId": "abc123",
  "memberIsManagedByUser": false,
  "metadata": "abc123",
  "minimumBalance": 987.65,
  "minimumPayment": 123.45,
  "name": "xyz789",
  "nickname": "abc123",
  "originalBalance": 123.45,
  "payOutAmount": 123.45,
  "paymentDueAt": "xyz789",
  "payoffBalance": 123.45,
  "premiumAmount": 987.65,
  "propertyType": "abc123",
  "routingNumber": "abc123",
  "startedOn": "xyz789",
  "subtype": "abc123",
  "todayUglAmount": 123.45,
  "todayUglPercentage": 987.65,
  "totalAccountValue": 123.45,
  "type": "abc123",
  "updatedAt": "xyz789",
  "userGuid": "xyz789",
  "userId": "xyz789"
}

MxAccountOwner

Description

MX Account Owner data.

Fields
Field Name Description
accountGuid - String The unique identifier for the account associated with the account owner. Defined by MX.
address - String The account owner's street address.
city - String The account owner's city.
country - String The account owner's country.
email - String The account owner's email address.
firstName - String The account owner's first name. This may also include a middle name. This field will be null unless name splitting has been enabled. Contact MX to have this feature enabled.
guid - String The unique identifier for the account owner. Defined by MX.
lastName - String The account owner's last name. This field will be null unless name splitting has been enabled. Contact MX to have this feature enabled.
memberGuid - String The unique identifier for the member associated with the account owner. Defined by MX.
ownerName - String The account owner's name.
phone - String The account owner's phone number.
postalCode - String The account owner's postal code.
state - String The account owner's state.
userGuid - String The unique identifier for the user associated with the account owner. Defined by MX.
Example
{
  "accountGuid": "abc123",
  "address": "abc123",
  "city": "xyz789",
  "country": "xyz789",
  "email": "xyz789",
  "firstName": "abc123",
  "guid": "xyz789",
  "lastName": "abc123",
  "memberGuid": "xyz789",
  "ownerName": "abc123",
  "phone": "abc123",
  "postalCode": "abc123",
  "state": "abc123",
  "userGuid": "xyz789"
}

MxConnection

Description

MX Member data.

Fields
Field Name Description
aggregatedAt - String The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component. A job will automatically be started when a member is created or its credentials are updated, unless the skip_aggregation parameter is used. Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget. A job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history.
backgroundAggregationIsDisabled - Boolean! This indicates whether background aggregation is disabled for the member.
connectionStatus - String This indicates the state of a member’s aggregation. See member connection statuses for more information.
guid - String The unique identifier for the member. Defined by MX.
id - String The partner-defined unique identifier for the member.
institutionCode - String The unique identifier for the institution associated with the member. Defined by MX.
isBeingAggregated - Boolean This indicates whether the member was being aggregated at the time of the request.
isManagedByUser - Boolean This indicates whether the member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to false.
isOauth - Boolean This indicates whether the member uses OAuth to authenticate. Defaults to false.
metadata - String Additional information you can store on this member.
name - String The name of the member.
oauthWindowUri - String
successfullyAggregatedAt - String The date and time the member was last successfully aggregated.
userGuid - String The unique identifier for the user associated with the member. Defined by MX.
userId - String The unique partner-defined identifier for the user associated with the member.
Example
{
  "aggregatedAt": "xyz789",
  "backgroundAggregationIsDisabled": false,
  "connectionStatus": "abc123",
  "guid": "xyz789",
  "id": "xyz789",
  "institutionCode": "abc123",
  "isBeingAggregated": false,
  "isManagedByUser": true,
  "isOauth": false,
  "metadata": "abc123",
  "name": "abc123",
  "oauthWindowUri": "xyz789",
  "successfullyAggregatedAt": "xyz789",
  "userGuid": "xyz789",
  "userId": "abc123"
}

MxConnectorSession

Description

The Connector configuration for MX Connect.

Fields
Field Name Description
connectorStatus - ConnectorStatus! The status of the MX Connector Session.
connectorToken - String The unique token for the MX Connector Session. This token must be passed to the connectorMxClose mutation after the user completes the MX Connect flow.
type - String
url - String The MX Connect Widget URL.
Example
{
  "connectorStatus": "ABORT",
  "connectorToken": "xyz789",
  "type": "xyz789",
  "url": "xyz789"
}

MxEnrichedTransaction

Description

MX Enriched Transaction data.

Fields
Field Name Description
amount - Float The monetary amount of the transaction.
categorizedBy - Int The method used to determine the category assigned to the transaction
category - String The category of the transaction.
categoryGuid - String The unique identifier for the category assigned to the transaction.
describedBy - Int The method used to describe the transaction
description - String A human-readable version of the original_description field described below, e.g., “Sam’s Club,” “Johnny’s Tavern.” This is provided by the MX Platform.
extendedTransactionType - String The transaction type assigned by the partner.
id - String The unique partner-defined identifier for the transaction. This can only be set for partner-managed transactions. It should be ignored for user-managed transactions, even in occasional cases where it may return with a value.
isBillPay - Boolean This indicates whether the transaction represents a bill pay.
isDirectDeposit - Boolean This indicates whether the transaction represents a direct deposit.
isExpense - Boolean This indicates whether the transaction represents an expense.
isFee - Boolean This indicates whether the transaction represents a fee.
isIncome - Boolean This indicates whether the transaction represents income.
isInternational - Boolean If the transaction is international as defined by the data provider, this field will be true. If the data provider determines it is not international then it will be false. It will be null if the data provider does not have this information.
isOverdraftFee - Boolean This indicates whether the transaction represents an overdraft fee.
isPayrollAdvance - Boolean This indicates whether the transaction represents a payroll advance.
isSubscription - Boolean This indicates whether the transaction represents a payment for a subscription service such as Netflix or Audible.
memo - String This field contains additional descriptive information about the transaction.
merchantCategoryCode - Int The ISO 18245 category code for the transaction.
merchantGuid - String The unique identifier for the merchant associated with this transaction. Defined by MX.
merchantLocationGuid - String The unique identifier for the merchant_location associated with this transaction. Defined by MX.
originalDescription - String The original description of the transaction as provided by our data feed. See description above for more information.
type - String The type of transaction. This will be either CREDIT or DEBIT.
Example
{
  "amount": 123.45,
  "categorizedBy": 987,
  "category": "xyz789",
  "categoryGuid": "abc123",
  "describedBy": 987,
  "description": "abc123",
  "extendedTransactionType": "abc123",
  "id": "abc123",
  "isBillPay": false,
  "isDirectDeposit": true,
  "isExpense": false,
  "isFee": true,
  "isIncome": false,
  "isInternational": true,
  "isOverdraftFee": true,
  "isPayrollAdvance": true,
  "isSubscription": false,
  "memo": "abc123",
  "merchantCategoryCode": 123,
  "merchantGuid": "abc123",
  "merchantLocationGuid": "xyz789",
  "originalDescription": "xyz789",
  "type": "xyz789"
}

MxMutationError

Description

An MX API error encountered while executing the mutation.

Fields
Field Name Description
message - String A developer-friendly representation of the MX error.
status - String A representation of the HTTP status code.
type - String A categorization of the MX error.
Example
{
  "message": "abc123",
  "status": "xyz789",
  "type": "abc123"
}

MxTransaction

Description

MX Transaction data.

Fields
Field Name Description
accountGuid - String The unique identifier for the account associated with the transaction. Defined by MX.
accountId - String The unique partner-defined identifier for the account associated with the transaction. This can only be set for partner-managed accounts. It should be ignored for user-managed transactions, even in occasional cases where it may return with a value.
amount - Float The monetary amount of the transaction.
category - String The category of the transaction.
categoryGuid - String The unique identifier for the category assigned to the transaction.
checkNumberString - String The check number for the transaction.
createdAt - String The date and time the transaction was created.
currencyCode - String The three-character ISO 4217 currency code, e.g. USD.
date - String The date on which the transaction took place. This is the field used when searching for transactions by date. This field is generally the same as transacted_at, but uses posted_at as a fallback.
description - String A human-readable version of the original_description field described below, e.g., “Sam’s Club,” “Johnny’s Tavern.” This is provided by the MX Platform.
extendedTransactionType - String The transaction type assigned by the partner.
guid - String The unique identifier for the transaction. Defined by MX.
id - String The unique partner-defined identifier for the transaction. This can only be set for partner-managed transactions. It should be ignored for user-managed transactions, even in occasional cases where it may return with a value.
isBillPay - Boolean This indicates whether the transaction represents a bill pay.
isDirectDeposit - Boolean This indicates whether the transaction represents a direct deposit.
isExpense - Boolean This indicates whether the transaction represents an expense.
isFee - Boolean This indicates whether the transaction represents a fee.
isIncome - Boolean This indicates whether the transaction represents income.
isInternational - Boolean If the transaction is international as defined by the data provider, this field will be true. If the data provider determines it is not international then it will be false. It will be null if the data provider does not have this information.
isOverdraftFee - Boolean This indicates whether the transaction represents an overdraft fee.
isPayrollAdvance - Boolean This indicates whether the transaction represents a payroll advance.
isRecurring - Boolean This indicates whether a transaction is a recurring credit or debit.
isSubscription - Boolean This indicates whether the transaction represents a payment for a subscription service such as Netflix or Audible.
latitude - Float The latitude of the location where the transaction occurred. The number is a signed decimal (e.g. Rio de Janeiro’s latitude is -22.9027800 and Tokyo’s latitude is 35.689488).
localizedDescription - String A human-readable description of the transaction, provided in a local language.
localizedMemo - String Additional descriptive information about the transaction, provided in a local language.
longitude - Float The longitude of the location where the transaction occurred. The number is a signed decimal (e.g. Rio de Janeiro’s longitude is -43.2075000 and Tokyo’s longitude is 139.691706).
memberGuid - String The unique identifier for the member associated with the transaction Defined by MX.
memberIsManagedByUser - Boolean This indicates whether the associated member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to false.
memo - String This field contains additional descriptive information about the transaction.
merchantCategoryCode - Int The ISO 18245 category code for the transaction.
merchantGuid - String The unique identifier for the merchant associated with this transaction. Defined by MX.
merchantLocationGuid - String The unique identifier for the merchant_location associated with this transaction. Defined by MX.
metadata - String Custom data
originalDescription - String The original description of the transaction as provided by our data feed. See description above for more information.
postedAt - String The date and time the transaction was posted to the account.
status - String The status of the transaction. This will be either POSTED or PENDING.
topLevelCategory - String The parent category assigned to this transaction’s category.
transactedAt - String The date and time the transaction took place.
type - String The type of transaction. This will be either CREDIT or DEBIT.
updatedAt - String The date and time the transaction was last updated.
userGuid - String The unique identifier for the user associated with this transaction. Defined by MX.
userId - String The unique partner-defined identifier for the user associated with the transaction.
Example
{
  "accountGuid": "xyz789",
  "accountId": "xyz789",
  "amount": 987.65,
  "category": "abc123",
  "categoryGuid": "xyz789",
  "checkNumberString": "abc123",
  "createdAt": "xyz789",
  "currencyCode": "abc123",
  "date": "xyz789",
  "description": "xyz789",
  "extendedTransactionType": "abc123",
  "guid": "abc123",
  "id": "abc123",
  "isBillPay": true,
  "isDirectDeposit": true,
  "isExpense": false,
  "isFee": false,
  "isIncome": false,
  "isInternational": false,
  "isOverdraftFee": true,
  "isPayrollAdvance": true,
  "isRecurring": true,
  "isSubscription": false,
  "latitude": 987.65,
  "localizedDescription": "abc123",
  "localizedMemo": "xyz789",
  "longitude": 987.65,
  "memberGuid": "abc123",
  "memberIsManagedByUser": true,
  "memo": "xyz789",
  "merchantCategoryCode": 123,
  "merchantGuid": "xyz789",
  "merchantLocationGuid": "xyz789",
  "metadata": "xyz789",
  "originalDescription": "abc123",
  "postedAt": "xyz789",
  "status": "abc123",
  "topLevelCategory": "xyz789",
  "transactedAt": "abc123",
  "type": "abc123",
  "updatedAt": "xyz789",
  "userGuid": "xyz789",
  "userId": "xyz789"
}

NtropyEnrichedTransaction

Description

Ntropy Enrichment data.

Fields
Field Name Description
labels - [String!] Labels
location - String Location
locationStructured - NtropySharedLocationStructuredPublic LocationStructuredPublic
logo - String Logo
mcc - [Int!] Mcc
merchant - String Merchant
merchantId - String Merchant Id
person - String Person
recurrence - NtropySharedRecurrence An enumeration.
recurrenceGroup - NtropySharedRecurrenceGroup RecurrenceGroup
recurrenceGroupId - String Recurrence Group Id
transactionId - String Transaction Id
transactionType - NtropySharedTransaction An enumeration.
website - String Website
Example
{
  "labels": ["abc123"],
  "location": "xyz789",
  "locationStructured": NtropySharedLocationStructuredPublic,
  "logo": "xyz789",
  "mcc": [123],
  "merchant": "xyz789",
  "merchantId": "xyz789",
  "person": "abc123",
  "recurrence": "ONE_OFF",
  "recurrenceGroup": NtropySharedRecurrenceGroup,
  "recurrenceGroupId": "abc123",
  "transactionId": "xyz789",
  "transactionType": "BUSINESS",
  "website": "xyz789"
}

NtropySharedLocationStructuredPublic

Description

Ntropy LocationStructuredPublic.

Fields
Field Name Description
address - String Address
appleMapsUrl - String Apple Maps Url
city - String City
country - String Country
googleMapsUrl - String Google Maps Url
latitude - Float Latitude
longitude - Float Longitude
postcode - String Postcode
state - String State
storeNumber - String Store Number
Example
{
  "address": "abc123",
  "appleMapsUrl": "abc123",
  "city": "xyz789",
  "country": "xyz789",
  "googleMapsUrl": "xyz789",
  "latitude": 987.65,
  "longitude": 987.65,
  "postcode": "abc123",
  "state": "abc123",
  "storeNumber": "xyz789"
}

NtropySharedRecurrence

Description

Ntropy RecurrenceType.

Values
Enum Value Description

ONE_OFF

One Off

RECURRING

Recurring

SUBSCRIPTION

Subscription
Example
"ONE_OFF"

NtropySharedRecurrenceGroup

Description

Ntropy RecurrenceGroup.

Fields
Field Name Description
averageAmount - Float Average Amount
firstPaymentDate - String First Payment Date
id - String Id
latestPaymentDate - String Latest Payment Date
periodicity - String Periodicity
periodicityInDays - Float Periodicity In Days
totalAmount - Float Total Amount
Example
{
  "averageAmount": 123.45,
  "firstPaymentDate": "abc123",
  "id": "xyz789",
  "latestPaymentDate": "xyz789",
  "periodicity": "abc123",
  "periodicityInDays": 987.65,
  "totalAmount": 123.45
}

NtropySharedTransaction

Description

Ntropy TransactionType.

Values
Enum Value Description

BUSINESS

Business

CONSUMER

Consumer

UNKNOWN

Unknown
Example
"BUSINESS"

PageInfo

Description

Information about pagination in a connection.

Fields
Field Name Description
endCursor - String When paginating forwards, the cursor to continue.
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.
Example
{
  "endCursor": "xyz789",
  "hasNextPage": true,
  "hasPreviousPage": false,
  "startCursor": "xyz789"
}

PlaidAPR

Description

Information about the APR on the account.

Fields
Field Name Description
aprPercentage - Float! Annual Percentage Rate applied.
aprType - String! The type of balance to which the APR applies.
balanceSubjectToApr - Float Amount of money that is subjected to the APR if a balance was carried beyond payment due date. How it is calculated can vary by card issuer. It is often calculated as an average daily balance.
interestChargeAmount - Float Amount of money charged due to interest from last statement.
Example
{
  "aprPercentage": 123.45,
  "aprType": "xyz789",
  "balanceSubjectToApr": 987.65,
  "interestChargeAmount": 987.65
}

PlaidAccount

Description

Plaid Account data.

Fields
Field Name Description
accountId - String!

Plaid’s unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new account_id will be assigned to the account.

The account_id can also change if the access_token is deleted and the same credentials that were used to generate that access_token are used to generate a new access_token on a later date. In that case, the new account_id will be different from the old account_id.

If an account with a specific account_id disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the account_id is case sensitive.

balances - PlaidAccountBalance! A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by /accounts/balance/get.
mask - String The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.
name - String! The name of the account, either assigned by the user or by the financial institution itself
officialName - String The official name of the account as given by the financial institution
persistentAccountId - String A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This is currently an opt-in field and only supported for Chase Items.
subtype - String See the Account type schema for a full listing of account types and corresponding subtypes.
type - String!

investment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.

credit: Credit card

depository: Depository account

loan: Loan account

other: Non-specified account type

See the Account type schema for a full listing of account types and corresponding subtypes.

verificationStatus - String

The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only.

pending_automatic_verification: The Item is pending automatic verification

pending_manual_verification: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the two amounts.

automatically_verified: The Item has successfully been automatically verified

manually_verified: The Item has successfully been manually verified

verification_expired: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link.

verification_failed: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link.

Example
{
  "accountId": "xyz789",
  "balances": PlaidAccountBalance,
  "mask": "xyz789",
  "name": "abc123",
  "officialName": "abc123",
  "persistentAccountId": "xyz789",
  "subtype": "xyz789",
  "type": "xyz789",
  "verificationStatus": "xyz789"
}

PlaidAccountBalance

Description

A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by /accounts/balance/get.

Fields
Field Name Description
available - Float

The amount of funds available to be withdrawn from the account, as determined by the financial institution.

For credit-type accounts, the available balance typically equals the limit less the current balance, less any pending outflows plus any pending inflows.

For depository-type accounts, the available balance typically equals the current balance less any pending outflows plus any pending inflows. For depository-type accounts, the available balance does not include the overdraft limit.

For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), the available balance is the total cash available to withdraw as presented by the institution.

Note that not all institutions calculate the available balance. In the event that available balance is unavailable, Plaid will return an available balance value of null.

Available balance may be cached and is not guaranteed to be up-to-date in realtime unless the value was returned by /accounts/balance/get.

If current is null this field is guaranteed not to be null.

current - Float

The total amount of funds in or owed by the account.

For credit-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder.

For loan-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (ins_116944). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest.

For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution.

Note that balance information may be cached unless the value was returned by /accounts/balance/get; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require realtime balance information, use the available balance as provided by /accounts/balance/get.

When returned by /accounts/balance/get, this field may be null. When this happens, available is guaranteed not to be null.

isoCurrencyCode - String The ISO-4217 currency code of the balance. Always null if unofficial_currency_code is non-null.
lastUpdatedDatetime - DateTime

Timestamp in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the balance for the given account has been updated

This is currently only provided when the min_last_updated_datetime is passed when calling /accounts/balance/get for ins_128026 (Capital One).

limit - Float

For credit-type accounts, this represents the credit limit.

For depository-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe.

In North America, this field is typically only available for credit-type accounts.

unofficialCurrencyCode - String

The unofficial currency code associated with the balance. Always null if iso_currency_code is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

See the currency code schema for a full listing of supported unofficial_currency_codes.

Example
{
  "available": 123.45,
  "current": 123.45,
  "isoCurrencyCode": "xyz789",
  "lastUpdatedDatetime": "2007-12-03T10:15:30Z",
  "limit": 123.45,
  "unofficialCurrencyCode": "xyz789"
}

PlaidAccountIdentity

Description

Plaid Account Identity data.

Fields
Field Name Description
accountId - String!

Plaid’s unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new account_id will be assigned to the account.

The account_id can also change if the access_token is deleted and the same credentials that were used to generate that access_token are used to generate a new access_token on a later date. In that case, the new account_id will be different from the old account_id.

If an account with a specific account_id disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the account_id is case sensitive.

balances - PlaidAccountBalance! A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by /accounts/balance/get.
mask - String The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.
name - String! The name of the account, either assigned by the user or by the financial institution itself
officialName - String The official name of the account as given by the financial institution
owners - [PlaidOwner!] Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same owner object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the owners object is not returned, and instead identity information is returned in the top level identity object. For more details, see Plaid API versioning
persistentAccountId - String A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This is currently an opt-in field and only supported for Chase Items.
subtype - String See the Account type schema for a full listing of account types and corresponding subtypes.
type - String!

investment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.

credit: Credit card

depository: Depository account

loan: Loan account

other: Non-specified account type

See the Account type schema for a full listing of account types and corresponding subtypes.

verificationStatus - String

The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only.

pending_automatic_verification: The Item is pending automatic verification

pending_manual_verification: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the two amounts.

automatically_verified: The Item has successfully been automatically verified

manually_verified: The Item has successfully been manually verified

verification_expired: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link.

verification_failed: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link.

Example
{
  "accountId": "xyz789",
  "balances": PlaidAccountBalance,
  "mask": "xyz789",
  "name": "xyz789",
  "officialName": "xyz789",
  "owners": [PlaidOwner],
  "persistentAccountId": "abc123",
  "subtype": "abc123",
  "type": "xyz789",
  "verificationStatus": "xyz789"
}

PlaidAddress

Description

A physical mailing address.

Fields
Field Name Description
data - PlaidAddressData! Data about the components comprising an address.
primary - Boolean! When true, identifies the address as the primary address on an account.
Example
{"data": PlaidAddressData, "primary": true}

PlaidAddressData

Description

Data about the components comprising an address.

Fields
Field Name Description
city - String The full city name
country - String The ISO 3166-1 alpha-2 country code
postalCode - String The postal code. In API versions 2018-05-22 and earlier, this field is called zip.
region - String The region or state. In API versions 2018-05-22 and earlier, this field is called state. Example: "NC"
street - String! The full street address Example: "564 Main Street, APT 15"
Example
{
  "city": "abc123",
  "country": "xyz789",
  "postalCode": "abc123",
  "region": "abc123",
  "street": "xyz789"
}

PlaidConnection

Description

Plaid Item data.

Fields
Field Name Description
availableProducts - [String!]! A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with billed_products.
billedProducts - [String!]! A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with available_products. Note - billed_products is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as balance, will not appear here.
consentExpirationTime - DateTime

The RFC 3339 timestamp after which the consent provided by the end user will expire. Upon consent expiration, the item will enter the ITEM_LOGIN_REQUIRED error state. To circumvent the ITEM_LOGIN_REQUIRED error and maintain continuous consent, the end user can reauthenticate via Link’s update mode in advance of the consent expiration time.

Note - This is only relevant for certain OAuth-based institutions. For all other institutions, this field will be null.

consentedProducts - [String!] Beta: A list of products that have gone through consent collection for the Item. Only present for those enabled in the beta.
error - PlaidError We use standard HTTP response codes for success and failure notifications, and our errors are further classified by error_type. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. An Item with a non-null error object will only be part of an API response when calling /item/get to view Item status. Otherwise, error fields will be null if no error has occurred; if an error has occurred, an error code will be returned instead.
institutionId - String The Plaid Institution ID associated with the Item. Field is null for Items created via Same Day Micro-deposits.
itemId - String! The Plaid Item ID. The item_id is always unique; linking the same account at the same institution twice will result in two Items with different item_id values. Like all Plaid identifiers, the item_id is case-sensitive.
products - [String!]! A list of authorized products for the Item.
updateType - String!

Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication.

background - Item can be updated in the background

user_present_required - Item requires user interaction to be updated

webhook - String The URL registered to receive webhooks for the Item.
Example
{
  "availableProducts": ["xyz789"],
  "billedProducts": ["xyz789"],
  "consentExpirationTime": "2007-12-03T10:15:30Z",
  "consentedProducts": ["xyz789"],
  "error": PlaidError,
  "institutionId": "xyz789",
  "itemId": "abc123",
  "products": ["xyz789"],
  "updateType": "xyz789",
  "webhook": "abc123"
}

PlaidConnectorSession

Description

The Connector configuration for Plaid Link.

Fields
Field Name Description
connectorStatus - ConnectorStatus! The status of the Plaid Connector Session.
connectorToken - String The unique token for the Plaid Connector Session. This token must be passed to the connectorPlaidClose mutation after the user completes the Plaid Link flow.
expiration - DateTime The expiration date for the link_token, in ISO 8601 format. A link_token created to generate a public_token that will be exchanged for a new access_token expires after 4 hours. A link_token created for an existing Item (such as when updating an existing access_token by launching Link in update mode) expires after 30 minutes.
linkToken - String A link_token, which can be supplied to Link in order to initialize it and receive a public_token, which can be exchanged for an access_token.
requestId - String A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
Example
{
  "connectorStatus": "ABORT",
  "connectorToken": "xyz789",
  "expiration": "2007-12-03T10:15:30Z",
  "linkToken": "xyz789",
  "requestId": "xyz789"
}

PlaidCreditFilter

Description

A filter to apply to credit-type accounts

Fields
Input Field Description
accountSubtypes - [String!] An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
Example
{"accountSubtypes": ["xyz789"]}

PlaidDepositoryFilter

Description

A filter to apply to depository-type accounts

Fields
Input Field Description
accountSubtypes - [String!] An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
Example
{"accountSubtypes": ["abc123"]}

PlaidEmail

Description

An object representing an email address

Fields
Field Name Description
data - String! The email address.
primary - Boolean! When true, identifies the email address as the primary email on an account.
type - String! The type of email account as described by the financial institution.
Example
{
  "data": "xyz789",
  "primary": true,
  "type": "xyz789"
}

PlaidError

Description

We use standard HTTP response codes for success and failure notifications, and our errors are further classified by error_type. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. An Item with a non-null error object will only be part of an API response when calling /item/get to view Item status. Otherwise, error fields will be null if no error has occurred; if an error has occurred, an error code will be returned instead.

Fields
Field Name Description
causes - [String!]

In the Assets product, a request can pertain to more than one Item. If an error is returned for such a request, causes will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified.

causes will only be provided for the error_type ASSET_REPORT_ERROR. causes will also not be populated inside an error nested within a warning object.

displayMessage - String

A user-friendly representation of the error code. null if the error is not related to user action.

This may change over time and is not safe for programmatic use.

documentationUrl - String The URL of a Plaid documentation page with more information about the error
errorCode - String! The particular error code. Safe for programmatic use.
errorMessage - String! A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
errorType - String! A broad categorization of the error. Safe for programmatic use.
requestId - String A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.
status - Float The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.
suggestedAction - String Suggested steps for resolving the error
Example
{
  "causes": ["abc123"],
  "displayMessage": "abc123",
  "documentationUrl": "xyz789",
  "errorCode": "xyz789",
  "errorMessage": "xyz789",
  "errorType": "abc123",
  "requestId": "abc123",
  "status": 987.65,
  "suggestedAction": "abc123"
}

PlaidHolding

Description

A securities holding at an institution.

Fields
Field Name Description
accountId - String! The Plaid account_id associated with the holding.
costBasis - Float The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding.
institutionPrice - Float! The last price given by the institution for this security.
institutionPriceAsOf - Date The date at which institution_price was current.
institutionPriceDatetime - DateTime

Date and time at which institution_price was current, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ).

This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00).

institutionValue - Float! The value of the holding, as reported by the institution.
isoCurrencyCode - String The ISO-4217 currency code of the holding. Always null if unofficial_currency_code is non-null.
quantity - Float! The total quantity of the asset held, as reported by the financial institution. If the security is an option, quantity will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.
securityId - String! The Plaid security_id associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The security_id for the same security will typically be the same across different institutions, but this is not guaranteed. The security_id does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.
unofficialCurrencyCode - String

The unofficial currency code associated with the holding. Always null if iso_currency_code is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

See the currency code schema for a full listing of supported iso_currency_codes.

Example
{
  "accountId": "xyz789",
  "costBasis": 123.45,
  "institutionPrice": 123.45,
  "institutionPriceAsOf": "2007-12-03",
  "institutionPriceDatetime": "2007-12-03T10:15:30Z",
  "institutionValue": 987.65,
  "isoCurrencyCode": "xyz789",
  "quantity": 123.45,
  "securityId": "xyz789",
  "unofficialCurrencyCode": "abc123"
}

PlaidInvestmentFilter

Description

A filter to apply to investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier).

Fields
Input Field Description
accountSubtypes - [String!] An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
Example
{"accountSubtypes": ["abc123"]}

PlaidInvestmentTransaction

Description

A transaction within an investment account.

Fields
Field Name Description
accountId - String! The account_id of the account against which this transaction posted.
amount - Float! The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities.
cancelTransactionId - String A legacy field formerly used internally by Plaid to identify certain canceled transactions.
date - Date! The ISO 8601 posting date for the transaction.
fees - Float The combined value of all fees applied to this transaction
investmentTransactionId - String! The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the investment_transaction_id is case sensitive.
isoCurrencyCode - String The ISO-4217 currency code of the transaction. Always null if unofficial_currency_code is non-null.
name - String! The institution’s description of the transaction.
price - Float! The price of the security at which this transaction occurred.
quantity - Float! The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions.
securityId - String The security_id to which this transaction is related.
subtype - String! For descriptions of possible transaction types and subtypes, see the Investment transaction types schema.
type - String!

Value is one of the following: buy: Buying an investment sell: Selling an investment cancel: A cancellation of a pending transaction cash: Activity that modifies a cash position fee: A fee on the account transfer: Activity which modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer

For descriptions of possible transaction types and subtypes, see the Investment transaction types schema.

unofficialCurrencyCode - String

The unofficial currency code associated with the holding. Always null if iso_currency_code is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

See the currency code schema for a full listing of supported iso_currency_codes.

Example
{
  "accountId": "abc123",
  "amount": 123.45,
  "cancelTransactionId": "xyz789",
  "date": "2007-12-03",
  "fees": 123.45,
  "investmentTransactionId": "abc123",
  "isoCurrencyCode": "abc123",
  "name": "abc123",
  "price": 123.45,
  "quantity": 987.65,
  "securityId": "xyz789",
  "subtype": "abc123",
  "type": "xyz789",
  "unofficialCurrencyCode": "abc123"
}

PlaidInvestmentsHoldings

Description

Plaid Investments Holdings data.

Fields
Field Name Description
holdings - [PlaidHolding!]! The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the securities field.
securities - [PlaidSecurity!]! Objects describing the securities held in the accounts associated with the Item.
Example
{
  "holdings": [PlaidHolding],
  "securities": [PlaidSecurity]
}

PlaidInvestmentsTransactions

Description

Plaid Investments Transactions data.

Fields
Field Name Description
investmentTransactions - [PlaidInvestmentTransaction!]! The transactions being fetched
securities - [PlaidSecurity!]! All securities for which there is a corresponding transaction being fetched.
totalInvestmentTransactions - Int! The total number of transactions available within the date range specified. If total_investment_transactions is larger than the size of the transactions array, more transactions are available and can be fetched via manipulating the offset parameter.
Example
{
  "investmentTransactions": [PlaidInvestmentTransaction],
  "securities": [PlaidSecurity],
  "totalInvestmentTransactions": 987
}

PlaidLiabilities

Description

Plaid Liabilities data.

Fields
Field Name Description
credit - [PlaidLiabilitiesCredit!] The credit card account details.
mortgage - [PlaidLiabilitiesMortgage!] The mortgage account details.
student - [PlaidLiabilitiesStudent!] The student loan account details.
Example
{
  "credit": [PlaidLiabilitiesCredit],
  "mortgage": [PlaidLiabilitiesMortgage],
  "student": [PlaidLiabilitiesStudent]
}

PlaidLiabilitiesCredit

Description

An object representing a credit card account.

Fields
Field Name Description
accountId - String The ID of the account that this liability belongs to.
aprs - [PlaidAPR!]! The various interest rates that apply to the account. APR information is not provided by all card issuers; if APR data is not available, this array will be empty.
isOverdue - Boolean true if a payment is currently overdue. Availability for this field is limited.
lastPaymentAmount - Float The amount of the last payment.
lastPaymentDate - Date The date of the last payment. Dates are returned in an ISO 8601 format (YYYY-MM-DD). Availability for this field is limited.
lastStatementBalance - Float The total amount owed as of the last statement issued
lastStatementIssueDate - Date The date of the last statement. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
minimumPaymentAmount - Float The minimum payment due for the next billing cycle.
nextPaymentDueDate - Date The due date for the next payment. The due date is null if a payment is not expected. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
Example
{
  "accountId": "abc123",
  "aprs": [PlaidAPR],
  "isOverdue": true,
  "lastPaymentAmount": 987.65,
  "lastPaymentDate": "2007-12-03",
  "lastStatementBalance": 987.65,
  "lastStatementIssueDate": "2007-12-03",
  "minimumPaymentAmount": 987.65,
  "nextPaymentDueDate": "2007-12-03"
}

PlaidLiabilitiesMortgage

Description

Contains details about a mortgage account.

Fields
Field Name Description
accountId - String! The ID of the account that this liability belongs to.
accountNumber - String! The account number of the loan.
currentLateFee - Float The current outstanding amount charged for late payment.
escrowBalance - Float Total amount held in escrow to pay taxes and insurance on behalf of the borrower.
hasPmi - Boolean Indicates whether the borrower has private mortgage insurance in effect.
hasPrepaymentPenalty - Boolean Indicates whether the borrower will pay a penalty for early payoff of mortgage.
interestRate - PlaidMortgageInterestRate! Object containing metadata about the interest rate for the mortgage.
lastPaymentAmount - Float The amount of the last payment.
lastPaymentDate - Date The date of the last payment. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
loanTerm - String Full duration of mortgage as at origination (e.g. 10 year).
loanTypeDescription - String Description of the type of loan, for example conventional, fixed, or variable. This field is provided directly from the loan servicer and does not have an enumerated set of possible values.
maturityDate - Date Original date on which mortgage is due in full. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
nextMonthlyPayment - Float The amount of the next payment.
nextPaymentDueDate - Date The due date for the next payment. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
originationDate - Date The date on which the loan was initially lent. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
originationPrincipalAmount - Float The original principal balance of the mortgage.
pastDueAmount - Float Amount of loan (principal + interest) past due for payment.
propertyAddress - PlaidMortgagePropertyAddress! Object containing fields describing property address.
ytdInterestPaid - Float The year to date (YTD) interest paid.
ytdPrincipalPaid - Float The YTD principal paid.
Example
{
  "accountId": "abc123",
  "accountNumber": "abc123",
  "currentLateFee": 987.65,
  "escrowBalance": 123.45,
  "hasPmi": true,
  "hasPrepaymentPenalty": false,
  "interestRate": PlaidMortgageInterestRate,
  "lastPaymentAmount": 123.45,
  "lastPaymentDate": "2007-12-03",
  "loanTerm": "abc123",
  "loanTypeDescription": "xyz789",
  "maturityDate": "2007-12-03",
  "nextMonthlyPayment": 123.45,
  "nextPaymentDueDate": "2007-12-03",
  "originationDate": "2007-12-03",
  "originationPrincipalAmount": 123.45,
  "pastDueAmount": 123.45,
  "propertyAddress": PlaidMortgagePropertyAddress,
  "ytdInterestPaid": 123.45,
  "ytdPrincipalPaid": 987.65
}

PlaidLiabilitiesStudent

Description

Contains details about a student loan account

Fields
Field Name Description
accountId - String The ID of the account that this liability belongs to.
accountNumber - String The account number of the loan. For some institutions, this may be a masked version of the number (e.g., the last 4 digits instead of the entire number).
disbursementDates - [Date!] The dates on which loaned funds were disbursed or will be disbursed. These are often in the past. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
expectedPayoffDate - Date The date when the student loan is expected to be paid off. Availability for this field is limited. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
guarantor - String The guarantor of the student loan.
interestRatePercentage - Float! The interest rate on the loan as a percentage.
isOverdue - Boolean true if a payment is currently overdue. Availability for this field is limited.
lastPaymentAmount - Float The amount of the last payment.
lastPaymentDate - Date The date of the last payment. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
lastStatementIssueDate - Date The date of the last statement. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
loanName - String The type of loan, e.g., "Consolidation Loans".
loanStatus - PlaidStudentLoanStatus! An object representing the status of the student loan
minimumPaymentAmount - Float The minimum payment due for the next billing cycle. There are some exceptions: Some institutions require a minimum payment across all loans associated with an account number. Our API presents that same minimum payment amount on each loan. The institutions that do this are: Great Lakes ( ins_116861), Firstmark (ins_116295), Commonbond Firstmark Services (ins_116950), Nelnet (ins_116528), EdFinancial Services (ins_116304), Granite State (ins_116308), and Oklahoma Student Loan Authority (ins_116945). Firstmark (ins_116295 ) and Navient (ins_116248) will display as $0 if there is an autopay program in effect.
nextPaymentDueDate - Date The due date for the next payment. The due date is null if a payment is not expected. A payment is not expected if loan_status.type is deferment, in_school, consolidated, paid in full, or transferred. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
originationDate - Date The date on which the loan was initially lent. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
originationPrincipalAmount - Float The original principal balance of the loan.
outstandingInterestAmount - Float The total dollar amount of the accrued interest balance. For Sallie Mae ( ins_116944), this amount is included in the current balance of the loan, so this field will return as null.
paymentReferenceNumber - String The relevant account number that should be used to reference this loan for payments. In the majority of cases, payment_reference_number will match account_number, but in some institutions, such as Great Lakes (ins_116861), it will be different.
pslfStatus - PlaidPSLFStatus! Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is FedLoan (ins_116527).
repaymentPlan - PlaidStudentRepaymentPlan! An object representing the repayment plan for the student loan
sequenceNumber - String The sequence number of the student loan. Heartland ECSI (ins_116948) does not make this field available.
servicerAddress - PlaidServicerAddressData! The address of the student loan servicer. This is generally the remittance address to which payments should be sent.
ytdInterestPaid - Float The year to date (YTD) interest paid. Availability for this field is limited.
ytdPrincipalPaid - Float The year to date (YTD) principal paid. Availability for this field is limited.
Example
{
  "accountId": "xyz789",
  "accountNumber": "xyz789",
  "disbursementDates": ["2007-12-03"],
  "expectedPayoffDate": "2007-12-03",
  "guarantor": "xyz789",
  "interestRatePercentage": 123.45,
  "isOverdue": true,
  "lastPaymentAmount": 987.65,
  "lastPaymentDate": "2007-12-03",
  "lastStatementIssueDate": "2007-12-03",
  "loanName": "abc123",
  "loanStatus": PlaidStudentLoanStatus,
  "minimumPaymentAmount": 123.45,
  "nextPaymentDueDate": "2007-12-03",
  "originationDate": "2007-12-03",
  "originationPrincipalAmount": 987.65,
  "outstandingInterestAmount": 987.65,
  "paymentReferenceNumber": "abc123",
  "pslfStatus": PlaidPSLFStatus,
  "repaymentPlan": PlaidStudentRepaymentPlan,
  "sequenceNumber": "abc123",
  "servicerAddress": PlaidServicerAddressData,
  "ytdInterestPaid": 123.45,
  "ytdPrincipalPaid": 123.45
}

PlaidLinkTokenAccountFilters

Description

By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the products parameter of /link/token/create, and, if auth is specified in the products array, will also filter out accounts other than checking and savings accounts on the Account Select pane. You can further limit the accounts shown in Link by using account_filters to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value "all". If the account_filters filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the Account schema.

For institutions using OAuth, the filter will not affect the list of accounts shown by the bank in the OAuth window.

Fields
Input Field Description
credit - PlaidCreditFilter A filter to apply to credit-type accounts
depository - PlaidDepositoryFilter A filter to apply to depository-type accounts
investment - PlaidInvestmentFilter A filter to apply to investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier).
loan - PlaidLoanFilter A filter to apply to loan-type accounts
Example
{
  "credit": PlaidCreditFilter,
  "depository": PlaidDepositoryFilter,
  "investment": PlaidInvestmentFilter,
  "loan": PlaidLoanFilter
}

PlaidLinkTokenCreateRequestAuth

Description

Specifies options for initializing Link for use with the Auth product. This field can be used to enable or disable extended Auth flows for the resulting Link session. Omitting any field will result in a default that can be configured by your account manager.

Fields
Input Field Description
authTypeSelectEnabled - Boolean Specifies whether Auth Type Select is enabled for the Link session, allowing the end user to choose between linking instantly or manually prior to selecting their financial institution. Note that this can only be true if same_day_microdeposits_enabled is set to true.
automatedMicrodepositsEnabled - Boolean Specifies whether the Link session is enabled for the Automated Micro-deposits flow.
flowType - String This field has been deprecated in favor of auth_type_select_enabled.
instantMatchEnabled - Boolean Specifies whether the Link session is enabled for the Instant Match flow. As of November 2022, Instant Match will be enabled by default. Instant Match can be disabled by setting this field to false.
sameDayMicrodepositsEnabled - Boolean Specifies whether the Link session is enabled for the Same Day Micro-deposits flow.
Example
{
  "authTypeSelectEnabled": false,
  "automatedMicrodepositsEnabled": true,
  "flowType": "abc123",
  "instantMatchEnabled": true,
  "sameDayMicrodepositsEnabled": false
}

PlaidLinkTokenCreateRequestUpdate

Description

Specifies options for initializing Link for update mode.

Fields
Input Field Description
accountSelectionEnabled - Boolean If true, enables update mode with Account Select.
Example
{"accountSelectionEnabled": false}

PlaidLoanFilter

Description

A filter to apply to loan-type accounts

Fields
Input Field Description
accountSubtypes - [String!] An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
Example
{"accountSubtypes": ["xyz789"]}

PlaidLocation

Description

A representation of where a transaction took place

Fields
Field Name Description
address - String The street address where the transaction occurred.
city - String The city where the transaction occurred.
country - String The ISO 3166-1 alpha-2 country code where the transaction occurred.
lat - Float The latitude where the transaction occurred.
lon - Float The longitude where the transaction occurred.
postalCode - String The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called zip.
region - String The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called state.
storeNumber - String The merchant defined store number where the transaction occurred.
Example
{
  "address": "abc123",
  "city": "abc123",
  "country": "xyz789",
  "lat": 123.45,
  "lon": 123.45,
  "postalCode": "xyz789",
  "region": "xyz789",
  "storeNumber": "xyz789"
}

PlaidMortgageInterestRate

Description

Object containing metadata about the interest rate for the mortgage.

Fields
Field Name Description
percentage - Float Percentage value (interest rate of current mortgage, not APR) of interest payable on a loan.
type - String The type of interest charged (fixed or variable).
Example
{"percentage": 123.45, "type": "abc123"}

PlaidMortgagePropertyAddress

Description

Object containing fields describing property address.

Fields
Field Name Description
city - String The city name.
country - String The ISO 3166-1 alpha-2 country code.
postalCode - String The five or nine digit postal code.
region - String The region or state (example "NC").
street - String The full street address (example "564 Main Street, Apt 15").
Example
{
  "city": "xyz789",
  "country": "abc123",
  "postalCode": "xyz789",
  "region": "abc123",
  "street": "xyz789"
}

PlaidMutationError

Description

A Plaid API error encountered while executing the mutation.

Fields
Field Name Description
code - String The particular Plaid error code.
displayMessage - String A user-friendly representation of the Plaid error code.
message - String A developer-friendly representation of the Plaid error code.
requestId - String A unique ID identifying the request, to be used for troubleshooting purposes.
type - String A broad categorization of the Plaid error.
Example
{
  "code": "abc123",
  "displayMessage": "abc123",
  "message": "abc123",
  "requestId": "abc123",
  "type": "abc123"
}

PlaidOwner

Description

Data returned from the financial institution about the owner or owners of an account. Only the names array must be non-empty.

Fields
Field Name Description
addresses - [PlaidAddress!]! Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.
emails - [PlaidEmail!]! A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.
names - [String!]!

A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders.

If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's names array.

phoneNumbers - [PlaidPhoneNumber!]! A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.
Example
{
  "addresses": [PlaidAddress],
  "emails": [PlaidEmail],
  "names": ["xyz789"],
  "phoneNumbers": [PlaidPhoneNumber]
}

PlaidPSLFStatus

Description

Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is FedLoan (ins_116527).

Fields
Field Name Description
estimatedEligibilityDate - Date The estimated date borrower will have completed 120 qualifying monthly payments. Returned in ISO 8601 format (YYYY-MM-DD).
paymentsMade - Float The number of qualifying payments that have been made.
paymentsRemaining - Float The number of qualifying payments remaining.
Example
{
  "estimatedEligibilityDate": "2007-12-03",
  "paymentsMade": 987.65,
  "paymentsRemaining": 987.65
}

PlaidPaymentMeta

Description

Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be null.

If the transactions object was returned by a Transactions endpoint such as /transactions/get, the payment_meta key will always appear, but no data elements are guaranteed. If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

Fields
Field Name Description
byOrderOf - String The party initiating a wire transfer. Will be null if the transaction is not a wire transfer.
payee - String For transfers, the party that is receiving the transaction.
payer - String For transfers, the party that is paying the transaction.
paymentMethod - String The type of transfer, e.g. 'ACH'
paymentProcessor - String The name of the payment processor
ppdId - String The ACH PPD ID for the payer.
reason - String The payer-supplied description of the transfer.
referenceNumber - String The transaction reference number supplied by the financial institution.
Example
{
  "byOrderOf": "xyz789",
  "payee": "abc123",
  "payer": "abc123",
  "paymentMethod": "abc123",
  "paymentProcessor": "xyz789",
  "ppdId": "abc123",
  "reason": "abc123",
  "referenceNumber": "xyz789"
}

PlaidPersonalFinanceCategory

Description

Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases.

See the taxonomy csv file for a full list of personal finance categories.

Fields
Field Name Description
detailed - String! A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.
primary - String! A high level category that communicates the broad category of the transaction.
Example
{
  "detailed": "xyz789",
  "primary": "abc123"
}

PlaidPhoneNumber

Description

A phone number

Fields
Field Name Description
data - String! The phone number.
primary - Boolean! When true, identifies the phone number as the primary number on an account.
type - String! The type of phone number.
Example
{
  "data": "xyz789",
  "primary": true,
  "type": "abc123"
}

PlaidSecurity

Description

Contains details about a security

Fields
Field Name Description
closePrice - Float

Price of the security at the close of the previous trading session. Null for non-public securities.

If the security is a foreign currency this field will be updated daily and will be priced in USD.

If the security is a cryptocurrency, this field will be updated multiple times a day. As crypto prices can fluctuate quickly and data may become stale sooner than other asset classes, refer to update_datetime with the time when the price was last updated.

closePriceAsOf - Date Date for which close_price is accurate. Always null if close_price is null.
cusip - String 9-character CUSIP, an identifier assigned to North American securities. Please note that Plaid's customers must hold a license directly from CUSIP Global Services to receive CUSIP & ISIN data. This field will be null by default for new customers. For existing customers, this field will be null by default starting on Sept 15, 2023. If you would like access to this field, please contact your Plaid Account Manager or reach out to [email protected].
institutionId - String If institution_security_id is present, this field indicates the Plaid institution_id of the institution to whom the identifier belongs.
institutionSecurityId - String An identifier given to the security by the institution
isCashEquivalent - Boolean Indicates that a security is a highly liquid asset and can be treated like cash.
isin - String 12-character ISIN, a globally unique securities identifier. Please note that Plaid's customers must hold a license directly from CUSIP Global Services to receive CUSIP & ISIN data. This field will be null by default for new customers. For existing customers, this field will be null by default starting on Sept 15, 2023. If you would like access to this field, please contact your Plaid Account Manager or reach out to [email protected].
isoCurrencyCode - String The ISO-4217 currency code of the price given. Always null if unofficial_currency_code is non-null.
name - String A descriptive name for the security, suitable for display.
proxySecurityId - String In certain cases, Plaid will provide the ID of another security whose performance resembles this security, typically when the original security has low volume, or when a private security can be modeled with a publicly traded security.
securityId - String! A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the security_id is case sensitive. The security_id may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.
sedol - String 7-character SEDOL, an identifier assigned to securities in the UK.
tickerSymbol - String The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available.
type - String

The security type of the holding. Valid security types are:

cash: Cash, currency, and money market funds

cryptocurrency: Digital or virtual currencies

derivative: Options, warrants, and other derivative instruments

equity: Domestic and foreign equities

etf: Multi-asset exchange-traded investment funds

fixed income: Bonds and certificates of deposit (CDs)

loan: Loans and loan receivables

mutual fund: Open- and closed-end vehicles pooling funds of multiple investors

other: Unknown or other investment types

unofficialCurrencyCode - String

The unofficial currency code associated with the security. Always null if iso_currency_code is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

See the currency code schema for a full listing of supported iso_currency_codes.

updateDatetime - DateTime Date and time at which close_price is accurate, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). Always null if close_price is null.
Example
{
  "closePrice": 123.45,
  "closePriceAsOf": "2007-12-03",
  "cusip": "abc123",
  "institutionId": "xyz789",
  "institutionSecurityId": "abc123",
  "isCashEquivalent": false,
  "isin": "xyz789",
  "isoCurrencyCode": "abc123",
  "name": "abc123",
  "proxySecurityId": "xyz789",
  "securityId": "xyz789",
  "sedol": "abc123",
  "tickerSymbol": "xyz789",
  "type": "abc123",
  "unofficialCurrencyCode": "abc123",
  "updateDatetime": "2007-12-03T10:15:30Z"
}

PlaidServicerAddressData

Description

The address of the student loan servicer. This is generally the remittance address to which payments should be sent.

Fields
Field Name Description
city - String The full city name
country - String The ISO 3166-1 alpha-2 country code
postalCode - String The postal code
region - String The region or state Example: "NC"
street - String The full street address Example: "564 Main Street, APT 15"
Example
{
  "city": "abc123",
  "country": "xyz789",
  "postalCode": "xyz789",
  "region": "abc123",
  "street": "xyz789"
}

PlaidStudentLoanStatus

Description

An object representing the status of the student loan

Fields
Field Name Description
endDate - Date The date until which the loan will be in its current status. Dates are returned in an ISO 8601 format (YYYY-MM-DD).
type - String The status type of the student loan
Example
{
  "endDate": "2007-12-03",
  "type": "abc123"
}

PlaidStudentRepaymentPlan

Description

An object representing the repayment plan for the student loan

Fields
Field Name Description
description - String The description of the repayment plan as provided by the servicer.
type - String The type of the repayment plan.
Example
{
  "description": "abc123",
  "type": "abc123"
}

PlaidTransaction

Description

Plaid Transaction data.

Fields
Field Name Description
accountId - String! The ID of the account in which this transaction occurred.
accountOwner - String The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.
amount - Float! The settled value of the transaction, denominated in the transactions's currency, as stated in iso_currency_code or unofficial_currency_code. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.
authorizedDate - Date The date that the transaction was authorized. Dates are returned in an ISO 8601 format ( YYYY-MM-DD ).
authorizedDatetime - DateTime

Date and time when a transaction was authorized in ISO 8601 format ( YYYY-MM-DDTHH:mm:ssZ ).

This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.

category - [String!]

A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see /categories/get.

If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

categoryId - String

The ID of the category to which this transaction belongs. For a full list of categories, see /categories/get.

If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

checkNumber - String The check number of the transaction. This field is only populated for check transactions.
counterparties - [PlaidTransactionCounterparty!] The counterparties present in the transaction. Counterparties, such as the financial institutions, are extracted by Plaid from the raw description.
date - Date! For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format ( YYYY-MM-DD ).
datetime - DateTime

Date and time when a transaction was posted in ISO 8601 format ( YYYY-MM-DDTHH:mm:ssZ ).

This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.

isoCurrencyCode - String The ISO-4217 currency code of the transaction. Always null if unofficial_currency_code is non-null.
location - PlaidLocation! A representation of where a transaction took place
logoUrl - String The logo associated with the merchant, if available. Formatted as a 100x100 pixels PNG file path.
merchantName - String The merchant name, as enriched by Plaid from the name field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be null.
name - String!

The merchant name or transaction description.

If the transactions object was returned by a Transactions endpoint such as /transactions/get, this field will always appear. If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

originalDescription - String The string returned by the financial institution to describe the transaction. For transactions returned by /transactions/get, this field is in beta and will be omitted unless the client is both enrolled in the closed beta program and has set options.include_original_description to true.
paymentChannel - String!

The channel used to make a payment. online: transactions that took place online.

in store: transactions that were made at a physical location.

other: transactions that relate to banks, e.g. fees or deposits.

This field replaces the transaction_type field.

paymentMeta - PlaidPaymentMeta!

Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be null.

If the transactions object was returned by a Transactions endpoint such as /transactions/get, the payment_meta key will always appear, but no data elements are guaranteed. If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

pending - Boolean! When true, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.
pendingTransactionId - String The ID of a posted transaction's associated pending transaction, where applicable.
personalFinanceCategory - PlaidPersonalFinanceCategory

Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases.

See the taxonomy csv file for a full list of personal finance categories.

personalFinanceCategoryIconUrl - String A link to the icon associated with the primary personal finance category. The logo will always be 100x100 pixels.
transactionCode - String

An identifier classifying the transaction type.

This field is only populated for European institutions. For institutions in the US and Canada, this field is set to null.

adjustment: Bank adjustment

atm: Cash deposit or withdrawal via an automated teller machine

bank charge: Charge or fee levied by the institution

bill payment: Payment of a bill

cash: Cash deposit or withdrawal

cashback: Cash withdrawal while making a debit card purchase

cheque: Document ordering the payment of money to another person or organization

direct debit: Automatic withdrawal of funds initiated by a third party at a regular interval

interest: Interest earned or incurred

purchase: Purchase made with a debit or credit card

standing order: Payment instructed by the account holder to a third party at a regular interval

transfer: Transfer of money between accounts

transactionId - String! The unique ID of the transaction. Like all Plaid identifiers, the transaction_id is case sensitive.
unofficialCurrencyCode - String

The unofficial currency code associated with the transaction. Always null if iso_currency_code is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

See the currency code schema for a full listing of supported iso_currency_codes.

website - String The website associated with the merchant, if available.
Example
{
  "accountId": "xyz789",
  "accountOwner": "xyz789",
  "amount": 987.65,
  "authorizedDate": "2007-12-03",
  "authorizedDatetime": "2007-12-03T10:15:30Z",
  "category": ["abc123"],
  "categoryId": "abc123",
  "checkNumber": "abc123",
  "counterparties": [PlaidTransactionCounterparty],
  "date": "2007-12-03",
  "datetime": "2007-12-03T10:15:30Z",
  "isoCurrencyCode": "xyz789",
  "location": PlaidLocation,
  "logoUrl": "xyz789",
  "merchantName": "xyz789",
  "name": "abc123",
  "originalDescription": "xyz789",
  "paymentChannel": "abc123",
  "paymentMeta": PlaidPaymentMeta,
  "pending": true,
  "pendingTransactionId": "xyz789",
  "personalFinanceCategory": PlaidPersonalFinanceCategory,
  "personalFinanceCategoryIconUrl": "xyz789",
  "transactionCode": "abc123",
  "transactionId": "abc123",
  "unofficialCurrencyCode": "xyz789",
  "website": "xyz789"
}

PlaidTransactionCounterparty

Description

The counterparty, such as the merchant or financial institution, is extracted by Plaid from the raw description.

Fields
Field Name Description
logoUrl - String The URL of a logo associated with the counterparty, if available. The logo is formatted as a 100x100 pixel PNG filepath.
name - String! The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.
type - String!

The counterparty type.

merchant: a provider of goods or services for purchase financial_institution: a financial entity (bank, credit union, BNPL, fintech) payment_app: a transfer or P2P app (e.g. Zelle) marketplace: a marketplace (e.g DoorDash, Google Play Store) payment_terminal: a point-of-sale payment terminal (e.g Square, Toast)

website - String The website associated with the counterparty.
Example
{
  "logoUrl": "xyz789",
  "name": "xyz789",
  "type": "abc123",
  "website": "xyz789"
}

Profile

Description

A Profile represents an entity with data in a Quiltt Environment, typically a physical person or company end-user of your application.

Fields
Field Name Description
address - ProfileAddress The legal address associated with the Profile.
dateOfBirth - Date A physical person's date of birth.
email - String

The email associated with the Profile.

This field can be used to power passwordless authentication in the Connector.

id - ID! The ID of the Profile.
metadata - JSON

Custom metadata about the Profile, stored in a 'key-value' format.

See the Custom Metadata guide for more information and examples.

name - String A common name or nickname for the Profile.
names - ProfileName A physical person's legal name.
phone - String

The phone number associated with the Profile, in E164 Format.

This field can be used to power passwordless authentication in the Connector.

remoteData - ProfileRemoteData

The Remote Data associated with the Profile.

See the Remote Data guide for more information.

uuid - ID! The UUID of the Profile.
Example
{
  "address": ProfileAddress,
  "dateOfBirth": "2007-12-03",
  "email": "abc123",
  "id": "p_1hyoxpVVFib1HngGwKAzIr",
  "metadata": {
    "firebaseId": "4Wz7x0QkPdNNzgRgjZ4iIzMKjXo2",
    "avatar": "https://www.gravatar.com/avatar/5658ffccee7f0ebfda2b226238b1eb6e",
    "favoriteColor": "Purple"
  },
  "name": "abc123",
  "names": ProfileName,
  "phone": "abc123",
  "remoteData": ProfileRemoteData,
  "uuid": "174ec567-2492-4498-a706-504a79437235"
}

ProfileAddress

Description

The legal address associated with the Profile.

Fields
Field Name Description
city - String The city.
countryCode - AddressCountryCode ISO 3166-1 alpha-3 country code.
line1 - String The first line of the address.
line2 - String The second line of the address.
postalCode - String The postal code or zip code.
state - String The state or province.
Example
{
  "city": "xyz789",
  "countryCode": "USA",
  "line1": "xyz789",
  "line2": "xyz789",
  "postalCode": "xyz789",
  "state": "xyz789"
}

ProfileAddressInput

Description

Attributes for setting an address.

Fields
Input Field Description
city - String! The city.
countryCode - AddressCountryCode! The country code.
line1 - String! The first line of the address.
line2 - String The second line of the address.
postalCode - String! The postal code.
state - String! The state.
Example
{
  "city": "abc123",
  "countryCode": "USA",
  "line1": "xyz789",
  "line2": "abc123",
  "postalCode": "abc123",
  "state": "xyz789"
}

ProfileName

Description

Represents a legal name.

Fields
Field Name Description
first - String The legal given name.
full - String The full name.
last - String The legal surname.
Example
{
  "first": "xyz789",
  "full": "abc123",
  "last": "abc123"
}

ProfileNameInput

Description

Attributes for setting a legal name.

Fields
Input Field Description
first - String! The legal given name.
last - String! The legal surname.
Example
{
  "first": "abc123",
  "last": "abc123"
}

ProfileRemoteData

Description

Remote data associated with a Profile.

Fields
Field Name Description
fingoal - ProfileRemoteDataFingoal The FinGoal remote data associated with the Profile.
Example
{"fingoal": ProfileRemoteDataFingoal}

ProfileRemoteDataFingoal

Description

Profile-level data from FinGoal.

Fields
Field Name Description
insights - ProfileRemoteDataFingoalInsights The Insights data from FinGoal.
Example
{"insights": ProfileRemoteDataFingoalInsights}

ProfileRemoteDataFingoalInsights

Description

The Insights data from FinGoal.

Fields
Field Name Description
response - FingoalUser The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": FingoalUser,
  "timestamp": "2007-12-03T10:15:30Z"
}

ProfileUpdateInput

Description

Autogenerated input type of ProfileUpdate

Fields
Input Field Description
address - ProfileAddressInput Mailing address.
clientMutationId - String A unique identifier for the client performing the mutation.
dateOfBirth - Date Birthday.
email - String Email.
metadata - JSON Customizable metadata.
name - String Common or nickname.
names - ProfileNameInput Legal name.
phone - String Cellphone in E164 Format.
Example
{
  "address": ProfileAddressInput,
  "clientMutationId": "abc123",
  "dateOfBirth": "2007-12-03",
  "email": "abc123",
  "metadata": {},
  "name": "xyz789",
  "names": ProfileNameInput,
  "phone": "abc123"
}

ProfileUpdatePayload

Description

Autogenerated return type of ProfileUpdate.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Profile Updated Profile.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "abc123",
  "errors": [Error],
  "record": Profile,
  "success": true
}

SearchQuery

Description

Options for searching through a list.

Fields
Input Field Description
term - String Query for searching.
Example
{"term": "xyz789"}

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"

Transaction

Description

A Transaction represents financial activity associated with an Account

Fields
Field Name Description
account - Account! The Account of the Transaction.
amount - Float! The amount.
currencyCode - CurrencyCode! The ISO-4217 currency code of the Transaction
date - Date! The date.
description - String! The description or line item name.
entryType - TransactionEntryType! Specifies whether the Transaction is a debit or a credit.
id - ID! The ID of the Transaction.
logo - Image A single Transaction Logo.
metadata - JSON

Custom metadata about the Transaction, stored in a 'key-value' format.

See the Custom Metadata guide for more information and examples.

provider - ConnectionProvider The original provider of the Transaction.
remoteData - TransactionRemoteData

The Remote Data associated with the Transaction.

See the Remote Data guide for more information.

status - TransactionStatus! The status of the Transaction.
Example
{
  "account": Account,
  "amount": 987.65,
  "currencyCode": "AED",
  "date": "2007-12-03",
  "description": "abc123",
  "entryType": "CREDIT",
  "id": "txn_11VgTOO9DR1vbAZxb6zBLdb",
  "logo": Image,
  "metadata": {"userDefinedName": "My favorite transaction"},
  "provider": "AKOYA",
  "remoteData": TransactionRemoteData,
  "status": "PENDING"
}

TransactionConnection

Description

The connection type for Transaction.

Fields
Field Name Description
count - Int! The total number of records.
edges - [TransactionEdge] A list of edges.
nodes - [Transaction] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "count": 987,
  "edges": [TransactionEdge],
  "nodes": [Transaction],
  "pageInfo": PageInfo
}

TransactionEdge

Description

An edge in a connection.

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

TransactionEntryType

Description

Whether the transaction represents a credit or a debit.

Values
Enum Value Description

CREDIT

An entry recording money being advanced into the account.

DEBIT

An entry recording money being withdrawn from the account.
Example
"CREDIT"

TransactionFilter

Description

Options for filtering Transactions.

Fields
Input Field Description
accountIds - [ID!] A list of Account IDs.
amount - Float The amount.
amount_abs - Float Absolute value of the amount.
amount_abs_gt - Float Greater than the absolute value of the amount.
amount_abs_gte - Float Greater than or equal to the absolute value of the amount.
amount_abs_lt - Float Less than the absolute value of the amount.
amount_abs_lte - Float Less than or equal to the absolute value of the amount.
amount_gt - Float Greater than the amount.
amount_gte - Float Greater than or equal to the amount.
amount_lt - Float Less than the amount.
amount_lte - Float Less than or equal to the amount.
date - Date The date.
date_gt - Date Greater than the date.
date_gte - Date Greater than or equal to the date.
date_lt - Date Less than the date.
date_lte - Date Less than or equal to the date.
entryType - TransactionEntryType Specifies whether the Transaction is a debit or a credit.
metadata - JSON Filter by the contents of Transaction metadata.
remoteData - TransactionRemoteDataFilter Specifies the Remote Data of the Transaction.
status - [TransactionStatus!] A list of transaction statuses.
Example
{
  "accountIds": ["4"],
  "amount": 987.65,
  "amount_abs": 987.65,
  "amount_abs_gt": 987.65,
  "amount_abs_gte": 987.65,
  "amount_abs_lt": 987.65,
  "amount_abs_lte": 987.65,
  "amount_gt": 123.45,
  "amount_gte": 123.45,
  "amount_lt": 123.45,
  "amount_lte": 987.65,
  "date": "2007-12-03",
  "date_gt": "2007-12-03",
  "date_gte": "2007-12-03",
  "date_lt": "2007-12-03",
  "date_lte": "2007-12-03",
  "entryType": "CREDIT",
  "metadata": {},
  "remoteData": TransactionRemoteDataFilter,
  "status": ["PENDING"]
}

TransactionRemoteData

Description

Remote data associated with a Transaction.

Fields
Field Name Description
fingoal - TransactionRemoteDataFingoal The FinGoal remote data associated with the Transaction.
mock - TransactionRemoteDataMock The Mock remote data associated with the Transaction.
mx - TransactionRemoteDataMx The MX remote data associated with the Transaction.
ntropy - TransactionRemoteDataNtropy The Ntropy remote data associated with the Transaction.
plaid - TransactionRemoteDataPlaid The Plaid remote data associated with the Transaction.
Example
{
  "fingoal": TransactionRemoteDataFingoal,
  "mock": TransactionRemoteDataMock,
  "mx": TransactionRemoteDataMx,
  "ntropy": TransactionRemoteDataNtropy,
  "plaid": TransactionRemoteDataPlaid
}

TransactionRemoteDataFilter

Description

Remote Data filters.

Fields
Input Field Description
fingoal - TransactionRemoteDataFingoalFilter Fingoal Transaction Remote Data.
mock - TransactionRemoteDataMockFilter Mock Transaction Remote Data.
mx - TransactionRemoteDataMxFilter MX Transaction Remote Data.
ntropy - TransactionRemoteDataNtropyFilter Ntropy Transaction Remote Data.
plaid - TransactionRemoteDataPlaidFilter Plaid Transaction Remote Data.
Example
{
  "fingoal": TransactionRemoteDataFingoalFilter,
  "mock": TransactionRemoteDataMockFilter,
  "mx": TransactionRemoteDataMxFilter,
  "ntropy": TransactionRemoteDataNtropyFilter,
  "plaid": TransactionRemoteDataPlaidFilter
}

TransactionRemoteDataFingoal

Description

Transaction-level data from FinGoal.

Fields
Field Name Description
enrichment - TransactionRemoteDataFingoalEnrichment The Enrichment data from FinGoal.
Example
{"enrichment": TransactionRemoteDataFingoalEnrichment}

TransactionRemoteDataFingoalEnrichment

Description

The Enrichment data from FinGoal.

Fields
Field Name Description
response - FingoalTransaction The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": FingoalTransaction,
  "timestamp": "2007-12-03T10:15:30Z"
}

TransactionRemoteDataFingoalFilter

Description

Options for filtering inside Fingoal Remote Data.

Fields
Input Field Description
accountid - String The ID of the account associated with the transaction
amountnum - Float The transaction's USD amount
category - String The most applicable categorization for the transaction
categoryId - String The numeric ID of the transaction's category
categoryLabel - [String!] A cascading hierarchy of the transaction's categories, from high-level to detail-level categorization
clientId - String Your FinGoal client ID
container - String A high-level categorization of the account type. Eg, 'bank'
date - String The date on which the transaction took place
detailCategoryId - String The numeric ID of the transaction's detail category
guid - String The transaction's globally unique FinSight API issued ID
highLevelCategoryId - String The numeric ID of the transaction's high level category
isPhysical - Boolean Whether the transaction was made at a physical location, or online
isRecurring - Boolean Whether the transaction is set to recur on a fixed interval
merchantAddress1 - String The street address of the merchant associated with the transaction
merchantCity - String The name of the city where the merchant is located
merchantCountry - String The name of the country where the merchant is located
merchantLatitude - String The latitude of the merchant
merchantLogoURL - String The URL resource for the merchant's logo
merchantLongitude - String The longitude of the merchant
merchantName - String The name of the merchant associated with the transaction
merchantPhoneNumber - String The phone number of the merchant associated with the transaction
merchantState - String The name of the state where the merchant is located
merchantType - String The merchant's type
merchantZip - String The ZIP code where the merchant is located
originalDescription - String The transaction description as received. This will not change
receiptDate - String The date on which FinSight API first received the transaction
requestId - String A unique ID for the request the transaction came in with, for debugging purposes
simpleDescription - String An easy-to-understand, plain-language transaction description
sourceId - String The source of the transaction
subType - String A more detailed classification that provides further information on the type of transaction.
transactionTags - [String!] The FinSight API issued tags for the transaction
transactionid - String The ID of the transaction as it was originally submitted
type - String An attribute describing the nature of the intent behind the transaction.
uid - String The ID of the user associated with the transaction, as originally submitted
Example
{
  "accountid": "abc123",
  "amountnum": 987.65,
  "category": "abc123",
  "categoryId": "xyz789",
  "categoryLabel": ["xyz789"],
  "clientId": "xyz789",
  "container": "xyz789",
  "date": "xyz789",
  "detailCategoryId": "abc123",
  "guid": "abc123",
  "highLevelCategoryId": "abc123",
  "isPhysical": true,
  "isRecurring": true,
  "merchantAddress1": "abc123",
  "merchantCity": "abc123",
  "merchantCountry": "xyz789",
  "merchantLatitude": "xyz789",
  "merchantLogoURL": "xyz789",
  "merchantLongitude": "xyz789",
  "merchantName": "xyz789",
  "merchantPhoneNumber": "xyz789",
  "merchantState": "xyz789",
  "merchantType": "abc123",
  "merchantZip": "abc123",
  "originalDescription": "abc123",
  "receiptDate": "abc123",
  "requestId": "abc123",
  "simpleDescription": "abc123",
  "sourceId": "abc123",
  "subType": "abc123",
  "transactionTags": ["xyz789"],
  "transactionid": "abc123",
  "type": "xyz789",
  "uid": "xyz789"
}

TransactionRemoteDataMock

Description

Transaction-level data from Mock.

Fields
Field Name Description
transaction - TransactionRemoteDataMockTransaction The Transaction data from Mock.
Example
{"transaction": TransactionRemoteDataMockTransaction}

TransactionRemoteDataMockFilter

Description

Options for filtering inside Mock Remote Data.

Fields
Input Field Description
id - String Mock transaction ID.
Example
{"id": "xyz789"}

TransactionRemoteDataMockTransaction

Description

The Transaction data from Mock.

Fields
Field Name Description
response - MockTransaction The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": MockTransaction,
  "timestamp": "2007-12-03T10:15:30Z"
}

TransactionRemoteDataMx

Description

Transaction-level data from MX.

Fields
Field Name Description
enrichment - TransactionRemoteDataMxEnrichment The Enrichment data from MX.
transaction - TransactionRemoteDataMxTransaction The base Transaction data from MX.
Example
{
  "enrichment": TransactionRemoteDataMxEnrichment,
  "transaction": TransactionRemoteDataMxTransaction
}

TransactionRemoteDataMxEnrichment

Description

The Enrichment data from MX.

Fields
Field Name Description
response - MxEnrichedTransaction The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": MxEnrichedTransaction,
  "timestamp": "2007-12-03T10:15:30Z"
}

TransactionRemoteDataMxFilter

Description

Options for filtering inside MX Remote Data.

Fields
Input Field Description
accountGuid - String The unique identifier for the account associated with the transaction. Defined by MX.
accountId - String The unique partner-defined identifier for the account associated with the transaction. This can only be set for partner-managed accounts. It should be ignored for user-managed transactions, even in occasional cases where it may return with a value.
amount - Float The monetary amount of the transaction.
category - String The category of the transaction.
categoryGuid - String The unique identifier for the category assigned to the transaction.
checkNumberString - String The check number for the transaction.
createdAt - String The date and time the transaction was created.
currencyCode - String The three-character ISO 4217 currency code, e.g. USD.
date - String The date on which the transaction took place. This is the field used when searching for transactions by date. This field is generally the same as transacted_at, but uses posted_at as a fallback.
description - String A human-readable version of the original_description field described below, e.g., “Sam’s Club,” “Johnny’s Tavern.” This is provided by the MX Platform.
extendedTransactionType - String The transaction type assigned by the partner.
guid - String The unique identifier for the transaction. Defined by MX.
id - String The unique partner-defined identifier for the transaction. This can only be set for partner-managed transactions. It should be ignored for user-managed transactions, even in occasional cases where it may return with a value.
isBillPay - Boolean This indicates whether the transaction represents a bill pay.
isDirectDeposit - Boolean This indicates whether the transaction represents a direct deposit.
isExpense - Boolean This indicates whether the transaction represents an expense.
isFee - Boolean This indicates whether the transaction represents a fee.
isIncome - Boolean This indicates whether the transaction represents income.
isInternational - Boolean If the transaction is international as defined by the data provider, this field will be true. If the data provider determines it is not international then it will be false. It will be null if the data provider does not have this information.
isOverdraftFee - Boolean This indicates whether the transaction represents an overdraft fee.
isPayrollAdvance - Boolean This indicates whether the transaction represents a payroll advance.
isRecurring - Boolean This indicates whether a transaction is a recurring credit or debit.
isSubscription - Boolean This indicates whether the transaction represents a payment for a subscription service such as Netflix or Audible.
latitude - Float The latitude of the location where the transaction occurred. The number is a signed decimal (e.g. Rio de Janeiro’s latitude is -22.9027800 and Tokyo’s latitude is 35.689488).
localizedDescription - String A human-readable description of the transaction, provided in a local language.
localizedMemo - String Additional descriptive information about the transaction, provided in a local language.
longitude - Float The longitude of the location where the transaction occurred. The number is a signed decimal (e.g. Rio de Janeiro’s longitude is -43.2075000 and Tokyo’s longitude is 139.691706).
memberGuid - String The unique identifier for the member associated with the transaction Defined by MX.
memberIsManagedByUser - Boolean This indicates whether the associated member is managed by the user or the MX partner. Members created with the managed member feature will have this field set to false.
memo - String This field contains additional descriptive information about the transaction.
merchantCategoryCode - Int The ISO 18245 category code for the transaction.
merchantGuid - String The unique identifier for the merchant associated with this transaction. Defined by MX.
merchantLocationGuid - String The unique identifier for the merchant_location associated with this transaction. Defined by MX.
metadata - String Custom data
originalDescription - String The original description of the transaction as provided by our data feed. See description above for more information.
postedAt - String The date and time the transaction was posted to the account.
status - String The status of the transaction. This will be either POSTED or PENDING.
topLevelCategory - String The parent category assigned to this transaction’s category.
transactedAt - String The date and time the transaction took place.
type - String The type of transaction. This will be either CREDIT or DEBIT.
updatedAt - String The date and time the transaction was last updated.
userGuid - String The unique identifier for the user associated with this transaction. Defined by MX.
userId - String The unique partner-defined identifier for the user associated with the transaction.
Example
{
  "accountGuid": "abc123",
  "accountId": "abc123",
  "amount": 987.65,
  "category": "xyz789",
  "categoryGuid": "abc123",
  "checkNumberString": "abc123",
  "createdAt": "xyz789",
  "currencyCode": "xyz789",
  "date": "xyz789",
  "description": "abc123",
  "extendedTransactionType": "xyz789",
  "guid": "xyz789",
  "id": "abc123",
  "isBillPay": true,
  "isDirectDeposit": false,
  "isExpense": true,
  "isFee": false,
  "isIncome": true,
  "isInternational": true,
  "isOverdraftFee": false,
  "isPayrollAdvance": false,
  "isRecurring": false,
  "isSubscription": false,
  "latitude": 987.65,
  "localizedDescription": "abc123",
  "localizedMemo": "abc123",
  "longitude": 123.45,
  "memberGuid": "abc123",
  "memberIsManagedByUser": true,
  "memo": "abc123",
  "merchantCategoryCode": 987,
  "merchantGuid": "xyz789",
  "merchantLocationGuid": "abc123",
  "metadata": "abc123",
  "originalDescription": "abc123",
  "postedAt": "xyz789",
  "status": "abc123",
  "topLevelCategory": "abc123",
  "transactedAt": "xyz789",
  "type": "xyz789",
  "updatedAt": "abc123",
  "userGuid": "xyz789",
  "userId": "abc123"
}

TransactionRemoteDataMxTransaction

Description

The base Transaction data from MX.

Fields
Field Name Description
response - MxTransaction The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": MxTransaction,
  "timestamp": "2007-12-03T10:15:30Z"
}

TransactionRemoteDataNtropy

Description

Transaction-level data from Ntropy.

Fields
Field Name Description
enrichment - TransactionRemoteDataNtropyEnrichment The Enrichment data from Ntropy.
Example
{"enrichment": TransactionRemoteDataNtropyEnrichment}

TransactionRemoteDataNtropyEnrichment

Description

The remote data of the Enrichment.

Fields
Field Name Description
response - NtropyEnrichedTransaction The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": NtropyEnrichedTransaction,
  "timestamp": "2007-12-03T10:15:30Z"
}

TransactionRemoteDataNtropyFilter

Description

Options for filtering inside Fingoal Remote Data.

Fields
Input Field Description
labels - [String!] Labels
location - String Location
logo - String Logo
mcc - [Int!] Mcc
merchant - String Merchant
merchantId - String Merchant Id
person - String Person
recurrence - NtropySharedRecurrence An enumeration.
recurrenceGroupId - String Recurrence Group Id
transactionId - String Transaction Id
transactionType - NtropySharedTransaction An enumeration.
website - String Website
Example
{
  "labels": ["abc123"],
  "location": "abc123",
  "logo": "abc123",
  "mcc": [123],
  "merchant": "abc123",
  "merchantId": "abc123",
  "person": "abc123",
  "recurrence": "ONE_OFF",
  "recurrenceGroupId": "xyz789",
  "transactionId": "abc123",
  "transactionType": "BUSINESS",
  "website": "abc123"
}

TransactionRemoteDataPlaid

Description

Transaction-level data from Plaid.

Fields
Field Name Description
transaction - TransactionRemoteDataPlaidTransaction The base Transaction data from Plaid.
Example
{"transaction": TransactionRemoteDataPlaidTransaction}

TransactionRemoteDataPlaidFilter

Description

Options for filtering inside Plaid Remote Data.

Fields
Input Field Description
accountId - String The ID of the account in which this transaction occurred.
accountOwner - String The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.
amount - Float The settled value of the transaction, denominated in the transactions's currency, as stated in iso_currency_code or unofficial_currency_code. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.
authorizedDate - Date The date that the transaction was authorized. Dates are returned in an ISO 8601 format ( YYYY-MM-DD ).
authorizedDatetime - DateTime

Date and time when a transaction was authorized in ISO 8601 format ( YYYY-MM-DDTHH:mm:ssZ ).

This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.

category - [String!]

A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see /categories/get.

If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

categoryId - String

The ID of the category to which this transaction belongs. For a full list of categories, see /categories/get.

If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

checkNumber - String The check number of the transaction. This field is only populated for check transactions.
date - Date For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format ( YYYY-MM-DD ).
datetime - DateTime

Date and time when a transaction was posted in ISO 8601 format ( YYYY-MM-DDTHH:mm:ssZ ).

This field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.

isoCurrencyCode - String The ISO-4217 currency code of the transaction. Always null if unofficial_currency_code is non-null.
location - TransactionRemoteDataPlaidLocationFilter A representation of where a transaction took place
logoUrl - String The logo associated with the merchant, if available. Formatted as a 100x100 pixels PNG file path.
merchantName - String The merchant name, as enriched by Plaid from the name field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be null.
name - String

The merchant name or transaction description.

If the transactions object was returned by a Transactions endpoint such as /transactions/get, this field will always appear. If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

originalDescription - String The string returned by the financial institution to describe the transaction. For transactions returned by /transactions/get, this field is in beta and will be omitted unless the client is both enrolled in the closed beta program and has set options.include_original_description to true.
paymentChannel - String

The channel used to make a payment. online: transactions that took place online.

in store: transactions that were made at a physical location.

other: transactions that relate to banks, e.g. fees or deposits.

This field replaces the transaction_type field.

paymentMeta - TransactionRemoteDataPlaidPaymentMetaFilter

Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be null.

If the transactions object was returned by a Transactions endpoint such as /transactions/get, the payment_meta key will always appear, but no data elements are guaranteed. If the transactions object was returned by an Assets endpoint such as /asset_report/get/ or /asset_report/pdf/get, this field will only appear in an Asset Report with Insights.

pending - Boolean When true, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.
pendingTransactionId - String The ID of a posted transaction's associated pending transaction, where applicable.
personalFinanceCategory - TransactionRemoteDataPlaidPersonalFinanceCategoryFilter

Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases.

See the taxonomy csv file for a full list of personal finance categories.

transactionCode - String

An identifier classifying the transaction type.

This field is only populated for European institutions. For institutions in the US and Canada, this field is set to null.

adjustment: Bank adjustment

atm: Cash deposit or withdrawal via an automated teller machine

bank charge: Charge or fee levied by the institution

bill payment: Payment of a bill

cash: Cash deposit or withdrawal

cashback: Cash withdrawal while making a debit card purchase

cheque: Document ordering the payment of money to another person or organization

direct debit: Automatic withdrawal of funds initiated by a third party at a regular interval

interest: Interest earned or incurred

purchase: Purchase made with a debit or credit card

standing order: Payment instructed by the account holder to a third party at a regular interval

transfer: Transfer of money between accounts

transactionId - String The unique ID of the transaction. Like all Plaid identifiers, the transaction_id is case sensitive.
unofficialCurrencyCode - String

The unofficial currency code associated with the transaction. Always null if iso_currency_code is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

See the currency code schema for a full listing of supported iso_currency_codes.

website - String The website associated with the merchant, if available.
Example
{
  "accountId": "xyz789",
  "accountOwner": "xyz789",
  "amount": 123.45,
  "authorizedDate": "2007-12-03",
  "authorizedDatetime": "2007-12-03T10:15:30Z",
  "category": ["abc123"],
  "categoryId": "abc123",
  "checkNumber": "xyz789",
  "date": "2007-12-03",
  "datetime": "2007-12-03T10:15:30Z",
  "isoCurrencyCode": "xyz789",
  "location": TransactionRemoteDataPlaidLocationFilter,
  "logoUrl": "abc123",
  "merchantName": "abc123",
  "name": "xyz789",
  "originalDescription": "abc123",
  "paymentChannel": "abc123",
  "paymentMeta": TransactionRemoteDataPlaidPaymentMetaFilter,
  "pending": true,
  "pendingTransactionId": "xyz789",
  "personalFinanceCategory": TransactionRemoteDataPlaidPersonalFinanceCategoryFilter,
  "transactionCode": "xyz789",
  "transactionId": "abc123",
  "unofficialCurrencyCode": "xyz789",
  "website": "xyz789"
}

TransactionRemoteDataPlaidLocationFilter

Description

Options for filtering inside Plaid's Transaction Location data

Fields
Input Field Description
address - String The street address where the transaction occurred.
city - String The city where the transaction occurred.
country - String The ISO 3166-1 alpha-2 country code where the transaction occurred.
lat - Float The latitude where the transaction occurred.
lon - Float The longitude where the transaction occurred.
postalCode - String The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called zip.
region - String The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called state.
storeNumber - String The merchant defined store number where the transaction occurred.
Example
{
  "address": "xyz789",
  "city": "xyz789",
  "country": "xyz789",
  "lat": 987.65,
  "lon": 987.65,
  "postalCode": "xyz789",
  "region": "xyz789",
  "storeNumber": "abc123"
}

TransactionRemoteDataPlaidPaymentMetaFilter

Description

Options for filtering inside Plaid's Transaction Payment Meta data

Fields
Input Field Description
byOrderOf - String The party initiating a wire transfer. Will be null if the transaction is not a wire transfer.
payee - String For transfers, the party that is receiving the transaction.
payer - String For transfers, the party that is paying the transaction.
paymentMethod - String The type of transfer, e.g. 'ACH'
paymentProcessor - String The name of the payment processor
ppdId - String The ACH PPD ID for the payer.
reason - String The payer-supplied description of the transfer.
referenceNumber - String The transaction reference number supplied by the financial institution.
Example
{
  "byOrderOf": "xyz789",
  "payee": "xyz789",
  "payer": "xyz789",
  "paymentMethod": "xyz789",
  "paymentProcessor": "xyz789",
  "ppdId": "abc123",
  "reason": "xyz789",
  "referenceNumber": "abc123"
}

TransactionRemoteDataPlaidPersonalFinanceCategoryFilter

Description

Options for filtering inside Plaid's Personal Finance Category data

Fields
Input Field Description
detailed - String A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.
primary - String A high level category that communicates the broad category of the transaction.
Example
{
  "detailed": "abc123",
  "primary": "abc123"
}

TransactionRemoteDataPlaidTransaction

Description

The remote data of the Transaction.

Fields
Field Name Description
response - PlaidTransaction The response body.
timestamp - DateTime! The date and time when the data was fetched.
Example
{
  "response": PlaidTransaction,
  "timestamp": "2007-12-03T10:15:30Z"
}

TransactionSort

Description

Options for sorting transactions.

Values
Enum Value Description

DATE_ASC

Oldest First, Pending Last

DATE_DESC

Newest First, Pending First
Example
"DATE_ASC"

TransactionStatus

Description

Represents the status for a Transaction.

Values
Enum Value Description

PENDING

Awaiting decision or settlement, and may be replaced, updated, or removed.

POSTED

Announced or published as conclusive.

PROJECTED

Estimated or forecast on the basis of current trends or data.
Example
"PENDING"

TransactionUpdateInput

Description

Autogenerated input type of TransactionUpdate

Fields
Input Field Description
clientMutationId - String A unique identifier for the client performing the mutation.
id - ID! The ID of the transaction to be updated.
metadata - JSON Customizable metadata.
Example
{
  "clientMutationId": "xyz789",
  "id": 4,
  "metadata": {}
}

TransactionUpdatePayload

Description

Autogenerated return type of TransactionUpdate.

Fields
Field Name Description
clientMutationId - String A unique identifier for the client performing the mutation.
errors - [Error!] List of errors from an unsuccessful mutation.
record - Transaction The updated transaction.
success - Boolean! Specifies whether the mutation was successful.
Example
{
  "clientMutationId": "abc123",
  "errors": [Error],
  "record": Transaction,
  "success": false
}

URL

Description

Represents a valid URL, transported as a string.

Example
"http://www.test.com/"