Create and manage Contacts in Xero via the Accounting API

domain: developer.xero.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. POST /api.xro/2.0/Contacts with a JSON or XML body containing at least 'Name'; for a supplier or customer set 'IsSupplier' or 'IsCustomer' to true
  2. Include 'EmailAddress', 'Phones', and 'Addresses' arrays for full contact records; validate that phone and address types match Xero's enumerated values
  3. GET /api.xro/2.0/Contacts?where=Name.StartsWith("Acme") to search by name, or use ?IDs=guid1,guid2 to fetch specific contacts
  4. To update a contact, POST to /api.xro/2.0/Contacts/{ContactID} with the modified fields; Xero uses POST for both create and update on this endpoint
  5. Attach a ContactGroup to categorise contacts: POST /api.xro/2.0/ContactGroups/{ContactGroupID}/Contacts with a Contacts array
  6. Use If-Modified-Since header on GET to retrieve only contacts changed since a given datetime for incremental sync

Known gotchas

Related routes

Create and manage Xero Repeating Invoices via the Accounting API
developer.xero.com · 5 steps · unrated
Create Manual Journals in Xero via the Accounting API
developer.xero.com · 6 steps · unrated
Create an invoice in Xero with OAuth 2.0 multi-tenant handling
developer.xero.com · 6 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans