API Reference

Easy & fast access via REST interface

GigPlaner REST-API Reference

The GigPlaner 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.).


Since communication with the GigPlaner 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 GigPlaner 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 GigPlaner 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 GigPlaner REST API have the following structure:


Technical IDs

Each object is stored in the database of the GigPlaner 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:


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 the GigPlaner.


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.



Provides access to the jobs of the currently logged in user

> Read jobsGET api/jobs/


Provides access to jobs and their information

> Read jobGET api/job/{jobId}
> Create jobPOST api/job/
> Update jobPUT api/job/{jobId}
> Delete jobDELETE api/job/{jobId}
> Search jobsPOST api/job/suche
> Get all documentsGET api/job/{jobId}/dokumente/
> Read documentGET api/job/{jobId}/dokument/{docId}
> Save documentPOST api/job/{jobId}/dokument/
> Update documentPUT api/job/{jobId}/dokument/{docId}
> Delete documentDELETE api/job/{jobId}/dokument/{docId}
> Read all categoriesGET api/job/{jobId}/kategorien/
> Get categoryGET api/job/{jobId}/kategorie/{kategorieId}
> Create categoryPOST api/job/{jobId}/kategorie/
> Update categoryPUT api/job/{jobId}/kategorie/{kategorieId}
> Delete categoryDELETE api/job/{jobId}/kategorie/{kategorieId}
> Read employeesGET api/job/{jobId}/mitarbeiter/{terminMitarbeiterId}
> Add employeePOST api/job/{jobId}/mitarbeiter/
> Update employeePUT api/job/{jobId}/mitarbeiter/{terminMitarbeiterId}
> Delete employeeDELETE api/job/{jobId}/mitarbeiter/{terminMitarbeiterId}
> Update employeesPUT api/job/{jobId}/mitarbeiter/
> Read schedulerGET api/job/{jobId}/disponent/{disponentenID}
> Add schedulerPOST api/job/{jobId}/disponent/
> Update schedulerPUT api/job/{jobId}/disponent/{disponentenID}
> Delete schedulerDELETE api/job/{jobId}/disponent/{disponentenID}
> Read project managerGET api/job/{jobId}/projektleiter/{projektleiterID}
> Add project managerPOST api/job/{jobId}/projektleiter/
> Update project managerPUT api/job/{jobId}/projektleiter/{projektleiterID}
> Delete project managerDELETE api/job/{jobId}/projektleiter/{projektleiterID}
> Read client contact personGET api/job/{jobId}/kundenansprechpartner/{ansprechpartnerID}
> Add client contact personPOST api/job/{jobId}/kundenansprechpartner/
> Update client contact personPUT api/job/{jobId}/kundenansprechpartner/{ansprechpartnerID}
> Delete client contact personDELETE api/job/{jobId}/kundenansprechpartner/{ansprechpartnerID}
> Read location contact personGET api/job/{jobId}/locationansprechpartner/{ansprechpartnerID}
> Add location contact personPOST api/job/{jobId}/locationansprechpartner/
> Update location contact personPUT api/job/{jobId}/locationansprechpartner/{ansprechpartnerID}
> Delete location contact personDELETE api/job/{jobId}/locationansprechpartner/{ansprechpartnerID}
> Read additional dataGET api/job/{jobId}/zusatzdaten/{zusatzdatentypID}
> Update additional dataPUT api/job/{jobId}/zusatzdaten/{zusatzdatentypID}
> Delete additional dataDELETE api/job/{jobId}/zusatzdaten/{zusatzdatentypID}


Provides access to projects and their information

> Read projectGET api/projekt/{projektId}
> Create projectPOST api/projekt/
> Update projectPUT api/projekt/{projektId}
> Delete projectDELETE api/projekt/{projektId}
> Search projectsPOST api/projekt/suche
> Get all documentsGET api/projekt/{projektId}/dokumente/
> Read documentGET api/projekt/{projektId}/dokument/{docId}
> Save documentPOST api/projekt/{projektId}/dokument/
> Update documentPUT api/projekt/{projektId}/dokument/{docId}
> Delete documentDELETE api/projekt/{projektId}/dokument/{docId}
> Read schedulerGET api/projekt/{projektId}/disponent/{disponentenID}
> Add schedulerPOST api/projekt/{projektId}/disponent/
> Update schedulerPUT api/projekt/{projektId}/disponent/{disponentenID}
> Delete schedulerDELETE api/projekt/{projektId}/disponent/{disponentenID}
> Read project managerGET api/projekt/{projektId}/projektleiter/{projektleiterID}
> Add project managerPOST api/projekt/{projektId}/projektleiter/
> Update project managerPUT api/projekt/{projektId}/projektleiter/{projektleiterID}
> Delete project managerDELETE api/projekt/{projektId}/projektleiter/{projektleiterID}
> Read client contact personGET api/projekt/{projektId}/kundenansprechpartner/{ansprechpartnerID}
> Add client contact personPOST api/projekt/{projektId}/kundenansprechpartner/
> Update client contact personPUT api/projekt/{projektId}/kundenansprechpartner/{ansprechpartnerID}
> Delete client contact personDELETE api/projekt/{projektId}/kundenansprechpartner/{ansprechpartnerID}
> Read additional dataGET api/projekt/{projektId}/zusatzdaten/{zusatzdatentypID}
> Update additional dataPUT api/projekt/{projektId}/zusatzdaten/{zusatzdatentypID}
> Delete additional dataDELETE api/projekt/{projektId}/zusatzdaten/{zusatzdatentypID}


Provides access to working hours and their information

> Read working hourGET api/arbeitszeit/{zeitId}
> Create working hourPOST api/arbeitszeit/
> Update working hourPUT api/arbeitszeit/{zeitId}
> Delete working hourDELETE api/arbeitszeit/{zeitId}
> Search working hoursPOST api/arbeitszeit/suche


Provides access to holidays and sick notes and their information

> Read holidays / sick notesGET api/urlaub/{urlaubId}
> Create holiday / sick notePOST api/urlaub/
> Update holiday / sick notePUT api/urlaub/{urlaubId}
> Delete holiday / sick noteDELETE api/urlaub/{urlaubId}
> Search holidays / sick notesPOST api/urlaub/suche


Provides access to employees and their information

> Get employeeGET api/stammdaten/mitarbeiter/{mitarbeiterId}
> Create employeePOST api/stammdaten/mitarbeiter/
> Update employeePUT api/stammdaten/mitarbeiter/{mitarbeiterId}
> Delete employeeDELETE api/stammdaten/mitarbeiter/{mitarbeiterId}
> Search employeesPOST api/stammdaten/mitarbeiter/suche
> Assign user groupPOST api/stammdaten/mitarbeiter/{mitarbeiterId}/benutzergruppe
> Delete user groupDELETE api/stammdaten/mitarbeiter/{mitarbeiterId}/benutzergruppe/{benutzergruppenId}


Provides access to freelancers and their information

> Get freelancerGET api/stammdaten/freelancer/{freelancerId}
> Create freelancerPOST api/stammdaten/freelancer/
> Update freelancerPUT api/stammdaten/freelancer/{freelancerId}
> Delete freelancerDELETE api/stammdaten/freelancer/{freelancerId}
> Search freelancersPOST api/stammdaten/freelancer/suche
> Assign user groupPOST api/stammdaten/freelancer/{freelancerId}/benutzergruppe
> Delete user groupDELETE api/stammdaten/freelancer/{freelancerId}/benutzergruppe/{benutzergruppenId}


Provides access to subcontractors and their information

> Get subcontractorGET api/stammdaten/dienstleister/{dienstleisterId}
> Create subcontractorPOST api/stammdaten/dienstleister/
> Update subcontractorPUT api/stammdaten/dienstleister/{dienstleisterId}
> Delete subcontractorDELETE api/stammdaten/dienstleister/{dienstleisterId}
> Search subcontractorPOST api/stammdaten/dienstleister/suche
> Assign user groupPOST api/stammdaten/dienstleister/{dienstleisterId}/benutzergruppe
> Delete user groupDELETE api/stammdaten/dienstleister/{dienstleisterId}/benutzergruppe/{benutzergruppenId}


Erzeugt eine Liste aller verfügbaren Benutzergruppen.

> Get all user groupsGET api/stammdaten/benutzergruppen/


Provides access to clients and their information

> Get clientGET api/stammdaten/kunde/{kundenId}
> Create clientPOST api/stammdaten/kunde/
> Update clientPUT api/stammdaten/kunde/{kundenId}
> Delete clientDELETE api/stammdaten/kunde/{kundenId}
> Search clientsPOST api/stammdaten/kunde/suche
> Get contact personGET api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}
> Create contact personPOST api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}
> Update contact personPUT api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}
> Delete contact personDELETE api/stammdaten/kunde/{kundenID}/ansprechpartner/{ansprechpartnerID}


Provides access to locations and their information

> Get locationGET api/stammdaten/location/{locationId}
> Create locationPOST api/stammdaten/location/
> Update locationPUT api/stammdaten/location/{locationId}
> Delete locationDELETE api/stammdaten/location/{locationId}
> Search locationsPOST api/stammdaten/location/suche
> Get contact personGET api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}
> Create contact personPOST api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}
> Update contact personPUT api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}
> Delete contact personDELETE api/stammdaten/location/{locationID}/ansprechpartner/{ansprechpartnerID}


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

> Get all categoriesGET api/stammdaten/kategorien/


Provides access to categories for employees, freelancers, and subcontractors

> Get categoryGET api/stammdaten/kategorie/{kategorieId}
> Create categoryPOST api/stammdaten/kategorie/
> Update categoryPUT api/stammdaten/kategorie/{kategorieId}
> Delete categoryDELETE api/stammdaten/kategorie/{kategorieId}


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

> Get all job typesGET api/stammdaten/jobtypen/


Provides access to job types and subdivisions

> Read job type / subdivisionGET api/stammdaten/jobtyp/{jobtypId}
> Create job type / subdivisionPOST api/stammdaten/jobtyp/
> Update job type / subdivisionPUT api/stammdaten/jobtyp/{jobtypId}
> Delete a job type / subdivisionDELETE api/stammdaten/jobtyp/{jobtypId}


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

> Get all project typesGET api/stammdaten/projekttypen/


Provides access to project types and subdivisions

> Read project type / subdivisionGET api/stammdaten/projekttyp/{projekttypId}
> Create job project / subdivisionPOST api/stammdaten/projekttyp/
> Update job project / subdivisionPUT api/stammdaten/projekttyp/{projekttypId}
> Delete a project type / subdivisionDELETE api/stammdaten/projekttyp/{projekttypId}


Provides access to the list of all categories for working hours

> Get all working hour categoriesGET api/stammdaten/zeitkategorien/


Provides access to categories for working hours

> Get working hour categoryGET api/stammdaten/zeitkategorie/{kategorieId}
> Create working hour categoryPOST api/stammdaten/zeitkategorie/
> Update working hour categoryPUT api/stammdaten/zeitkategorie/{kategorieId}
> Delete working hour categoryDELETE api/stammdaten/zeitkategorie/{kategorieId}


Provides access to the list of all categories for holidays

> Get all holiday categoriesGET api/stammdaten/urlaubskategorien/


Provides access to categories for holidays

> Get holiday categoryGET api/stammdaten/urlaubskategorie/{kategorieId}
> Create holiday categoryPOST api/stammdaten/urlaubskategorie/
> Update holiday categoryPUT api/stammdaten/urlaubskategorie/{kategorieId}
> Delete holiday categoryDELETE api/stammdaten/urlaubskategorie/{kategorieId}


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 enumsGET api/stammdaten/enums/


Provides access to the data of the currently logged in user

> Get userGET api/account/
> Update userPUT api/account/


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

> Read all additional data typesGET api/zusatzdatentypen/



GigPlaner - personnel planning for events

GigPlaner makes personnel planning for events faster and easier. The clear display in your web browser allows you to see your staff and/or member availability at a glance. With the GigPlaner Smartphone app, you can access data from anywhere.

The most economical GigPlaner tariff starts at just €5 per month. The highest tariff (Business Premium), which gives you the full range of functions, costs just €25 per month.