Login English

Entwickler, sei gegrüßt! Die mite.api freut sich auf deine Hacks. Welche Funktionen wie zur Verfügung stehen, erfährst du hier im Dokumentationsbereich.

Hinweis

Projekte können von Zeiterfassern nicht bearbeitet werden. Lesen können Zeiterfasser nur die für sie freigegebenen Projekte.

Alle aktiven Projekte auflisten

GET /projects.xml

Listet alle aktiven Projekte sortiert nach deren Namen auf.

Response : 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<projects type="array">
   <project>
      ...
   </project>
   <project>
      ...
   </project>
</projects>

Mit dem Parameter name kann die Liste eingeschränkt werden:

GET /projects.xml?name=web

Listet alle aktiven Projekte auf, deren Namen 'web' enthält. Groß-/Kleinschreibung wird ignoriert.

Standardmäßig werden alle Projekte ausgegeben, die den übergebenen Kriterien entsprechen. Mit dem Parameter limit ist es möglich, die Anzahl zu begrenzen:

GET /projects.xml?limit=100

Gibt die ersten 100 Projekte zurück. Mit dem Parameter page können die darauf folgenden Projekte ausgegeben werden:

GET /projects.xml?limit=100&page=2

Gibt die Projekte 101 bis 200 zurück.

Alle archivierten Projekte auflisten

GET /projects/archived.xml

Listet alle archivierten Projekte sortiert nach deren Namen auf. Auch hier ist eine Freitextsuche mit dem Parameter name möglich.

Einzelnes Projekt anzeigen

GET /projects/{id}.xml

Gibt ein einzelnes Projekt zurück.

Response : 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<project>
   <id type="integer">123</id>
   <name>Website Konzeption</name>
   <note></note>
   <budget type="integer">0</budget>
   <budget-type>minutes</budget>
   <archived type="boolean">false</archived>
   <customer-id type="integer">2</customer-id>
   <customer-name>LilaLaune GmbH</customer-name>
   <hourly-rate type="integer">8500</hourly-rate>
   <active-hourly-rate>hourly_rate</active-hourly-rate>
   <hourly-rates-per-service type="array">
      <hourly-rate-per-service>
         <service-id type="integer">149355</service-id>
         <hourly-rate type="integer">10</hourly-rate>
      </hourly-rate-per-service>
   </hourly-rates-per-service>
   <updated-at type="datetime">2007-12-13T12:12:00+01:00</updated-at>
   <created-at type="datetime">2007-12-13T12:12:00+01:00</created-at>
</project>

Erstellen

POST /projects.xml

Erstellt ein neues Projekt. Alle Parameter – bis auf den Namen – sind optional.

note
Default: '' (leerer String)
budget
in Minuten oder Cents (je nach budget_type) - Default: 0 (kein Budget)
budget_type
minutes (Default) oder cents
archived
true oder false - Default: false
customer_id
Default: nil
hourly_rate
in Cent (ein Hundertstel der Basiseinheit, unabhängig von der Währung) - Default: 0
hourly_rates_per_service
Liste der Stundensätze je nach Leistung - Default: [] (leerer Array)
active_hourly_rate
nil, hourly_rate oder hourly_rates_per_service - Default: nil
Request Body
<project>
   <name>Projekt XY</name>
   <archived>true</archived>
</project>
Response : 201 Created
<?xml version="1.0" encoding="UTF-8"?>
<project>
   <id type="integer">123</id>
   <name>Projekt XY</name>
   <note></note>
   <budget type="integer">0</budget>
   <budget-type>minutes</budget>
   <archived type="boolean">true</archived>
   <customer-id type="integer" nil="true"></customer-id>
   <hourly-rate type="integer">0</hourly-rate>
   <active-hourly-rate nil="true"></active-hourly-rate>
   <hourly-rates-per-service type="array"></hourly-rates-per-service>
   <updated-at type="datetime">2008-02-11T22:12:00+01:00</updated-at>
   <created-at type="datetime">2008-02-11T22:12:00+01:00</created-at>
</project>

Bearbeiten

PUT /projects/{id}.xml

Aktualisiert ein Projekt mit den übergebenen Parametern.

Request Body
<project>
   <note>Go!</note>
</project>
Response : 200 OK

Wird der Stundensatz des Projektes verändert, kann über den Parameter update_hourly_rate_on_time_entries gesteuert werden, ob der neue Stundensatz auch auf existierende Zeiteinträge angewendet werden soll. Per Default werden die Zeiteinträge nicht aktualisiert; um sie zu aktualisieren setze update_hourly_rate_on_time_entries auf true.

Löschen

DELETE /projects/{id}.xml

Löscht ein Projekt. Dies ist nur möglich, wenn keine Zeit-Einträge des Projekts existieren.

Response : 200 OK