Skip to content

Quick Start

This guide takes you from zero to a working, authenticated request against your own SMBcrm account/location: a token, a base URL, and one API call. It takes about five minutes.

The fastest path is a Private Integration Token (PIT), created from your SMBcrm account’s settings. Choose only the scopes you need. For this guide, a read-only scope like contacts.readonly is enough.

See Private Integration Tokens for exactly where to generate one and how to store it.

Every request goes to the same base URL and needs the same two headers:

https://services.smbcrm.com
Header Value
Authorization Bearer <token>
Version v3

Add Content-Type: application/json on any request that sends a body. That’s the whole contract. See Base URL & Headers for versioning, pagination, and rate-limit details.

Searching contacts is a good first call: it only needs your token and your account/location ID, and it doesn’t change any data.

POST/contacts/search

Search contacts in your account/location.

scope contacts.readonlyauth Location token or PIT
Terminal window
curl -X POST https://services.smbcrm.com/contacts/search \
-H "Authorization: Bearer <token>" \
-H "Version: v3" \
-H "Content-Type: application/json" \
-d '{
"locationId": "<location_id>",
"pageLimit": 5
}'
200 OK
{
"contacts": [
{ "id": "<contact_id>", "firstName": "Jordan", "email": "[email protected]" }
],
"total": 1
}

A contacts array back, even an empty one, means your token, headers, and base URL are all correct.