Skip to content

Introduction

Crewsum gives you two ways to connect your own systems to your Crewsum account:

  • The customer API is a REST API over HTTPS. Your system calls it to read and change Crewsum data, such as clients, projects, tasks, users, and timesheets.
  • Webhooks work in the other direction. Crewsum sends an HTTP POST request to a URL that you own when something changes, such as when a timesheet is submitted or a client is created.

Most integrations use both. Use webhooks to find out that something changed, and use the API to read more data or to write changes back.

These guides are for developers who connect Crewsum to other systems, for example:

  • syncing clients, projects, and tasks from a CRM or ERP into Crewsum
  • creating users and assignments from an HR or staffing system
  • exporting approved timesheets to payroll or billing
  • reacting to timesheet submissions and reviews in your own workflow

If you are new to how Crewsum organizes clients, projects, tasks, and timesheets, read Core Concepts first.

ItemValue
Base URLhttps://api.crewsum.com
Version prefixEvery endpoint path starts with /v1
AuthenticationAn API key in the x-api-key header
PermissionsEach API key has a set of scopes. Each endpoint requires one scope.
Data formatJSON request and response bodies
Rate limit1,000 requests per minute for each IP address

Responses are JSON. A successful response has a message and, for most endpoints, a data object:

{
"message": "Successfully fetched clients",
"data": { "clients": [], "count": 0 }
}

You need:

  1. A Crewsum account with an active subscription. A trial counts as active. If the subscription is inactive, or the account has no subscription, every API request fails. See Errors.
  2. An Administrator or Tenant Admin user to create API keys and webhooks. These are in the Crewsum app under Developer. Users with other roles do not see this section.
  3. A tool to send HTTP requests, such as curl, or a programming language with an HTTP client.

To receive webhooks, you also need a public HTTPS endpoint that Crewsum can reach.