Get Contact Endpoint
Retrieve a single contact by exact code, with its full addressbook.
- HTTP Method: GET
-
Endpoint:
https://app.evolutionerp.com.au/api/getContact/{contact_code}
Example
GET /api/getContact/C64EFB7
By default the code in the URL is matched against contacts.code.
Add ?target=id to match against the internal client ID instead:
GET /api/getContact/5?target=id
Response Fields
status_label- Human-readable form of
status—"Active"or"Suspended". account_type- One of
"Customer","Supplier","Customer & Supplier"or"Unclassified", derived from the account’s independent customer/supplier flags — an account can be both. custgroup_label"General"or"Wholesale"pricing group.salesperson- Name of the staff member assigned to the account, where set.
climit- Credit limit on file for the account.
addressbook- Every person recorded against the account:
id,salutation,name,role,department,telephone,mobile,email,email2,status_label.
Example Response
{
"clientid": 5,
"code": "C64EFB7",
"company": "Summit Concrete Co",
"status": 1,
"status_label": "Active",
"account_type": "Customer & Supplier",
"custgroup_label": "Wholesale",
"abn": "65017090335",
"address4": "SYDNEY",
"state": "NSW",
"telephone": "0475995169",
"email": "accounts@example.com",
"salesperson": null,
"terms": "30",
"climit": 25000.00,
"discount": 0,
"stopcred": 0,
"addressbook": [
{
"id": 2246,
"salutation": "Ms",
"name": "Anthony Baker",
"role": "Asset Manager",
"department": "",
"telephone": "",
"mobile": "0443951731",
"email": "abaker@example.com",
"email2": "",
"status_label": "Active"
}
]
}
Setting the Xmlresponse header returns the same shape as XML, with
addressbook entries nested under <Addressbook>.
Search Contact Endpoint
Search the contact book using fuzzy, multi-keyword matching against company name, contact name, code and trading name, with optional account-type filtering and pagination.
- HTTP Method: GET
-
Endpoint:
https://app.evolutionerp.com.au/api/searchContact
Query Parameters
- q
- Search keywords (matches company, first/last name, code, trading name)
- type
clientorsupplier— restrict results to that account type- limit
- Maximum results (default 20, max 100)
- offset
- Pagination offset
- debug
- Returns unformatted debug output
Examples
/api/searchContact?q=summit
/api/searchContact?q=summit&type=client
/api/searchContact?q=summit&limit=10&offset=10
Search results deliberately do not include the full
addressbook array (that is a per-account detail call) — each
row instead carries an addressbook_count so you know whether it is
worth calling getContact for the full list.
Example Response
{
"query": "summit",
"count": 2,
"limit": 20,
"offset": 0,
"contacts": [
{
"clientid": 4,
"code": "CB4EDBC",
"company": "Summit Steel Pty Ltd",
"status": 1,
"status_label": "Active",
"account_type": "Customer & Supplier",
"address4": "WALLSEND",
"state": "NSW",
"telephone": "0462342921",
"email": "accounts@example.com",
"salesperson": null,
"addressbook_count": 35
},
{
"clientid": 5,
"code": "C64EFB7",
"company": "Summit Concrete Co",
"status": 1,
"status_label": "Active",
"account_type": "Customer & Supplier",
"address4": "SYDNEY",
"state": "NSW",
"telephone": "0475995169",
"email": "accounts@example.com",
"salesperson": null,
"addressbook_count": 103
}
]
}
Authentication
Contact endpoints use the same HTTP Basic Authentication as the rest of the API.
- Username: Company Code
- Password: Access Token
Required Headers
Accept: application/json
Tenantid: TENANT123
Authorization: Basic QklPQUNUMDE6Yzc4ZDljYWNiNWQ0YTRkYzhkZTc...
Optional Headers
If this header exists the endpoint will return XML where available, otherwise the API returns JSON
Xmlresponse: 1 {any value}
Rate Limiting
To protect the API, rate limits are enforced per client.
- searchContact: 20 requests per minute
- getContact: 60 requests per minute
HTTP/1.1 429 Too Many Requests
Error Responses
- 400 – Invalid or missing parameters
- 401 – Authentication failure
- 403 – Invalid Tenant ID
- 404 – Contact not found
- 429 – Rate limit exceeded
- 500 – Internal server error
Security Notes
- Always use HTTPS when accessing the API
- Never expose access tokens publicly
- Do not call the API from client-side JavaScript
- Rotate access tokens if compromised
- Contact records include personal information (names, phone numbers, emails) — handle responses accordingly
See Also
Looking for inventory endpoints instead? See Basic API (Inventory Endpoints).
Support
For assistance with API access, authentication, or contact queries, please contact Evolution ERP Support.