# Accounts
URL: https://www.quiltt.dev/api/accounts
Description: Learn how to manage Accounts with GraphQL. Discover how to fetch and update Accounts.
Navigation: api → accounts
Tags: API, Core Resources

An **Account** in Quiltt represents the accounting of a banking relationship. Accounts are typically associated with a Connection from a data provider like Plaid or MX, and provide access to balances, transactions and other data.

Metadata Note:

## Schemas & Types

Profile GraphQL Note:

## GraphQL Queries

Account queries allow you to fetch data about a specific Account or a list of Accounts associated with the Profile, or a Connection.

### `account`

Looks up a Account by its ID:

GraphQLRequest:

Query:
```graphql
query {
  account(id: "acct_12tgD1YP33AwEvbdmSrcRY") {
    id
    name
    kind
    verified
    metadata
    institution {name}
    connection [id
      provider]
  }
}
```

  

Response:
```json
{
  "data": {
    "account": {
      "id": "acct_12tgD1YP33AwEvbdmSrcRY",
      "name": "Credit Card",
      "kind": "CREDIT",
      "verified": false,
      "metadata": null,
      "institution": ["name": "MX Bank"],
      "connection": ["id": "conn_12tgD1WgzFgsy9fqKpW9b3",
        "provider": "MX"]
    }
  }
}
```

### `accounts`

Lists and filters the Accounts associated with the Profile:

GraphQLRequest:

Query:
```graphql
query GetAccounts {
  accounts {
    id
    name
    kind
    verified
    metadata
    institution {name}
  }
}
```

  

Response:
```json
{
  "data": {
    "accounts": [
      {
        "id": "acct_12tgD1YSYYFtFGYQDz21fk",
        "name": "Savings",
        "kind": "DEPOSITORY",
        "verified": false,
        "metadata": null,
        "institution": ["name": "MX Bank"]
      },
      {
        "id": "acct_12tErBqz5oPva4qlsZ9Po8",
        "name": "Plaid Bronze Standard 0.2% Interest CD",
        "kind": "DEPOSITORY",
        "verified": false,
        "metadata": null,
        "institution": ["name": "Tartan Bank"]
      },
      ...
    ]
  }
}
```

The `accounts` query supports various filtering options:

#### Filter by Connection Status

Filter Accounts belonging to Connections that need to be repaired or reconnected:

```graphql
query {
  accounts(filter: [connection_status: [ERROR_REPAIRABLE, DISCONNECTED]]) {
    id
    kind
    name
    connection [id
      status]
  }
}
```

#### Filter by Verified

Filters for verified Accounts ready for money movement:

```graphql
query {
  accounts(filter: [verified: true]) [id
    name
    kind
    verified]
}
```

#### Filter by Kind

Filters for depository and credit Accounts:

```graphql
query {
  accounts(filter: [kind: [DEPOSITORY, CREDIT]]) [id
    name
    kind]
}
```

## Account Taxonomy

Every Account is classified along a hierarchical taxonomy, exposed through two fields:

- `kind` returns the top-level category — one of `DEPOSITORY`, `INVESTMENT`, `CREDIT`, `LOAN`, or `INSURANCE`. Use it for broad grouping and filtering.
- `taxonomy` returns the full classification path, from the balance-sheet class down to the most specific sub-type, such as `["ASSET", "DEPOSITORY", "SPENDING"]`.

```graphql
query {
  account(id: "acct_12tgD1YP33AwEvbdmSrcRY") [id
    name
    kind
    taxonomy]
}
```

## GraphQL Mutations

Account mutations allow you to update an individual Account.

### `accountUpdate`

Updates an Account with new metadata. This is useful for storing additional information about the Account, such as a user-friendly name:

GraphQLRequest:

Mutation:
```graphql
mutation AccountUpdate {
  accountUpdate(
    input: { id: "acct_12v1nh5epXlyU8vr7QB8PJ", metadata: [nickname: "My Checking Account"] }
  ) {
    success
    record [id
      metadata]
  }
}
```

  

Response:
```json
{
  "data": {
    "accountUpdate": {
      "success": true,
      "record": {
        "id": "acct_12v1nh5epXlyU8vr7QB8PJ",
        "metadata": ["nickname": "My Checking Account"]
      }
    }
  }
}
```

## Webhooks

### `account.created`

This event is fired when a new Account is registered on a Profile.

### `account.owners_verified`

This event is fired when an Account's owners have been identified and become available in GraphQL.

### `account.reconnected`

This event is fired when an existing Account has been associated with a new Connection. This can occur when you reconnect to an Institution you had previously connected.

### `account.verified`

This event is fired when an Account becomes verified for money movement and ACH Numbers become available via the REST API.