REST API Reference

How to use

HelpCrunch provides you with a public API that can be used to add and update data of your customers without having them load a HelpCrunch widget.

To enable access to your organization API, you need to get your HelpCrunch organization API key first.

You can generate it in your HelpCrunch account at SettingsDevelopersGenerate Api Key and then copy it from the input below:

After that you need to add this key in Authorization header in your API requests like this:

Header: Authorization
Value: Bearer api-key="d0c538f41faf9c4d0c8fe7d020abca08ccb37a2f"

All your requests will be sent to your HelpCrunch organization domain to urls like this:

All customer data must be sent in JSON format inside the request body.
Check the add customer method overview below to see the full request example.
Also, check the full customer fields list.

Add new customer

For example, you want to add your new customer, Ivan Dobsky to your HelpCrunch account.
The API request for it will look like this:
Method: PATCH
Headers: Authorization: Bearer api-key=”842699d800d4df44831d8968ecfda46367717109″
Body (JSON):

    "user_id": "19638",
    "name": "Ivan Dobsky",
    "company": "Microsoft",
    "email": "",
    "source": "",
    "first_seen": "2011-11-12 12:12:12",
    "unsubscribed": false,
    "notes": "Any text notes about your user",
    "status": 1,
    "custom_data": {
      "current_subscription": "suspended",
      "money_spent": 4000,
      "registration_data": "2017-10-05",
      "used_paycode": true


  • You will get “204 No Content” if everything is okay (and you can check that user data is imported at your contacts page)
  • You will get “401 Unauthorized” if api-key in Authorization header is wrong or absent
  • You will get “422 Unproccessable Entity” and “Request is not valid. Syntax error” if you use wrong customers data structure

Update customer

The request to update that user will look just the same as add customer request, provided you will use the same “user_id” field.

Important note:
Please, be aware, that if no user ID is specified a new user will always be generated.

Important note:
Also, please, keep in mind that “user_id” in HelpCrunch is a string, so don’t pass there things like “null”, “0”, “-1”, etc.

Update multiple customers

To update multiple users at once, you can use the same request as add/update customer and just add other users in request JSON body separated by commas:

    "user_id": "123",
    "name": "Ivan Dobsky",
    "user_id": "124",
    "name": "Jane Doe",
    "user_id": "125",
    "name": "John Doe",

Customer fields and format

This is the list of the customer fields you can send to HelpCrunch with add customer method.

User structure:

  • user_id: string – needed for user update / optional for new user – unique user ID, there are a lot of tricks here, please check the user authentication mode section to be sure you do everything right
  • email: string – optional – must be a valid email, not unique
  • name: string – optional – any string, not unique
  • company: string – optional – any string, not unique
  • phone: string – optional – any string, not unique, no checks for number
  • source: string – optional – url string, not unique, it’s the web page on your site what your customer opened first
  • referrer: string – optional – url string, not unique, it’s about the web page from which the user came to your application
  • first_seen: string – optional – date string, in “YYYY-MM-DD HH:MM:SS” format, it’s when your customer first appeared at your project
  • heard_from: string – optional – date string, in “YYYY-MM-DD HH:MM:SS” format, last time when your customer messaged you
  • blocked: string – optional – boolean, block email from that customer
  • unsubscribed: string – optional – boolean, do not send auto-messages to this customer
  • status: string – optional – number (1 – new, 2 – open, 3 – pending, 4 – hold, 5 – no communication, 6 – resolved, 7 – rejected)
  • custom_data: object – optional – an object with random key/value pairs, where value cannot be another object or array, be aware that all keys your pass there will appear as filters in your HelpCrunch account’s advanced search. Read more about it in the custom data section

Get your agents info

You can get data about your team from HelpCrunch REST API. For example you want to make a dashboard with active agents, so you can see if no agents are online and show a red light on your office monitor screen.
You’ll need to make API request like one below and check an “offline” field:
Method: GET
Headers: Authorization: Bearer api-key=”842699d800d4df44831d8968ecfda46367717109″


"id": 1395,
"login": "",
"email": "",
"name": "Test Agent",
"role": "agent",
"disabled": false,
"mail_from": "",
"mail_from_name": "Test Agent",
"default_mail_subject": "You have a new message from Test Agent",
"reply_to": "",
"reply_to_name": "Test Agent",
"info_boxes": [],
"chat_rating_counters": {
"total": 2,
"great": 2,
"average": 0,
"poor": 0
"visible_in_chat": true,
"departments": [
"online": false

Team / organization status

You can get data about your team being online / offline and basic data of your organization by this API request:
Method: GET
Headers: Authorization: Bearer api-key=”842699d800d4df44831d8968ecfda46367717109″


"id": 135,
"name": "your-organization",
"domain": "your-organization",
"team_online": false,
"chat_enabled": true