Get all departments

Fetch a list of all departments for your account
Written by Konstantine
Updated 6 months ago

You can get a list of all departments for your HelpCrunch account. You may need this to get the id of the department you want to assign the chat to.

➡️ Request

URL https://api.helpcrunch.com/v1/departments
Method GET
Headers Authorization: Bearer <your_api_key>

Read more about authorization header here.


✅ Successful Response

If your request has succeeded, you'll get a 200 OK success status code together with the following response body.

{
  "data": [
    {
      "id": 542335,
      "name": "string",
      "agents": [
        {
          "id": 542335,
          "name": "string",
          "email": "string",
          "role": "admin"
        }
      ]
    }
  ],
  "meta": {
    "total": 0
  }
}

You can get details on every Department Object field in the Department model article.

How to get all departments

By default, this method returns only the first 100 departments. To get a different set of departments, you should use the offset and limit parameters in the query string of the GET request.

Default limit is 100 and it can not be bigger than that. Default offset is 0

To page through all the available departments, first, use the meta section of the JSON response to get the total number of chats.

Send subsequent requests with increasing offsets and a fixed limit until you get all the data.  

https://api.helpcrunch.com/departments?offset=100&limit=100
https://api.helpcrunch.com/departments?offset=200&limit=100
https://api.helpcrunch.com/departments?offset=300&limit=100
...

The overall requests limit is 120 per minute

🛑 Error Responses

You may get one of the following error status codes and responses. More info on the errors is available here.

400 Bad Request

{
  "errors": [
    {
      "code": "invalid_request",
      "message": "Invalid request"
    },
    {
      "code": "customer",
      "message": "This value should be of type numeric."
    },
    {
      "code": "filter[0].field",
      "message": "This value should not be blank."
    }
  ]
}

401 Unauthorized

{
  "errors": [
    {
      "code": "invalid_request",
      "message": "Invalid request"
    },
    {
      "code": "unauthorized",
      "message": "Unauthorized"
    }
  ]
}

429 Too Many Requests

{
  "errors": [
    {
      "code": "invalid_request",
      "message": "Invalid request"
    },
    {
      "code": "too_many_requests",
      "message": "Too many requests"
    }
  ]
}

If you have any questions regarding the REST API, feel free to chat us any time.

👩‍💻 Happy Coding! 👨‍💻

Did this answer your question?