# List Rule Outs

Endpoint: GET /rule_out
Version: v1
Security: x-api-key, a-api-key

## Query parameters:

  - `page` (integer)

  - `page_size` (integer)

  - `sort_by` (array)
    Comma separated search fields. See [Sorting](/#sorting)

  - `q[]` (array)
    Filter result by one or more fields.

See [Query Filtering](/#query-filtering)

Available filters:

| Value | Format |
|---|---|
| created | [timestamp](/#timestamp) |
| updated | [timestamp](/#timestamp) |
| app_time | [datetime](/#datetime)|
| appointment_id | [integer](/#numeric) |
| business_id | [integer](/#numeric) |
| practitioner_id | [integer](/#numeric) |

## Response 200 fields (application/json):

  - `rule_outs` (array)

  - `rule_outs.row_num` (integer)

  - `rule_outs.total_rows` (integer)

  - `rule_outs.appointment_id` (integer)

  - `rule_outs.app_time` (string)
    ISO 8601 local datetime in the tenant's timezone.
    Example: 2026-01-01T12:05:30

  - `rule_outs.practitioner_id` (integer)

  - `rule_outs.business_id` (integer)

  - `rule_outs.duration` (integer)
    Must be between 5 and 1440 and divisible by 5.

  - `rule_outs.column_number` (integer)

  - `rule_outs.width` (integer)

  - `rule_outs.category` (string)
    Example: Rule Out

  - `total_entries` (integer)

  - `links` (object)

  - `links.self` (string)
    Example: https://api.pracsuite.com/v1/rule_out?page=2

  - `links.previous` (string)
    Example: https://api.pracsuite.com/v1/rule_out?page=1

  - `links.next` (string)
    Example: https://api.pracsuite.com/v1/rule_out?page=3

## Response 400 fields (application/json):

  - `error` (object, required)

  - `error.status` (integer)
    Example: 400

  - `error.code` (string)
    Example: INVALID_PARAMS

  - `error.detail` (string)
    Human readable explanation of the error
    Example: One or more request parameters are invalid.

  - `request_id` (string, required)
    Example: 00000000-0000-0000-0000-000000000000

## Response 401 fields (application/json):

  - `error` (object, required)

  - `error.status` (integer)
    Example: 403

  - `error.code` (string)
    Example: UNAUTHORIZED

  - `error.detail` (string)
    Human readable explanation of the error
    Example: Access could not be verified for this request.

  - `request_id` (string, required)
    Example: 00000000-0000-0000-0000-000000000000

## Response 403 fields (application/json):

  - `error` (object, required)

  - `error.status` (integer)
    Example: 403

  - `error.code` (string)
    Example: MISSING_AUTHENTICATION_TOKEN

  - `error.detail` (string)
    Human readable explanation of the error
    Example: Authentication token is missing or the requested endpoint does not exist

  - `request_id` (string, required)
    Example: 00000000-0000-0000-0000-000000000000

## Response 500 fields (application/json):

  - `error` (object, required)

  - `error.status` (integer)
    Example: 500

  - `error.code` (string)
    Example: SERVER_ERROR

  - `error.detail` (string)
    Human readable explanation of the error
    Example: An unexpected error occurred while processing your request. Please try again in a few minutes. If it keeps happening, contact support with Request ID: 00000000-0000-0000-0000-000000000000.

  - `request_id` (string, required)
    Example: 00000000-0000-0000-0000-000000000000

