> ## 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. # Update a person > Update an existing person. This will fully overwrite the person with the data from the request. ## OpenAPI ````json PUT /api/v1/relations/persons { "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": { "put": { "tags": [ "Relations" ], "summary": "Update a person", "description": "Update an existing person. This will fully overwrite the person with the data from the request.", "operationId": "UpdatePerson", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonUpdate" } } } }, "responses": { "200": { "description": "The person was updated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonDetails" } } } }, "400": { "description": "The person data has validation issues", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIErrorMessageModel" } } } } }, "x-d360-narrative-url": "

Update a Person

Replaces the stored data of an existing person relation with the data supplied in the request.

This operation fully overwrites the person. Any field not included in the request will be cleared, not left unchanged. To update only specific fields, first retrieve the person's current data and include all existing values in the request together with the changes.


Request Fields

Field

Type

Required

Description

reference

string, max 100, nullable

Required (at least one of reference or externalIdentifier must be given)

The internal identifier (Reference/Code) of the person to update. At least one of reference or externalIdentifier is required to locate the record. If both are given, both are used.

externalIdentifier

string, max 100, nullable

Required (at least one of reference or externalIdentifier must be given)

The external API identifier of the person to update. At least one of reference or externalIdentifier is required to locate the record. The value supplied here also becomes the stored external identifier going forward.

lastName

string, max 200

Required

The person's last name (surname).

initials

string, max 20

Optional

The person's initials.

firstName

string, max 200

Optional

The person's first name.

lastNamePrefix

string, max 112

Optional

A name prefix or particle preceding the last name (for example \"van\" or \"de\"), common in Dutch naming conventions.

dateOfBirth

string (date), nullable

Optional

The person's date of birth, formatted as an ISO 8601 date (YYYY-MM-DD), for example \"1985-06-23\".

jobTitle

string, max 256

Optional

The person's job title, relevant when the person acts in a professional capacity (for example as a contact for an organisation).

relationTypeName

string, max 256

Required

The name of the relation type assigned to this person. Valid values can be retrieved from the Get all relation types endpoint.

communicationFormName

string, max 256

Required

The salutation/gender form used to address this person in correspondence, for example Male, Female, or Unknown by default. This value is used to generate standard correspondence expressions such as the salutation line in letters and emails. The list of available values is configurable in Bloxs and can be retrieved from the Get all communication forms endpoint (GET /api/v1/relations/communicationForms).

correspondenceMethod

integer (enum)

Required

How correspondence should be delivered to this person. Allowed values: 1 = Email, 2 = Post. When set to Email, primaryEmailAddresses is mandatory. When set to Post, address is mandatory.

languageISOCode

string, max 2, nullable

Optional

ISO 639-1 two-letter language code (for example \"nl\" or \"en\") determining the language used in correspondence.

address.street

string, max 200

Conditionally required

Street name of the person's main address. Required when correspondenceMethod is set to Post (2).

address.houseNumber

string, max 40, nullable

Optional

House number of the person's main address, including any suffix (for example \"12A\").

address.postalCode

string, max 20

Conditionally required

Postal code of the person's main address. Required when correspondenceMethod is set to Post (2).

address.city

string, max 200

Conditionally required

City of the person's main address. Required when correspondenceMethod is set to Post (2).

address.countryISOCode

string, max 2

Conditionally required

ISO 3166-1 alpha-2 country code of the person's main address, for example \"NL\". Required when correspondenceMethod is set to Post (2).

invoiceAddress.street

string, max 200

Required (if invoiceAddress is set)

Street name of the address to use for invoicing this person, if different from the main address.

invoiceAddress.houseNumber

string, max 40, nullable

Optional

House number of the invoice address, including any suffix.

invoiceAddress.postalCode

string, max 20

Required (if invoiceAddress is set)

Postal code of the invoice address.

invoiceAddress.city

string, max 200

Required (if invoiceAddress is set)

City of the invoice address.

invoiceAddress.countryISOCode

string, max 2

Required (if invoiceAddress is set)

ISO 3166-1 alpha-2 country code of the invoice address.

postalAddress.street

string, max 200

Required (if postalAddress is set)

Street name of the postal correspondence address, if different from the main address.

postalAddress.houseNumber

string, max 40, nullable

Optional

House number of the postal address, including any suffix.

postalAddress.postalCode

string, max 20

Required (if postalAddress is set)

Postal code of the postal address.

postalAddress.city

string, max 200

Required (if postalAddress is set)

City of the postal address.

postalAddress.countryISOCode

string, max 2

Required (if postalAddress is set)

ISO 3166-1 alpha-2 country code of the postal address.

phoneNumber

string, nullable

Optional

The person's landline phone number.

mobileNumber

string, nullable

Optional

The person's mobile phone number.

primaryEmailAddresses

array of string, nullable

Conditionally required

The person's primary email address(es), used for general correspondence. Required when correspondenceMethod is set to Email (1).

invoicesEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive invoices for this person.

paymentRemindersEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive payment reminder correspondence.

indexationsEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive rent or fee indexation notices.

serviceTicketsEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive service or maintenance ticket correspondence.

purchaseOrdersEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive purchase order correspondence.

portalsEmailAddresses

array of string, nullable

Optional

Email address(es) used for portal-related notifications.

otherEmailAddresses

array of string, nullable

Optional

Any additional email address(es) not covered by the categories above.

cocNumber

string, max 256, nullable

Optional

Chamber of Commerce (KVK-style) registration number for the person, where applicable (for example a sole proprietor).

cocDescription

string, nullable

Optional

Free-text description associated with the Chamber of Commerce registration.

vatNumber

string, max 256, nullable

Optional

The person's VAT identification number, used for invoicing and determining VAT/reverse-charge treatment where applicable.

identificationTypes

array of objects, nullable

Optional

Identification documents to store for this person. This array fully replaces any previously stored entries. If the person currently has identification types stored and this field is omitted from the update, the stored identification types are cleared. See sub-fields below.

identificationTypes.identificationTypeItemName

string, max 256

Required (within each entry)

The type of identification document, for example \"Passport\" or \"Driving Licence\".

identificationTypes.identificationNumber

string, max 100

Required (within each entry)

The document number for the identification entry.

remarks

string, nullable

Optional

Free-text internal remarks about the person.


Response Fields

Field

Type

Required

Description

reference

string, max 100

Optional

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

externalIdentifier

string, max 100

Optional

The external API identifier stored for this person, if any.

displayName

string

Optional

The formatted display name generated by Bloxs, composed from initials, first name, last name prefix, and last name.

initials

string, max 20

Optional

The person's initials.

firstName

string, max 200

Optional

The person's first name.

lastNamePrefix

string, max 112

Optional

A name prefix or particle preceding the last name.

lastName

string, max 200

Required

The person's last name (surname).

dateOfBirth

string (date), nullable

Optional

The person's date of birth, formatted as an ISO 8601 date (YYYY-MM-DD).

jobTitle

string, max 256

Optional

The person's job title.

relationTypeName

string, max 256

Required

The relation type assigned to this person.

communicationFormName

string, max 256

Required

The salutation/gender form used to address this person in correspondence.

correspondenceMethod

integer (enum)

Required

How correspondence is delivered to this person. Allowed values: 1 = Email, 2 = Post.

languageISOCode

string, max 2, nullable

Optional

ISO 639-1 two-letter language code determining the correspondence language.

address.street

string, max 200

Conditionally required

Street name of the person's main address.

address.houseNumber

string, max 40, nullable

Optional

House number of the person's main address, including any suffix.

address.postalCode

string, max 20

Conditionally required

Postal code of the person's main address.

address.city

string, max 200

Conditionally required

City of the person's main address.

address.countryISOCode

string, max 2

Conditionally required

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

invoiceAddress.street

string, max 200

Required (if invoiceAddress is set)

Street name of the invoice address.

invoiceAddress.houseNumber

string, max 40, nullable

Optional

House number of the invoice address.

invoiceAddress.postalCode

string, max 20

Required (if invoiceAddress is set)

Postal code of the invoice address.

invoiceAddress.city

string, max 200

Required (if invoiceAddress is set)

City of the invoice address.

invoiceAddress.countryISOCode

string, max 2

Required (if invoiceAddress is set)

ISO 3166-1 alpha-2 country code of the invoice address.

postalAddress.street

string, max 200

Required (if postalAddress is set)

Street name of the postal address.

postalAddress.houseNumber

string, max 40, nullable

Optional

House number of the postal address.

postalAddress.postalCode

string, max 20

Required (if postalAddress is set)

Postal code of the postal address.

postalAddress.city

string, max 200

Required (if postalAddress is set)

City of the postal address.

postalAddress.countryISOCode

string, max 2

Required (if postalAddress is set)

ISO 3166-1 alpha-2 country code of the postal address.

phoneNumber

string, nullable

Optional

The person's landline phone number.

mobileNumber

string, nullable

Optional

The person's mobile phone number.

primaryEmailAddresses

array of string, nullable

Conditionally required

The person's primary email address(es).

invoicesEmailAddresses

array of string, nullable

Optional

Email address(es) that receive invoices for this person.

paymentRemindersEmailAddresses

array of string, nullable

Optional

Email address(es) that receive payment reminder correspondence.

indexationsEmailAddresses

array of string, nullable

Optional

Email address(es) that receive rent or fee indexation notices.

serviceTicketsEmailAddresses

array of string, nullable

Optional

Email address(es) that receive service or maintenance ticket correspondence.

purchaseOrdersEmailAddresses

array of string, nullable

Optional

Email address(es) that receive purchase order correspondence.

portalsEmailAddresses

array of string, nullable

Optional

Email address(es) used for portal-related notifications.

otherEmailAddresses

array of string, nullable

Optional

Any additional email address(es) not covered by the categories above.

cocNumber

string, max 256, nullable

Optional

Chamber of Commerce (KVK-style) registration number, where applicable.

cocDescription

string, nullable

Optional

Free-text description associated with the Chamber of Commerce registration.

vatNumber

string, max 256, nullable

Optional

The person's VAT identification number.

identificationTypes

array of objects, nullable

Optional

Identification documents stored for this person after the update. Empty or omitted if cleared by the update. See sub-fields below.

identificationTypes.identificationTypeItemName

string, max 256

Required (within each entry)

The type of identification document, for example \"Passport\".

identificationTypes.identificationNumber

string, max 100

Required (within each entry)

The document number for the identification entry.

remarks

string, nullable

Optional

Free-text internal remarks about the person.

archiveDate

string (date), nullable

Optional

The date from which the person is archived, formatted as an ISO 8601 date (YYYY-MM-DD). Null if the person is not archived.

" } } }, "components": { "schemas": { "PersonUpdate": { "required": [ "communicationFormName", "correspondenceMethod", "lastName", "relationTypeName" ], "type": "object", "properties": { "languageISOCode": { "maxLength": 2, "minLength": 0, "type": "string", "nullable": true }, "address": { "$ref": "#/components/schemas/Address" }, "invoiceAddress": { "$ref": "#/components/schemas/Address" }, "postalAddress": { "$ref": "#/components/schemas/Address" }, "primaryEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "invoicesEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "paymentRemindersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "indexationsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "serviceTicketsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "purchaseOrdersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "portalsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "otherEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "externalIdentifier": { "maxLength": 100, "minLength": 0, "type": "string", "nullable": true }, "phoneNumber": { "type": "string", "nullable": true }, "mobileNumber": { "type": "string", "nullable": true }, "cocNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "cocDescription": { "type": "string", "nullable": true }, "vatNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "correspondenceMethod": { "type": "integer", "description": "Email = 1\nPost = 2", "format": "int32", "x-enumNames": [ "Email", "Post" ] }, "remarks": { "type": "string", "nullable": true }, "relationTypeName": { "maxLength": 256, "minLength": 0, "type": "string" }, "communicationFormName": { "maxLength": 256, "minLength": 0, "type": "string" }, "initials": { "maxLength": 20, "minLength": 0, "type": "string", "nullable": true }, "firstName": { "maxLength": 200, "minLength": 0, "type": "string", "nullable": true }, "lastName": { "maxLength": 200, "minLength": 0, "type": "string" }, "lastNamePrefix": { "maxLength": 112, "minLength": 0, "type": "string", "nullable": true }, "dateOfBirth": { "type": "string", "format": "date", "nullable": true }, "jobTitle": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "identificationTypes": { "type": "array", "items": { "$ref": "#/components/schemas/IdentificationType" }, "nullable": true }, "reference": { "maxLength": 100, "minLength": 0, "type": "string", "nullable": true } }, "additionalProperties": false }, "PersonDetails": { "required": [ "communicationFormName", "correspondenceMethod", "lastName", "relationTypeName" ], "type": "object", "properties": { "languageISOCode": { "maxLength": 2, "minLength": 0, "type": "string", "nullable": true }, "address": { "$ref": "#/components/schemas/Address" }, "invoiceAddress": { "$ref": "#/components/schemas/Address" }, "postalAddress": { "$ref": "#/components/schemas/Address" }, "primaryEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "invoicesEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "paymentRemindersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "indexationsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "serviceTicketsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "purchaseOrdersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "portalsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "otherEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "externalIdentifier": { "maxLength": 100, "minLength": 0, "type": "string", "nullable": true }, "phoneNumber": { "type": "string", "nullable": true }, "mobileNumber": { "type": "string", "nullable": true }, "cocNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "cocDescription": { "type": "string", "nullable": true }, "vatNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "correspondenceMethod": { "type": "integer", "description": "Email = 1\nPost = 2", "format": "int32", "x-enumNames": [ "Email", "Post" ] }, "remarks": { "type": "string", "nullable": true }, "relationTypeName": { "maxLength": 256, "minLength": 0, "type": "string" }, "communicationFormName": { "maxLength": 256, "minLength": 0, "type": "string" }, "initials": { "maxLength": 20, "minLength": 0, "type": "string", "nullable": true }, "firstName": { "maxLength": 200, "minLength": 0, "type": "string", "nullable": true }, "lastName": { "maxLength": 200, "minLength": 0, "type": "string" }, "lastNamePrefix": { "maxLength": 112, "minLength": 0, "type": "string", "nullable": true }, "dateOfBirth": { "type": "string", "format": "date", "nullable": true }, "jobTitle": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "identificationTypes": { "type": "array", "items": { "$ref": "#/components/schemas/IdentificationType" }, "nullable": true }, "reference": { "maxLength": 100, "minLength": 0, "type": "string", "nullable": true }, "displayName": { "type": "string", "nullable": true }, "archiveDate": { "type": "string", "format": "date", "nullable": true } }, "additionalProperties": false }, "APIErrorMessageModel": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "traceId": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32" }, "errors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" }, "nullable": true }, "nullable": true } }, "additionalProperties": false }, "Address": { "required": [ "city", "countryISOCode", "postalCode", "street" ], "type": "object", "properties": { "street": { "maxLength": 200, "minLength": 0, "type": "string" }, "houseNumber": { "maxLength": 40, "minLength": 0, "type": "string", "nullable": true }, "postalCode": { "maxLength": 20, "minLength": 0, "type": "string" }, "city": { "maxLength": 200, "minLength": 0, "type": "string" }, "countryISOCode": { "maxLength": 2, "minLength": 0, "type": "string" } }, "additionalProperties": false }, "IdentificationType": { "required": [ "identificationNumber", "identificationTypeItemName" ], "type": "object", "properties": { "identificationTypeItemName": { "maxLength": 256, "minLength": 0, "type": "string" }, "identificationNumber": { "maxLength": 100, "minLength": 0, "type": "string" } }, "additionalProperties": false } } } } ````