Create a contact
POST
https://app.speybooks.com/api/v1/contacts/Creates a new contact. Only contactType and name are
required; all other fields are optional and default to sensible
values (country defaults to United Kingdom, payment terms to 30
days, currency to GBP).
The email field accepts an empty string to explicitly clear a
previously set email. All other optional fields accept null.
Contacts are not deduplicated: creating two contacts with the same name or email yields two separate records.
Body parameters
contactTypestringrequiredOne of
customer, supplier, or both. Determines which transaction flows the contact participates in. Contacts marked both appear in both customer and supplier filtered lists.namestringrequiredPrimary display name. Required. Used for search matching alongside company and email.
addressLine1stringoptionalFirst line of the postal address.
addressLine2stringoptionalSecond line of the postal address.
bankAccountstringoptionalBank account number. Optional, for payment reference.
bankIbanstringoptionalInternational Bank Account Number. Optional, for international payments.
bankNamestringoptionalName of the contact's bank. Optional, for payment reference.
bankSortCodestringoptionalUK sort code. Optional, for payment reference.
citystringoptionalCity or town.
companystringoptionalOptional company or trading name. Searched alongside name and email in list queries.
countrystringoptionalCountry name. Defaults to
United Kingdom on creation.currencystringoptionalISO 4217 currency code. 3 characters, defaults to
GBP. Determines the currency used on invoices for this contact.emailstringoptionalOptional email address. Validated format when provided. Used for invoice delivery.
isActivestringoptionalWhether the contact is active. Inactive contacts are hidden from default list queries but retained for audit. Set to
false automatically when a contact with invoices is deleted.metadatastringoptionalCustom key-value pairs. Max 50 keys, values must be strings. Keys prefixed
_sb_ are reserved. Uses merge semantics on update; send null to remove a key.notesstringoptionalFree-text notes. Up to 2,000 characters. Not visible on invoices.
paymentTermsstringoptionalDefault payment terms in days. Integer 0–365, defaults to 30. Applied when creating invoices for this contact.
phonestringoptionalOptional phone number. Free-text, no format validation.
postalCodestringoptionalPostal code or ZIP code.
regionstringoptionalCounty, region, or state.
vatNumberstringoptionalVAT registration number. Free-text, no format validation. Used on invoices for compliance.
Response
201Contact created. Returns the prefixed ID and name.
Show response fields
idstringnamestringError codes
400Validation error in contact data or metadata.