API Reference

CrewBrain REST-API Reference

The CrewBrain REST API allows you to access the system data from outside and create new data or modify existing data. Many different functions are available for this, with which you can access base data (employees, freelancers, categories, etc.) as well as transaction data (jobs, etc.).

Authentification

Since communication with CrewBrain is only possible via encrypted SSL connections, HTTP basic authentication is the preferred method for authentification. Simply enter a valid username and password for each call to the REST API, to get access.

URI structure

The CrewBrain REST API allows access to resources (data types) via URI paths. To use the REST API, your application must make an HTTP request and evaluate the response. The CrewBrain API uses the JSON format and HTTP status codes as the return format as well as the HTTP methods such as GET, POST, PUT and DELETE. URIs for the CrewBrain REST API have the following structure:

https://your-name.crewbrain.com/api/ressource-name

Technical IDs

Each object is stored in the database of CrewBrain with a unique ID. This ID is stored in the ID field of the same name in each object and also serves to identify the objects in the API (e.g. as {jobID , docID , etc.). Parallel to this the field FremdID exists in all base data objects, which can contain an ID of a foreign system with up to 32 characters. You can store the technical ID of external systems in this field. The corresponding objects can then also be selected directly in the API using the external ID:

https://your-name.crewbrain.com/api/ressource-name/FremdID:abcdefghijklmnopqrstuvwxyz

Date values

The interface is based on the format ISO 8601 as the basis for the date values. A date is issued by the API in the form 2019-01-01 , a date with a time in the form 20190101T235959Z . When you send data to the API, the interface also accepts the formats 20119-01-01T23:59:59Z and 2019-01-01T23:59:59+00:00 in addition to these formats. The values are automatically converted by the interface into the time zone stored in CrewBrain.

Encoding

The encoding for all calls is UTF-8, both for the JSON object sent to the REST API and for the responses returned to the client.

Ressources

api/jobs/

Provides access to the jobs of the currently logged in user

> Read jobs GET api/jobs/

api/job/

Provides access to jobs and their information

> Read job GET api/job/{jobId}
> Create job POST api/job/
> Update job PUT api/job/{jobId}
> Delete job DELETE api/job/{jobId}
> Search jobs POST api/job/suche
> Get all documents GET api/job/{jobId}/dokumente/
> Read document GET api/job/{jobId}/dokument/{docId}
> Save document POST api/job/{jobId}/dokument/
> Update document PUT api/job/{jobId}/dokument/{docId}
> Delete document DELETE api/job/{jobId}/dokument/{docId}
> Read all categories GET api/job/{jobId}/kategorien/
> Get category GET api/job/{jobId}/kategorie/{kategorieId}
> Create category POST api/job/{jobId}/kategorie/
> Update category PUT api/job/{jobId}/kategorie/{kategorieId}
> Delete category DELETE api/job/{jobId}/kategorie/{kategorieId}
> Read employees GET api/job/{jobId}/mitarbeiter/{terminMitarbeiterId}
> Add employee POST api/job/{jobId}/mitarbeiter/
> Update employee PUT api/job/{jobId}/mitarbeiter/{terminMitarbeiterId}
> Delete employee DELETE api/job/{jobId}/mitarbeiter/{terminMitarbeiterId}
> Update employees PUT api/job/{jobId}/mitarbeiter/
> Read vehicles GET api/job/{jobId}/mitarbeiter/{terminFahrzeugId}
> Add vehicle POST api/job/{jobId}/mitarbeiter/
> Update vehicle PUT api/job/{jobId}/fahrzeug/{terminFahrzeugId}
> Delete vehicle DELETE api/job/{jobId}/fahrzeug/{terminFahrzeugId}
> Update vehicles PUT api/job/{jobId}/fahrzeug/
> Read scheduler GET api/job/{jobId}/disponent/{disponentenID}
> Add scheduler POST api/job/{jobId}/disponent/
> Update scheduler PUT api/job/{jobId}/disponent/{disponentenID}
> Delete scheduler DELETE api/job/{jobId}/disponent/{disponentenID}
> Read project manager GET api/job/{jobId}/projektleiter/{projektleiterID}
> Add project manager POST api/job/{jobId}/projektleiter/
> Update project manager PUT api/job/{jobId}/projektleiter/{projektleiterID}
> Delete project manager DELETE api/job/{jobId}/projektleiter/{projektleiterID}
> Read client contact person GET api/job/{jobId}/kundenansprechpartner/{ansprechpartnerID}
> Add client contact person POST api/job/{jobId}/kundenansprechpartner/
> Update client contact person PUT api/job/{jobId}/kundenansprechpartner/{ansprechpartnerID}
> Delete client contact person DELETE api/job/{jobId}/kundenansprechpartner/{ansprechpartnerID}
> Read location contact person GET api/job/{jobId}/locationansprechpartner/{ansprechpartnerID}
> Add location contact person POST api/job/{jobId}/locationansprechpartner/
> Update location contact person PUT api/job/{jobId}/locationansprechpartner/{ansprechpartnerID}
> Delete location contact person DELETE api/job/{jobId}/locationansprechpartner/{ansprechpartnerID}
> Read additional data GET api/job/{jobId}/zusatzdaten/{zusatzdatentypID}
> Update additional data PUT api/job/{jobId}/zusatzdaten/{zusatzdatentypID}
> Delete additional data DELETE api/job/{jobId}/zusatzdaten/{zusatzdatentypID}

api/projekt/

Provides access to projects and their information

> Read project GET api/projekt/{projektId}
> Create project POST api/projekt/
> Update project PUT api/projekt/{projektId}
> Delete project DELETE api/projekt/{projektId}
> Search projects POST api/projekt/suche
> Get all documents GET api/projekt/{projektId}/dokumente/
> Read document GET api/projekt/{projektId}/dokument/{docId}
> Save document POST api/projekt/{projektId}/dokument/
> Update document PUT api/projekt/{projektId}/dokument/{docId}
> Delete document DELETE api/projekt/{projektId}/dokument/{docId}
> Read scheduler GET api/projekt/{projektId}/disponent/{disponentenID}
> Add scheduler POST api/projekt/{projektId}/disponent/
> Update scheduler PUT api/projekt/{projektId}/disponent/{disponentenID}
> Delete scheduler DELETE api/projekt/{projektId}/disponent/{disponentenID}
> Read project manager GET api/projekt/{projektId}/projektleiter/{projektleiterID}
> Add project manager POST api/projekt/{projektId}/projektleiter/
> Update project manager PUT api/projekt/{projektId}/projektleiter/{projektleiterID}
> Delete project manager DELETE api/projekt/{projektId}/projektleiter/{projektleiterID}
> Read client contact person GET api/projekt/{projektId}/kundenansprechpartner/{ansprechpartnerID}
> Add client contact person POST api/projekt/{projektId}/kundenansprechpartner/
> Update client contact person PUT api/projekt/{projektId}/kundenansprechpartner/{ansprechpartnerID}
> Delete client contact person DELETE api/projekt/{projektId}/kundenansprechpartner/{ansprechpartnerID}
> Read additional data GET api/projekt/{projektId}/zusatzdaten/{zusatzdatentypID}
> Update additional data PUT api/projekt/{projektId}/zusatzdaten/{zusatzdatentypID}
> Delete additional data DELETE api/projekt/{projektId}/zusatzdaten/{zusatzdatentypID}

api/arbeitszeit/

Provides access to working hours and their information

> Read working hour GET api/arbeitszeit/{zeitId}
> Create working hour POST api/arbeitszeit/
> Update working hour PUT api/arbeitszeit/{zeitId}
> Delete working hour DELETE api/arbeitszeit/{zeitId}
> Search working hours POST api/arbeitszeit/suche

api/urlaub/

Provides access to holidays and sick notes and their information

> Read holidays / sick notes GET api/urlaub/{urlaubId}
> Create holiday / sick note POST api/urlaub/
> Update holiday / sick note PUT api/urlaub/{urlaubId}
> Delete holiday / sick note DELETE api/urlaub/{urlaubId}
> Search holidays / sick notes POST api/urlaub/suche

api/stammdaten/mitarbeiter/

Provides access to employees and their information

> Get employee GET api/stammdaten/mitarbeiter/{mitarbeiterId}
> Create employee POST api/stammdaten/mitarbeiter/
> Update employee PUT api/stammdaten/mitarbeiter/{mitarbeiterId}
> Delete employee DELETE api/stammdaten/mitarbeiter/{mitarbeiterId}
> Search employees POST api/stammdaten/mitarbeiter/suche
> Assign user group POST api/stammdaten/mitarbeiter/{mitarbeiterId}/benutzergruppe
> Delete user group DELETE api/stammdaten/mitarbeiter/{mitarbeiterId}/benutzergruppe/{benutzergruppenId}

api/stammdaten/freelancer/

Provides access to freelancers and their information

> Get freelancer GET api/stammdaten/freelancer/{freelancerId}
> Create freelancer POST api/stammdaten/freelancer/
> Update freelancer PUT api/stammdaten/freelancer/{freelancerId}
> Delete freelancer DELETE api/stammdaten/freelancer/{freelancerId}
> Search freelancers POST api/stammdaten/freelancer/suche
> Assign user group POST api/stammdaten/freelancer/{freelancerId}/benutzergruppe
> Delete user group DELETE api/stammdaten/freelancer/{freelancerId}/benutzergruppe/{benutzergruppenId}

api/stammdaten/dienstleister/

Provides access to subcontractors and their information

> Get subcontractor GET api/stammdaten/dienstleister/{dienstleisterId}
> Create subcontractor POST api/stammdaten/dienstleister/
> Update subcontractor PUT api/stammdaten/dienstleister/{dienstleisterId}
> Delete subcontractor DELETE api/stammdaten/dienstleister/{dienstleisterId}
> Search subcontractor POST api/stammdaten/dienstleister/suche
> Assign user group POST api/stammdaten/dienstleister/{dienstleisterId}/benutzergruppe
> Delete user group DELETE api/stammdaten/dienstleister/{dienstleisterId}/benutzergruppe/{benutzergruppenId}

api/stammdaten/benutzergruppen/

Erzeugt eine Liste aller verfügbaren Benutzergruppen.

> Get all user groups GET api/stammdaten/benutzergruppen/

api/stammdaten/fahrzeug/

Provides access to vehicles and their information

> Get vehicle GET api/stammdaten/fahrzeug/{fahrzeugId}
> Create vehicle POST api/stammdaten/fahrzeug/
> Update vehicle PUT api/stammdaten/fahrzeug/{fahrzeugId}
> Delete vehicle DELETE api/stammdaten/fahrzeug/{fahrzeugId}
> Search vehicles POST api/stammdaten/fahrzeug/suche

api/stammdaten/kunde/

Provides access to clients and their information

> Get client GET api/stammdaten/kunde/{kundenId}
> Create client POST api/stammdaten/kunde/
> Update client PUT api/stammdaten/kunde/{kundenId}
> Delete client DELETE api/stammdaten/kunde/{kundenId}
> Search clients POST api/stammdaten/kunde/suche
> Get contact person GET api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}
> Create contact person POST api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}
> Update contact person PUT api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}
> Delete contact person DELETE api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}

api/stammdaten/location/

Provides access to locations and their information

> Get location GET api/stammdaten/location/{locationId}
> Create location POST api/stammdaten/location/
> Update location PUT api/stammdaten/location/{locationId}
> Delete location DELETE api/stammdaten/location/{locationId}
> Search locations POST api/stammdaten/location/suche
> Get contact person GET api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}
> Create contact person POST api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}
> Update contact person PUT api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}
> Delete contact person DELETE api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}

api/stammdaten/kategorien/

Provides access to the list of all categories for employees, freelancers and subcontractors

> Get all categories GET api/stammdaten/kategorien/

api/stammdaten/kategorie/

Provides access to categories for employees, freelancers, and subcontractors

> Get category GET api/stammdaten/kategorie/{kategorieId}
> Create category POST api/stammdaten/kategorie/
> Update category PUT api/stammdaten/kategorie/{kategorieId}
> Delete category DELETE api/stammdaten/kategorie/{kategorieId}

api/stammdaten/jobtypen/

Provides access to the list of all job types including subdivisions.

> Get all job types GET api/stammdaten/jobtypen/

api/stammdaten/jobtyp/

Provides access to job types and subdivisions

> Read job type / subdivision GET api/stammdaten/jobtyp/{jobtypId}
> Create job type / subdivision POST api/stammdaten/jobtyp/
> Update job type / subdivision PUT api/stammdaten/jobtyp/{jobtypId}
> Delete a job type / subdivision DELETE api/stammdaten/jobtyp/{jobtypId}

api/stammdaten/projekttypen/

Provides access to the list of all project types including subdivisions.

> Get all project types GET api/stammdaten/projekttypen/

api/stammdaten/projekttyp/

Provides access to project types and subdivisions

> Read project type / subdivision GET api/stammdaten/projekttyp/{projekttypId}
> Create job project / subdivision POST api/stammdaten/projekttyp/
> Update job project / subdivision PUT api/stammdaten/projekttyp/{projekttypId}
> Delete a project type / subdivision DELETE api/stammdaten/projekttyp/{projekttypId}

api/stammdaten/zeitkategorien/

Provides access to the list of all categories for working hours

> Get all working hour categories GET api/stammdaten/zeitkategorien/

api/stammdaten/zeitkategorie/

Provides access to categories for working hours

> Get working hour category GET api/stammdaten/zeitkategorie/{kategorieId}
> Create working hour category POST api/stammdaten/zeitkategorie/
> Update working hour category PUT api/stammdaten/zeitkategorie/{kategorieId}
> Delete working hour category DELETE api/stammdaten/zeitkategorie/{kategorieId}

api/stammdaten/urlaubskategorien/

Provides access to the list of all categories for holidays

> Get all holiday categories GET api/stammdaten/urlaubskategorien/

api/stammdaten/urlaubskategorie/

Provides access to categories for holidays

> Get holiday category GET api/stammdaten/urlaubskategorie/{kategorieId}
> Create holiday category POST api/stammdaten/urlaubskategorie/
> Update holiday category PUT api/stammdaten/urlaubskategorie/{kategorieId}
> Delete holiday category DELETE api/stammdaten/urlaubskategorie/{kategorieId}

api/stammdaten/enums/

Provides access to a list of different enumerations used in the data fields (for example, Zugehoerigkeit ). In this way it is possible to check the meaning behind the individual values.

> Read all enums GET api/stammdaten/enums/

api/account/

Provides access to the data of the currently logged in user

> Get user GET api/account/
> Update user PUT api/account/
> Read profile picture GET api/account/image
> Save profile picture POST api/account/image
> Update profile picture PUT api/account/image
> Delete profile picture DELETE api/account/image

api/zusatzdatentypen/

Returns a list of all possible types of additional data for the different objects.

> Read all additional data types GET api/zusatzdatentypen/





260,000+successfully plannedevents
8,100+Usersfrom 6 different industries
1.5 Mio+Status notificationssent 2019

5Languages
10Countries
141Cities

Try now for 30 days