---
title: "List accounting connections"
method: GET
path: "/v2/accounting/connections"
---

# List accounting connections

`GET /v2/accounting/connections`

## Request

- Base URL: `https://api.slash.com`
- URL: `https://api.slash.com/v2/accounting/connections`
- Auth: API key in header `X-API-Key`

List the accounting platforms the legal entity is connected to. Most have one; if there are several, pass `connectionId` to the other accounting endpoints.

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

The legal entity's connections, oldest first.

- object
  - `items` AccountingConnection[], required
    - `id` string, required: Connection id with the `accounting_connection_` prefix.
    - `platform` string, required: The connected platform: `quickbooks`, `xero`, `netsuite`, `sage_intacct`, `dynamics_365`, `odoo`, `dualentry`, `campfire`, `rillet`, or `manual_csv` for a connection whose entries are exported as CSV instead of synced. New platforms may appear without notice; treat unknown values as opaque.
    - `status` 'active' | 'unhealthy' | 'not_ready' | 'needs_reauth' | 'disabled', required: Health of the link to the platform. Only `active` connections sync. `needs_reauth` means a user must reconnect from the dashboard; `not_ready` means the platform is still completing its initial import.
    - `organizationName` string: The connected company or tenant name reported by the platform, when known.
    - `defaultSubsidiaryId` string: The `subsidiary` dimension value new line items default to, on platforms with subsidiaries.
    - `syncStartDate` string, date: Transactions dated before this are not turned into accounting entries, as `YYYY-MM-DD`. Chosen by a user during connection setup.
    - `lastSyncedAt` string, date-time: When settled transactions were last materialized into entries.
    - `createdAt` string, date-time, required
  - `metadata` PaginationMetadata, required
    - `nextCursor` string: Opaque cursor for the next page. Omitted on the final page.
    - `count` integer, required: Number of items in this page.

## Other responses

- `400`: - `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.
- `401`: - `unauthorized` — API key authentication is missing or invalid.
- `403`: - `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity. - `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime. - `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.
- `404`: - `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.
- `429`: The request exceeded the applicable rate limit. The response body is plain text, not the error object; clients must not depend on its wording.
- `500`: - `internal` — Slash could not complete the request. Quote `referenceId` when contacting Slash support.

## Changes

- **2026-10-16** `8b5d371ffeea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/slashfi/apis/slash-public-api/changes/v2/accounting/connections/get.md)

---

[API](https://skmtc.dev/slashfi/apis/slash-public-api.md) - [All operations](https://skmtc.dev/slashfi/apis/slash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/slashfi/apis/slash-public-api/revisions/eaed2d63c9e2?raw)
