Contacts
Contacts represent the people and organisations you trade with — customers who receive your invoices and suppliers who send you bills. Every invoice must reference a contact, so you will typically create contacts before issuing invoices.
A contact can be a customer, a supplier, or both. Filtering by type uses inclusive matching: when you filter for customers, contacts marked both are included in the results alongside pure customers.
Contacts support UK banking details (sort code, account number, IBAN) for payment tracking and optional VAT registration numbers for compliance. The default payment terms (30 days) and currency (GBP) can be overridden per contact.
Deletion follows a safe pattern: if a contact has linked invoices, the DELETE endpoint deactivates them instead of removing data. Contacts with no invoices are permanently deleted. Deactivated contacts remain in the system for audit and reporting purposes but are excluded from active lists by default.
Metadata follows merge semantics on update — send a key with a null value to remove it, or a string value to add/replace it. Keys prefixed _sb_ are reserved for system use.
Endpoints
https://app.speybooks.com/api/v1/contacts/ List contacts POST https://app.speybooks.com/api/v1/contacts/ Create a contact GET https://app.speybooks.com/api/v1/contacts/{id} Get contact details PUT https://app.speybooks.com/api/v1/contacts/{id} Update a contact DELETE https://app.speybooks.com/api/v1/contacts/{id} Deactivate a contact GET https://app.speybooks.com/api/v1/contacts/{id}/summary Get contact financial summary