API Documentation
Welcome to the Loopline Systems REST API specification.
Getting Started
Loopline Systems provides a RESTful API for your own integrations.
You can find the available requests on the left hand side bar. Each request will contain sample requests and responses as well.
Your opinion is important! If you have any suggestions on how we can improve our API to better fit your needs, feel free to contact us.
Usage
For using the API, you will need a <CLIENT_ID> and an <API_KEY> which you can retrieve both in your admin section.
All data sent and received uses the MIME_TYPE application/json
.
API Base URL: https://api.loopline-systems.com
Example cURL request
-
curl https://api.loopline-systems.com/users \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
Error handling
If errors occur while communicating with the API you will receive a message that includes the HTTP status-code and a message.
Sandbox
Loopline Systems supports the Postman extension for Chrome with a “Request Collection” you can easily import. If you are not familiar with it just have a look at our tutorial.
–
Thanks @Stefan for the nice terminal css look. http://codepen.io/stefanjudis/pen/BNOOpX
Locale List
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /application/locales
- curl https://api.loopline-systems.com/application/locales \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/application/locales \
- Response
200
ShowHide Body
[ { "locale": "en_US", "key": "LANGUAGE.EN_US" }, { "locale": "de_DE", "key": "LANGUAGE.DE_DE" }, { "locale": "fr_FR", "key": "LANGUAGE.FR_FR" } ]
Returned when successful
- Response
401
ShowHide Returned when not authenticated
User List
- Parameters
- deactivated
bool
(optional)Whether to include deactivated users in results (admin only)
- page
integer (\d+)
(optional) Default: 1page number to display
- maxresults
integer (\d+)
(optional) Default: 25results per page to display
- search
string (\s+)
(optional)search term (OR)
- filter
string (\s+)
(optional)filter type (all|users_active|users_admin|users_can_be_supervisor|users_non_active|users_without_supervisor|users_no_position|users_pending|users_pending_without_invitation|have_individual_feedback_period|have_no_individual_feedback_period)
- sort
string (\s+)
(optional)property to sort by
- sortOrder
string (\s+)
(optional) Default: ASCsort order (ASC|DESC)
- excludeIds
string (\s+)
(optional)comma separated list of IDs to exclude
- searchBy
string (\s+)
(optional)comma separated list of search groups (defaults to “default”)
- include
string (\s+)
(optional)comma separated list of what to include in response. See config request for options
- team
string (\s+)
(optional)include team in the response
- department
string (\s+)
(optional)include department in the response
- supervisor
string (\s+)
(optional)include supervisor in the response
- tos
string (\s+)
(optional)include tos in the response
- active_stats
string (\s+)
(optional)include active stats in the response
- roles
string (\s+)
(optional)include roles in the response
- createdAfter
date
(optional)Return users created after (and including) this date
- createdBefore
date
(optional)Return users created before (and including) this date
- supervisorId
int
(optional)Filter users based on their supervisor
- includeDownstream
bool
(optional)If you set a supervisor do you want also include their downstream
- departmentId
int
(optional)Filter users based on their department
- departmentDirect
bool
(optional)If true will exclude members of child departments (will not work for historic data)
- superviseeDepartmentMemberships
bool
(optional)If true will include supervisees’ department memberships (will not work for historic data)
- activeFeedbackPeriodConfigId
int
(optional)Filter users based on their active feedback period
- feedbackStatus
string (ongoing|prepared|completed|deactivated)
(optional)Filter by feedback status: ongoing|prepared|completed|deactivated
- teamId
int
(optional)Filter users based on their team
- superviseeTeamMemberships
bool
(optional)If true will include supervisees’ team memberships (will not work for historic data)
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /users
- curl https://api.loopline-systems.com/users \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users \
- Response
200
ShowHide Body
{ "sort": { "name": "firstname", "order": "ASC" }, "filter": [ ], "pagination": { "count": 2, "currentPage": 1, "maxPerPage": 25, "hasNextPage": false, "hasPreviousPage": false, "haveToPaginate": false, "getCurrentPageOffsetEnd": 2, "getCurrentPageOffsetStart": 1, "getNbPages": 1 }, "results": [ { "id": 18, "username": "demo+Alex.Millner@loopline-systems.com", "firstname": "Alex", "lastname": "Millner", "image": { "id": 18, "webPath": "http://static.helen.dev/tal-lon-cdn/69731449a4c782b76d43d9b83c9f07de.jpeg" }, "email": "demo+Alex.Millner@loopline-systems.com", "position": "Customer Success Agent", "roles": [ { "id": 1, "role": "ROLE_USER", "toggleable": true }, { "id": 6, "role": "ROLE_USER_ACCEPTED_TOS", "toggleable": false } ], "supervisor": { "id": 16, "username": "demo+Paul.Newman@loopline-systems.com", "firstname": "Paul", "lastname": "Newman", "image": { "id": 16, "webPath": "http://static.helen.dev/tal-lon-cdn/fc14943abea097f70690de081821f245.jpeg" }, "email": "demo+Paul.Newman@loopline-systems.com", "position": "Sales Agent", "roles": [ ], "supervisor": { "id": 5, "username": "demo+Graig.Greening@loopline-systems.com", "firstname": "Graig", "lastname": "Greening", "image": null, "email": "demo+Graig.Greening@loopline-systems.com", "position": "Head of Sales", "roles": [ ], "supervisor": null, "active": true, "acceptedTOS": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "active": true, "acceptedTOS": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "active": true, "acceptedTOS": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, { "id": 10, "username": "demo+Anton.Mozart@loopline-systems.com", "firstname": "Anton", "lastname": "Mozart", "image": { "id": 10, "webPath": "http://static.helen.dev/tal-lon-cdn/d337d1606222162034fbf29c641d7672.jpeg" }, "email": "demo+Anton.Mozart@loopline-systems.com", "position": "Senior Ruby Developer", "roles": [ { "id": 1, "role": "ROLE_USER", "toggleable": true }, { "id": 2, "role": "ROLE_SUPERVISOR", "toggleable": false }, { "id": 6, "role": "ROLE_USER_ACCEPTED_TOS", "toggleable": false }, { "id": 7, "role": "ROLE_CAN_BE_SUPERVISOR", "toggleable": true } ], "supervisor": { "id": 4, "username": "demo+Lucas.Mancini@loopline-systems.com", "firstname": "Lucas", "lastname": "Mancini", "image": { "id": 4, "webPath": "http://static.helen.dev/tal-lon-cdn/dbed81c3cf1c2c4c0d1ec79d624e3259.jpeg" }, "email": "demo+Lucas.Mancini@loopline-systems.com", "position": "CTO", "roles": [ ], "supervisor": { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": null, "email": "catrina@loopline-systems.com", "position": "CFO", "roles": [ ], "supervisor": null, "active": true, "acceptedTOS": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "active": true, "acceptedTOS": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "active": true, "acceptedTOS": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null } ] }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
User
- Parameters
- id
integer (\d+)
(required)The id of the user
- extend
integer (\d+)
(optional)Extends the response data
Choices:
1
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /users/{id}
- curl https://api.loopline-systems.com/users/<id> \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id> \
- Response
200
ShowHide Body
{ "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/" }, "email": "susann@loopline-systems.com", "position": "CEO", "roles": [ { "id": 1, "role": "ROLE_USER", "name": "Active user", "toggleable": true } ], "supervisor": { "id": 2, "username": "christian.miller@loopline-systems.com", "firstname": "Christian", "lastname": "Miller", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/christian.miller.jpg" }, "email": "christian.miller@loopline-systems.com", "position": "CEO", "roles": [], "supervisor": null, "recommendable": null, "teams": [], "active": true, "acceptedTOS": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "recommendable": false, "teams": [ { "id": 1, "name": "HR", "isLead": true, "size": 1 } ], "active": true, "acceptedTOS": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }
Returned when successful
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /users/{id}
- curl /users/{id}?extend=1 \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl /users/{id}?extend=1 \
- Response
200
ShowHide Body
{ "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 40, "name": "7566f0404037cede5bb3d742194d28c2.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/7566f0404037cede5bb3d742194d28c2.jpeg" }, "organization": { "id": 1, "name": "Loopline Systems GmbH", "logo": { "id": 1, "name": "d47965e73e19a1ef8b5eeb0f2318a982.png", "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png" }, "systemEmail": "demo+organization@loopline-systems.com", "globalFeedbackPeriodDuration": "4 months", "globalFeedbackOpenDuration": "1 month", "refreshTimeouts": { "default": 30000, "user": 18000 }, "initialSetupDone": true }, "email": "susann@loopline-systems.com", "position": "CEO", "roles": [ { "id": 1, "role": "ROLE_USER", "name": "Active user", "description": "Allows user to login", "toggleable": true }, { "id": 2, "role": "ROLE_SUPERVISOR", "name": "Currently supervisor", "description": "Can have supervisees", "toggleable": false }, { "id": 6, "role": "ROLE_USER_ACCEPTED_TOS", "name": "User accepted ToS", "description": "Basic role needed to access most of the API elements", "toggleable": false } ], "supervisor": null, "teams": [ { "id": 1, "name": "HR", "organization": { "id": 1, "name": "Loopline Systems GmbH", "logo": { "id": 1, "name": "d47965e73e19a1ef8b5eeb0f2318a982.png", "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png" }, "systemEmail": "demo+organization@loopline-systems.com", "globalFeedbackPeriodDuration": "4 months", "globalFeedbackOpenDuration": "1 month", "refreshTimeouts": { "default": 30000, "user": 18000 }, "initialSetupDone": true }, "size": 4 }, { "id": 2, "name": "Strategy", "organization": { "id": 1, "name": "Loopline Systems GmbH", "logo": { "id": 1, "name": "d47965e73e19a1ef8b5eeb0f2318a982.png", "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png" }, "systemEmail": "demo+organization@loopline-systems.com", "globalFeedbackPeriodDuration": "4 months", "globalFeedbackOpenDuration": "1 month", "refreshTimeouts": { "default": 30000, "user": 18000 }, "initialSetupDone": true }, "size": 1 }, { "id": 3, "name": "Project Mullins", "organization": { "id": 1, "name": "Loopline Systems GmbH", "logo": { "id": 1, "name": "d47965e73e19a1ef8b5eeb0f2318a982.png", "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png" }, "systemEmail": "demo+organization@loopline-systems.com", "globalFeedbackPeriodDuration": "4 months", "globalFeedbackOpenDuration": "1 month", "refreshTimeouts": { "default": 30000, "user": 18000 }, "initialSetupDone": true }, "size": 7 }, { "id": 4, "name": "Finance", "organization": { "id": 1, "name": "Loopline Systems GmbH", "logo": { "id": 1, "name": "d47965e73e19a1ef8b5eeb0f2318a982.png", "webPath": "http://static.helen.dev/tal-lon-cdn/d47965e73e19a1ef8b5eeb0f2318a982.png" }, "systemEmail": "demo+organization@loopline-systems.com", "globalFeedbackPeriodDuration": "4 months", "globalFeedbackOpenDuration": "1 month", "refreshTimeouts": { "default": 30000, "user": 18000 }, "initialSetupDone": true }, "size": 5 } ], "locale": "de_DE", "tourSectionsMissing": [ { "name": "app.me.trainings", "id": 4 } ], "acceptedTOS": true }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
@see * /application/locales * request to get a list of possible locales
- Parameters
string (\s+)
(required)The email of the user
- locale
string (\s+)
(required)The locale of the user
- firstname
string (\s+)
(optional)The firstname of the user
- lastname
string (\s+)
(optional)The lastname of the user
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "firstname": "Susann", "lastname": "Riley", "email":"susann@loopline-systems.com", "locale": "de_DE" }
Example:
POST : /users
- curl https://api.loopline-systems.com/users \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "firstname": "Susann", "lastname": "Riley", "email":"susann@loopline-systems.com", "locale": "de_DE" }'
- curl https://api.loopline-systems.com/users \
- Response
201
ShowHide Body
{ "id": 21, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "webPath": "https://ec3660afbaec0812cdb5-83af784216914eb78a3907e564e823b0.ssl.cf3.rackcdn.com/default_user.png" }, "email": "susann@loopline-systems.com", "position": null, "active": true, "activatedAt": "12-06-2015", "confirmationToken": "87e4c3e4af9d04d5d2f5631ec06ac16ca5091ac7", "deactivatedAt": null, "lastPasswordResetByAdmin": null }
Returned when created
- Response
400
ShowHide Returned when the request content is malformed
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
- Response
409
ShowHide Returned when organization initialSetup not done
- Parameters
- id
integer (\d+)
(required)The id of the user to be changed
string (\s+)
(optional)The new email of the user
- locale
string (\s+)
(optional)The new locale of the user
- firstname
string (\s+)
(optional)The new firstname of the user
- lastname
string (\s+)
(optional)The new lastname of the user
- position
bool
(optional)Does the user accept the TOS
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "firstname": "Susann", "lastname": "Riley" }
Example:
PATCH : /users/{id}
- curl https://api.loopline-systems.com/users/<id> \
-X PATCH \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "firstname": "Susann", "lastname": "Riley" }'
- curl https://api.loopline-systems.com/users/<id> \
- Response
200
ShowHide Body
{ "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Rilay", "image": { "webPath": "http://static.helen.dev/tal-lon-cdn/" }, "email": "susann@loopline-systems.com", "position": "Customer Success Agent", "active": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }
Returned when successful
- Response
400
ShowHide Returned when the request content is malformed
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
Supervisee List
- Parameters
- id
integer (\d+)
(required)The id of the user
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /users/{id}/supervisees
- curl https://api.loopline-systems.com/users/<id>/supervisees \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id>/supervisees \
- Response
200
ShowHide Body
[ { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/" }, "email": "catrina@loopline-systems.com", "position": "CFO", "recommendable": false, "teams": [ { "id": 3, "name": "Project Mullins", "isLead": true, "size": 6 }, { "id": 4, "name": "Finance", "isLead": true, "size": 3 }, { "id": 5, "name": "Efficiency 440", "isLead": true, "size": 3 }, { "id": 6, "name": "UI/UX", "isLead": false, "size": 4 } ], "activeFeedbackPeriod": { "user": null, "feedbackPeriod": { "id": 4, "start": "2015-02-23", "end": "2015-06-22", "open": "2015-05-23" }, "status": "prepared", "statusSupervisee": "prepared", "statusSupervisor": "prepared", "id": 44 }, "currentFeedbackPeriod": { "user": null, "feedbackPeriod": { "id": 4, "start": "2015-02-23", "end": "2015-06-22", "open": "2015-05-23" }, "status": "prepared", "statusSupervisee": "prepared", "statusSupervisor": "prepared", "id": 44 }, "active": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null } ]
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not allowed
- Response
404
ShowHide Returned when not found
Supervisor
Assign a supervisor to a user. You must be Admin to access this * resource
- Parameters
- id
integer (\d+)
(required)The id of the supervisee
- supervisor_id
integer (\d+)
(required)The id of the supervisor
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
POST : /users/{id}/supervisor/{supervisor_id}
- curl https://api.loopline-systems.com/users/<id>/supervisor/<supervisor_id> \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id>/supervisor/<supervisor_id> \
- Response
201
ShowHide Returned when created
- Response
400
ShowHide Returned when the request content is malformed
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not allowed
- Response
404
ShowHide Returned when not found
Remove a supervisee from a supervisor. You need to be * supervisor of the user or admin
- Parameters
- id
integer (\d+)
(required)The id of the supervisee
- supervisor_id
integer (\d+)
(required)The id of the supervisor
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
DELETE : /users/{id}/supervisor/{supervisor_id}
- curl https://api.loopline-systems.com/users/<id>/supervisor/<supervisor_id> \
-X DELETE \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id>/supervisor/<supervisor_id> \
- Response
204
ShowHide Returned when user deleted
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
- Response
404
ShowHide Returned when supervisee not found
User Image
Update the profile image of a user. The image is submitted in * the request body
- Parameters
- id
integer (\d+)
(required)The id of the user
- RequestShowHide
Headers
Content-Type: multipart/form-data; boundary=---BOUNDARY
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
POST : /users/{id}/image
- curl https://api.loopline-systems.com/users/<id>/image \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-F name=file -F file=@example.jpg
- curl https://api.loopline-systems.com/users/<id>/image \
- Response
201
ShowHide Body
{ "id": 19, "webPath": "http://example.com/user-image.jpeg" }
Returned when created
- Response
400
ShowHide Returned when the request content is malformed
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
- Parameters
- id
integer (\d+)
(required)The id of the user
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
DELETE : /users/{id}/image
- curl https://api.loopline-systems.com/users/<id>/image \
-X DELETE \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id>/image \
- Response
200
ShowHide Body
{ "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/" }, "email": "susann@loopline-systems.com", "position": "CEO", "roles": [ { "id": 1, "role": "ROLE_USER", "name": "Active user", "toggleable": true } ], "supervisor": { "id": 2, "username": "christian.miller@loopline-systems.com", "firstname": "Christian", "lastname": "Miller", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/christian.miller.jpg" }, "email": "christian.miller@loopline-systems.com", "position": "CEO", "roles": [], "supervisor": null, "recommendable": null, "teams": [], "active": true, "acceptedTOS": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "recommendable": false, "teams": [ { "id": 1, "name": "HR", "isLead": true, "size": 1 } ], "active": true, "acceptedTOS": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }
Returned when deleted, including user entity
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
- Response
404
ShowHide Returned when not found
Role List
- Parameters
- filter
string (\w+)
(optional)The filter for the roles
Choices:
api-roles
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /roles
- curl https://api.loopline-systems.com/roles \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/roles \
- Response
200
ShowHide Body
[ { "id": 1, "role": "ROLE_USER", "name": "Active user", "toggleable": true }, { "id": 4, "role": "ROLE_ADMIN", "name": "System admin", "toggleable": true }, { "id": 7, "role": "ROLE_CAN_BE_SUPERVISOR", "name": "Can have direct reports", "toggleable": true } ]
Returned when successful
- Response
401
ShowHide Returned when not authenticated
Role
- Parameters
- id
integer (\d+)
(required)The id of the role
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /roles/{id}
- curl https://api.loopline-systems.com/roles/<id> \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/roles/<id> \
- Response
200
ShowHide Body
{ "id": 4, "role": "ROLE_ADMIN", "name": "System admin", "toggleable": true }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
Role Membership
- Parameters
- id
integer (\d+)
(required)The id of the user
- role_id
integer (\d+)
(required)The id of the Role
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
POST : /users/{id}/role/{role_id}
- curl https://api.loopline-systems.com/users/<id>/role/<role_id> \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id>/role/<role_id> \
- Response
201
ShowHide Body
{ "id":18, "locale":"en_US" }
Returned when created
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not allowed
- Response
404
ShowHide Returned when not found
- Parameters
- id
integer (\d+)
(required)The id of the user
- role_id
integer (\d+)
(required)The id of the Role
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
DELETE : /users/{id}/role/{role_id}
- curl https://api.loopline-systems.com/users/<id>/role/<role_id> \
-X DELETE \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id>/role/<role_id> \
- Response
204
ShowHide Returned when role has been deleted
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not allowed
- Response
404
ShowHide Returned when not found
Team
- Parameters
- members
string
(optional) Default: falseAdd Members to response
- filter.user
integer (\d+)
(optional)Filter by user
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /teams
- curl https://api.loopline-systems.com/teams \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/teams \
- Response
200
ShowHide Body
[ { "id": 1, "name": "HR", "documents": [ ], "isLead": false, "teamlead": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "cee9262a8929dfe7584a98548f70f948.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg", "size": 13795, "mimeType": "image/jpeg", "createdAt": "2015-06-18T08:28:10+0000", "originalName": "Susann" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "createdAt": "2015-06-18T08:26:09+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "size": 1 }, { "id": 2, "name": "Strategy", "documents": [ ], "isLead": true, "teamlead": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "cee9262a8929dfe7584a98548f70f948.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg", "size": 13795, "mimeType": "image/jpeg", "createdAt": "2015-06-18T08:28:10+0000", "originalName": "Susann" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "createdAt": "2015-06-18T08:26:09+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "size": 1 } ]
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Parameters
- id
integer (\d+)
(required)The id of the team
- members
string
(optional) Default: falseAdd Members to response
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /teams/{id}
- curl https://api.loopline-systems.com/teams/<id> \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/teams/<id> \
- Response
200
ShowHide Body
{ "id": 12, "name": "Loopline Systems Team", "documents": [ ], "isLead": false, "teamlead": { "id": 1, "username": "demo+admin@loopline-systems.com", "firstname": "The", "lastname": "Admin", "image": { "webPath": "https://ec3660afbaec0812cdb5-83af784216914eb78a3907e564e823b0.ssl.cf3.rackcdn.com/default_user.png" }, "email": "demo+admin@loopline-systems.com", "position": null, "active": true, "createdAt": "2015-06-18T08:25:59+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "size": 1 }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when team not found
- Parameters
- id
integer (\d+)
(required)The id of the team
- name
string (\w+)
(required)The new name of the team
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "name": "HR" }
Example:
PATCH : /teams/{id}
- curl https://api.loopline-systems.com/teams/<id> \
-X PATCH \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "name": "HR" }'
- curl https://api.loopline-systems.com/teams/<id> \
- Response
200
ShowHide Body
{ "id": 1, "name": "HR", "users": [ { "id": 2, "username": "susann@loopline-systems.com, "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, { "id": 18, "username": "alex.millner@loopline-systems.com", "firstname": "Alex", "lastname": "Millner", "image": { "id": 18, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/" }, "email": "alex.millner@loopline-systems.com", "position": "Customer Success Agent", "active": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null } ], "isLead": true, "size": 2 }
Returned when team has been updated
- Response
400
ShowHide Returned when the request content is malformed
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
- Response
404
ShowHide Returned when not found
- Response
409
ShowHide Returned when team name already taken
Delete a single team with all relations
- Parameters
- id
integer (\d+)
(required)The id of the team
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
DELETE : /teams/{id}
- curl https://api.loopline-systems.com/teams/<id> \
-X DELETE \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/teams/<id> \
- Response
204
ShowHide Returned when deleted
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when team not exists
Team List
- Parameters
- name
string (\w+)
(required)The name of the team
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "name": "Loopline Systems Team" }
Example:
POST : /teams
- curl https://api.loopline-systems.com/teams \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "name": "Loopline Systems Team" }'
- curl https://api.loopline-systems.com/teams \
- Response
201
ShowHide Body
{ "id": 9, "name": "Loopline Systems Team", "teamlead": { "id": 1, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "webPath": "https://ec3660afbaec0812cdb5-83af784216914eb78a3907e564e823b0.ssl.cf3.rackcdn.com/default_user.png" }, "email": "susann@loopline-systems.com", "position": null }, "size": 1 }
Returned when created
- Response
400
ShowHide Returned when the request content is malformed, e.g. name is missing
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
- Response
409
ShowHide Returned when team name already taken
Teamlead
- Parameters
- id
integer (\d+)
(required)The id of the team
- teamlead_id
integer (\d+)
(required)The id of the new teamlead
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
POST : /teams/{id}/teamlead/{teamlead_id}
- curl https://api.loopline-systems.com/teams/<id>/teamlead/<teamlead_id> \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/teams/<id>/teamlead/<teamlead_id> \
- Response
201
ShowHide Body
{ "id": 4, "name": "Finance", "users": [ { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 40, "name": "7566f0404037cede5bb3d742194d28c2.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/7566f0404037cede5bb3d742194d28c2.jpeg" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, ], "isLead": true, "teamlead": { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "name": "de9dad172881d37ad0db22e83a451b97.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg" }, "email": "catrina@loopline-systems.com", "position": "CFO", "active": true, "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "size": 4 }
Returned when the new teamlead has been set successfully
- Response
400
ShowHide Returned when thew new teamlead could not be set
- Response
404
ShowHide Returned when thew new teamlead or team were not found
Team Membership
- Parameters
- id
integer (\d+)
(required)The id of the team
- user_id
integer (\d+)
(required)The id of the user
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
POST : /teams/{id}/user/{user_id}
- curl https://api.loopline-systems.com/teams/<id>/user/<user_id> \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/teams/<id>/user/<user_id> \
- Response
201
ShowHide Body
{ "id": 2, "name": "Strategy", "isLead": false, "teamlead": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "size": 2 }
Returned when created
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when team not found
- Parameters
- id
integer (\d+)
(required)The id of the team
- user_id
integer (\d+)
(required)The id of the user
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
DELETE : /teams/{id}/user/{user_id}
- curl https://api.loopline-systems.com/teams/<id>/user/<user_id> \
-X DELETE \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/teams/<id>/user/<user_id> \
- Response
204
ShowHide Returned when deleted
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
- Response
404
ShowHide Returned when team not exists
Objective List
Returns all objectives for a user. Use the Filters to return (active|archived|attached|deleted) -> default Filter is active
- Parameters
- id
integer (\d+)
(required)The id of the user to get the objectives for
- type
string ((active|archived|attached|deleted))
(optional) Default: activeFilter objectives by type. (active,archived,attached, deleted)
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /objectives/user/{id}
- curl https://api.loopline-systems.com/objectives/user/<id> \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/objectives/user/<id> \
- Response
200
ShowHide Body
[ { "user": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/", "updatedAt": "2015-06-08T14:24:41+0000", "createdAt": "2015-06-08T14:24:41+0000" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "updatedAt": "2015-06-16T06:27:37+0000", "createdAt": "2015-06-08T14:22:43+0000", "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "createdBy": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "", "webPath": "http://static.helen.dev/tal-lon-cdn/", "updatedAt": "2015-06-08T14:24:41+0000", "createdAt": "2015-06-08T14:24:41+0000" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "updatedAt": "2015-06-16T06:27:37+0000", "createdAt": "2015-06-08T14:22:43+0000", "activatedAt": "08-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "title": "Getting new Skills in Team motivation", "description": "Need to gain some more experience in motivate the team.", "keyResults": [ { "title": "Train basics in role play games", "done": false, "id": 38, "createdAt": "2015-06-17T15:59:57+0000", "updatedAt": "2015-06-17T15:59:57+0000" } ], "deadline": "2015-07-15T00:00:00+0000", "weight": 0, "type": "bool", "progressSupervisee": 0, "progressSupervisor": 0, "overdue": false, "agreed": false, "deleted": false, "feedbackProcess": null, "editable": true, "owner": "supervisee", "id": 20, "createdAt": "2015-06-17T15:59:57+0000", "updatedAt": "2015-06-17T15:59:57+0000" } ]
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
Objective
Create a new objective (as SV for SE, as SE for oneself)
- Parameters
- id
integer (\d+)
(required)The id of the user to create the objectives for
- title
string (\s+)
(required)The title of the objective
- type
string ((bool|float))
(required)The type of the objective
- description
string
(optional)description text
- deadline
string
(optional)deadline for the objective, e.g. 2014-01-09 12:00:00+0200
- progressSupervisor
float
(optional)float value for initial progressSupervisor
- weight
float
(optional)float value for the weight
- Request
Create an objective with no key results
ShowHide Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "type": "bool", "keyResults": [], "weight": 0.5, "title": "Recruit new Head of Controlling", "deadline": "2015-06-19", "description": "For requirements profile check intranet" }
Example:
POST : /objectives/user/{id}
- curl https://api.loopline-systems.com/objectives/user/<id> \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "type": "bool", "keyResults": [], "weight": 0.5, "title": "Recruit new Head of Controlling", "deadline": "2015-06-19", "description": "For requirements profile check intranet" }'
- curl https://api.loopline-systems.com/objectives/user/<id> \
- Response
201
ShowHide Body
{ "user": { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "name": "de9dad172881d37ad0db22e83a451b97.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "catrina@loopline-systems.com", "position": "CFO", "active": true, "updatedAt": "2015-06-18T08:28:20+0000", "createdAt": "2015-06-18T08:26:16+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "createdBy": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "cee9262a8929dfe7584a98548f70f948.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "updatedAt": "2015-06-18T08:28:26+0000", "createdAt": "2015-06-18T08:26:09+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "title": "Recruit new Head of Controlling", "description": "For requirements profile check intranet", "keyResults": [], "deadline": "2015-06-19T00:00:00+0000", "weight": 0.5, "type": "bool", "progressSupervisee": 0, "progressSupervisor": 0, "overdue": false, "agreed": false, "deleted": false, "feedbackProcess": null, "editable": true, "owner": "supervisor", "id": 20, "createdAt": "2015-06-18T09:26:37+0000", "updatedAt": "2015-06-18T09:26:37+0000" }
Returned when created
- Request
Create an objective including key results
ShowHide Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "type": "bool", "keyResults": [ { "title": "Make a selection" }, { "title": "Hiring" } ], "weight": 0.5, "title": "Recruit new Head of Controlling", "deadline": "2015-06-19", "description": "For requirements profile check intranet" }
Example:
POST : /objectives/user/{id}
- curl https://api.loopline-systems.com/objectives/user/<id> \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "type": "bool", "keyResults": [ { "title": "Make a selection" }, { "title": "Hiring" } ], "weight": 0.5, "title": "Recruit new Head of Controlling", "deadline": "2015-06-19", "description": "For requirements profile check intranet" }'
- curl https://api.loopline-systems.com/objectives/user/<id> \
- Response
201
ShowHide Body
{ "user": { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "name": "de9dad172881d37ad0db22e83a451b97.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "catrina@loopline-systems.com", "position": "CFO", "active": true, "updatedAt": "2015-06-18T08:28:20+0000", "createdAt": "2015-06-18T08:26:16+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "createdBy": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "cee9262a8929dfe7584a98548f70f948.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "updatedAt": "2015-06-18T08:28:26+0000", "createdAt": "2015-06-18T08:26:09+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "title": "Recruit new Head of Controlling", "description": "For requirements profile check intranet", "keyResults": [ { "title": "Make a selection", "done": false, "id": 38, "createdAt": "2015-06-18T09:26:37+0000", "updatedAt": "2015-06-18T09:26:37+0000" }, { "title": "Hiring", "done": false, "id": 39, "createdAt": "2015-06-18T09:26:37+0000", "updatedAt": "2015-06-18T09:26:37+0000" } ], "deadline": "2015-06-19T00:00:00+0000", "weight": 0.5, "type": "bool", "progressSupervisee": 0, "progressSupervisor": 0, "overdue": false, "agreed": false, "deleted": false, "feedbackProcess": null, "editable": true, "owner": "supervisor", "id": 20, "createdAt": "2015-06-18T09:26:37+0000", "updatedAt": "2015-06-18T09:26:37+0000" }
Returned when created
- Response
400
ShowHide Returned when the request content is malformed, e.g. title is missing
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
Update an objective and the objective-key-results (some properties can only be patched by SE or SV; ‘keyResults’ will be handled like PUT)
- Parameters
- id
(\d+)
(required)- title
string
(optional)title of the objective (SV only)
- description
string
(optional)description text (SV only)
- deadline
string
(optional)deadline for the objective, e.g. 2014-01-09 12:00:00+0200 (SV only)
- weight
integer
(optional)(SV only)
- keyResults
array
(optional)array of objective-key-results (SV only)
- progress
float
(optional)progressSupervisee/progressSupervisor, depending on user
- type
string
(optional)The type of the progress. Can be ‘bool’ or ‘float’
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "title": "The objective title has changed", "keyResults": [ { "title": "A new key result" } ], "deadline": "2015-06-20", "weight": 0.75 }
Example:
PATCH : /objectives/{id}
- curl https://api.loopline-systems.com/objectives/<id> \
-X PATCH \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "title": "The objective title has changed", "keyResults": [ { "title": "A new key result" } ], "deadline": "2015-06-20", "weight": 0.75 }'
- curl https://api.loopline-systems.com/objectives/<id> \
- Response
201
ShowHide Body
{ "user": { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "name": "de9dad172881d37ad0db22e83a451b97.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "catrina@loopline-systems.com", "position": "CFO", "active": true, "updatedAt": "2015-06-18T08:28:20+0000", "createdAt": "2015-06-18T08:26:16+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "createdBy": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "cee9262a8929dfe7584a98548f70f948.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "updatedAt": "2015-06-18T08:28:26+0000", "createdAt": "2015-06-18T08:26:09+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "title": "The objective title has changed", "description": null, "keyResults": [ { "title": "A new key result", "done": false, "id": 40, "createdAt": "2015-06-18T10:25:42+0000", "updatedAt": "2015-06-18T10:25:42+0000" } ], "deadline": "2015-06-20T00:00:00+0000", "weight": 0.75, "type": "bool", "progressSupervisee": 0, "progressSupervisor": 0, "overdue": false, "agreed": false, "deleted": false, "feedbackProcess": null, "editable": true, "owner": "supervisor", "id": 21, "createdAt": "2015-06-18T09:48:12+0000", "updatedAt": "2015-06-18T10:25:42+0000" }
Returned when updated
- Request
Create an objective including key results
ShowHide Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "keyResults": [ { "title": "A new key result" } ] }
Example:
PATCH : /objectives/{id}
- curl https://api.loopline-systems.com/objectives/<id> \
-X PATCH \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "keyResults": [ { "title": "A new key result" } ] }'
- curl https://api.loopline-systems.com/objectives/<id> \
- Response
201
ShowHide Body
{ "user": { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "name": "de9dad172881d37ad0db22e83a451b97.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "catrina@loopline-systems.com", "position": "CFO", "active": true, "updatedAt": "2015-06-18T08:28:20+0000", "createdAt": "2015-06-18T08:26:16+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "createdBy": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "cee9262a8929dfe7584a98548f70f948.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "updatedAt": "2015-06-18T08:28:26+0000", "createdAt": "2015-06-18T08:26:09+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "title": "The objective title has changed", "description": null, "keyResults": [ { "title": "A new key result", "done": false, "id": 40, "createdAt": "2015-06-18T10:25:42+0000", "updatedAt": "2015-06-18T10:25:42+0000" } ], "deadline": "2015-06-20T00:00:00+0000", "weight": 0.75, "type": "bool", "progressSupervisee": 0, "progressSupervisor": 0, "overdue": false, "agreed": false, "deleted": false, "feedbackProcess": null, "editable": true, "owner": "supervisor", "id": 21, "createdAt": "2015-06-18T09:48:12+0000", "updatedAt": "2015-06-18T10:25:42+0000" }
Returned when updated
- Request
Create an objective including key results
ShowHide Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "deadline": "" }
Example:
PATCH : /objectives/{id}
- curl https://api.loopline-systems.com/objectives/<id> \
-X PATCH \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "deadline": "" }'
- curl https://api.loopline-systems.com/objectives/<id> \
- Response
201
ShowHide Body
{ "user": { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "name": "de9dad172881d37ad0db22e83a451b97.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/de9dad172881d37ad0db22e83a451b97.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "catrina@loopline-systems.com", "position": "CFO", "active": true, "updatedAt": "2015-06-18T08:28:20+0000", "createdAt": "2015-06-18T08:26:16+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "createdBy": { "id": 2, "username": "susann@loopline-systems.com", "firstname": "Susann", "lastname": "Riley", "image": { "id": 2, "name": "cee9262a8929dfe7584a98548f70f948.jpeg", "webPath": "http://static.helen.dev/tal-lon-cdn/cee9262a8929dfe7584a98548f70f948.jpeg", "updatedAt": "2015-06-18T08:28:10+0000", "createdAt": "2015-06-18T08:28:10+0000" }, "email": "susann@loopline-systems.com", "position": "CEO", "active": true, "updatedAt": "2015-06-18T08:28:26+0000", "createdAt": "2015-06-18T08:26:09+0000", "activatedAt": "18-06-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, "title": "The objective title has changed", "description": null, "keyResults": [ { "title": "A new key result", "done": false, "id": 40, "createdAt": "2015-06-18T10:25:42+0000", "updatedAt": "2015-06-18T10:25:42+0000" } ], "deadline": "2015-06-20T00:00:00+0000", "weight": 0.75, "type": "bool", "progressSupervisee": 0, "progressSupervisor": 0, "overdue": false, "agreed": false, "deleted": false, "feedbackProcess": null, "editable": true, "owner": "supervisor", "id": 21, "createdAt": "2015-06-18T09:48:12+0000", "updatedAt": "2015-06-18T10:25:42+0000" }
Returned when updated
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
- Response
404
ShowHide Returned when not found
Objective Key Result
some properties might only be patched by SE or SV
- Parameters
- id
integer (\d+)
(required)The id of the objective to update
- keyResultId
integer (\d+)
(required)The id of the objective-key-result for a objective to update
- title
string
(optional)title of the objective-key-result (SV only)
- done
boolean
(optional)the done-status of the objective-key-result (SE only)
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "done": true }
Example:
PATCH : /objectives/{id}/key-result/{keyResultId}
- curl https://api.loopline-systems.com/objectives/<id>/key-result/<keyResultId> \
-X PATCH \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "done": true }'
- curl https://api.loopline-systems.com/objectives/<id>/key-result/<keyResultId> \
- Response
200
ShowHide Body
{ "title": "Secure Venue", "done": true, "id": 8 }
Returned when objective-key-result has been updated
- Response
400
ShowHide Returned when the request content is malformed
- Response
401
ShowHide Returned when not authenticated
- Response
403
ShowHide Returned when not authorized
- Response
404
ShowHide Returned when not found
Department List
- Parameters
- page
integer (\d+)
(optional) Default: 1page number to display
- maxresults
integer (\d+)
(optional) Default: 25results per page to display
- search
string (\s+)
(optional)search term (OR)
- filter
string (\s+)
(optional)filter type (all|department_orphan|has_feedback_period|has_no_feedback_period)
- sort
string (\s+)
(optional)property to sort by
- sortOrder
string (\s+)
(optional) Default: ASCsort order (ASC|DESC)
- excludeIds
string (\s+)
(optional)comma separated list of IDs to exclude
- searchBy
string (\s+)
(optional)comma separated list of search groups (defaults to “default”)
- include
string (\s+)
(optional)comma separated list of what to include in response. See config request for options
- date
string (\s+)
(optional)include date in the response
- children
string (\s+)
(optional)include children in the response
- head
string (\s+)
(optional)include head in the response
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /departments
- curl https://api.loopline-systems.com/departments \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/departments \
- Response
200
ShowHide Body
{ "sort": { "name": "name", "order": "ASC" }, "filter": [], "pagination": { "count": 3, "currentPage": 1, "maxPerPage": 25, "hasNextPage": false, "hasPreviousPage": false, "haveToPaginate": false, "getCurrentPageOffsetEnd": 3, "getCurrentPageOffsetStart": 1, "getNbPages": 1 }, "results": [ { "name": "Sales", "id": 1, "createdAt": "2015-08-10T08:47:59+0000", "updatedAt": "2015-08-10T08:47:59+0000" }, { "name": "I.T.", "id": 2, "createdAt": "2015-08-10T09:02:13+0000", "updatedAt": "2015-08-10T09:02:13+0000" }, { "name": "H.R.", "id": 3, "createdAt": "2015-08-10T09:03:06+0000", "updatedAt": "2015-08-10T09:03:06+0000" } ] }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
Department
- Parameters
- id
integer (\d+)
(required)The id of the department
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /departments/{id}
- curl https://api.loopline-systems.com/departments/<id> \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/departments/<id> \
- Response
200
ShowHide Body
{ "name": "Sales", "id": 1, "createdAt": "2015-08-10T08:47:59+0000", "updatedAt": "2015-08-10T08:47:59+0000" }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
- Parameters
- name
string (\s+)
(required)The name of the department
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "name":"Sales" }
Example:
POST : /departments
- curl https://api.loopline-systems.com/departments \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "name":"Sales" }'
- curl https://api.loopline-systems.com/departments \
- Response
201
ShowHide Body
{ "name": "Sales", "id": 1, "createdAt": "2015-08-10T09:02:13+0000", "updatedAt": "2015-08-10T09:02:13+0000" }
Returned when successful
- Response
400
ShowHide Returned when request does not contain required data
- Response
401
ShowHide Returned when not authenticated
- Parameters
- id
integer (\d+)
(required)The id of the department
- name
string (\s+)
(required)The name of the department
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "name":"Sales" }
Example:
PATCH : /departments/{id}
- curl https://api.loopline-systems.com/departments/<id> \
-X PATCH \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "name":"Sales" }'
- curl https://api.loopline-systems.com/departments/<id> \
- Response
200
ShowHide Body
{ "name": "Sales", "id": 1, "createdAt": "2015-08-10T09:02:13+0000", "updatedAt": "2015-08-10T09:02:43+0000" }
Returned when successful
- Response
400
ShowHide Returned when request contains bad data
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
User Department
- Parameters
- id
integer (\d+)
(required)The id of the user
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /users/{id}/department
- curl https://api.loopline-systems.com/users/<id>/department \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/users/<id>/department \
- Response
200
ShowHide Body
{ "name": "Sales", "id": 1, "createdAt": "2015-08-10T08:47:59+0000", "updatedAt": "2015-08-10T08:47:59+0000" }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
- Response
404
ShowHide Returned when not found
Department Tree
Department Member List
- Parameters
- id
integer (\d+)
(required)The id of the department
- direct
bool
(optional)If true will exclude members of child departments
- page
integer (\d+)
(optional) Default: 1page number to display
- maxresults
integer (\d+)
(optional) Default: 25results per page to display
- search
string (\s+)
(optional)search term (OR)
- filter
string (\s+)
(optional)filter type (all|users_active|users_admin|users_can_be_supervisor|users_non_active|users_without_supervisor|users_no_position|users_pending|users_pending_without_invitation|have_individual_feedback_period|have_no_individual_feedback_period)
- sort
string (\s+)
(optional)property to sort by
- sortOrder
string (\s+)
(optional) Default: ASCsort order (ASC|DESC)
- excludeIds
string (\s+)
(optional)comma separated list of IDs to exclude
- searchBy
string (\s+)
(optional)comma separated list of search groups (defaults to “default”)
- include
string (\s+)
(optional)comma separated list of what to include in response. See config request for options
- team
string (\s+)
(optional)include team in the response
- department
string (\s+)
(optional)include department in the response
- supervisor
string (\s+)
(optional)include supervisor in the response
- tos
string (\s+)
(optional)include tos in the response
- active_stats
string (\s+)
(optional)include active stats in the response
- roles
string (\s+)
(optional)include roles in the response
- createdAfter
date
(optional)Return users created after (and including) this date
- createdBefore
date
(optional)Return users created before (and including) this date
- supervisorId
int
(optional)Filter users based on their supervisor
- includeDownstream
bool
(optional)If you set a supervisor do you want also include their downstream
- departmentId
int
(optional)Filter users based on their department
- departmentDirect
bool
(optional)If true will exclude members of child departments (will not work for historic data)
- superviseeDepartmentMemberships
bool
(optional)If true will include supervisees’ department memberships (will not work for historic data)
- activeFeedbackPeriodConfigId
int
(optional)Filter users based on their active feedback period
- feedbackStatus
string (ongoing|prepared|completed|deactivated)
(optional)Filter by feedback status: ongoing|prepared|completed|deactivated
- teamId
int
(optional)Filter users based on their team
- superviseeTeamMemberships
bool
(optional)If true will include supervisees’ team memberships (will not work for historic data)
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /departments/{id}/members
- curl https://api.loopline-systems.com/departments/<id>/members \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/departments/<id>/members \
- Response
200
ShowHide Body
{ "sort": { "name": "firstname", "order": "ASC" }, "filter": [], "pagination": { "count": 3, "currentPage": 1, "maxPerPage": 25, "hasNextPage": false, "hasPreviousPage": false, "haveToPaginate": false, "getCurrentPageOffsetEnd": 3, "getCurrentPageOffsetStart": 1, "getNbPages": 1 }, "results": [ { "id": 3, "username": "catrina@loopline-systems.com", "firstname": "Catrina", "lastname": "Carnahan", "image": { "id": 3, "webPath": "http://static.helen.dev/local/3147f5cc6809cba59e4a7a5a01ce4cbe.jpeg" }, "email": "catrina@loopline-systems.com", "position": "CFO", "active": true, "activatedAt": "01-07-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, { "id": 5, "username": "demo+Graig.Greening@loopline-systems.com", "firstname": "Graig", "lastname": "Greening", "image": { "id": 5, "webPath": "http://static.helen.dev/local/8696b99663329245f3a7fac73a53352b.jpeg" }, "email": "demo+Graig.Greening@loopline-systems.com", "position": "Head of Sales", "active": true, "activatedAt": "01-07-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null }, { "id": 4, "username": "demo+Lucas.Mancini@loopline-systems.com", "firstname": "Lucas", "lastname": "Mancini", "image": { "id": 4, "webPath": "http://static.helen.dev/local/bb4b08d9a3fb6f1f203e4964a23ccedc.jpeg" }, "email": "demo+Lucas.Mancini@loopline-systems.com", "position": "CTO", "active": true, "activatedAt": "01-07-2015", "deactivatedAt": null, "lastPasswordResetByAdmin": null } ] }
Returned when successful
- Response
401
ShowHide Returned when not authenticated
Department Member
- Parameters
- department_id
integer (\d+)
(required)The id of the department
- user_id
integer (\d+)
(required)The id of the user to be added
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>
Content-Type: application/jsonBody
{ "id":"3" }
Example:
POST : /departments/{department_id}/members/{user_id}
- curl https://api.loopline-systems.com/departments/<department_id>/members/<user_id> \
-X POST \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "id":"3" }'
- curl https://api.loopline-systems.com/departments/<department_id>/members/<user_id> \
- Response
204
ShowHide Returned when successful
- Response
400
ShowHide Returned when request does not contain required data
- Response
401
ShowHide Returned when not authenticated
Department Relation Adding
Department Relation Removal
Department Children
- Parameters
- id
integer (\d+)
(required)The id of the department
- direct
bool
(optional)If true will exclude members of child departments
- page
integer (\d+)
(optional) Default: 1page number to display
- maxresults
integer (\d+)
(optional) Default: 25results per page to display
- search
string (\s+)
(optional)search term (OR)
- filter
string (\s+)
(optional)filter type (all|department_orphan|has_feedback_period|has_no_feedback_period)
- sort
string (\s+)
(optional)property to sort by
- sortOrder
string (\s+)
(optional) Default: ASCsort order (ASC|DESC)
- excludeIds
string (\s+)
(optional)comma separated list of IDs to exclude
- searchBy
string (\s+)
(optional)comma separated list of search groups (defaults to “default”)
- include
string (\s+)
(optional)comma separated list of what to include in response. See config request for options
- date
string (\s+)
(optional)include date in the response
- children
string (\s+)
(optional)include children in the response
- head
string (\s+)
(optional)include head in the response
- RequestShowHide
Headers
X-Loopline-Client: <CLIENT_ID>
X-Api-Key: <API_KEY>Example:
GET : /departments/{id}/children
- curl https://api.loopline-systems.com/departments/<id>/children \
-X GET \
-H "X-Loopline-Client: <CLIENT_ID>" \
-H "X-Api-Key: <API_KEY>"
- curl https://api.loopline-systems.com/departments/<id>/children \
- Response
200
ShowHide Body
{ "sort": { "name": "name", "order": "ASC" }, "filter": [], "pagination": { "count": 4, "currentPage": 1, "maxPerPage": 25, "hasNextPage": false, "hasPreviousPage": false, "haveToPaginate": false, "getCurrentPageOffsetEnd": 4, "getCurrentPageOffsetStart": 1, "getNbPages": 1 }, "results": [ { "name": "London I.T. Backend", "description": null, "id": 4 }, { "name": "London I.T. Backend PHP", "description": null, "id": 6 }, { "name": "London I.T. Backend Python", "description": null, "id": 7 }, { "name": "London I.T. Frontend", "description": null, "id": 5 } ] }
Returned when successful
- Response
401
ShowHide Returned when not authenticated