Developer API
Users / KPIs
These are the KPIs that are assigned to a user. This determines what KPIs the user can enter data against and what KPIs the user can analyze. It also sets the target for the User KPI if the user has a target that is different to the default KPI target.
User KPI Object
The object has the following properties:
Name | Type | Read Only | Mandatory | Max Len. | Notes |
---|---|---|---|---|---|
id | integer | no | yes | The id of the KPI to assign to the user | |
user_id | integer | yes | no | Id of the user assigned to the KPI | |
user_target | decimal | no | no | The user target is only set if the KPI has a target | |
sort_order | integer (16 bit) | no | yes | The display order of the KPIs for the user on the KPI Entry screen | |
created_at | datetime | yes | no | The UTC date and time the item was created | |
updated_at | datetime | yes | no | The UTC date and time of the last update of the item |
JSON Example
{ "id": 1234, "user_id": 5678, "user_target": 123, "sort_order": 1, "created_at": "2012-11-15T17:03:00", "updated_at": "2012-11-15T17:03:00" }
XML Example
<UserKPI xmlns="http://schemas.datacontract.org/2004/07/SimpleKPI.Application.Areas.Api.Models" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <id>1234</id> <user_id>5678</user_id> <user_target>123</user_target> <sort_order>1</sort_order> <created_at>2012-11-15T17:03:00</created_at> <updated_at>2012-11-15T17:03:00</updated_at> </UserKPI>
Get all User's KPIs
GET /api/users/{user_id}/kpis
Using curl
curl https://{subdomain}.simplekpi.com/api/users/{user_id}/kpis -v -u {email_address}:{token}
Example Response
Status: 200 OK [ { "id": 1234, "user_id": 5678, "user_target": 123, "sort_order": 1, "created_at": "2012-11-15T17:03:00", "updated_at": "2012-11-15T17:03:00" }, { "id": 1234, "user_id": 5678, "user_target": 456, "sort_order": 2, "created_at": "2012-12-15T17:03:00", "updated_at": "2012-12-15T17:03:00" }, ]
Get a User's KPI
GET /api/users/{user_id}/kpis/{id}
Using curl
curl https://{subdomain}.simplekpi.com/api/users/{user_id}/kpis/{id} -v -u {email_address}:{token}
Example Response
Status: 200 OK { "id": 1234, "user_id": 5678, "user_target": 123, "sort_order": 1, "created_at": "2012-11-15T17:03:00", "updated_at": "2012-11-15T17:03:00" }
Add a User's KPI
POST /api/users/{user_id}/kpis
Using curl
curl https://{subdomain}.simplekpi.com/api/users/{user_id}/kpis -H "Content-Type: application/json" -d '{"id": "1234", "user_target": 123, "sort_order": 1}' -v -u {email_address}:{token} -X POST
Example Response
Status: 201 Created Location: https://{subdomain}.simplekpi.com/api/users/{user_id}/kpis/{id} { "id": 1234, "user_id": 5678, "user_target": 123, "sort_order": 1, "created_at": "2012-11-15T17:03:00", "updated_at": "2012-11-15T17:03:00" }
Update a User's KPI
PUT /api/users/{user_id}/kpis/{id}
Using curl
curl https://{subdomain}.simplekpi.com/api/users/{user_id}/kpis/{id} -H "Content-Type: application/json" -d '{"user_target": 123, "sort_order": 2}' -v -u {email_address}:{token} -X PUT
Example Response
Status: 200 OK { "id": 1234, "user_id": 5678, "user_target": 123, "sort_order": 1, "created_at": "2012-11-15T17:03:00", "updated_at": "2012-11-15T17:03:00" }
Delete a User's KPI
DELETE /api/users/{user_id}/kpis/{id}
Using curl
curl https://{subdomain}.simplekpi.com/api/users/{user_id}/kpis/{id} -v -u {email_address}:{token}
Example Response
Status: 200 OK