Evolution ERP Documentation

Evolution ERP API – Contact Endpoints

Retrieve a single customer/supplier account by code, or search the contact book with fuzzy, keyword-based matching — including the people (addressbook entries) at each account.

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
client or supplier — 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.