Skip to main content
PATCH
Update Relation

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

relation_uuid
string
required

Query Parameters

ignore_duplicate
boolean | null

Goes through even when the result would give this company the same vat, identifier or electronic_address as another one (otherwise refused with 409 duplicate_relation). Companies only: passing it on a contact is refused, since there is no such check to waive. Never stored.

Body

application/json

The editable part of a relation. Every field is optional: only the ones actually present in the request body are applied, so omitting a field leaves it untouched.

Unlike create this is a single model, because type is not editable — a relation cannot move from RELCOMPANIES to RELCONTACTS. It therefore declares the fields of both types, and one that does not apply to the relation being updated is refused with field_not_editable. A request that breaks a rule changes nothing at all.

Sending null clears a field, except for the ones create makes mandatory (name on a company, first_name on a contact): the update endpoint must not be able to produce a relation the create endpoint would have refused.

type
string | null

Read-only after creation.

email
string | null

Primary email address.

Maximum string length: 245
phone
string | null

Phone number.

Maximum string length: 45
language
string | null

Preferred language, one of ['fr', 'en', 'nl', 'de'].

address
AddressUpdate · object | null

Address fields to change, merged into the stored address (see below). null is refused: a relation always has an address.

name
string | null

Company name. Companies only — a contact's name is derived from its first_name/last_name.

Required string length: 1 - 245
vat
string | null

VAT number. Companies only.

Maximum string length: 45
identifier
string | null

Legal registration / party identifier. Companies only.

Maximum string length: 45
electronic_address
string | null

Peppol electronic address. Companies only.

Maximum string length: 60
is_customer
boolean | null

Whether it is a customer. Companies only.

is_supplier
boolean | null

Whether it is a supplier. Companies only.

first_name
string | null

First name. Contacts only.

Required string length: 1 - 245
last_name
string | null

Last name. Contacts only.

Maximum string length: 245

Response

Successful Response

A business third party. Carries the fields an individual has no equivalent of (vat, identifier, electronic_address, is_customer, is_supplier), and none of the contact-only ones — first_name/last_name are simply absent from the response.

id
string
required

Opaque unique identifier of the relation.

type
string
required

Relation type, always company here.

Allowed value: "company"
name
string | null

Display name. Company name for company, full name for contact.

email
string | null

Primary email address.

phone
string | null

Phone number.

language
string | null

Preferred language, one of ['fr', 'en', 'nl', 'de'].

address
AddressOut · object | null

Postal address, if known.

vat
string | null

VAT number, prefixed with the ISO country code.

identifier
string | null

Legal registration / party identifier.

electronic_address
string | null

Electronic address used to send invoices over Peppol.

is_customer
boolean | null

true if this company is a customer.

is_supplier
boolean | null

true if this company is a supplier.