Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

FitecoGroup/php-kimai-api-client

Open more actions menu

Repository files navigation

Kimai PHP Api Client

JSON API for the Kimai 2 time-tracking software. Read more about its usage in the API documentation and then download a Swagger file for import e.g. in Postman. Be aware: it is not yet considered stable and BC breaks might happen, especially when using code generation. The order of JSON attributes is not guaranteed.

Installation & Usage

Requirements

PHP 7.2 and later.

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "require": {
    "fiteco-group/kimai-client": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure host on which Kimai is running
$config = Fiteco\KimaiClient\Configuration::getDefaultConfiguration()->setHost('https://kimai.RememberToSetMe.com');

// Configure API key authorization: apiToken
$config = Fiteco\KimaiClient\Configuration::getDefaultConfiguration()->setApiKey('X-AUTH-TOKEN', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Fiteco\KimaiClient\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-AUTH-TOKEN', 'Bearer');

// Configure API key authorization: apiUser
$config = Fiteco\KimaiClient\Configuration::getDefaultConfiguration()->setApiKey('X-AUTH-USER', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Fiteco\KimaiClient\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-AUTH-USER', 'Bearer');


$apiInstance = new Fiteco\KimaiClient\Api\ActivityApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$project = 'project_example'; // string | Project ID to filter activities
$projects = 'projects_example'; // string | Comma separated list of project IDs to filter activities
$visible = 'visible_example'; // string | Visibility status to filter activities. Allowed values: 1=visible, 2=hidden, 3=all (default: 1)
$globals = 'globals_example'; // string | Use if you want to fetch only global activities. Allowed values: true (default: false)
$globalsFirst = 'globalsFirst_example'; // string | Deprecated parameter, value is not used any more
$orderBy = 'orderBy_example'; // string | The field by which results will be ordered. Allowed values: id, name, project (default: name)
$order = 'order_example'; // string | The result order. Allowed values: ASC, DESC (default: ASC)
$term = 'term_example'; // string | Free search term

try {
    $result = $apiInstance->apiActivitiesGet($project, $projects, $visible, $globals, $globalsFirst, $orderBy, $order, $term);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling ActivityApi->apiActivitiesGet: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to Kimai installation.

Class Method HTTP request Description
ActivityApi apiActivitiesGet GET /api/activities Returns a collection of activities
ActivityApi apiActivitiesIdGet GET /api/activities/{id} Returns one activity
ActivityApi apiActivitiesIdMetaPatch PATCH /api/activities/{id}/meta Sets the value of a meta-field for an existing activity
ActivityApi apiActivitiesIdPatch PATCH /api/activities/{id} Update an existing activity
ActivityApi apiActivitiesIdRatesGet GET /api/activities/{id}/rates Returns a collection of all rates for one activity
ActivityApi apiActivitiesIdRatesPost POST /api/activities/{id}/rates Adds a new rate to an activity
ActivityApi apiActivitiesIdRatesRateIdDelete DELETE /api/activities/{id}/rates/{rateId} Deletes one rate for an activity
ActivityApi apiActivitiesPost POST /api/activities Creates a new activity
CustomerApi apiCustomersGet GET /api/customers Returns a collection of customers
CustomerApi apiCustomersIdGet GET /api/customers/{id} Returns one customer
CustomerApi apiCustomersIdMetaPatch PATCH /api/customers/{id}/meta Sets the value of a meta-field for an existing customer
CustomerApi apiCustomersIdPatch PATCH /api/customers/{id} Update an existing customer
CustomerApi apiCustomersIdRatesGet GET /api/customers/{id}/rates Returns a collection of all rates for one customer
CustomerApi apiCustomersIdRatesPost POST /api/customers/{id}/rates Adds a new rate to a customer
CustomerApi apiCustomersIdRatesRateIdDelete DELETE /api/customers/{id}/rates/{rateId} Deletes one rate for an customer
CustomerApi apiCustomersPost POST /api/customers Creates a new customer
DefaultApi apiConfigI18nGet GET /api/config/i18n Returns the user specific locale configuration
DefaultApi apiConfigTimesheetGet GET /api/config/timesheet Returns the timesheet configuration
DefaultApi apiPingGet GET /api/ping A testing route for the API
DefaultApi apiPluginsGet GET /api/plugins Returns information about installed Plugins
DefaultApi apiVersionGet GET /api/version Returns information about the Kimai release
ProjectApi apiProjectsGet GET /api/projects Returns a collection of projects.
ProjectApi apiProjectsIdGet GET /api/projects/{id} Returns one project
ProjectApi apiProjectsIdMetaPatch PATCH /api/projects/{id}/meta Sets the value of a meta-field for an existing project
ProjectApi apiProjectsIdPatch PATCH /api/projects/{id} Update an existing project
ProjectApi apiProjectsIdRatesGet GET /api/projects/{id}/rates Returns a collection of all rates for one project
ProjectApi apiProjectsIdRatesPost POST /api/projects/{id}/rates Adds a new rate to an project
ProjectApi apiProjectsIdRatesRateIdDelete DELETE /api/projects/{id}/rates/{rateId} Deletes one rate for an project
ProjectApi apiProjectsPost POST /api/projects Creates a new project
TagApi apiTagsGet GET /api/tags Fetch all existing tags
TagApi apiTagsIdDelete DELETE /api/tags/{id} Delete a tag
TagApi apiTagsPost POST /api/tags Creates a new tag
TeamApi apiTeamsGet GET /api/teams Fetch all existing teams
TeamApi apiTeamsIdActivitiesActivityIdDelete DELETE /api/teams/{id}/activities/{activityId} Revokes access for an activity from a team
TeamApi apiTeamsIdActivitiesActivityIdPost POST /api/teams/{id}/activities/{activityId} Grant the team access to an activity
TeamApi apiTeamsIdCustomersCustomerIdDelete DELETE /api/teams/{id}/customers/{customerId} Revokes access for a customer from a team
TeamApi apiTeamsIdCustomersCustomerIdPost POST /api/teams/{id}/customers/{customerId} Grant the team access to a customer
TeamApi apiTeamsIdDelete DELETE /api/teams/{id} Delete a team
TeamApi apiTeamsIdGet GET /api/teams/{id} Returns one team
TeamApi apiTeamsIdMembersUserIdDelete DELETE /api/teams/{id}/members/{userId} Removes a member from the team
TeamApi apiTeamsIdMembersUserIdPost POST /api/teams/{id}/members/{userId} Add a new member to a team
TeamApi apiTeamsIdPatch PATCH /api/teams/{id} Update an existing team
TeamApi apiTeamsIdProjectsProjectIdDelete DELETE /api/teams/{id}/projects/{projectId} Revokes access for a project from a team
TeamApi apiTeamsIdProjectsProjectIdPost POST /api/teams/{id}/projects/{projectId} Grant the team access to a project
TeamApi apiTeamsPost POST /api/teams Creates a new team
TimesheetApi apiTimesheetsActiveGet GET /api/timesheets/active Returns the collection of active timesheet records
TimesheetApi apiTimesheetsGet GET /api/timesheets Returns a collection of timesheet records
TimesheetApi apiTimesheetsIdDelete DELETE /api/timesheets/{id} Delete an existing timesheet record
TimesheetApi apiTimesheetsIdDuplicatePatch PATCH /api/timesheets/{id}/duplicate Duplicates an existing timesheet record
TimesheetApi apiTimesheetsIdExportPatch PATCH /api/timesheets/{id}/export Switch the export state of a timesheet record to (un-)lock it
TimesheetApi apiTimesheetsIdGet GET /api/timesheets/{id} Returns one timesheet record
TimesheetApi apiTimesheetsIdMetaPatch PATCH /api/timesheets/{id}/meta Sets the value of a meta-field for an existing timesheet.
TimesheetApi apiTimesheetsIdPatch PATCH /api/timesheets/{id} Update an existing timesheet record
TimesheetApi apiTimesheetsIdRestartPatch PATCH /api/timesheets/{id}/restart Restarts a previously stopped timesheet record for the current user
TimesheetApi apiTimesheetsIdStopPatch PATCH /api/timesheets/{id}/stop Stops an active timesheet record
TimesheetApi apiTimesheetsPost POST /api/timesheets Creates a new timesheet record
TimesheetApi apiTimesheetsRecentGet GET /api/timesheets/recent Returns the collection of recent user activities
UserApi apiUsersGet GET /api/users Returns the collection of all registered users
UserApi apiUsersIdGet GET /api/users/{id} Return one user entity
UserApi apiUsersIdPatch PATCH /api/users/{id} Update an existing user
UserApi apiUsersMeGet GET /api/users/me Return the current user entity
UserApi apiUsersPost POST /api/users Creates a new user

Models

Authorization

apiToken

  • Type: API key
  • API key parameter name: X-AUTH-TOKEN
  • Location: HTTP header

apiUser

  • Type: API key
  • API key parameter name: X-AUTH-USER
  • Location: HTTP header

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: 0.6
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen

About

Kimai API Client

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.