> ## Documentation Index > Fetch the complete documentation index at: https://www.bloxs.io/llms.txt > Use this file to discover all available pages before exploring further. # Get persons filtered and paged > Get a paged list of existing persons, optionally filtered to the given parameters. ## OpenAPI ````json POST /api/v1/relations/persons/filter { "openapi": "3.0.4", "info": { "title": "Relations V1", "description": "# Relation API Documentation\n\nWelcome to the Relationship Management API documentation. This API allows you to perform CRUD operations on various relationship types, including Owners, Persons, Suppliers, Estate Agents, and Organisations. \n\n## Authentication \n\nTo access the API, include your API key in the headers. Refer to our authentication documentation for details on obtaining and using your API key. \n\n## CRUD Operations \n\nThe API supports CRUD operations for the following relationship types: \n\n- **Owners**\n- **Persons**\n- **Suppliers**\n- **Estate Agents**\n- **Organisations**\n\nFor each relationship type, you can: \n\n- **GET**: Retrieve a list or apply filters.\n- **POST**: Add a new entry.\n- **PUT**: Update existing details.\n- **PATCH**: Apply partial updates.\n- **DELETE**: Remove an entry.\n\nThank you for choosing our Relation API. If you have any questions or need assistance, please contact our support team. \n", "version": "v1" }, "security": [ {} ], "tags": [ { "name": "Common" }, { "name": "CommunicationFormAPI" }, { "name": "EstateAgentAPI" }, { "name": "Metadata" }, { "name": "OrganisationAPI" }, { "name": "OwnerAPI" }, { "name": "PersonAPI" }, { "name": "RelationTypeAPI" }, { "name": "SupplierAPI" }, { "name": "SupplierTypeAPI" } ], "paths": { "/api/v1/relations/persons/filter": { "post": { "tags": [ "Relations" ], "summary": "Get persons filtered and paged", "description": "Get a paged list of existing persons, optionally filtered to the given parameters.", "operationId": "GetPersonsFilteredPaged", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonSearchRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonSearchResult" } } } } }, "x-d360-narrative-url": "

Get Persons Filtered and Paged (POST)

Retrieves a paged, optionally filtered list of existing persons using a JSON request body.

A developer calls this endpoint to search for persons matching one or more criteria (for example by display name, relation type, address, or date range), or to retrieve the full set of persons in manageable pages when no filter is needed, such as for building a picker list or syncing records into another system.

This endpoint offers a broader set of filter criteria than its GET alternative (GET /api/v1/relations/persons/filter), including filtering by archive date and last-modified date.


Request Fields

Field

Type

Required

Description

paging.pageSize

integer, 1 to 1000, nullable

Optional

The number of persons to return per page. Defaults to 100 when not given.

paging.pageNumber

integer, 1 to 9999, nullable

Optional

The page number to retrieve. Defaults to 1 when not given.

sorting.columnName

string, nullable

Optional

The name of the field to sort the results by.

sorting.order

integer (enum), nullable

Optional

The sort direction. Allowed values: 0 = Ascending, 1 = Descending.

filter.displayName

string, nullable

Optional

Filters on the person's display name.

filter.reference

string, nullable

Optional

Filters on the person's internal identifier (Reference/Code).

filter.externalIdentifier

string, nullable

Optional

Filters on the person's external API identifier.

filter.relationTypeName

string, nullable

Optional

Filters on the relation type assigned to the person.

filter.phoneNumber

string, nullable

Optional

Filters on the person's landline phone number.

filter.mobileNumber

string, nullable

Optional

Filters on the person's mobile phone number.

filter.primaryEmailAddresses

string, nullable

Optional

Filters on the person's primary email address(es).

filter.addressStreetAndHouseNumber

string, nullable

Optional

Filters on the combined street and house number of the person's address, for example \"Bredaseweg 12\".

filter.addressPostalCode

string, nullable

Optional

Filters on the postal code of the person's address.

filter.addressCity

string, nullable

Optional

Filters on the city of the person's address.

filter.addressCountryISOCode

string, nullable

Optional

Filters on the ISO 3166-1 alpha-2 country code of the person's address.

filter.archiveDate.from

string (date-time), nullable

Optional

Inclusive lower bound for filtering on archive date, formatted as ISO 8601 (for example \"2026-01-01T00:00:00Z\"). If omitted, there is no lower bound.

filter.archiveDate.to

string (date-time), nullable

Optional

Inclusive upper bound for filtering on archive date, formatted as ISO 8601. If omitted, there is no upper bound.

filter.lastModified.from

string (date-time), nullable

Optional

Inclusive lower bound for filtering on the date the record was last modified, formatted as ISO 8601. If omitted, there is no lower bound.

filter.lastModified.to

string (date-time), nullable

Optional

Inclusive upper bound for filtering on the date the record was last modified, formatted as ISO 8601. If omitted, there is no upper bound.


Response Fields

Field

Type

Required

Description

paging.pageSize

integer, 1 to 1000, nullable

Optional

The page size used to produce this result set.

paging.pageNumber

integer, 1 to 9999, nullable

Optional

The page number returned in this result set.

sorting.columnName

string, nullable

Optional

The field the results are sorted by.

sorting.order

integer (enum), nullable

Optional

The sort direction applied. Allowed values: 0 = Ascending, 1 = Descending.

persons

array of objects, nullable

Optional

The list of persons matching the filter for this page. See sub-fields below.

persons.displayName

string, nullable

Optional

The formatted display name of the person.

persons.reference

string, nullable

Optional

The internal identifier (Reference/Code) of the person.

persons.externalIdentifier

string, nullable

Optional

The external API identifier of the person, if any.

persons.relationTypeName

string, nullable

Optional

The relation type assigned to the person.

persons.phoneNumber

string, nullable

Optional

The person's landline phone number.

persons.mobileNumber

string, nullable

Optional

The person's mobile phone number.

persons.primaryEmailAddresses

string, nullable

Optional

The person's primary email address(es) as a single semicolon-separated string, for example \"mies@bloxs.com;mies2@bloxs.com\".

persons.addressStreetAndHouseNumber

string, nullable

Optional

The combined street and house number of the person's address, for example \"Bredaseweg 12\".

persons.addressPostalCode

string, nullable

Optional

The postal code of the person's address.

persons.addressCity

string, nullable

Optional

The city of the person's address.

persons.addressCountryISOCode

string, nullable

Optional

The ISO 3166-1 alpha-2 country code of the person's address.

persons.archiveDate

string (date-time), nullable

Optional

The date and time from which the person is archived, formatted as ISO 8601. Null if not archived.

persons.lastModified

string (date-time), nullable

Optional

The date and time the record was last modified, formatted as ISO 8601.

" } } }, "components": { "schemas": { "PersonSearchRequest": { "type": "object", "properties": { "paging": { "$ref": "#/components/schemas/PagingInfo" }, "sorting": { "$ref": "#/components/schemas/SortingInfo" }, "filter": { "$ref": "#/components/schemas/PersonSearchRequestFilter" } }, "additionalProperties": false }, "PersonSearchResult": { "type": "object", "properties": { "paging": { "$ref": "#/components/schemas/PagingInfo" }, "sorting": { "$ref": "#/components/schemas/SortingInfo" }, "persons": { "type": "array", "items": { "$ref": "#/components/schemas/PersonSearchResultFilter" }, "nullable": true } }, "additionalProperties": false }, "PagingInfo": { "type": "object", "properties": { "pageSize": { "maximum": 1000, "minimum": 1, "type": "integer", "format": "int32", "nullable": true }, "pageNumber": { "maximum": 9999, "minimum": 1, "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "SortingInfo": { "type": "object", "properties": { "columnName": { "type": "string", "nullable": true }, "order": { "type": "integer", "description": "Ascending = 0\nDescending = 1", "format": "int32", "x-enumNames": [ "Ascending", "Descending" ] } }, "additionalProperties": false }, "PersonSearchRequestFilter": { "type": "object", "properties": { "displayName": { "type": "string", "nullable": true }, "reference": { "type": "string", "nullable": true }, "externalIdentifier": { "type": "string", "nullable": true }, "relationTypeName": { "type": "string", "nullable": true }, "phoneNumber": { "type": "string", "nullable": true }, "mobileNumber": { "type": "string", "nullable": true }, "primaryEmailAddresses": { "type": "string", "nullable": true }, "addressStreetAndHouseNumber": { "type": "string", "nullable": true }, "addressPostalCode": { "type": "string", "nullable": true }, "addressCity": { "type": "string", "nullable": true }, "addressCountryISOCode": { "type": "string", "nullable": true }, "archiveDate": { "$ref": "#/components/schemas/CompareFilterModelDateTime" }, "lastModified": { "$ref": "#/components/schemas/CompareFilterModelDateTime" } }, "additionalProperties": false }, "PersonSearchResultFilter": { "type": "object", "properties": { "displayName": { "type": "string", "nullable": true }, "reference": { "type": "string", "nullable": true }, "externalIdentifier": { "type": "string", "nullable": true }, "relationTypeName": { "type": "string", "nullable": true }, "phoneNumber": { "type": "string", "nullable": true }, "mobileNumber": { "type": "string", "nullable": true }, "primaryEmailAddresses": { "type": "string", "nullable": true }, "addressStreetAndHouseNumber": { "type": "string", "nullable": true }, "addressPostalCode": { "type": "string", "nullable": true }, "addressCity": { "type": "string", "nullable": true }, "addressCountryISOCode": { "type": "string", "nullable": true }, "archiveDate": { "type": "string", "format": "date-time", "nullable": true }, "lastModified": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CompareFilterModelDateTime": { "type": "object", "properties": { "from": { "type": "string", "format": "date-time", "nullable": true }, "to": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false } } } } ````