---
title: "Fetch a paginated list of records"
method: GET
path: "/api/{objectNames}"
tags: ["Records Management"]
---

# Fetch a paginated list of records

`GET /api/{objectNames}`

## Request

- Base URL: `https://api.reallysimplesystems.com`
- URL: `https://api.reallysimplesystems.com/api/{objectNames}`
- Auth: HTTP bearer

Retrieves a paginated list of records for the specified object type. Supports filtering parameters.

## Query parameters

- `limit` integer: The number of records per page. Defaults to 20.
- `page` integer: The page number to retrieve. Defaults to the first page.
- `order` object: A JSON object specifying the fields to order by and their direction (`asc` or `desc`). Each key is a field name, and the value is the sort direction. Example: `{"name": "asc", "created_at": "desc"}`. Field names are case-insensitive.
- `q` object: A JSON object specifying filters for the records. Example: `?q={“name”: “Test”}` or `?q={“name”: “Test”, “sector”: “Design”}`. The query allows using fields and operators for complex queries. Below are the supported operators and their usage: <table> <thead> <tr> <th>Operator</th> <th>Description</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td><code>$not</code></td> <td>Negation logical operator</td> <td><code>{"field": {"$not": val}}</code></td> </tr> <tr> <td><code>$in</code></td> <td>Match any value in array</td> <td><code>{"field": {"$in": [value1, value2, ...]}}</code></td> </tr> <tr> <td><code>$nin</code></td> <td>Not match any value in array</td> <td><code>{"field": {"$nin": [value1, value2, ...]}}</code></td> </tr> <tr> <td><code>$or</code></td> <td>Logic operator</td> <td><code>{"$or": [{"field": value}, {"field": value}]}</code></td> </tr> <tr> <td><code>$gt</code></td> <td>Greater than</td> <td><code>{"field": {"$gt": 1000}}</code></td> </tr> <tr> <td><code>$gte</code></td> <td>Greater than or equal</td> <td><code>{"field": {"$gte": 1000}}</code></td> </tr> <tr> <td><code>$lt</code></td> <td>Less than</td> <td><code>{"field": {"$lt": 1000}}</code></td> </tr> <tr> <td><code>$lte</code></td> <td>Less than or equal</td> <td><code>{"field": {"$lte": 1000}}</code></td> </tr> <tr> <td><code>$bt</code></td> <td>Between value1 and value2 inclusive</td> <td><code>{"field": {"$bt": [1000, 2000]}}</code></td> </tr> <tr> <td><code>$sw</code></td> <td>Starts with</td> <td><code>{"field": {"$sw": "tes"}}</code></td> </tr> <tr> <td><code>$ew</code></td> <td>Ends with</td> <td><code>{"field": {"$ew": "tes"}}</code></td> </tr> <tr> <td><code>$con</code></td> <td>Contains</td> <td><code>{"field": {"$con": "tes"}}</code></td> </tr> </tbody> </table>
- `include` string: The name of child objects to include with the record data. This allows you to get child record data with the parent, instead of making a separate request to the child route

## Response `200`

Successful response containing the list of records.

- object
  - `data` object
    - `metadata` object
      - `url` string
      - `object_type` string
      - `total_count` integer
      - `has_more` boolean
    - `list` object[]
      - `metadata` object
        - `url` string
        - `list_url` string
        - `parent` string, nullable
        - `object_type` string
        - `record_type` string
      - `record` object
        - `id` integer
        - `name` string
        - `created_at` string
        - `updated_at` string
    - `links` object
      - `first` string
      - `last` string
      - `prev` string, nullable
      - `next` string
    - `meta` object
      - `current_page` integer
      - `from` integer
      - `last_page` integer
      - `path` string
      - `per_page` integer
      - `to` integer
      - `total` integer

## Other responses

- `400`
- `404`
- `500`: An unexpected error has occurred

---

[API](https://skmtc.dev/reallysimplesystems/apis/crm-api-documentation.md) · [All operations](https://skmtc.dev/reallysimplesystems/apis/crm-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/reallysimplesystems/apis/crm-api-documentation/revisions/eb046f87bd56?raw)
