> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wellapp.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Journals

> Workspace-scoped, cursor-paginated list of `journal` records. Served by the generic read-only resource handler over the data-views pipeline (Hasura row-level security).

## Filtering & sorting on related objects

Filter and sort on a **related (included) object** by nesting into the relationship — the same relationships you pass to `include`.

* **To-one** relations nest directly: `{ "issuer": { "name": { "_eq": "Acme" } } }`, and sort by a dot-path: `"orderBy": { "field": "issuer.name", "direction": "asc" }`.
* **To-many** relations must be quantified with `_some`, `_every`, or `_none`: `{ "items": { "_some": { "quantity": { "_gt": 1 } } } }`. They are **not** directly sortable (a to-many sort needs an aggregate proxy).
* **Composite** `composite_*` columns are virtual — filter and sort on their underlying source fields, not on the composite.

Workspace row-level security applies at every hop, so a related-object filter never widens your tenant scope. Full operator set, deep-nesting rules, and pagination notes: [Filtering & sorting](/api-reference/filtering-and-sorting).

This resource's related objects (the ones you can `include`) and how to filter or sort on each:

| Relationship                 | Cardinality                   | Filter on a field                                            | Sort by a field                                |
| ---------------------------- | ----------------------------- | ------------------------------------------------------------ | ---------------------------------------------- |
| `workspace`                  | to-one (workspace)            | `{ "workspace": { "name": { "_eq": … } } }`                  | `"field": "workspace.name"` ✅                  |
| `default_debit_account`      | to-one (ledger\_account)      | `{ "default_debit_account": { "name": { "_eq": … } } }`      | `"field": "default_debit_account.name"` ✅      |
| `default_credit_account`     | to-one (ledger\_account)      | `{ "default_credit_account": { "name": { "_eq": … } } }`     | `"field": "default_credit_account.name"` ✅     |
| `source_workspace_connector` | to-one (workspace\_connector) | `{ "source_workspace_connector": { "name": { "_eq": … } } }` | `"field": "source_workspace_connector.name"` ✅ |

Replace `field_name` with any field of the related object. See its object-reference page for the full field list.

**Filter by a to-one relation** (and sort by it):

```json theme={null}
{
  "root": "journals",
  "whereClause": { "workspace": { "name": { "_ilike": "%acme%" } } },
  "orderBy": { "field": "workspace.name", "direction": "asc" }
}
```


## OpenAPI

````yaml GET /v1/journals
openapi: 3.1.0
info:
  title: Well Document API
  version: 1.0.0
  description: API for uploading and managing financial documents in the Well platform
servers:
  - url: https://api.wellapp.ai
security: []
paths:
  /v1/journals:
    get:
      tags:
        - Records read endpoints
      summary: List Journals
      description: >-
        Workspace-scoped, cursor-paginated list of `journal` records. Served by
        the generic read-only resource handler over the data-views pipeline
        (Hasura row-level security).
      operationId: listJournals
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            maximum: 200
          description: Page size (max 200).
        - name: cursor
          in: query
          schema:
            type: string
          description: Opaque keyset cursor; omit for the first page.
        - name: orderBy
          in: query
          schema:
            type: string
          description: Field to order by.
        - name: direction
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: workspaceId
          in: query
          schema:
            type: string
            format: uuid
          description: Optional explicit workspace scope (Firebase-authenticated callers).
      responses:
        '200':
          description: A page of journal records.
          content:
            application/json:
              example:
                data:
                  - type: journal
                    id: uuid
                    attributes: {}
                meta:
                  total: 0
                  count: 0
                links:
                  next: null
        '401':
          description: Unauthenticated.
        '403':
          description: Workspace scope not permitted.

````