Download OpenAPI specification:Download
*An API key must be obtained from Cyclis.*
This API key must be included with every request in a HTTP request header called API-TOKEN
when an error occurs, an "error" and a "message" field will be returned. Those will contain the relevant error code and a human readable description
Added the fields bike_type, bike_frame_type, bike_size, bike_color and bike_order_state.
An extra callback is added which is called when a company is added or deleted from an API key.
The field saml_uid is added to the cyclist create call. This technical field is used in SAML single sign on integrations.
The documentation about the callbacks didn't reflect the implementation. This has been fixed.
The key filter[email]=<email> has been made case insensitive.
The cyclist list can now by filtered by email by adding filter[email]=<email> to the request query string.
Orders in review can now be retrieved from through the API. An extra state quote_to_review has been added to the orders. Orders in this state are read only and can't be edited through the API.
Cyclist definition: A person, linked to a company, who is allowed to request quotations, who has a existing lease contract, ...
Can be filtered on company using company_id param
An email is NOT guaranteed to be unique. In some cases multiple cyclists exist with the same email. Cyclis will make every effort to prevent multiple cyclists per email. Please contact Cyclis if multiple cyclists per email are found.
| company_id | string <uuid> |
| filter[email] | string Return only cyclists with the provided email. Note an email is not guaranteed to be unique. In some cases multiple cyclists exist with the same email. |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "cyclist",
- "attributes": {
- "first_name": "John",
- "last_name": "Doe",
- "email": "user@example.com",
- "lang": "en_US",
- "external_identifier": "string",
- "metadata": { }
}, - "relationships": {
- "company": {
- "data": {
- "type": "company",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
]
}object (CyclistCreate) |
{- "data": {
- "attributes": {
- "send_reset_password": true,
- "saml_uid": "string",
- "first_name": "John",
- "last_name": "Doe",
- "email": "user@example.com",
- "lang": "en_US",
- "external_identifier": "string",
- "metadata": { }
}, - "type": "cyclist",
- "relationships": {
- "company": {
- "data": {
- "type": "company",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "cyclist",
- "attributes": {
- "first_name": "John",
- "last_name": "Doe",
- "email": "user@example.com",
- "lang": "en_US",
- "external_identifier": "string",
- "metadata": { }
}, - "relationships": {
- "company": {
- "data": {
- "type": "company",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "cyclist",
- "attributes": {
- "first_name": "John",
- "last_name": "Doe",
- "email": "user@example.com",
- "lang": "en_US",
- "external_identifier": "string",
- "metadata": { }
}, - "relationships": {
- "company": {
- "data": {
- "type": "company",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
}| uuid required | string <uuid> |
object (CyclistPatch) |
{- "data": {
- "attributes": {
- "active": true,
- "first_name": "John",
- "last_name": "Doe",
- "email": "user@example.com",
- "lang": "en_US"
}, - "type": "cyclist"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "cyclist",
- "attributes": {
- "first_name": "John",
- "last_name": "Doe",
- "email": "user@example.com",
- "lang": "en_US",
- "external_identifier": "string",
- "metadata": { }
}, - "relationships": {
- "company": {
- "data": {
- "type": "company",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "dealer",
- "attributes": {
- "name": "The Dealer",
- "street_name": "string",
- "street_number": "string",
- "postal_code": "string",
- "city": "string",
- "country_code": "BE",
- "email": "dealer@example.com",
- "phone": "014 30 30 30",
- "mobile": "0495 10 20 30",
- "vat": "BE 0123.456.789",
- "latitude": 50.8503,
- "longitude": 4.3517,
- "brands": [
- "Gazelle"
]
}
}
]
}Returns orders available to a specific API key.
| company_id | string <uuid> Limit the orders to a single company. If this is used with cyclist_id, the cyclist_id must be a member of the company. |
| cyclist_id | string <uuid> Limit the orders to a single cyclist. If this is used with company_id, the cyclist_id must be a member of the company. |
| updated_since | string <date-time> Only returns orders updated since that date or date-time. Example "2021-12-30" or "2021-12-15T10:30:00" |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "order",
- "attributes": {
- "name": "SO12345",
- "bike_name": "Super Bike Turbo 3000",
- "bike_brand": "Super Bike",
- "bike_model": "Turbo 3000",
- "bike_type": "City Bike",
- "bike_frame_type": "Unisex",
- "bike_size": "55",
- "bike_color": "Yellow",
- "bike_order_state": "ordered",
- "state": "quote",
- "insurance": true,
- "maintenance": true,
- "assistance": true,
- "lease_cost": 91.26,
- "lease_duration": 36,
- "maintenance_budget": 300,
- "start_lease_date": "2019-08-24T14:15:22Z",
- "end_lease_date": "2019-08-24T14:15:22Z",
- "cost_center": "CC12345",
- "employee_id": "EM12345",
- "create_timestamp": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "cyclist": {
- "data": {
- "type": "cyclist",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}, - "company": {
- "data": {
- "type": "company",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
]
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "order",
- "attributes": {
- "name": "SO12345",
- "bike_name": "Super Bike Turbo 3000",
- "bike_brand": "Super Bike",
- "bike_model": "Turbo 3000",
- "bike_type": "City Bike",
- "bike_frame_type": "Unisex",
- "bike_size": "55",
- "bike_color": "Yellow",
- "bike_order_state": "ordered",
- "state": "quote",
- "insurance": true,
- "maintenance": true,
- "assistance": true,
- "lease_cost": 91.26,
- "lease_duration": 36,
- "maintenance_budget": 300,
- "start_lease_date": "2019-08-24T14:15:22Z",
- "end_lease_date": "2019-08-24T14:15:22Z",
- "cost_center": "CC12345",
- "employee_id": "EM12345",
- "create_timestamp": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "cyclist": {
- "data": {
- "type": "cyclist",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}, - "company": {
- "data": {
- "type": "company",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
}Status can be updated if the status is in "quote", "quote_sent" or "approved_cyclist" The HR always has to approve the Order, the Cyclist can also approve, but it will not be confirmed before HR has accepted the order.
Note: This is a PATCH method and the status field triggers changes on the sale order and other internal processes. Calling this multiple times will probably fail and/or have unintended effects. This status field is not the same as the status field in the GET sale order method.
| uuid required | string <uuid> |
object |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "order",
- "attributes": {
- "status": "cyclist_confirm",
- "cost_center": "CC12345",
- "employee_id": "EM12345"
}
}
}{- "data": {
- "data": {
- "error": "NOACC",
- "message": "Your API token is not allowed to edit ..."
}
}
}Only one callback URL can be active at a time. To prevent loss of data, the callback url should be cleared first with a DELETE request before setting a new one.
Send the URL which should be called on callback
object (RegisterCallback) |
{
}{- "data": {
- "type": "orderCallback",
- "attributes": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}
}
}