# AssociatedRecords
Get the records associated with an object record
Custom objects are only available to Enterprise plans.
This feature is in beta. These are subject to change.
Returns the records associated with a single source record. Associations of every type are returned together in one paginated list, ordered by association creation time with the most recently created association first.
**Identifying the source record**
Provide exactly one of `id`, `ext_id`, `email` or `sms`. Passing none of them, or more than one, returns `400`. `email` and `sms` are only accepted when `object_type` is `contact`; using either with any other object type returns `400`.
**Object types**
Use the object type exactly as it is defined in your account, for example `vehicle` for a custom object of that name, or `contact` for contacts. An object type that does not exist in your account returns `400`.
**Filtering by associated object type**
Use `type` to restrict the response to one or more associated object types, for example `?type=contact&type=garage`. Up to 5 types can be requested per call; more returns `400`. When `type` is omitted, associations of every type are returned.
**Pagination**
Results are returned 20 per page. The page size is fixed and cannot be changed. Increase `offset` by 20 to walk through the pages until `has_more` is `false`. An `offset` beyond the last record returns an empty `items` array with `has_more` set to `false`.
**Working with contacts**
- `contact` is supported both as the source `object_type` and as an associated object type.
- An `id`, `ext_id`, `email` or `sms` that matches no contact returns `404`.
- If several contacts share the same `ext_id`, `email` or `sms`, identify the contact by `id` to be sure of which one is used.
- Contacts returned in `items` carry all of the contact's attributes, with attribute keys in lowercase — `email`, `first_name`, `last_name`, `sms`, `ext_id`, and any other contact attribute lowercased.
- For contacts, `ext_id`, `created_at` and `updated_at` are not returned on `object`. A contact's external ID is available as `attributes.ext_id` when it is set.
- Catalog: `Brevo`
- Schema: `CustomObjects`
This is a read-only table function. The Brevo API may not support changing the data or the Invantive UniversalSQL driver for Brevo does not cover it. In the latter case, please use the table NativePlatformScalarRequests to upload data to the Brevo API.
## Parameters of Table Function
The following parameters can be used to control the behaviour of the table function `AssociatedRecords`. A value must be provided at all times for required parameters, but optional parameters in general do not need to have a value and the execution will default to a pre-defined behaviour. Values can be specified by position and by name. In both cases, all parameters not specified will be evaluated using their default values.
Value specification by position is done by listing all values from the first to the last needed value. For example: a `select * from table(value1, value2, value3)` on a table with four parameters will use the default value for the fourth parameter and the specified values for the first three.
Value specification by name is done by listing all values that require a value. For example with `select * from table(name1 => value1, name3 => value3)` on the same table will use the default values for the second and fourth parameters and the specified values for the first and third.
| Name | Data Type | Required | Default Value | Documentation |
|---|:---:|:---:|:---:|---|
| `email` | `` | ☐ | | Email address of the source contact. Only accepted when `object_type` is `contact`. Provide exactly one of `id`, `ext_id`, `email` or `sms`. |
| `ext_id` | `` | ☐ | | External ID of the source record in your system. Provide exactly one of `id`, `ext_id`, `email` or `sms`. |
| `id` | `` | ☐ | | Internal Brevo ID of the source record. Must be a positive integer. Provide exactly one of `id`, `ext_id`, `email` or `sms`. |
| `object_type` | `` | ☑ | | Object type of the source record, exactly as defined in your account. Accepts any object type defined in the account, for example a custom object type or `contact`. |
| `sms` | `` | ☐ | | Phone number of the source contact, including the country code. It may be given with or without a leading `+`; percent-encode the `+` as `%2B`, because a literal `+` in a query string is read as a space. Only accepted when `object_type` is `contact`. Provide exactly one of `id`, `ext_id`, `email` or `sms`. |
## Columns of Table Function
The columns of the table function `AssociatedRecords` are shown below. Each column has an SQL data type.
| Name | Data Type | Label | Required | Documentation |
|---|:---:|---|:---:|---|
| `has_more` | `char` | | ☐ | `true` when at least one more associated record exists after this page. |
| `offset` | `int64` | | ☐ | The offset that was requested. |