API

Orders

Create

Endpoint

POST /api/orders

Parameters

Name Description Default
code Order code
order_type_code Order type code
ext_code External order code
bp_id Business process ID
bp_state Business process state
state Order state
done_at Order done datetime
archived Archived
data Custom fields by order type

Requests

Method
POST
Path
/api/orders
Body
{
    "order": {
        "order_type_code": "vacation_request",
        "ext_code": "ext_code",
        "bp_id": "bp_id",
        "bp_state": "bp_state",
        "state": "in_progress",
        "done_at": "2016-05-16T13:52:48+03:00",
        "archived": false,
        "data": {
            "employeeFirstName": "James",
            "employeeLastName": "Carter",
            "employeeEmail": "james@example.com",
            "beginDate": "2016-07-15T14:45:03.000+00:00",
            "endDate": "2016-07-16T14:49:42.000+00:00",
            "motivationText": "I had a lot of work last 7 years",
            "resolution": "Resolution",
            "resolutionText": "Resolution Text",
            "adjustResult": "Adjust Result"
        }
    }
}
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
201
Response status text
Created
Response body
{
    "order": {
        "id": 10,
        "code": "ORD-4",
        "ext_code": "ext_code",
        "bp_id": "bp_id",
        "bp_state": "bp_state",
        "state": "in_progress",
        "archived": false,
        "data": {
            "employeeFirstName": "James",
            "employeeLastName": "Carter",
            "employeeEmail": "james@example.com",
            "beginDate": "2016-07-15T14:45:03.000+00:00",
            "endDate": "2016-07-16T14:49:42.000+00:00",
            "motivationText": "I had a lot of work last 7 years",
            "resolution": "Resolution",
            "resolutionText": "Resolution Text",
            "adjustResult": "Adjust Result"
        },
        "done_at": "2016-05-16T13:52:48+03:00",
        "order_type_code": "vacation_request",
        "user_email": null
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 557
Response content type
application/json; charset=utf-8

List

Endpoint

GET /api/orders?page_size=:page_size&page=:page

Parameters

Name Description Default
page_size Items per page 25
page Current page 1

Requests

Method
GET
Path
/api/orders?page_size=2&page=2
Headers
Accept: application/json
Content-Type: application/json
Query parameters
page_size: 2
page: 2
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "orders": [
        {
            "id": 1,
            "code": "ORD-1",
            "ext_code": null,
            "bp_id": null,
            "bp_state": null,
            "state": "to_execute",
            "archived": false,
            "data": {
                "employeeFirstName": "James",
                "employeeLastName": "Carter",
                "employeeEmail": "james@example.com",
                "beginDate": "2016-07-15T14:45:03.000+00:00",
                "endDate": "2016-07-16T14:49:42.000+00:00",
                "motivationText": "I had a lot of work last 7 years",
                "resolution": null,
                "resolutionText": null,
                "adjustResult": null
            },
            "done_at": null,
            "order_type_code": "vacation_request",
            "user_email": null
        }
    ]
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 488
Response content type
application/json; charset=utf-8

Show

Endpoint

GET /api/orders/:code

Parameters

Name Description Default
code Order code

Requests

Method
GET
Path
/api/orders/ORD-1
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "order": {
        "id": 4,
        "code": "ORD-1",
        "ext_code": null,
        "bp_id": null,
        "bp_state": null,
        "state": "to_execute",
        "archived": false,
        "data": {
            "employeeFirstName": "James",
            "employeeLastName": "Carter",
            "employeeEmail": "james@example.com",
            "beginDate": "2016-07-15T14:45:03.000+00:00",
            "endDate": "2016-07-16T14:49:42.000+00:00",
            "motivationText": "I had a lot of work last 7 years",
            "resolution": null,
            "resolutionText": null,
            "adjustResult": null
        },
        "done_at": null,
        "order_type_code": "vacation_request",
        "user_email": null
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 485
Response content type
application/json; charset=utf-8

Update

Endpoint

PUT /api/orders/:code

Explanation

This method updates passed fields only, others remain unchanged.

Parameters

Name Description Default
code Order code
order_type_code Order type code
ext_code External order code
bp_id Business process ID
bp_state Business process state
state Order state
done_at Order done datetime
archived Archived
data Custom fields by order type

Requests

Method
PUT
Path
/api/orders/ORD-1
Body
{
    "order": {
        "order_type_code": "support_request",
        "ext_code": "ext_code",
        "bp_id": "bp_id",
        "bp_state": "bp_state",
        "state": "in_progress",
        "archived": false,
        "data": {
            "requesterName": "Frank",
            "requesterPhone": "123123123"
        }
    }
}
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "order": {
        "id": 11,
        "code": "ORD-1",
        "ext_code": "ext_code",
        "bp_id": "bp_id",
        "bp_state": "bp_state",
        "state": "in_progress",
        "archived": false,
        "data": {
            "requesterName": "Frank",
            "requesterPhone": "123123123",
            "subject": null,
            "description": null,
            "resolution": null,
            "resolutionText": null
        },
        "done_at": null,
        "order_type_code": "support_request",
        "user_email": null
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 338
Response content type
application/json; charset=utf-8

Update base fields

Endpoint

PUT /api/orders/:code

Parameters

Name Description Default
code Order code
order_type_code Order type code
ext_code External order code
bp_id Business process ID
bp_state Business process state
state Order state
done_at Order done datetime
archived Archived

Requests

Method
PUT
Path
/api/orders/ORD-1
Body
{
    "order": {
        "order_type_code": "Without custom fields",
        "ext_code": "ext_code",
        "bp_id": "bp_id",
        "bp_state": "bp_state",
        "state": "in_progress",
        "done_at": "2016-05-16T13:52:49+03:00",
        "archived": false
    }
}
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "order": {
        "id": 20,
        "code": "ORD-1",
        "ext_code": "ext_code",
        "bp_id": "bp_id",
        "bp_state": "bp_state",
        "state": "in_progress",
        "archived": false,
        "data": [],
        "done_at": "2016-05-16T13:52:49+03:00",
        "order_type_code": "Without custom fields",
        "user_email": null
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 241
Response content type
application/json; charset=utf-8

Update custom fields

Endpoint

PUT /api/orders/:code

Parameters

Name Description Default
code Order code
data Custom fields by order type

Requests

Method
PUT
Path
/api/orders/ORD-1
Body
{
    "order": {
        "data": {
            "employeeFirstName": "James",
            "employeeLastName": "Prinston",
            "employeeEmail": "james@example.com",
            "beginDate": "2016-07-15T14:45:03.000+00:00",
            "endDate": "2016-07-16T14:49:42.000+00:00",
            "motivationText": "I had a lot of work last 7 years",
            "resolution": null,
            "resolutionText": null,
            "adjustResult": null
        }
    }
}
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "order": {
        "id": 14,
        "code": "ORD-1",
        "ext_code": null,
        "bp_id": null,
        "bp_state": null,
        "state": "to_execute",
        "archived": false,
        "data": {
            "employeeFirstName": "James",
            "employeeLastName": "Prinston",
            "employeeEmail": "james@example.com",
            "beginDate": "2016-07-15T14:45:03.000+00:00",
            "endDate": "2016-07-16T14:49:42.000+00:00",
            "motivationText": "I had a lot of work last 7 years",
            "resolution": null,
            "resolutionText": null,
            "adjustResult": null
        },
        "done_at": null,
        "order_type_code": "vacation_request",
        "user_email": null
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 488
Response content type
application/json; charset=utf-8

Update user email

Endpoint

PUT /api/orders/:code

Parameters

Name Description Default
code Order code
user_email Responsible user's email

Requests

Method
PUT
Path
/api/orders/ORD-1
Body
{
    "order": {
        "user_email": "c.johnson@example.com"
    }
}
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "order": {
        "id": 17,
        "code": "ORD-1",
        "ext_code": null,
        "bp_id": null,
        "bp_state": null,
        "state": "to_execute",
        "archived": false,
        "data": {
            "employeeFirstName": "James",
            "employeeLastName": "Carter",
            "employeeEmail": "james@example.com",
            "beginDate": "2016-07-15T14:45:03.000+00:00",
            "endDate": "2016-07-16T14:49:42.000+00:00",
            "motivationText": "I had a lot of work last 7 years",
            "resolution": null,
            "resolutionText": null,
            "adjustResult": null
        },
        "done_at": null,
        "order_type_code": "vacation_request",
        "user_email": "c.johnson@example.com"
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 505
Response content type
application/json; charset=utf-8

Users

Create

Endpoint

POST /api/users

Parameters

Name Description Default
email E-mail
name First name
middle_name Middle name
last_name Last name
role User role user
company Company name
department Department name
password Password

Requests

Method
POST
Path
/api/users
Body
{
    "user": {
        "email": "s.collins@example.com",
        "name": "Stan",
        "middle_name": "Kay",
        "last_name": "Collins",
        "role": "admin",
        "company": "LLC Tools",
        "department": "Administrators",
        "password": "changeme"
    }
}
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
201
Response status text
Created
Response body
{
    "user": {
        "email": "s.collins@example.com",
        "name": "Stan",
        "middle_name": "Kay",
        "last_name": "Collins",
        "company": "LLC Tools",
        "department": "Administrators",
        "role": "admin"
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 165
Response content type
application/json; charset=utf-8

Delete

Endpoint

DELETE /api/users/:email

Parameters

Name Description Default
email E-mail

Requests

Method
DELETE
Path
/api/users/demo@example.com
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
204
Response status text
No Content

List

Endpoint

GET /api/users?page_size=:page_size&page=:page

Parameters

Name Description Default
page_size Items per page 25
page Current page 1

Requests

Method
GET
Path
/api/users?page_size=1&page=2
Headers
Accept: application/json
Content-Type: application/json
Query parameters
page_size: 1
page: 2
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "users": [
        {
            "email": "demo@example.com",
            "name": "David",
            "middle_name": null,
            "last_name": "Jones",
            "company": "Example Corporation",
            "department": "Demonstrations",
            "role": "user"
        }
    ]
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 170
Response content type
application/json; charset=utf-8

Show

Endpoint

GET /api/users/:email

Parameters

Name Description Default
email E-mail

Requests

Method
GET
Path
/api/users/demo@example.com
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "user": {
        "email": "demo@example.com",
        "name": "David",
        "middle_name": null,
        "last_name": "Jones",
        "company": "Example Corporation",
        "department": "Demonstrations",
        "role": "user"
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 167
Response content type
application/json; charset=utf-8

Update

Endpoint

PUT /api/users/:email

Parameters

Name Description Default
email E-mail
name First name
middle_name Middle name
last_name Last name
role User role
company Company name
department Department name

Requests

Method
PUT
Path
/api/users/demo@example.com
Body
{
    "user": {
        "middle_name": "Jay"
    }
}
Headers
Accept: application/json
Content-Type: application/json
Content type
application/json
Response status
200
Response status text
OK
Response body
{
    "user": {
        "email": "demo@example.com",
        "name": "David",
        "middle_name": "Jay",
        "last_name": "Jones",
        "company": "Example Corporation",
        "department": "Demonstrations",
        "role": "user"
    }
}
Response headers
Content-Type: application/json; charset=utf-8
Content-Length: 168
Response content type
application/json; charset=utf-8