Back to top

iOffice API

iOffice API

The iOffice API provides access to many iOffice modules for CRUD operations.

Endpoints

The base URL will be https://siteaddress/external/api/rest/v2/

All endpoints in the document are relative to this url.

Note: The term “room” has been amended to “space”; all references to a “room” or “rooms” will now be referred to as a “space” or “spaces”. This change does not affect current endpoints.

Authentication

In order to authenticate your request, in each request include the following in the request headers. All requests are over HTTPS.

x-auth-password: password
x-auth-username: username

Media Types

Where applicable this API uses the JSON media-type to represent resources states and affordances.

Requests with a message-body are using plain JSON to set or update resource states.

Error States

The common HTTP Response Status Codes are used.

Global Request Params

Paramater Value
search String to search for asset
limit maximum results to show (default: 50, maximum: 500). Obtain results beyond max with pagination: startAt={nextResult}&limit={limit}
startAt for pagination, the offset of where to start (default: 0)
orderBy Property to order results by (default: ‘id’)
orderByType Choose to order results in either ascending(asc) or descending(desc)order (default: ‘asc’)

Example usage to search users by employeeID:

https://siteaddress/external/api/rest/v2/users?search={employeeID}

Resource Requests

NOTE: When updating a resource (with a PUT request), all that is needed is the ID of the object, and the value(s) you wish to update.

  • e.g. Updating a resource’s printerName to another, when that resource’s id is 5.

Headers

Content-Type: application/json

Body

{
    "id": 5,
    "printerName": "NEW PRINTER TEST NAME"
}

Response 200

Note: Many of the List of all XXXX endpoints that return a collection have a /count variation that will return the number of available records. All parameters supported by the main endpoint are supported by the /count endpoint.

  • e.g. To retrieve the total number of users available: /users/count

  • e.g. To retrieve the total number of category items available: /categories/items/count

  • e.g. To retrieve the total number of buildings in a city: /buildings/count?locationSearch={city,state}

User

User-related resources of iOffice API

User

A single user object.

Retrieve a Single User
GET/users/{id}

Example URI

GET /users/id
URI Parameters
HideShow
id
string (required) 

ID of the User

Response  200
HideShow

JSON representation of the User Resource

Headers
Content-Type: application/json
Body
{
  "floorWarden": false,
  "lastName": "McCloud",
  "firstName": "Fox",
  "dateCreated": 1464727067663,
  "color": "#89ffa1",
  "name": "Fox McCloud",
  "id": 420,
  "userType": {
    "dateCreated": 1430925570820,
    "name": "Employee",
    "id": 1,
    "fields": [
      {
        "code": "company",
        "name": "Company",
        "id": 1
      },
      {
        "code": "jobTitle",
        "name": "Job Title",
        "id": 2
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 3
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 4
      },
      {
        "code": "mobile",
        "name": "Mobile Phone Number",
        "id": 6
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 8
      },
      {
        "code": "floorWarden",
        "name": "Floor Warden",
        "id": 12
      },
      {
        "code": "specialNeeds",
        "name": "Special Needs",
        "id": 13
      },
      {
        "code": "comments",
        "name": "Comments",
        "id": 14
      },
      {
        "code": "alternateDelivery",
        "name": "Alternate Delivery",
        "id": 16
      },
      {
        "code": "knownAs",
        "name": "Known As",
        "id": 17
      }
    ]
  },
  "userName": "foxmc",
  "specialNeeds": false,
  "email": "fmccloud@iofficecorp.com",
  "dateUpdated": 1479077061110
}

Edit a User
PUT/users/{id}

To update a User send JSON with the User’s ID and updated value for one or more of the attributes.

Updating a User’s Cost Center(s)

  • To update a User’s default Cost Center (Category ID equals 1) send JSON with the User’s ID and updated value for the costCenter attribute.

  • To update a User’s non-default Cost Center(s) (Category ID is greater than 1) send JSON with the User’s ID and updated value for the costCenters attribute.

Example URI

PUT /users/id
URI Parameters
HideShow
id
string (required) 

ID of the User

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "jobTitle": "Developer",
  "costCenter": {
    "id": 88
  },
  "costCenters": [
    {
      "id": 1234
    },
    {
      "id": 5678
    }
  ]
}
Response  200

Remove a User
DELETE/users/{id}

Example URI

DELETE /users/id
URI Parameters
HideShow
id
string (required) 

ID of the User

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Attach an Avatar to a User

Attach an Avatar to a User

Attach an Avatar to a User
POST/users/{id}/attachAvatar

The following attributes are required to attach an avatar: image, fileName.

Example URI

POST /users/id/attachAvatar
URI Parameters
HideShow
id
string (required) 

ID of the User

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "image": "BASE-64-IMAGE-STRING",
  "fileName": "tiny_cat_12573_8950.jpg"
}
Response  200
HideShow

JSON representation of the User Resource

Headers
Content-Type: application/json
Body
{
  "floorWarden": false,
  "lastName": "McCloud",
  "firstName": "Fox",
  "dateCreated": 1464727067663,
  "color": "#89ffa1",
  "name": "Fox McCloud",
  "id": 420,
  "userType": {
    "dateCreated": 1430925570820,
    "name": "Employee",
    "id": 1,
    "fields": [
      {
        "code": "company",
        "name": "Company",
        "id": 1
      },
      {
        "code": "jobTitle",
        "name": "Job Title",
        "id": 2
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 3
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 4
      },
      {
        "code": "mobile",
        "name": "Mobile Phone Number",
        "id": 6
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 8
      },
      {
        "code": "floorWarden",
        "name": "Floor Warden",
        "id": 12
      },
      {
        "code": "specialNeeds",
        "name": "Special Needs",
        "id": 13
      },
      {
        "code": "comments",
        "name": "Comments",
        "id": 14
      },
      {
        "code": "alternateDelivery",
        "name": "Alternate Delivery",
        "id": 16
      },
      {
        "code": "knownAs",
        "name": "Known As",
        "id": 17
      }
    ]
  },
  "userName": "foxmc",
  "specialNeeds": false,
  "email": "fmccloud@iofficecorp.com",
  "dateUpdated": 1479077061110
}

User Collection

Collection of all Users.

List of all Users
GET/users/{?centerId,userTypeId,role,siteAdmin,hasRoom,hasDefaultVisitorCenter,modifiedOrCreatedAfter}

Example URI

GET /users/?centerId=12&userTypeId=23&role=operator&siteAdmin=true&hasRoom=true&hasDefaultVisitorCenter=true&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
centerId
number (optional) Example: 12

Id of center to query from. If centerId is provided role is required

userTypeId
number (optional) Example: 23

Id of user type to query from.

role
string (optional) Example: operator

Role name to query from. Valid values are: administrator, operator, customer, manager, and technician. If role is provided centerId is required

siteAdmin
boolean (optional) Example: true

If true, query will include users with Admin permissions

hasRoom
boolean (optional) Example: true

If true, query will include users with rooms

hasDefaultVisitorCenter
boolean (optional) Example: true

If true, query will include users with a default visitor center

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the User Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":6
        ...
    },
    {
        "id":7
        ...
    },
    {
        "id":8
        ...
    }
]

Create a User
POST/users/

The following attributes are required to create a User: firstName, lastName, email.

Example URI

POST /users/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "firstName": "Falco",
  "lastName": "Lombardi",
  "email": "flombardi@iofficecorp.com"
}
Response  201
HideShow

JSON representation of the User Resource

Headers
Content-Type: application/json
Body
{
  "floorWarden": false,
  "lastName": "McCloud",
  "firstName": "Fox",
  "dateCreated": 1464727067663,
  "color": "#89ffa1",
  "name": "Fox McCloud",
  "id": 420,
  "userType": {
    "dateCreated": 1430925570820,
    "name": "Employee",
    "id": 1,
    "fields": [
      {
        "code": "company",
        "name": "Company",
        "id": 1
      },
      {
        "code": "jobTitle",
        "name": "Job Title",
        "id": 2
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 3
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 4
      },
      {
        "code": "mobile",
        "name": "Mobile Phone Number",
        "id": 6
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 8
      },
      {
        "code": "floorWarden",
        "name": "Floor Warden",
        "id": 12
      },
      {
        "code": "specialNeeds",
        "name": "Special Needs",
        "id": 13
      },
      {
        "code": "comments",
        "name": "Comments",
        "id": 14
      },
      {
        "code": "alternateDelivery",
        "name": "Alternate Delivery",
        "id": 16
      },
      {
        "code": "knownAs",
        "name": "Known As",
        "id": 17
      }
    ]
  },
  "userName": "foxmc",
  "specialNeeds": false,
  "email": "fmccloud@iofficecorp.com",
  "dateUpdated": 1479077061110
}

Get current logged in user

Get data for currently logged in user

Retrieve Current User
GET/users/me

Example URI

GET /users/me
Response  200
HideShow

JSON representation of the User Resource

Headers
Content-Type: application/json
Body
{
  "floorWarden": false,
  "lastName": "McCloud",
  "firstName": "Fox",
  "dateCreated": 1464727067663,
  "color": "#89ffa1",
  "name": "Fox McCloud",
  "id": 420,
  "userType": {
    "dateCreated": 1430925570820,
    "name": "Employee",
    "id": 1,
    "fields": [
      {
        "code": "company",
        "name": "Company",
        "id": 1
      },
      {
        "code": "jobTitle",
        "name": "Job Title",
        "id": 2
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 3
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 4
      },
      {
        "code": "mobile",
        "name": "Mobile Phone Number",
        "id": 6
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 8
      },
      {
        "code": "floorWarden",
        "name": "Floor Warden",
        "id": 12
      },
      {
        "code": "specialNeeds",
        "name": "Special Needs",
        "id": 13
      },
      {
        "code": "comments",
        "name": "Comments",
        "id": 14
      },
      {
        "code": "alternateDelivery",
        "name": "Alternate Delivery",
        "id": 16
      },
      {
        "code": "knownAs",
        "name": "Known As",
        "id": 17
      }
    ]
  },
  "userName": "foxmc",
  "specialNeeds": false,
  "email": "fmccloud@iofficecorp.com",
  "dateUpdated": 1479077061110
}

Get availability of a username

Get boolean value if {username} already exists

Check if Username Exists
GET/users/username/{username}

Example URI

GET /users/username/username
URI Parameters
HideShow
username
string (required) 
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
        "available": "true",
    }

Get Current User Report Auth Data

Get current user report auth data

Retrieve Current User Report Auth Data
GET/users/me/reportAuth

Example URI

GET /users/me/reportAuth
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
        "server:" "http://andross.arwing.com",
        "authToken:" "a234893fmdfjhdkjh345897djhdjkh59",
        "orgId:" "dev_fmcloud",
        "username: "foxmccloud"
    }

Get Current User Report Auth Data

Get current user report auth data

Retrieve Current User Support Auth Data
GET/users/me/supportAuth

Example URI

GET /users/me/supportAuth
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
        "server:" "http://support.andross.arwing.com",
        "authToken:" "imp_46436454_3452345345dgdg3q5345dsgdgsdg_=dev_fmccloud_420"
    }

Reset User Password

Sends password reset email to user

Reset User Password
PUT/users/{id}/resetPassword

Example URI

PUT /users/id/resetPassword
URI Parameters
HideShow
id
string (required) 

ID of the User

Response  200
HideShow

JSON representation of the User Resource

Headers
Content-Type: application/json
Body
{
  "floorWarden": false,
  "lastName": "McCloud",
  "firstName": "Fox",
  "dateCreated": 1464727067663,
  "color": "#89ffa1",
  "name": "Fox McCloud",
  "id": 420,
  "userType": {
    "dateCreated": 1430925570820,
    "name": "Employee",
    "id": 1,
    "fields": [
      {
        "code": "company",
        "name": "Company",
        "id": 1
      },
      {
        "code": "jobTitle",
        "name": "Job Title",
        "id": 2
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 3
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 4
      },
      {
        "code": "mobile",
        "name": "Mobile Phone Number",
        "id": 6
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 8
      },
      {
        "code": "floorWarden",
        "name": "Floor Warden",
        "id": 12
      },
      {
        "code": "specialNeeds",
        "name": "Special Needs",
        "id": 13
      },
      {
        "code": "comments",
        "name": "Comments",
        "id": 14
      },
      {
        "code": "alternateDelivery",
        "name": "Alternate Delivery",
        "id": 16
      },
      {
        "code": "knownAs",
        "name": "Known As",
        "id": 17
      }
    ]
  },
  "userName": "foxmc",
  "specialNeeds": false,
  "email": "fmccloud@iofficecorp.com",
  "dateUpdated": 1479077061110
}

User Permission Data

User permission data for a single user

Retrieve User Permissions
GET/users/{id}/permissions

Example URI

GET /users/id/permissions
URI Parameters
HideShow
id
string (required) 

ID of the User

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
      {
        "role":"ADMINISTRATOR",
        "center":{
          "name":"Asset Center",
          "id":69
        }
      },
      {
        "role":"MANAGER",
        "center":{
          "name":"Copy Center",
          "id":67
        }
      },
      {
        "role":"OPERATOR",
        "center":{
          "name":"File Room",
          "id":77
        }
      },
      {
        "role":"CUSTOMER",
        "center":{
          "name":"Inventory Center",
          "id":22
        }
    ]

Edit User Permissions
PUT/users/{id}/permissions

Example URI

PUT /users/id/permissions
URI Parameters
HideShow
id
string (required) 

ID of the User

Request
HideShow
Headers
Content-Type: application/json
Body
[
      {
        "role":"ADMINISTRATOR",
        "center":{
          "name":"Asset Center",
          "id":69
        }
      },
      {
        "role":"MANAGER",
        "center":{
          "name":"Copy Center",
          "id":67
        }
      },
      {
        "role":"OPERATOR",
        "center":{
          "name":"File Room",
          "id":77
        }
      },
      {
        "role":"CUSTOMER",
        "center":{
          "name":"Inventory Center",
          "id":22
        }
    ]
Response  200
HideShow

JSON representation of the User Resource

Headers
Content-Type: application/json
Body
{
  "floorWarden": false,
  "lastName": "McCloud",
  "firstName": "Fox",
  "dateCreated": 1464727067663,
  "color": "#89ffa1",
  "name": "Fox McCloud",
  "id": 420,
  "userType": {
    "dateCreated": 1430925570820,
    "name": "Employee",
    "id": 1,
    "fields": [
      {
        "code": "company",
        "name": "Company",
        "id": 1
      },
      {
        "code": "jobTitle",
        "name": "Job Title",
        "id": 2
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 3
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 4
      },
      {
        "code": "mobile",
        "name": "Mobile Phone Number",
        "id": 6
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 8
      },
      {
        "code": "floorWarden",
        "name": "Floor Warden",
        "id": 12
      },
      {
        "code": "specialNeeds",
        "name": "Special Needs",
        "id": 13
      },
      {
        "code": "comments",
        "name": "Comments",
        "id": 14
      },
      {
        "code": "alternateDelivery",
        "name": "Alternate Delivery",
        "id": 16
      },
      {
        "code": "knownAs",
        "name": "Known As",
        "id": 17
      }
    ]
  },
  "userName": "foxmc",
  "specialNeeds": false,
  "email": "fmccloud@iofficecorp.com",
  "dateUpdated": 1479077061110
}

Move

Move-related resources of iOffice API

Move

A single move reservation object.

Retrieve a Single Move Request
GET/move/requests/{id}

Example URI

GET /move/requests/id
URI Parameters
HideShow
id
string (required) 

ID of the Move Request

Response  200
HideShow

JSON representation of the Move Resource

Headers
Content-Type: application/json
Body
{  
   {
     "date": 1504112404863,
     "approved": true,
     "comments": [
       {
         "id": 92,
         "content": "your comment here!"
       }
     ],
     "dateCreated": 1469818235210,
     "approvedBy": {
       "floorWarden": false,
       "lastName": "Admin",
       "firstName": "Han",
       "dateCreated": 1464727067663,
       "color": "#89ffa1",
       "name": "Han Solo",
       "id": 9,
       "userType": {
         "dateCreated": 1430925570820,
         "name": "Employee",
         "id": 1,
         "fields": [
           {
             "code": "company",
             "name": "Company",
             "id": 1
           },
           {
             "code": "jobTitle",
             "name": "Job Title",
             "id": 2
           },
           {
             "code": "phone",
             "name": "Phone",
             "id": 3
           },
           {
             "code": "extension",
             "name": "Extension",
             "id": 4
           },
           {
             "code": "mobile",
             "name": "Mobile Phone Number",
             "id": 6
           },
           {
             "code": "employeeId",
             "name": "Employee ID",
             "id": 8
           },
           {
             "code": "floorWarden",
             "name": "Floor Warden",
             "id": 12
           },
           {
             "code": "specialNeeds",
             "name": "Special Needs",
             "id": 13
           },
           {
             "code": "comments",
             "name": "Comments",
             "id": 14
           },
           {
             "code": "alternateDelivery",
             "name": "Alternate Delivery",
             "id": 16
           },
           {
             "code": "knownAs",
             "name": "Known As",
             "id": 17
           }
         ]
       },
       "userName": "hansolo",
       "specialNeeds": false,
       "email": "hansolo@iofficecorp.com",
       "dateUpdated": 1488566587390
     },
     "id": 16,
     "items": [
       {
         "toRoom": {
           "dateCreated": 1465572191247,
           "reservable": false,
           "name": "49.0",
           "description": "",
           "id": 416,
           "floor": {
             "area": 23600.0167,
             "dateCreated": 1465572160000,
             "drawingAvailable": true,
             "name": "1",
             "id": 2,
             "building": {
               "address": {
                 "country": {
                   "defaultSelected": true,
                   "subdivisionCategoryName": "state",
                   "alpha2Code": "US",
                   "isoCode": "US",
                   "name": "United States of America (the)",
                   "id": 223
                 },
                 "city": "Houston",
                 "postalCode": "",
                 "state": {
                   "defaultSelected": false,
                   "code": "",
                   "name": "Other",
                   "id": 70
                 }
               },
               "dateCreated": 1465572158677,
               "metric": false,
               "name": "Built",
               "id": 44,
               "dateUpdated": 1465572159707
             },
             "dateUpdated": 1465572186757
           },
           "type": {
             "hexColor": "33cc99",
             "color": {},
             "name": "WKST",
             "occupiable": true,
             "id": 1,
             "parkingSpace": false
           },
           "capacity": 1
         },
         "toRoomAvailable": true,
         "name": "Han Solo",
         "id": 31201,
         "type": {
           "dateCreated": 1067272496850,
           "name": "Employee Move",
           "id": 2,
           "fields": [
             {
               "code": "firstName",
               "name": "First Name",
               "id": 17
             },
             {
               "code": "lastName",
               "name": "Last Name",
               "id": 18
             },
             {
               "code": "phone",
               "name": "Phone",
               "id": 19
             },
             {
               "code": "extension",
               "name": "Extension",
               "id": 20
             },
             {
               "code": "costCenter",
               "name": "Cost Center",
               "id": 21
             },
             {
               "code": "employeeId",
               "name": "Employee ID",
               "id": 22
             },
             {
               "code": "email",
               "name": "Email",
               "id": 23
             }
           ],
           "typeCode": "move"
         },
         "user": {
           "floorWarden": false,
           "lastName": "Admin",
           "extension": "",
           "color": "#8cf7a4",
           "employeeId": "",
           "userName": "hansolo",
           "specialNeeds": false,
           "dateUpdated": 1488566587390,
           "firstName": "Han",
           "dateCreated": 1464727067663,
           "phone": "",
           "name": "Han Solo",
           "mailStop": {
             "name": "Stop 1",
             "id": 140
           },
           "userType": {
             "dateCreated": 1430925570820,
             "name": "Employee",
             "id": 1,
             "fields": [
               {
                 "code": "company",
                 "name": "Company",
                 "id": 1
               },
               {
                 "code": "jobTitle",
                 "name": "Job Title",
                 "id": 2
               },
               {
                 "code": "phone",
                 "name": "Phone",
                 "id": 3
               },
               {
                 "code": "extension",
                 "name": "Extension",
                 "id": 4
               },
               {
                 "code": "mobile",
                 "name": "Mobile Phone Number",
                 "id": 6
               },
               {
                 "code": "employeeId",
                 "name": "Employee ID",
                 "id": 8
               },
               {
                 "code": "floorWarden",
                 "name": "Floor Warden",
                 "id": 12
               },
               {
                 "code": "specialNeeds",
                 "name": "Special Needs",
                 "id": 13
               },
               {
                 "code": "comments",
                 "name": "Comments",
                 "id": 14
               },
               {
                 "code": "alternateDelivery",
                 "name": "Alternate Delivery",
                 "id": 16
               },
               {
                 "code": "knownAs",
                 "name": "Known As",
                 "id": 17
               }
             ]
           },
           "email": "hansolo@iofficecorp.com"
         },
         "tasksValueMap": {  
            "10": {  
               "other":"Need a Bigger TV",
               "notes":"Samsung or Sony",
               "whiteBoard":"Yes",
               "deskChair":"Yes",
               "sideChair":"Yes"
            }
         }
       }
     ],
     "status": {
       "code": "sub",
       "dateCreated": 1185984126540,
       "name": "In Progress",
       "id": 10
     }
 }

Edit a Move Request
PUT/move/requests/{id}

To update a Move Request send JSON with the Move Request’s ID and updated value for one or more of the attributes.

Example URI

PUT /move/requests/id
URI Parameters
HideShow
id
string (required) 

ID of the Move Request

Request
HideShow
Headers
Content-Type: application/json
Body
{
   {
     "id": 23,
     "approved": true,
   }
 }
Response  200
HideShow
Body
{
  "date": 1504112404863,
  "approved": true,
  "comments": [
    {
      "id": 92,
      "content": "your comment here!"
    }
  ],
  "dateCreated": 1469818235210,
  "approvedBy": {
    "floorWarden": false,
    "lastName": "Admin",
    "firstName": "Han",
    "dateCreated": 1464727067663,
    "color": "#89ffa1",
    "name": "Han Solo",
    "id": 9,
    "userType": {
      "dateCreated": 1430925570820,
      "name": "Employee",
      "id": 1,
      "fields": [
        {
          "code": "company",
          "name": "Company",
          "id": 1
        },
        {
          "code": "jobTitle",
          "name": "Job Title",
          "id": 2
        },
        {
          "code": "phone",
          "name": "Phone",
          "id": 3
        },
        {
          "code": "extension",
          "name": "Extension",
          "id": 4
        },
        {
          "code": "mobile",
          "name": "Mobile Phone Number",
          "id": 6
        },
        {
          "code": "employeeId",
          "name": "Employee ID",
          "id": 8
        },
        {
          "code": "floorWarden",
          "name": "Floor Warden",
          "id": 12
        },
        {
          "code": "specialNeeds",
          "name": "Special Needs",
          "id": 13
        },
        {
          "code": "comments",
          "name": "Comments",
          "id": 14
        },
        {
          "code": "alternateDelivery",
          "name": "Alternate Delivery",
          "id": 16
        },
        {
          "code": "knownAs",
          "name": "Known As",
          "id": 17
        }
      ]
    },
    "userName": "hansolo",
    "specialNeeds": false,
    "email": "hansolo@iofficecorp.com",
    "dateUpdated": 1488566587390
  },
  "id": 16,
  "items": [
    {
      "toRoom": {
        "dateCreated": 1465572191247,
        "reservable": false,
        "name": "49.0",
        "description": "",
        "id": 416,
        "floor": {
          "area": 23600.0167,
          "dateCreated": 1465572160000,
          "drawingAvailable": true,
          "name": "1",
          "id": 2,
          "building": {
            "address": {
              "country": {
                "defaultSelected": true,
                "subdivisionCategoryName": "state",
                "alpha2Code": "US",
                "isoCode": "US",
                "name": "United States of America (the)",
                "id": 223
              },
              "city": "Houston",
              "postalCode": "",
              "state": {
                "defaultSelected": false,
                "code": "",
                "name": "Other",
                "id": 70
              }
            },
            "dateCreated": 1465572158677,
            "metric": false,
            "name": "Built",
            "id": 44,
            "dateUpdated": 1465572159707
          },
          "dateUpdated": 1465572186757
        },
        "type": {
          "hexColor": "33cc99",
          "color": {},
          "name": "WKST",
          "occupiable": true,
          "id": 1,
          "parkingSpace": false
        },
        "capacity": 1
      },
      "toRoomAvailable": true,
      "name": "Han Solo",
      "id": 31201,
      "type": {
        "dateCreated": 1067272496850,
        "name": "Employee Move",
        "id": 2,
        "fields": [
          {
            "code": "firstName",
            "name": "First Name",
            "id": 17
          },
          {
            "code": "lastName",
            "name": "Last Name",
            "id": 18
          },
          {
            "code": "phone",
            "name": "Phone",
            "id": 19
          },
          {
            "code": "extension",
            "name": "Extension",
            "id": 20
          },
          {
            "code": "costCenter",
            "name": "Cost Center",
            "id": 21
          },
          {
            "code": "employeeId",
            "name": "Employee ID",
            "id": 22
          },
          {
            "code": "email",
            "name": "Email",
            "id": 23
          }
        ],
        "typeCode": "move"
      },
      "user": {
        "floorWarden": false,
        "lastName": "Admin",
        "extension": "",
        "color": "#8cf7a4",
        "employeeId": "",
        "userName": "hansolo",
        "specialNeeds": false,
        "dateUpdated": 1488566587390,
        "firstName": "Han",
        "dateCreated": 1464727067663,
        "phone": "",
        "name": "Han Solo",
        "mailStop": {
          "name": "Stop 1",
          "id": 140
        },
        "userType": {
          "dateCreated": 1430925570820,
          "name": "Employee",
          "id": 1,
          "fields": [
            {
              "code": "company",
              "name": "Company",
              "id": 1
            },
            {
              "code": "jobTitle",
              "name": "Job Title",
              "id": 2
            },
            {
              "code": "phone",
              "name": "Phone",
              "id": 3
            },
            {
              "code": "extension",
              "name": "Extension",
              "id": 4
            },
            {
              "code": "mobile",
              "name": "Mobile Phone Number",
              "id": 6
            },
            {
              "code": "employeeId",
              "name": "Employee ID",
              "id": 8
            },
            {
              "code": "floorWarden",
              "name": "Floor Warden",
              "id": 12
            },
            {
              "code": "specialNeeds",
              "name": "Special Needs",
              "id": 13
            },
            {
              "code": "comments",
              "name": "Comments",
              "id": 14
            },
            {
              "code": "alternateDelivery",
              "name": "Alternate Delivery",
              "id": 16
            },
            {
              "code": "knownAs",
              "name": "Known As",
              "id": 17
            }
          ]
        },
        "email": "hansolo@iofficecorp.com"
      },
      "tasksValueMap": {
        "10": {
          "other": "Need a Bigger TV",
          "notes": "Samsung or Sony",
          "whiteBoard": "Yes",
          "deskChair": "Yes",
          "sideChair": "Yes"
        }
      }
    }
  ],
  "status": {
    "code": "sub",
    "dateCreated": 1185984126540,
    "name": "In Progress",
    "id": 10
  }
}

Remove a Move Request
DELETE/move/requests/{id}

Example URI

DELETE /move/requests/id
URI Parameters
HideShow
id
string (required) 

ID of the User

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Archive a Move Request
POST/move/requests/{id}/archive

Example URI

POST /move/requests/id/archive
URI Parameters
HideShow
id
string (required) 

ID of the move request

Response  200
HideShow
Body
{}

Move Collection

List of all Move Requests
GET/move/requests/{?statusId,statusCode,modifiedOrCreatedAfter}

Example URI

GET /move/requests/?statusId=66&statusCode=sub&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
statusId
number (optional) Example: 66

ID of the Move status to query from

statusCode
string (optional) Example: sub

Code of the Move status to query from

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Move Collection resource.

Headers
Content-Type: application/json
Body
[
             {
               "date": 1504112404863,
               "approved": true,
               "comments": [
                 {
                   "id": 92,
                   "content": "your comment here!"
                 }
               ],
               "dateCreated": 1469818235210,
               "approvedBy": {
                 "floorWarden": false,
                 "lastName": "Admin",
                 "firstName": "Han",
                 "dateCreated": 1464727067663,
                 "color": "#89ffa1",
                 "name": "Han Solo",
                 "id": 9,
                 "userType": {
                   "dateCreated": 1430925570820,
                   "name": "Employee",
                   "id": 1,
                   "fields": [
                     {
                       "code": "company",
                       "name": "Company",
                       "id": 1
                     },
                     {
                       "code": "jobTitle",
                       "name": "Job Title",
                       "id": 2
                     },
                     {
                       "code": "phone",
                       "name": "Phone",
                       "id": 3
                     },
                     {
                       "code": "extension",
                       "name": "Extension",
                       "id": 4
                     },
                     {
                       "code": "mobile",
                       "name": "Mobile Phone Number",
                       "id": 6
                     },
                     {
                       "code": "employeeId",
                       "name": "Employee ID",
                       "id": 8
                     },
                     {
                       "code": "floorWarden",
                       "name": "Floor Warden",
                       "id": 12
                     },
                     {
                       "code": "specialNeeds",
                       "name": "Special Needs",
                       "id": 13
                     },
                     {
                       "code": "comments",
                       "name": "Comments",
                       "id": 14
                     },
                     {
                       "code": "alternateDelivery",
                       "name": "Alternate Delivery",
                       "id": 16
                     },
                     {
                       "code": "knownAs",
                       "name": "Known As",
                       "id": 17
                     }
                   ]
                 },
                 "userName": "Han Solo",
                 "specialNeeds": false,
                 "email": "hansolo@iofficecorp.com",
                 "dateUpdated": 1488566587390
               },
               "id": 16,
               "items": [
                 {
                   "toRoom": {
                     "dateCreated": 1465572191247,
                     "reservable": false,
                     "name": "49.0",
                     "description": "",
                     "id": 416,
                     "floor": {
                       "area": 23600.0167,
                       "dateCreated": 1465572160000,
                       "drawingAvailable": true,
                       "name": "1",
                       "id": 2,
                       "building": {
                         "address": {
                           "country": {
                             "defaultSelected": true,
                             "subdivisionCategoryName": "state",
                             "alpha2Code": "US",
                             "isoCode": "US",
                             "name": "United States of America (the)",
                             "id": 223
                           },
                           "city": "Houston",
                           "postalCode": "",
                           "state": {
                             "defaultSelected": false,
                             "code": "",
                             "name": "Other",
                             "id": 70
                           }
                         },
                         "dateCreated": 1465572158677,
                         "metric": false,
                         "name": "Built",
                         "id": 44,
                         "dateUpdated": 1465572159707
                       },
                       "dateUpdated": 1465572186757
                     },
                     "type": {
                       "hexColor": "33cc99",
                       "color": {},
                       "name": "WKST",
                       "occupiable": true,
                       "id": 1,
                       "parkingSpace": false
                     },
                     "capacity": 1
                   },
                   "toRoomAvailable": true,
                   "name": "Han Solo",
                   "id": 31201,
                   "type": {
                     "dateCreated": 1067272496850,
                     "name": "Employee Move",
                     "id": 2,
                     "fields": [
                       {
                         "code": "firstName",
                         "name": "First Name",
                         "id": 17
                       },
                       {
                         "code": "lastName",
                         "name": "Last Name",
                         "id": 18
                       },
                       {
                         "code": "phone",
                         "name": "Phone",
                         "id": 19
                       },
                       {
                         "code": "extension",
                         "name": "Extension",
                         "id": 20
                       },
                       {
                         "code": "costCenter",
                         "name": "Cost Center",
                         "id": 21
                       },
                       {
                         "code": "employeeId",
                         "name": "Employee ID",
                         "id": 22
                       },
                       {
                         "code": "email",
                         "name": "Email",
                         "id": 23
                       }
                     ],
                     "typeCode": "move"
                   },
                   "user": {
                     "floorWarden": false,
                     "lastName": "Admin",
                     "extension": "",
                     "color": "#8cf7a4",
                     "employeeId": "",
                     "userName": "hansolo",
                     "specialNeeds": false,
                     "dateUpdated": 1488566587390,
                     "firstName": "Han",
                     "dateCreated": 1464727067663,
                     "phone": "",
                     "name": "Han Solo",
                     "mailStop": {
                       "name": "Stop 1",
                       "id": 140
                     },
                     "userType": {
                       "dateCreated": 1430925570820,
                       "name": "Employee",
                       "id": 1,
                       "fields": [
                         {
                           "code": "company",
                           "name": "Company",
                           "id": 1
                         },
                         {
                           "code": "jobTitle",
                           "name": "Job Title",
                           "id": 2
                         },
                         {
                           "code": "phone",
                           "name": "Phone",
                           "id": 3
                         },
                         {
                           "code": "extension",
                           "name": "Extension",
                           "id": 4
                         },
                         {
                           "code": "mobile",
                           "name": "Mobile Phone Number",
                           "id": 6
                         },
                         {
                           "code": "employeeId",
                           "name": "Employee ID",
                           "id": 8
                         },
                         {
                           "code": "floorWarden",
                           "name": "Floor Warden",
                           "id": 12
                         },
                         {
                           "code": "specialNeeds",
                           "name": "Special Needs",
                           "id": 13
                         },
                         {
                           "code": "comments",
                           "name": "Comments",
                           "id": 14
                         },
                         {
                           "code": "alternateDelivery",
                           "name": "Alternate Delivery",
                           "id": 16
                         },
                         {
                           "code": "knownAs",
                           "name": "Known As",
                           "id": 17
                         }
                       ]
                     },
                     "email": "hansolo@iofficecorp.com"
                   },
                   "tasksValueMap":{  
                      "10":{  
                         "other":"Need a Bigger TV",
                         "notes":"Samsung or Sony",
                         "whiteBoard":"Yes",
                         "deskChair":"Yes",
                         "sideChair":"Yes"
                      }
                   }
                 }
               ],
               "status": {
                 "code": "sub",
                 "dateCreated": 1185984126540,
                 "name": "In Progress",
                 "id": 10
               }
             },

             ...
]

Create a Move Request
POST/move/requests

  • The following attributes are required to create a Move Request: status id and description.

Example URI

POST /move/requests
Request
HideShow
Headers
Content-Type: application/json
Body
{
     "date": 1504112404863,
     "approved": true,
     "comments": [
       {
         "content": "your comment here!"
       }
     ],
     "description": "your description here!"
     "approvedBy": {
       "id": 9
     },
     "items": [
       {
         "toRoom": {
             "id": 2
          },
         "type": {
           "id": 2
         },
         "user": {
           "id": 9,
           "lastName": "Admin",
           "extension": "",
           "employeeId": "",
           "userName": "hansolo",
           "specialNeeds": false,
           "firstName": "Han",
           "phone": "",
           "name": "Han Solo",
           "email": "hansolo@iofficecorp.com"
         },
         "tasksValueMap":{  
            "10":{  
               "other":"Need a Bigger TV",
               "notes":"Samsung or Sony",
               "whiteBoard":"Yes",
               "deskChair":"Yes",
               "sideChair":"Yes"
            }
         }
       }
     ],
     "status": {
       "id": 10
     }
   }
Response  201
HideShow
Body
{
  "date": 1504112404863,
  "approved": true,
  "comments": [
    {
      "id": 97,
      "content": "your comment here!"
    }
  ],
  "dateCreated": 1488576779346,
  "approvedBy": {
    "floorWarden": false,
    "lastName": "Admin",
    "firstName": "Han",
    "dateCreated": 1464727067663,
    "color": "#89ffa1",
    "name": "Han Solo",
    "id": 9,
    "userType": {
      "dateCreated": 1430925570820,
      "name": "Employee",
      "id": 1,
      "fields": [
        {
          "code": "company",
          "name": "Company",
          "id": 1
        },
        {
          "code": "jobTitle",
          "name": "Job Title",
          "id": 2
        },
        {
          "code": "phone",
          "name": "Phone",
          "id": 3
        },
        {
          "code": "extension",
          "name": "Extension",
          "id": 4
        },
        {
          "code": "mobile",
          "name": "Mobile Phone Number",
          "id": 6
        },
        {
          "code": "employeeId",
          "name": "Employee ID",
          "id": 8
        },
        {
          "code": "floorWarden",
          "name": "Floor Warden",
          "id": 12
        },
        {
          "code": "specialNeeds",
          "name": "Special Needs",
          "id": 13
        },
        {
          "code": "comments",
          "name": "Comments",
          "id": 14
        },
        {
          "code": "alternateDelivery",
          "name": "Alternate Delivery",
          "id": 16
        },
        {
          "code": "knownAs",
          "name": "Known As",
          "id": 17
        }
      ]
    },
    "userName": "hansolo",
    "specialNeeds": false,
    "email": "hansolo@iofficecorp.com",
    "dateUpdated": 1488566587390
  },
  "id": 34,
  "items": [
    {
      "toRoom": {
        "dateCreated": 1465569711690,
        "reservable": false,
        "name": "FP4028",
        "description": "",
        "id": 2,
        "floor": {
          "area": 29612.2818,
          "dateCreated": 1464726639557,
          "drawingAvailable": true,
          "name": "0",
          "id": 1,
          "building": {
            "address": {
              "country": {
                "defaultSelected": true,
                "subdivisionCategoryName": "state",
                "alpha2Code": "US",
                "isoCode": "US",
                "name": "United States of America (the)",
                "id": 223
              },
              "city": "",
              "street": "",
              "postalCode": "",
              "state": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "defaultSelected": false,
                "code": "TX",
                "name": "Texas",
                "id": 61,
                "categoryName": "state"
              }
            },
            "code": "BLDG1",
            "dateCreated": 1107466065320,
            "metric": false,
            "name": "Building1",
            "id": 43
          },
          "dateUpdated": 1468875784277
        },
        "type": {
          "hexColor": "33cc99",
          "color": {},
          "name": "WKST",
          "occupiable": true,
          "id": 1,
          "parkingSpace": false
        },
        "capacity": 1,
        "dateUpdated": 1468875790390
      },
      "toRoomAvailable": true,
      "name": "Han Solo",
      "id": 31209,
      "type": {
        "dateCreated": 1067272496850,
        "name": "Employee Move",
        "id": 2,
        "fields": [
          {
            "code": "firstName",
            "name": "First Name",
            "id": 17
          },
          {
            "code": "lastName",
            "name": "Last Name",
            "id": 18
          },
          {
            "code": "phone",
            "name": "Phone",
            "id": 19
          },
          {
            "code": "extension",
            "name": "Extension",
            "id": 20
          },
          {
            "code": "costCenter",
            "name": "Cost Center",
            "id": 21
          },
          {
            "code": "employeeId",
            "name": "Employee ID",
            "id": 22
          },
          {
            "code": "email",
            "name": "Email",
            "id": 23
          }
        ],
        "typeCode": "move"
      },
      "user": {
        "floorWarden": false,
        "lastName": "Admin",
        "extension": "",
        "color": "#ffbcc6",
        "employeeId": "",
        "userName": "hansolo",
        "specialNeeds": false,
        "dateUpdated": 1488566587390,
        "firstName": "Han",
        "dateCreated": 1464727067663,
        "phone": "",
        "name": "Han Solo",
        "userType": {
          "dateCreated": 1430925570820,
          "name": "Employee",
          "id": 1,
          "fields": [
            {
              "code": "company",
              "name": "Company",
              "id": 1
            },
            {
              "code": "jobTitle",
              "name": "Job Title",
              "id": 2
            },
            {
              "code": "phone",
              "name": "Phone",
              "id": 3
            },
            {
              "code": "extension",
              "name": "Extension",
              "id": 4
            },
            {
              "code": "mobile",
              "name": "Mobile Phone Number",
              "id": 6
            },
            {
              "code": "employeeId",
              "name": "Employee ID",
              "id": 8
            },
            {
              "code": "floorWarden",
              "name": "Floor Warden",
              "id": 12
            },
            {
              "code": "specialNeeds",
              "name": "Special Needs",
              "id": 13
            },
            {
              "code": "comments",
              "name": "Comments",
              "id": 14
            },
            {
              "code": "alternateDelivery",
              "name": "Alternate Delivery",
              "id": 16
            },
            {
              "code": "knownAs",
              "name": "Known As",
              "id": 17
            }
          ]
        },
        "email": "hansolo@iofficecorp.com"
      },
      "tasksValueMap": {
        "10": {
          "other": "Need a Bigger TV",
          "notes": "Samsung or Sony",
          "whiteBoard": "Yes",
          "deskChair": "Yes",
          "sideChair": "Yes"
        }
      }
    }
  ],
  "dateUpdated": 1488576779926,
  "status": {
    "code": "sub",
    "dateCreated": 1185984126540,
    "name": "In Progress",
    "id": 10
  }
}

Get Move Status Ids

Get move status ids

Retrieve Move Status Ids
GET/move/statuses

Example URI

GET /move/statuses
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
     {
        code: "pen",
        dateCreated: 1195932197043,
        name: "Pending",
        id: 15
     },
     {
        code: "apr",
        dateCreated: 1195932197030,
        name: "Approved by Manager",
        id: 14
     },
     {
        code: "sub",
        dateCreated: 1185984126540,
        name: "In Progress",
        id: 10
     },
     {
        code: "0",
        dateCreated: 1202693678817,
        name: "Rejected",
        id: 16
     }
   ]

Get Move Request Type Ids

Get move request type ids

Retrieve Move Request Type Ids
GET/move/requestTypes

Example URI

GET /move/requestTypes
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "dateCreated": 1067272496850,
    "name": "Employee Move",
    "id": 2,
    "fields": [
      {
        "code": "firstName",
        "name": "First Name",
        "id": 17
      },
      {
        "code": "lastName",
        "name": "Last Name",
        "id": 18
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 19
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 20
      },
      {
        "code": "costCenter",
        "name": "Cost Center",
        "id": 21
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 22
      },
      {
        "code": "email",
        "name": "Email",
        "id": 23
      }
    ],
    "typeCode": "move"
  },
  {
    "dateCreated": 1064943098163,
    "name": "New Person",
    "id": 1,
    "fields": [
      {
        "code": "firstName",
        "name": "First Name",
        "id": 10
      },
      {
        "code": "lastName",
        "name": "Last Name",
        "id": 11
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 12
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 13
      },
      {
        "code": "costCenter",
        "name": "Cost Center",
        "id": 14
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 15
      },
      {
        "code": "email",
        "name": "Email",
        "id": 16
      }
    ],
    "typeCode": "new"
  },
  {
    "dateCreated": 1067272669320,
    "name": "Exiting Employee",
    "id": 6,
    "fields": [
      {
        "code": "firstName",
        "name": "First Name",
        "id": 24
      },
      {
        "code": "lastName",
        "name": "Last Name",
        "id": 25
      },
      {
        "code": "phone",
        "name": "Phone",
        "id": 26
      },
      {
        "code": "extension",
        "name": "Extension",
        "id": 27
      },
      {
        "code": "costCenter",
        "name": "Cost Center",
        "id": 28
      },
      {
        "code": "employeeId",
        "name": "Employee ID",
        "id": 29
      },
      {
        "code": "email",
        "name": "Email",
        "id": 30
      }
    ],
    "typeCode": "terminate"
  },
  {
    "dateCreated": 1067272647150,
    "name": "Move Office Equipment",
    "id": 5,
    "fields": [],
    "typeCode": "move"
  }
]

Get Move Tasks

Get move tasks

Retrieve Move Tasks
GET/move/tasks

Example URI

GET /move/tasks
Response  200
HideShow
Headers
Content-Type: application/json
Body
[  
   {  
      "dateCreated":1224355565670,
      "name":"Network Services",
      "id":1,
      "fields":[  
         {  
            "code":"pcType",
            "name":"PC Type",
            "id":4
         },
         {  
            "code":"notes",
            "name":"Notes",
            "id":5
         },
         {  
            "code":"printer",
            "name":"Printer?",
            "id":12
         },
         {  
            "code":"localQueue",
            "name":"Local Queue",
            "id":26
         }
      ]
   },
   ...   {  
      "dateCreated":1224355565670,
      "name":"Furniture",
      "id":10,
      "fields":[  
         {  
            "code":"deskChair",
            "name":"Desk Chair?",
            "id":42
         },
         {  
            "code":"sideChair",
            "name":"Side Chair?",
            "id":43
         },
         {  
            "code":"whiteBoard",
            "name":"White Board?",
            "id":44
         },
         {  
            "code":"other",
            "name":"Other?",
            "id":45
         },
         {  
            "code":"notes",
            "name":"Notes",
            "id":46
         }
      ]
   }
]

Mail

Mail-related resources of iOffice API

Mail

A single mail item object.

Retrieve a Single Mail Item
GET/mail/items/{id}

Example URI

GET /mail/items/id
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Edit a Mail Item
PUT/mail/items/{id}

To update a Mail Item send JSON with the Mail Item’s ID and updated value for one or more of the attributes.

Example URI

PUT /mail/items/id
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Request
HideShow
Headers
Content-Type: application/json
Body
{
"id": 1773,
"toUser": {
  "lastName": "Hill",
  "firstName": "Peggy",
  "id": 123,
  "email": "peggyhill@iofficecorp.com",
  "userName": "peggyhill",
  "name": "Peggy Hill",
  "userType": {
  ...
  }
},
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },           
}
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Remove a Mail Item
DELETE/mail/items/{id}

Example URI

DELETE /mail/items/id
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Deliver a Mail Item
PUT/mail/items/{id}/deliver

To deliver a single Mail Item send JSON with the required attributes.

Example URI

PUT /mail/items/id/deliver
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "itemType": "INTEROFFICE",
  "fromUser": {
    "id": 13
  },
  "toUser": {
    "id": 126
  },
  "id": 1906,
  "trackingNumber": "351987984"
}
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Deliver many Mail Items
PUT/mail/items/deliver

To deliver many Mail Items send JSON with the required attributes.

Example URI

PUT /mail/items/deliver
Request
HideShow
Headers
Content-Type: application/json
Body
[
        {
          "itemType": "INTEROFFICE",
          "fromUser": {
            "id": 13
          },
          "toUser": {
            "id": 126
          },
          "id": 1906,
          "trackingNumber": "351987984"
        },
        ...
    ]
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Checkout a Mail Item
PUT/mail/items/{id}/checkout

To checkout a single Mail Item send JSON with the required attributes.

Example URI

PUT /mail/items/id/checkout
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "itemType": "INTEROFFICE",
  "fromUser": {
    "id": 13
  },
  "toUser": {
    "id": 126
  },
  "id": 1906,
  "trackingNumber": "351987984"
}
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Pend a Mail Item
PUT/mail/items/{id}/pending

To pend a Mail Item send JSON with the required attributes.

Example URI

PUT /mail/items/id/pending
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "itemType": "INTEROFFICE",
  "fromUser": {
    "id": 13
  },
  "toUser": {
    "id": 126
  },
  "id": 1906,
  "trackingNumber": "351987984"
}
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Transfer a Mail Item
PUT/mail/items/{id}/transfer

To transfer a Mail Item send JSON with the required attributes.

Example URI

PUT /mail/items/id/transfer
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "itemType": "INTEROFFICE",
  "fromUser": {
    "id": 13
  },
  "toUser": {
    "id": 126
  },
  "id": 1906,
  "trackingNumber": "351987984"
}
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Add a Comment to a Mail Item
PUT/mail/items/{id}/addComment

To add a Comment to a Mail Item send JSON with the required attributes.

Example URI

PUT /mail/items/id/addComment
URI Parameters
HideShow
id
string (required) 

ID of the Mail Item

Request
HideShow
Headers
Content-Type: application/json
Body
{
      "comment: "This is a comment!",
    }
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Mail Items Collection

Collection of all Mail Items.

List of all Mail Items
GET/mail/items/{?search,modifiedOrCreatedAfter}

Example URI

GET /mail/items/?search=351987984&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
search
number (optional) Example: 351987984

Number to search for mail item by id, trackingNumber, or originalTrackingNumber

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Items Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
]

Check In one or many Mail Items
POST/mail/items/checkin

To Check In one or many Mail Items send JSON with the required attributes.

Example URI

POST /mail/items/checkin
Request
HideShow
Headers
Content-Type: application/json
Body
[
        {
          "itemType": "OUTBOUND",
          "packageType": {
            "id": 1
          },
          "center": {
             "id": 62
            },
          "fromUser": {
            "id": 13
          },
          "toUser": {
            "id": 126
          },
          "trackingNumber": "351987984"
        },
        ...
    ]
Response  200
HideShow

JSON representation of the Mail Item Resource

Headers
Content-Type: application/json
Body
{
  "currentQueue": "OUT",
  "toUser": {
    "lastName": "Hill",
    "id": 1773,
    "email": "hankhill@iofficecorp.com",
    "userName": "hankhill",
    "firstName": "Hank",
    "name": "Hank Hill",
    "userType": {
      ...
    }
  },
  "itemType": "INBOUND",
  "route": {
    "forShipping": false,
    "dateCreated": 1389629005210,
    "name": "Propane Mail Stop",
    "id": 99,
    "dateUpdated": 1496351321157
  },
  "originalTrackingNumber": "1234567890",
  "courier": {
    "code": "OTHER",
    "dateCreated": 1064937226683,
    "name": "Other",
    "id": 5,
    "dateUpdated": 1066939059227
  },
  "deliveryType": "Other",
  "statuses": [
    {
      "center": {
        "name": "Propane Receiving",
        "id": 68
      },
      "id": 2426,
      "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43,
            },
          }
        },
      }
    },
    {
      "center": {
        "name": "Mail Center",
        "id": 68
      }
  ],
  "id": 1773,
  "packageType": {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  "trackingNumber": "1234567890",
  "deliverTo": {
    "lastName": "Hill",
     "firstName": "Peggy",
    "id": 123,
    "email": "peggyhill@iofficecorp.com",
    "userName": "peggyhill",
    "name": "Peggy Hill",
    "userType": {
      ...
    }
  }
}

Mail Item IDs

Retrieve all Mail Item IDs.

Retrieve Mail Item IDs
GET/mail/items/ids{?modifiedOrCreatedAfter}

Example URI

GET /mail/items/ids?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Item ID resource.

Headers
Content-Type: application/json
Body
[
  1234,
  5678,
  9012,
  3456,
  7890
]

Delivered Mail Items

Collection of all Delivered Mail Items.

Retrieve Delivered Mail Items
GET/mail/items/delivered{?modifiedOrCreatedAfter}

Example URI

GET /mail/items/delivered?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Delivered Mail Items Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Package Types

Collection of all Mail Package Types.

Retrieve Package Types
GET/mail/packageTypes{?modifiedOrCreatedAfter}

Example URI

GET /mail/packageTypes?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Package Types resource.

Headers
Content-Type: application/json
Body
[
  {
    "code": "env",
    "dateCreated": 1345679479550,
    "sortOrder": 3,
    "name": "Envelope",
    "id": 1,
    "dateUpdated": 1465239263837
  },
  {
    "code": "box",
    "dateCreated": 1345679479567,
    "sortOrder": 1,
    "name": "Box",
    "id": 2,
    "dateUpdated": 1465239263837
  },
  {
    "code": "bag",
    "dateCreated": 1345679479570,
    "sortOrder": 2,
    "name": "Bag",
    "id": 3,
    "dateUpdated": 1465239263843
  }
]

Mail Stops

Collection of all Mail Stops.

Retrieve Mail Stops
GET/mail/mailstops{?modifiedOrCreatedAfter}

Example URI

GET /mail/mailstops?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Stops resource.

Headers
Content-Type: application/json
Body
[
  {
    "name": "Goku Stop",
    "id": 123
  },
  {
    "name": "Vegeta Stop",
    "id": 456
  },
  {
    "name": "Piccolo Stop",
    "id": 789
  },
  {
    "name": "Master Roshi Stop",
    "id": 012
  },
  {
    "name": "Dragon Ball Stop",
    "id": 345
  }
]

Mail Status Types

Collection of all Mail Status Types.

Retrieve Mail Status Types
GET/mail/types{?modifiedOrCreatedAfter}

Example URI

GET /mail/types?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Routes resource.

Headers
Content-Type: application/json
Body
[
  {
    "forShipping": false,
    "dateCreated": 1106077148680,
    "name": "DBZ Mail Center",
    "id": 9000,
    "dateUpdated": 1465497845000
  },
  {
    "forShipping": true,
    "dateCreated": 1136928941950,
    "name": "Sailor Moon Mail Center",
    "id": 5,
    "dateUpdated": 1465497863110
  },
  {
    "forShipping": false,
    "dateCreated": 1374783404423,
    "name": "Ranma 1/2 Mail Center",
    "id": 999,
    "dateUpdated": 1465497836000
  }
]

Mail Routes

Collection of all Mail Routes.

Retrieve Mail Routes
GET/mail/routes{?modifiedOrCreatedAfter}

Example URI

GET /mail/routes?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Routes resource.

Headers
Content-Type: application/json
Body
[
  {
    "forShipping": false,
    "dateCreated": 1106077148680,
    "name": "DBZ Mail Center",
    "id": 9000,
    "dateUpdated": 1465497845000
  },
  {
    "forShipping": true,
    "dateCreated": 1136928941950,
    "name": "Sailor Moon Mail Center",
    "id": 5,
    "dateUpdated": 1465497863110
  },
  {
    "forShipping": false,
    "dateCreated": 1374783404423,
    "name": "Ranma 1/2 Mail Center",
    "id": 999,
    "dateUpdated": 1465497836000
  }
]

Mail Locations

Collection of all Mail Locations.

Retrieve Mail Locations
GET/mail/locations{?modifiedOrCreatedAfter}

Example URI

GET /mail/locations?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Locations resource.

Headers
Content-Type: application/json
Body
[
  {
    "dateCreated": 1449102051820,
    "sortOrder": 1,
    "name": "Rack 1",
    "id": 1,
    "dateUpdated": 1501188860653
  },
  {
    "dateCreated": 1449102051820,
    "sortOrder": 2,
    "name": "Rack 2",
    "id": 2,
    "dateUpdated": 1501188860657
  },
  {
    "dateCreated": 1483036976673,
    "sortOrder": 3,
    "name": "Rack 3",
    "id": 3,
    "dateUpdated": 1501188860660
  }
]

Mail Alerts

Collection of all Mail Alerts.

Retrieve Mail Alerts
GET/mail/alerts{?modifiedOrCreatedAfter}

Example URI

GET /mail/alerts?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Alerts resource.

Headers
Content-Type: application/json
Body
[
  {
    "multipleAlerts": true,
    "notes": "This is a Note!",
    "id": 1,
    "enteredBy": {
        "lastName": "Hill",
        "firstName": "Bobby",
        "phone": "123-456-7899",
        "name": "Bobby Hill",
        "userType": {
          ...
        }                    
        "extension": "123",
        "company": "Strickland Propane",
        "id": 1,
        "email": "bobbyhill@iofficecorp.com",
        "employeeId": "99",
        "userName": "bobbyhill",
        "mailStop": {
          "name": "Bobby's Room Mail Stop",
          "id": 139
        },                    
        "room": {
          "type": {
            ...
          },
          "name": "803",
          "id": 160,
          "mailStop": {
            "name": "Bobby's Room Mail Stop",
            "id": 139
          },
          "floor": {
            "name": "08",
            "id": 2,
            "building": {
              "address": {
                "country": {
                  "defaultSelected": true,
                  "subdivisionCategoryName": "state",
                  "alpha2Code": "US",
                  "isoCode": "US",
                  "name": "United States of America (the)",
                  "id": 223
                },
                "city": "Arlen",
                "street": "1598 Strickland Way",
                "postalCode": "77539",
                "state": {
                  "country": {
                    "defaultSelected": true,
                    "subdivisionCategoryName": "state",
                    "alpha2Code": "US",
                    "isoCode": "US",
                    "name": "United States of America (the)",
                    "id": 223
                  },
                  "defaultSelected": false,
                  "code": "TX",
                  "name": "Texas",
                  "id": 61,
                  "categoryName": "state"
                }
              },
              "code": "PRPN",
              "name": "Lone Star Tower",
              "location": {},
              "id": 43
            },
          },
        },
     },
   },       
]

Mail Leaderboards for Deliveries

Collection of Leaderboards for Mail Deliveries.

Retrieve Leaderboards for Mail Deliveries
GET/stats/leaderboards/deliveries{?modifiedOrCreatedAfter}

Example URI

GET /stats/leaderboards/deliveries?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Leaderboards for Deliveries resource.

Headers
Content-Type: application/json
Body
[
    {
        "count": 99,
        "user": {
            "lastName": "Hill",
            "firstName": "Bobby",
            "phone": "123-456-7899",
            "name": "Bobby Hill",
            "userType": {
              ...
            }                    
            "extension": "123",
            "company": "Strickland Propane",
            "id": 1,
            "email": "bobbyhill@iofficecorp.com",
            "employeeId": "99",
            "userName": "bobbyhill",
            "mailStop": {
              "name": "Bobby's Room Mail Stop",
              "id": 139
            },                    
            "room": {
              "type": {
                ...
              },
              "name": "803",
              "id": 160,
              "mailStop": {
                "name": "Bobby's Room Mail Stop",
                "id": 139
              },
              "floor": {
                "name": "08",
                "id": 2,
                "building": {
                  "address": {
                    "country": {
                      "defaultSelected": true,
                      "subdivisionCategoryName": "state",
                      "alpha2Code": "US",
                      "isoCode": "US",
                      "name": "United States of America (the)",
                      "id": 223
                    },
                    "city": "Arlen",
                    "street": "1598 Strickland Way",
                    "postalCode": "77539",
                    "state": {
                      "country": {
                        "defaultSelected": true,
                        "subdivisionCategoryName": "state",
                        "alpha2Code": "US",
                        "isoCode": "US",
                        "name": "United States of America (the)",
                        "id": 223
                      },
                      "defaultSelected": false,
                      "code": "TX",
                      "name": "Texas",
                      "id": 61,
                      "categoryName": "state"
                    }
                  },
                  "code": "PRPN",
                  "name": "Lone Star Tower",
                  "location": {},
                  "id": 43,
                },
              },
            },
        },          
     },
     ...                          
]

Mail Leaderboards for Check-Ins

Collection of Leaderboards for Check-Ins.

Retrieve Leaderboards for Mail Check-Ins
GET/stats/leaderboards/check-ins{?modifiedOrCreatedAfter}

Example URI

GET /stats/leaderboards/check-ins?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Mail Leaderboards for Check-Ins resource.

Headers
Content-Type: application/json
Body
[
    {
        "count": 67,
        "user": {
            "lastName": "Hill",
            "firstName": "Bobby",
            "phone": "123-456-7899",
            "name": "Bobby Hill",
            "userType": {
              ...
            }                    
            "extension": "123",
            "company": "Strickland Propane",
            "id": 1,
            "email": "bobbyhill@iofficecorp.com",
            "employeeId": "99",
            "userName": "bobbyhill",
            "mailStop": {
              "name": "Bobby's Room Mail Stop",
              "id": 139
            },                    
            "room": {
              "type": {
                ...
              },
              "name": "803",
              "id": 160,
              "mailStop": {
                "name": "Bobby's Room Mail Stop",
                "id": 139
              },
              "floor": {
                "name": "08",
                "id": 2,
                "building": {
                  "address": {
                    "country": {
                      "defaultSelected": true,
                      "subdivisionCategoryName": "state",
                      "alpha2Code": "US",
                      "isoCode": "US",
                      "name": "United States of America (the)",
                      "id": 223
                    },
                    "city": "Arlen",
                    "street": "1598 Strickland Way",
                    "postalCode": "77539",
                    "state": {
                      "country": {
                        "defaultSelected": true,
                        "subdivisionCategoryName": "state",
                        "alpha2Code": "US",
                        "isoCode": "US",
                        "name": "United States of America (the)",
                        "id": 223
                      },
                      "defaultSelected": false,
                      "code": "TX",
                      "name": "Texas",
                      "id": 61,
                      "categoryName": "state"
                    }
                  },
                  "code": "PRPN",
                  "name": "Lone Star Tower",
                  "location": {},
                  "id": 43,
                },
              },
            },
        },          
     },
     ...                          
]

Contact

Contact-related resources of iOffice API

Contact

A single contact object.

Retrieve a Single Contact
GET/contacts/{id}

Example URI

GET /contacts/id
URI Parameters
HideShow
id
string (required) 

ID of the Contact

Response  200
HideShow

JSON representation of the Contact Resource

Headers
Content-Type: application/json
Body
{
    "id": 23,
    ...
}

Edit a Contact
PUT/contacts/{id}

To update a Contact send JSON with the Contact’s ID and updated value for one or more of the attributes.

Example URI

PUT /contacts/id
URI Parameters
HideShow
id
string (required) 

ID of the Contact

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "attributeName": "value"
}
Response  200
HideShow

JSON representation of the Contact Resource

Headers
Content-Type: application/json
Body
{
    "id": 23,
    ...
}

Remove a Contact
DELETE/contacts/{id}

Example URI

DELETE /contacts/id
URI Parameters
HideShow
id
string (required) 

ID of the Contact

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Contact Collection

Collection of all Contacts.

List of all Contacts
GET/contacts{?modifiedOrCreatedAfter}

Example URI

GET /contacts?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Contact Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Create a Contact
POST/contacts

To create a Contact send JSON with the values the new contact should have.

Example URI

POST /contacts
Response  201
HideShow

JSON representation of the Contact Resource

Headers
Content-Type: application/json
Body
{
    "id": 23,
    ...
}

Building

Building-related resources of iOffice API

Building

A single building object.

Retrieve a Single Building
GET/buildings/{id}

Example URI

GET /buildings/id
URI Parameters
HideShow
id
string (required) 

ID of the Building

Response  200
HideShow

JSON representation of the Building Resource

Headers
Content-Type: application/json
Body
{
    "id": 43,
    "address": {...},
    "name": "Mystery Inc.",
    "code": "mystery"
}

Edit a Building
PUT/buildings/{id}

To update a Building send JSON with the Building’s ID and updated value for one or more of the attributes.

Example URI

PUT /buildings/id
URI Parameters
HideShow
id
string (required) 

ID of the Building

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 43,
  "address": {
    "postalCode": "77019"
  }
}
Response  200
HideShow

JSON representation of the Building Resource

Headers
Content-Type: application/json
Body
{
    "id": 43,
    "address": {...},
    "name": "Mystery Inc.",
    "code": "mystery"
}

Remove a Building
DELETE/buildings/{id}

Example URI

DELETE /buildings/id
URI Parameters
HideShow
id
string (required) 

ID of the Building

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Building Collection

Collection of all Buildings.

List of all Buildings
GET/buildings/{?includeReservable,includeNonReservable,locationSearch,nearLatitude,nearLongitude,modifiedOrCreatedAfter}

Example URI

GET /buildings/?includeReservable=true&includeNonReservable=false&locationSearch=houston tx&nearLatitude=29.75613&nearLongitude=-95.39425&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
includeReservable
boolean (optional) Example: true

If true, query will include buildings with reservable rooms

includeNonReservable
boolean (optional) Example: false

If true, query will include buildings with non-reservable rooms

locationSearch
string (optional) Example: houston tx

Will do a location lookup based on the search string.

nearLatitude
number (optional) Example: 29.75613

Latitude to base search on (50 mile radius)

nearLongitude
number (optional) Example: -95.39425

Longitude to base search on (50 mile radius)

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Building Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Create a Building
POST/buildings/

The following attribute is required to create a Building: name.

Example URI

POST /buildings/
Request
HideShow
Headers
Content-Type: application/json
Body
{
        "name": "Headquarters",
    }
Response  201
HideShow

JSON representation of the Building Resource

Headers
Content-Type: application/json
Body
{
    "id": 43,
    "address": {...},
    "name": "Mystery Inc.",
    "code": "mystery"
}

Country

Country-related resources of iOffice API

Country

A single country object.

Retrieve a Single Country
GET/countries/{id}

Example URI

GET /countries/id
URI Parameters
HideShow
id
string (required) 

ID of the Country

Response  200
HideShow

JSON representation of the Country Resource

Headers
Content-Type: application/json
Body
{
  "id": 223,
  "defaultSelected": true,
  "name": "United States"
}

Edit a Country
PUT/countries/{id}

Countries cannot be modified.

Example URI

PUT /countries/id
URI Parameters
HideShow
id
string (required) 

ID of the Country

Response  500

Remove a Country
DELETE/countries/{id}

Example URI

DELETE /countries/id
URI Parameters
HideShow
id
string (required) 

ID of the Country

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Country Collection

Collection of all Countries.

List of all Countries
GET/countries{?modifiedOrCreatedAfter}

Example URI

GET /countries?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Country Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Create a Country
POST/countries

Countries cannot be modified.

Example URI

POST /countries
Response  500
HideShow

JSON representation of the Country Resource

Headers
Content-Type: application/json
Body
{
  "id": 223,
  "defaultSelected": true,
  "name": "United States"
}

Floor

Floor-related resources of iOffice API

Floor

A single floor object.

Retrieve a Single Floor
GET/floors/{id}

Example URI

GET /floors/id
URI Parameters
HideShow
id
string (required) 

ID of the Floor

Response  200
HideShow

JSON representation of the Floor Resource

Headers
Content-Type: application/json
Body
{
    "id": 5,
    "building": {...},
    "area": 2000,
    "name": "1st Floor"
}

Edit a Floor
PUT/floors/{id}

To update a Floor send JSON with the Floor’s ID and updated value for one or more of the attributes.

Example URI

PUT /floors/id
URI Parameters
HideShow
id
string (required) 

ID of the Floor

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 5,
  "name": "2nd Floor"
}
Response  200
HideShow

JSON representation of the Floor Resource

Headers
Content-Type: application/json
Body
{
    "id": 5,
    "building": {...},
    "area": 2000,
    "name": "1st Floor"
}

Remove a Floor
DELETE/floors/{id}

Example URI

DELETE /floors/id
URI Parameters
HideShow
id
string (required) 

ID of the Floor

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Floor Collection

Collection of all Floors.

List of all Floors
GET/floors/{?buildingId,modifiedOrCreatedAfter}

Example URI

GET /floors/?buildingId=3&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
buildingId
number (optional) Example: 3

Id of building to base query

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Floor Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Create a Floor
POST/floors/{?buildingId,modifiedOrCreatedAfter}

The following attributes are required to create a Floor: name and building.

Example URI

POST /floors/?buildingId=&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
buildingId
string (optional) 

Id building to query from

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "3rd Floor",
  "building": {
    "id": 45
  }
}
Response  201
HideShow

JSON representation of the Floor Resource

Headers
Content-Type: application/json
Body
{
    "id": 5,
    "building": {...},
    "area": 2000,
    "name": "1st Floor"
}

Room

Room-related resources of iOffice API

Note: The term “room” has been amended to “space”; all references to a “room” or “rooms” will now be referred to as a “space” or “spaces”. This change does not affect current endpoints.

Room

A single room object.

Retrieve a Single Room
GET/rooms/{id}

Example URI

GET /rooms/id
URI Parameters
HideShow
id
string (required) 

ID of the Room

Response  200
HideShow

JSON representation of the Room Resource

Headers
Content-Type: application/json
Body
{
    "id": 52927,
    "floor": {...},
    "reservable": true,
    "name": "010211"
}

Edit a Room
PUT/rooms/{id}

To update a Room send JSON with the Room’s ID and updated value for one or more of the attributes.

Example URI

PUT /rooms/id
URI Parameters
HideShow
id
string (required) 

ID of the Room

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "type": {
    "id": 55
  }
}
Response  200
HideShow

JSON representation of the Room Resource

Headers
Content-Type: application/json
Body
{
    "id": 52927,
    "floor": {...},
    "reservable": true,
    "name": "010211"
}

Remove a Room
DELETE/rooms/{id}

Example URI

DELETE /rooms/id
URI Parameters
HideShow
id
string (required) 

ID of the Room

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Room Collection

Collection of all Rooms.

List of all Rooms
GET/rooms/{?includeReservable,includeNonReservable,locationSearch,includeOccupiable,includeNonOccupiable,nearLatitude,nearLongitude,startDate,endDate,numberOfPeople,includeParking,buildingId,floorId,type,modifiedOrCreatedAfter}

Note: floorId and buildingId may be used in tandem but floorId will always take preference (i.e. a mismatched buildingId/floorId will not result in an error).

Example URI

GET /rooms/?includeReservable=true&includeNonReservable=false&locationSearch=houston tx&includeOccupiable=true&includeNonOccupiable=false&nearLatitude=29.75613&nearLongitude=-95.39425&startDate=1404410211910&endDate=1404421051661&numberOfPeople=6&includeParking=true&buildingId=44&floorId=3443&type=65 or 65,32,79&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
includeReservable
boolean (optional) Example: true

If true, query will include reservable rooms

includeNonReservable
boolean (optional) Example: false

If true, query will include non-reservable rooms

includeOccupiable
boolean (optional) Example: true

If true, query will include occupiable rooms

includeNonOccupiable
boolean (optional) Example: false

If true, query will include non-occupiable rooms

locationSearch
string (optional) Example: houston tx

Will do a location lookup based on the search string.

nearLatitude
number (optional) Example: 29.75613

Latitude to base search on (50 mile radius)

nearLongitude
number (optional) Example: -95.39425

Longitude to base search on (50 mile radius)

startDate
number (optional) Example: 1404410211910

Epoch time of room availability start date

endDate
number (optional) Example: 1404421051661

Epoch time of room availability end date

numberOfPeople
number (optional) Example: 6

Number to search for room by maximum occupancy

includeParking
boolean (optional) Example: true

If true, query will include rooms with parking spaces

buildingId
number (optional) Example: 44

Id of building to search in

floorId
number (optional) Example: 3443

Id of floor to search on

type
number (optional) Example: 65 or 65,32,79

Id of room type to search for (can accept a comma delimited series of Ids)

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Room Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Create a Room
POST/rooms/

The following attributes are required to create a Room: name, floor, and type.

Example URI

POST /rooms/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "room 101",
  "floor": {
    "id": 16
  },
  "type": {
    "id": 44
  }
}
Response  201
HideShow

JSON representation of the Room Resource

Headers
Content-Type: application/json
Body
{
    "id": 52927,
    "floor": {...},
    "reservable": true,
    "name": "010211"
}

Room Types

Collection of all Room Types.

List of all Room Types
GET/rooms/types/{?includeReservable,includeNonReservable,includeOccupiable,includeNonOccupiable,includeParking,modifiedOrCreatedAfter}

Example URI

GET /rooms/types/?includeReservable=true&includeNonReservable=false&includeOccupiable=true&includeNonOccupiable=false&includeParking=false&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
includeReservable
boolean (optional) Example: true

If true, query will include reservable room types

includeNonReservable
boolean (optional) Example: false

If true, query will include non-reservable room types

includeOccupiable
boolean (optional) Example: true

If true, query will include occupiable room types

includeNonOccupiable
boolean (optional) Example: false

If true, query will include non-occupiable room types

includeParking
boolean (optional) Example: false

If true, query will include parking room types

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection

Response  200
HideShow

JSON representation of the Room Types resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        "name":"Office",
        "sortOrder":5
    }
]

Asset

Asset-related resources of iOffice API

Asset

A single asset object.

Retrieve a Single Asset
GET/assets/{id}

Example URI

GET /assets/id
URI Parameters
HideShow
id
string (required) 

ID of the Asset

Response  200
HideShow

JSON representation of the Asset Resource Note: An asset can be assigned to either a room or an owner. If assigned to an owner then the json object will have an owner property and not a room property and visa versa.

Headers
Content-Type: application/json
Body
{
    "id": 11,
    "model": {...},
    "managed": false,
    "boxLength": "STRING",
    "titleLocation": "STRING",
    "name": "Computer",
    "dateCreated": 1382994855640,
    "active": "BOOLEAN",
    "room": {...},
    "owner": {...}
    "dateUpdated": 1382994855640
}

Edit a Asset
PUT/assets/{id}

To update an Asset send JSON with the Asset’s ID and updated value for one or more of the attributes.

Example URI

PUT /assets/id
URI Parameters
HideShow
id
string (required) 

ID of the Asset

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 11,
  "printerName": "NEW PRINTER TEST NAME"
}
Response  200
HideShow

JSON representation of the Asset Resource Note: An asset can be assigned to either a room or an owner. If assigned to an owner then the json object will have an owner property and not a room property and visa versa.

Headers
Content-Type: application/json
Body
{
    "id": 11,
    "model": {...},
    "managed": false,
    "boxLength": "STRING",
    "titleLocation": "STRING",
    "name": "Computer",
    "dateCreated": 1382994855640,
    "active": "BOOLEAN",
    "room": {...},
    "owner": {...}
    "dateUpdated": 1382994855640
}

Remove an Asset
DELETE/assets/{id}

Example URI

DELETE /assets/id
URI Parameters
HideShow
id
string (required) 

ID of the Asset

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Asset Collection

Collection of all Assets.

List of all Assets
GET/assets/{?search,searchSerialNumber,typeId,buildingId,floorId,roomId,owner,modifiedOrCreatedAfter}

Example URI

GET /assets/?search=apple&searchSerialNumber=11111111&typeId=&buildingId=&floorId=&roomId=&owner=&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
search
string (optional) Example: apple

String to search for asset by model name, owner name, room name, localUID, or serialNumber

searchSerialNumber
string (optional) Example: 11111111

Search by serial number only

typeId
number (optional) 

Id of the type to query from

buildingId
number (optional) 

Id of the building to query from

floorId
number (optional) 

Id of the floor to query from

roomId
number (optional) 

Id of the room to query from

owner
number (optional) 

Id of the owner to query from

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection

Response  200
HideShow

JSON representation of the Asset Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":11
        ...
    },
    {
        "id":12
        ...
    },
    {
        "id":13
        ...
    }
]

Create a Asset
POST/assets/

NOTE: An Asset Model id is required for creating an Asset.

Example URI

POST /assets/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "model": {
    "id": 454
  }
}
Response  201
HideShow

JSON representation of the Asset Resource Note: An asset can be assigned to either a room or an owner. If assigned to an owner then the json object will have an owner property and not a room property and visa versa.

Headers
Content-Type: application/json
Body
{
    "id": 11,
    "model": {...},
    "managed": false,
    "boxLength": "STRING",
    "titleLocation": "STRING",
    "name": "Computer",
    "dateCreated": 1382994855640,
    "active": "BOOLEAN",
    "room": {...},
    "owner": {...}
    "dateUpdated": 1382994855640
}

Verify an asset

Create a record of the time and user that audited an asset.

Verify Asset
PUT/assets/{id}/verify

Example URI

PUT /assets/id/verify
URI Parameters
HideShow
id
string (required) 

Id of the Asset

Response  204

Attach Asset Image

Attach an image to a asset

Attach an Image to a Asset
POST/assets/{id}/attachImage

Example URI

POST /assets/id/attachImage
URI Parameters
HideShow
id
string (required) 

Id of the Asset

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "image": "BASE-64-IMAGE-STRING"
}
Response  200
HideShow

JSON representation of an attachment object

Headers
Content-Type: application/json
Body
{
    "id": "11"
    "storedFile": {
        "id": "INTERNAL_STORAGEID"
    }
    "downloadURL": "URL_RELATIVE_TO_SITE"
    "description": "DESCRIPTION"
    "name": "IMAGE_NAME"
    "fileName": "FILE_NAME"
    "dateCreated": "EPOCH_TIME"
    "image": "BOOLEAN"
    "storageId": "INTERNAL_STORAGEID"
}

Asset Type Collection

Asset Type

List of all Asset Types
GET/assets/types

Example URI

GET /assets/types
Response  200
HideShow

JSON representation of an attachment type object

Headers
Content-Type: application/json
Body
[
    {
        "id": 11,
        "meteringEnabled": true,
        "description": "Desktop Computers",
        "sortOrder": 0,
        "name": "Computer",
        "active": true,
        "dateCreated": 1262626862660,
        "code": "COMP",
        "unitPriceEnabled": true,
        "dateUpdated": 1262626862660
    },
    {
        "id":12
        ...
    },
    {
        "id":13
        ...
    }
]

Asset Model Collection

Asset Model

List of all Asset Models
GET/assets/models

Example URI

GET /assets/models
Response  200
HideShow

JSON representation of an attachment type object

Headers
Content-Type: application/json
Body
[
    {
        "id": 11,
        ...
    },
    {
        "id":12
        ...
    },
    {
        "id":13
        ...
    }
]

Reservation

Reservation-related resources of iOffice API

Reservation

A single reservation object.

Retrieve a Single Reservation
GET/reservations/{id}

Example URI

GET /reservations/id
URI Parameters
HideShow
id
string (required) 

ID of the Reservation

Response  200
HideShow

JSON representation of the Reservation Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "center": {...},
    "numberOfPeople": INT,
    "allDay": "BOOLEAN",
    "name": "STRING",
    "user": {...},
    "dateUpdated": EPOCH_TIME,
    "room": {...}
}

Edit a Reservation
PUT/reservations/{id}

To update a Reservation send JSON with the Reservation’s ID and updated value for one or more of the attributes.

Example URI

PUT /reservations/id
URI Parameters
HideShow
id
string (required) 

ID of the Reservation

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "user": {
    "id": 56
  }
}
Response  200
HideShow

JSON representation of the Reservation Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "center": {...},
    "numberOfPeople": INT,
    "allDay": "BOOLEAN",
    "name": "STRING",
    "user": {...},
    "dateUpdated": EPOCH_TIME,
    "room": {...}
}

Remove a Reservation
DELETE/reservations/{id}

Example URI

DELETE /reservations/id
URI Parameters
HideShow
id
string (required) 

ID of the Reservation

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Reservation Collection

Collection of all Reservations.

List of all Reservations
GET/reservations/{?includeCancelled,includePastReservations,includeNonCancelled,showOnlyMyReservations,startDate,endDate,buildingId,roomId,modifiedOrCreatedAfter}

Example URI

GET /reservations/?includeCancelled=true&includePastReservations=true&includeNonCancelled=false&showOnlyMyReservations=false&startDate=1404410211910&endDate=1404421051661&buildingId=44&roomId=16&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
includeCancelled
boolean (optional) Default: false Example: true

If true, query will include cancelled reservations

includeNonCancelled
boolean (optional) Default: true Example: false

If true, query will include non-cancelled reservations

includePastReservations
boolean (optional) Default: false Example: true

If true, query will include past reservations

showOnlyMyReservations
boolean (optional) Default: true Example: false

If true, query will only include logged in user’s reservations

startDate
number (optional) Example: 1404410211910

Epoch time of reservation start date

endDate
number (optional) Example: 1404421051661

Epoch time of reservation end date

buildingId
number (optional) Example: 44

Id of the building to query from

roomId
number (optional) Example: 16

Id of the room to query from

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Reservation Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Create a Reservation
POST/reservations/

The following attributes are required to create a Reservation: startDate, endDate, user, room, and allDay.

Example URI

POST /reservations/
Request
HideShow
Headers
Content-Type: application/json
Body
{
        "startDate": EPOCH_TIME,
        "endDate": EPOCH_TIME
        "numberOfPeople": INT,
        "allDay": "BOOLEAN",
        "name": "STRING",
        "user": {...},
        "guests": [..],
        "room": {...},
        "notes": "STRING"
    }
Response  201
HideShow

JSON representation of the Reservation Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "center": {...},
    "numberOfPeople": INT,
    "allDay": "BOOLEAN",
    "name": "STRING",
    "user": {...},
    "dateUpdated": EPOCH_TIME,
    "room": {...}
}

Cancel

Cancel Reservation

Cancel Reservation
PUT/reservations/{id}/cancel

Example URI

PUT /reservations/id/cancel
URI Parameters
HideShow
id
string (required) 

ID of the Reservation

Response  200
HideShow

JSON representation of the Reservation Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "center": {...},
    "numberOfPeople": INT,
    "allDay": "BOOLEAN",
    "name": "STRING",
    "user": {...},
    "dateUpdated": EPOCH_TIME,
    "room": {...}
}

Check In

Reservation Check In

Reservation Check In
PUT/reservations/{id}/checkIn

Example URI

PUT /reservations/id/checkIn
URI Parameters
HideShow
id
string (required) 

ID of the Reservation

Response  200
HideShow

JSON representation of the Reservation Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "center": {...},
    "numberOfPeople": INT,
    "allDay": "BOOLEAN",
    "name": "STRING",
    "user": {...},
    "dateUpdated": EPOCH_TIME,
    "room": {...}
}

Check Out

Reservation Check Out

Not available through the desktop app

Reservation Check Out
PUT/reservations/{id}/checkOut

Example URI

PUT /reservations/id/checkOut
URI Parameters
HideShow
id
string (required) 

ID of the Reservation

Response  200
HideShow

JSON representation of the Reservation Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "center": {...},
    "numberOfPeople": INT,
    "allDay": "BOOLEAN",
    "name": "STRING",
    "user": {...},
    "dateUpdated": EPOCH_TIME,
    "room": {...}
}

Maintenance

Maintenance-related resources of iOffice API

iOffice Service Request is known as the maintenance module internally.

Request

A single request object. The Request resource is the main component of the service request api.

Retrieve a Single Request
GET/maintenance/requests/{id}

Example URI

GET /maintenance/requests/id
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Edit a Request
PUT/maintenance/requests/{id}

To update a Request send JSON with the Request’s ID and updated value for one or more of the attributes.

Example URI

PUT /maintenance/requests/id
URI Parameters
HideShow
id
string (required) 

ID of the Request

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "room": {
    "id": 5
  }
}
Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Cancel a Request
DELETE/maintenance/requests/{id}

Example URI

DELETE /maintenance/requests/id
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Requests Collection

Collection of all Requests.

List of all Requests
GET/maintenance/requests/{?priority,assigned,pastDue,requestTypeId,modifiedOrCreatedAfter}

Example URI

GET /maintenance/requests/?priority=&assigned=&pastDue=&requestTypeId=&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
priority
string (optional) 

Query for high or low priority tickets:

high (sortOrder less than or equal to 2)

low (sortOrder greater than 2)

Choices: low high

assigned
string (optional) 

Query for tickets assigned to logged in user

Choices: me

pastDue
boolean (optional) 

If true, query will return past due items

requestTypeId
number (optional) 

number of request type Id

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Resource Collection Resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":49
        ...
    },
    {
        "id":50
        ...
    },
    {
        "id":51
        ...
    }
]

Create a Request
POST/maintenance/requests/

The following attributes are required to create a Request: dateRequired, requester, type, priority, and room.

NOTE: If the request type’s “assetRequest” attribute is TRUE, then an “asset” attribute is required as well.

Example URI

POST /maintenance/requests/
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "dateRequired": EPOCH_TIME,
    "requester": {
        "id": REQUESTER_ID,
    },
    "type": {
        "id": TYPE_ID,
    },
    "priority": {
        "id": PRIORITY_ID,
    },
    "room": {
        "id": ROOM_ID,
    }
}
Response  201
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Requests Collection Stats

Statistics of Requests relative to the requesting user.

The Stats resource has the following attributes:

  • assignedCount (number of requests assigned to this user)

  • highPriorityCount (number or requests who’s type have a sortOrder less than or equal to 2)

  • lowPriorityCount (number or requests who’s type have a sortOrder greater than to 2)

  • pastDueCount (number or requests that are past due)

  • totalCount (total number or requests in the global queue)

Request Statistics
GET/maintenance/requests/stats

Example URI

GET /maintenance/requests/stats
Response  200
HideShow

JSON representation of the Resource Collection Resource.

Headers
Content-Type: application/json
Body
{
    "assignedCount": INT
    "highPriorityCount": INT
    "lowPriorityCount": INT
    "pastDueCount": INT
    "totalCount": INT
}

Add Comment

Add a comment to a request

Add a comment to a Request
POST/maintenance/requests/{id}/addComment

Example URI

POST /maintenance/requests/id/addComment
URI Parameters
HideShow
id
string (required) 

Id of the Request

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "comment": "Your new comment string"
}
Response  200
HideShow

HTML string of all comments for the request

Headers
Content-Type: application/json
Body
{
  "comments": "<div class='Content'>YOUR COMMENT</div></div>"
}

Attach Request Image

Attach an image to a request

Attach an Image to a Request
POST/maintenance/requests/{id}/attachImage

Example URI

POST /maintenance/requests/id/attachImage
URI Parameters
HideShow
id
string (required) 

Id of the Request

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "image": "BASE-64-IMAGE-STRING"
}
Response  200
HideShow

JSON representation of an attachment object

Headers
Content-Type: application/json
Body
{
    "id": ID
    "storedFile": {
        "id": "INTERNAL_STORAGEID"
    }
    "downloadURL": "URL_RELATIVE_TO_SITE"
    "description": "DESCRIPTION"
    "name": "IMAGE_NAME"
    "fileName": "FILE_NAME"
    "dateCreated": EPOCH_TIME
    "image": "BOOLEAN"
    "storageId": "INTERNAL_STORAGEID"
}

Accept Request

** User must be a valid operator**

Set operator’s status for a request as accepted.

Accept a Request
PUT/maintenance/requests/{id}/accept

Example URI

PUT /maintenance/requests/id/accept
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Reject Request

** User must be a valid operator**

Set operator’s status for a request as rejected.

Reject a Request
PUT/maintenance/requests/{id}/reject

Example URI

PUT /maintenance/requests/id/reject
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Start Request

** User must be a valid operator**

Set operator’s status for a request as started.

Start a Request
PUT/maintenance/requests/{id}/start

Example URI

PUT /maintenance/requests/id/start
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Hold Request

** User must be a valid operator**

Set operator’s status for a request as on hold.

Hold a Request
PUT/maintenance/requests/{id}/hold

Example URI

PUT /maintenance/requests/id/hold
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Resume Request

** User must be a valid operator**

Set operator’s status for a request as resumed.

Resume a Request
PUT/maintenance/requests/{id}/resume

Example URI

PUT /maintenance/requests/id/resume
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Complete Request

** User must be a valid operator**

Set operator’s status for a request as complete.

Complete a Request
PUT/maintenance/requests/{id}/complete

Example URI

PUT /maintenance/requests/id/complete
URI Parameters
HideShow
id
string (required) 

ID of the Request

Response  200
HideShow

JSON representation of the Request Resource

Headers
Content-Type: application/json
Body
{
    "requestStatus": {...},
    "requester": {...},
    "requesterPrimaryContact": "BOOLEAN",
    "type": {...},
    "totalOperatorsNeeded": INT,
    "dateRequired": EPOCH_TIME,
    "contact": {...},
    "assetStatus": "STATUS_STRING",
    "dateUpdated": EPOCH_TIME,
    "center": {...},
    "id": REQUEST_ID,
    "fieldValue": [...],
    "priority": {...},
    "dateCreated": EPOCH_TIME,
    "scheduledTask": "BOOLEAN",
    "operators": [],
    "attachments": [...],
    "warning": {...},
    "room": {...},
    "fields": [...],
    "completed": "BOOLEAN",
    "supplies": [...],
    "valueFields": [...]
}

Request Type

The Request Type is the building block from which requests are created.

A single request type object.

Retrieve a Single Request Type
GET/maintenance/types/{id}

Example URI

GET /maintenance/types/id
URI Parameters
HideShow
id
string (required) 

ID of the Request Type

Response  200
HideShow

JSON representation of the Request Type Resource

Headers
Content-Type: application/json
Body
{
    "defaultPriority": {
        "id": 3,
        "color": {...},
        "sortOrder": 3,
        "name": "Normal"
    },
    "type": "ship",
    "priorityEnableForCustomer": "true",
    "dateRequiredEnabledForCustomer": "true",
    "dateUpdated": 1126109927833,
    "totalOperatorsRequired": 1,
    "product": {
        "id": 10,
        "sortOrder": 4,
        "name": "Arwing",
        "dateCreated": 1126040636373,
        "dateUpdated": 1127922019337
    },
    "id": 68,
    "SLAMinutes": 0,
    "estimatedTime": 0,
    "name": "Thruster Repair",
    "dateCreated": 1126109927833,
    "fields": [...]
}

Request Types Collection

Collection of all Request Types.

List of all Request Types
GET/maintenance/types{?modifiedOrCreatedAfter}

Example URI

GET /maintenance/types?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Resource Collection Resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":65
        ...
    },
    {
        "id":66
        ...
    },
    {
        "id":67
        ...
    }
]

Create a Request Type
POST/maintenance/types

The following attributes are required to create a Request Type: product and name.

Example URI

POST /maintenance/types
Request  Type
HideShow
Headers
Content-Type: application/json
Body
{
        "name": "Ship Wing Repair",
        "Product": {
            "id": 78
        },
    }
Response  201
HideShow

JSON representation of the Request Type Resource

Headers
Content-Type: application/json
Body
{
    "defaultPriority": {
        "id": 3,
        "color": {...},
        "sortOrder": 3,
        "name": "Normal"
    },
    "type": "ship",
    "priorityEnableForCustomer": "true",
    "dateRequiredEnabledForCustomer": "true",
    "dateUpdated": 1126109927833,
    "totalOperatorsRequired": 1,
    "product": {
        "id": 10,
        "sortOrder": 4,
        "name": "Arwing",
        "dateCreated": 1126040636373,
        "dateUpdated": 1127922019337
    },
    "id": 68,
    "SLAMinutes": 0,
    "estimatedTime": 0,
    "name": "Thruster Repair",
    "dateCreated": 1126109927833,
    "fields": [...]
}

Category

The Category resource gives access to Products from which you can derive Request Types.

A single category object.

Retrieve a Single Category
GET/maintenance/categories/{id}

Example URI

GET /maintenance/categories/id
URI Parameters
HideShow
id
string (required) 

ID of the Category

Response  200
HideShow

JSON representation of the Category Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "name": "STRING",
    "products": [...]
}

Categories Collection

Collection of all Categories.

List of all Categories
GET/maintenance/categories{?modifiedOrCreatedAfter}

Example URI

GET /maintenance/categories?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Resource Collection Resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":49
        ...
    },
    {
        "id":50
        ...
    },
    {
        "id":51
        ...
    }
]

Create a Category
POST/maintenance/categories

The following attributes are required to create a Category: center and name.

  • Category (application/json)

    {
              "name": "Create Copier/Printer Equipment Service Request",
              "center": {
                  "id": 70,
              },
          }

Example URI

POST /maintenance/categories
Response  201
HideShow

JSON representation of the Category Resource

Headers
Content-Type: application/json
Body
{
    "id": ID,
    "name": "STRING",
    "products": [...]
}

Product

A single product object.

Retrieve a Single Product
GET/maintenance/products/{id}

Example URI

GET /maintenance/products/id
URI Parameters
HideShow
id
string (required) 

ID of the Product

Response  200
HideShow

JSON representation of the Product Resource

Headers
Content-Type: application/json
Body
{
  "id": 23,
  "name": "Copier",
  "dateCreated": 1403633288547,
  "dateUpdated": 1403633288547
}

Products Collection

Collection of all Products.

List of all Products
GET/maintenance/products{?modifiedOrCreatedAfter}

Example URI

GET /maintenance/products?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Resource Collection Resource.

Headers
Content-Type: application/json
Body
[
    {
        "id": 23,
        "name": "Copier",
        "dateCreated": 1403633288547,
        "dateUpdated": 1403633288547
    },
    {
        "id":24
        ...
    },
    {
        "id":25
        ...
    }
]

Create a Product
POST/maintenance/products

The following attribute is required to create a Product: name.

  • Product (application/json)

    {
              "name": "Printer Equipment Service Request",
          }

Example URI

POST /maintenance/products
Response  201
HideShow

JSON representation of the Product Resource

Headers
Content-Type: application/json
Body
{
  "id": 23,
  "name": "Copier",
  "dateCreated": 1403633288547,
  "dateUpdated": 1403633288547
}

Priority

The Priority resource gives access to Products from which you can derive Request Types.

A single priority object.

Retrieve a Single Priority
GET/maintenance/priorities/{id}

Example URI

GET /maintenance/priorities/id
URI Parameters
HideShow
id
string (required) 

ID of the Priority

Response  200
HideShow

JSON representation of the Priority Resource

Headers
Content-Type: application/json
Body
{
  "id": 1,
  "color": {
    "red": 102,
    "green": 51,
    "blue": 153
  },
  "sortOrder": 1,
  "name": "Urgent"
}

Priorities Collection

Collection of all Priorities.

List of all Priorities
GET/maintenance/priorities{?modifiedOrCreatedAfter}

Example URI

GET /maintenance/priorities?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Resource Collection Resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":49
        ...
    },
    {
        "id":50
        ...
    },
    {
        "id":51
        ...
    }
]

Create a Priority
POST/maintenance/priorities

The following attributes are required to create a Priority: name and sortOrder.

  • Priority (application/json)

    {
              "name": "Create Copier/Printer Equipment Service Request",
              "sortOrder": 3,
          }

Example URI

POST /maintenance/priorities
Response  201
HideShow

JSON representation of the Priority Resource

Headers
Content-Type: application/json
Body
{
  "id": 1,
  "color": {
    "red": 102,
    "green": 51,
    "blue": 153
  },
  "sortOrder": 1,
  "name": "Urgent"
}

Get Earliest Required Date

Get the earliest available date that a Request can be required to be completed by.

The time is calculated based on the following:

  • Request Type
    • Request Priority
    • Service Level Agreement (SLA) for the Request type
    • Center hours of operation

Get Date
GET/maintenance/priorities/{id}/earliestRequiredDate/{?typeId,centerId}

Example URI

GET /maintenance/priorities/id/earliestRequiredDate/?typeId=&centerId=
URI Parameters
HideShow
id
string (required) 

ID of the Request.

typeId
number (required) 

Request Type Id

centerId
number (required) 

Request’s Center Id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "time": 1404839102117
}

Agreement

Agreement-related resources of iOffice API

Agreement

A single agreement object.

Retrieve a Single Agreement
GET/agreements/{id}

Example URI

GET /agreements/id
URI Parameters
HideShow
id
string (required) 

ID of the Agreement

Response  200
HideShow

JSON representation of the Agreement Resource

Headers
Content-Type: application/json
Body
{
    "id": 23,
    ...
}

Edit a Agreement
PUT/agreements/{id}

To update an Agreement send JSON with the Agreement’s ID and updated value for one or more of the attributes.

Example URI

PUT /agreements/id
URI Parameters
HideShow
id
string (required) 

ID of the Agreement

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "attributeName": "value"
}
Response  200
HideShow

JSON representation of the Agreement Resource

Headers
Content-Type: application/json
Body
{
    "id": 23,
    ...
}

Remove an Agreement
DELETE/agreements/{id}

Example URI

DELETE /agreements/id
URI Parameters
HideShow
id
string (required) 

ID of the Agreement

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Agreement Collection

Collection of all Agreements.

List of all Agreements
GET/agreements{?modifiedOrCreatedAfter}

Example URI

GET /agreements?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Agreement Collection resource.

Headers
Content-Type: application/json
Body
[
    {
        "id":21
        ...
    },
    {
        "id":22
        ...
    },
    {
        "id":23
        ...
    }
]

Create a Agreement
POST/agreements

To create a Agreement send JSON with the values the new agreement should have. The field type is required in order to create a new agreement.

Example URI

POST /agreements
Response  201
HideShow

JSON representation of the Agreement Resource

Headers
Content-Type: application/json
Body
{
    "id": 23,
    ...
}

Category Item

Item related resources of iOffice API

Item Collection

Collection of all Items.

List of all Items
GET/categories/items/{?category,parent,root,modifiedOrCreatedAfter}

Example URI

GET /categories/items/?category=1&parent=2&root=true&modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
category
integer (optional) Example: 1

If present, query will filter by category

parent
integer (optional) Example: 2

If present, query will filter by parent

root
boolean (optional) Default: false Example: true

If present, query will only return Items without a parent

modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON represenation of the Item Collection Resource

Headers
Content-Type: application/json
Body
[
    {
        "id": 21,
        "name": "1 Blah s",
        "code": "bldg1",
        "depth": {
          "code": "flr",
          "dateCreated": 1435854598093,
          "level": 3,
          "name": "Floor",
          "id": 48,
          "dateUpdated": 1438958701470
        },
        "category": {
            "code": "co",
            "color": {},
            "name": "Company",
            "id": 27,
            "dateUpdated": 1435679759130
        },
        costCenterParent: {},
        "dateCreated": 1434561059383,
        "dateUpdated": 1435679209637 
    }
]

Item

A single Item object.

Retrieve a Single Item
GET/categories/items/{id}

Example URI

GET /categories/items/id
URI Parameters
HideShow
id
string (required) 

ID of the Item

Response  200
HideShow

JSON representation of the Item Resource

Headers
Content-Type: application/json
Body
{
        "id": 21,
        "name": "1 Blah s",
        "code": "bldg1",
        "depth": {
          "code": "flr",
          "dateCreated": 1435854598093,
          "level": 3,
          "name": "Floor",
          "id": 48,
          "dateUpdated": 1438958701470
        },
        "category": {
            "code": "co",
            "color": {},
            "name": "Company",
            "id": 27,
            "dateUpdated": 1435679759130
        },
        costCenterParent: {},
        "dateCreated": 1434561059383,
        "dateUpdated": 1435679209637 
    }

Create a Item
POST/categories/items/

The following attributes are required to create an Item:

Example URI

POST /categories/items/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "new cc",
  "code": "new-cc-code",
  "category": {
    "id": 31
  }
}
Response  201
HideShow
Body
{
    "id": 21,
    "name": "1 Blah s",
    "code": "bldg1",
    "depth": {
        "code": "flr",
        "dateCreated": 1435854598093,
        "level": 3,
        "name": "Floor",
        "id": 48,
        "dateUpdated": 1438958701470
     },
    "category": {
        "code": "co",
        "color": {},
        "name": "Company",
        "id": 27,
        "dateUpdated": 1435679759130
    },
    costCenterParent: {},
    "dateCreated": 1434561059383,
    "dateUpdated": 1435679209637 
}

Edit a Item
PUT/categories/items/{id}

To update an Item send JSON with the Item’s ID and updated value for one or more of the attributes.

Example URI

PUT /categories/items/id
URI Parameters
HideShow
id
string (required) 

ID of the Item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "name": "newName",
  "code": "bldg3"
}
Response  200
HideShow
Body
{
    "id": 23,
    "name": "newName",
    "code": "bldg3",
    "depth": {
        "code": "flr",
        "dateCreated": 1435854598093,
        "level": 3,
        "name": "Floor",
        "id": 48,
        "dateUpdated": 1438958701470
     },
    "category": {
        "code": "co",
        "color": {},
        "name": "Company",
        "id": 27,
        "dateUpdated": 1435679759130
    },
    costCenterParent: {},
    "dateCreated": 1434561059383,
    "dateUpdated": 1435679209637 
}

Remove an Item
DELETE/categories/items/{id}

Example URI

DELETE /categories/items/id
URI Parameters
HideShow
id
string (required) 

ID of the User

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Item Helpers

Get an Item's children
GET/categories/items/{id}/children

Example URI

GET /categories/items/id/children
URI Parameters
HideShow
id
string (required) 

ID of the Item

Response  200
HideShow
Body
[
  {
    "code": "f1",
    "dateCreated": 1434561227550,
    "name": "First Floor",
    "id": 137,
    "category": {
      "code": "co",
      "color": {},
      "name": "Company",
      "id": 27,
      "dateUpdated": 1435679759130
    },
    "costCenterParent": {
      "code": "bldg1",
      "dateCreated": 1434561059383,
      "name": "1 Blah s",
      "id": 133,
      "dateUpdated": 1435679209637
    },
    "dateUpdated": 1435681499297
  },
  {
    "code": "f2",
    "dateCreated": 1435783794327,
    "name": "Second Floor",
    "id": 171,
    "costCenterParent": {
      "code": "bldg1",
      "dateCreated": 1434561059383,
      "name": "1 Blah s",
      "id": 133,
      "dateUpdated": 1435679209637
    }
  }
]

Get the users assigned to a specific Item
GET/categories/items/{id}/users

Example URI

GET /categories/items/id/users
URI Parameters
HideShow
id
string (required) 

ID of the Item

Response  200
HideShow
Body
[
  {
    "floorWarden": false,
    "costCenter1": "First Floor",
    "lastName": "Silverman",
    "color": "#a5c7f7",
    "costCenter": {},
    "userName": "ssilverman",
    "specialNeeds": false,
    "room": {},
    "dateUpdated": 1435585164033,
    "firstName": "Sarah",
    "dateCreated": 1435585128170,
    "name": "Sarah Silverman",
    "id": 11,
    "userType": {
      "dateCreated": 1430925761040,
      "name": "Employee",
      "id": 1,
      "fields": [],
      "dateUpdated": 1437164292987
    },
    "costCenter2": "Edit Team 1",
    "email": "test@test.com"
  },
  {
    "costCenter1": "First Floor",
    "lastName": "Operator",
    "extension": "",
    "color": "#8b80f2",
    "jobTitle": "Manager",
    "specialNeeds": false,
    "dateCreated": 1428424375617,
    "knownAs": "",
    "company": "",
    "id": 9,
    "department": "",
    "fax": "",
    "costCenter2": "Mkt Team 1",
    "email": "test@test.com",
    "floorWarden": false,
    "comments": "",
    "costCenter": {},
    "mobile": "",
    "employeeId": "",
    "userName": "moperator",
    "room": {},
    "dateUpdated": 1435870455727,
    "firstName": "Mark",
    "phone": "",
    "name": "Mark Operator",
    "userType": {
      "dateCreated": 1430925761040,
      "name": "Employee",
      "id": 1,
      "fields": [],
      "dateUpdated": 1437164292987
    }
  },
  {
    "costCenter1": "First Floor",
    "lastName": "Admin",
    "extension": "",
    "color": "#dd81f4",
    "jobTitle": "Administrator",
    "specialNeeds": false,
    "dateCreated": 1428423879367,
    "knownAs": "",
    "company": "",
    "id": 7,
    "department": "",
    "fax": "",
    "costCenter2": "Edit Team 1",
    "email": "test@test.com",
    "floorWarden": false,
    "comments": "",
    "costCenter": {},
    "mobile": "",
    "employeeId": "",
    "userName": "madmin",
    "dateUpdated": 1440688251423,
    "firstName": "Mark",
    "phone": "",
    "name": "Mark Admin",
    "userType": {
      "dateCreated": 1430925761040,
      "name": "Employee",
      "id": 1,
      "fields": [],
      "dateUpdated": 1437164292987
    }
  }
]

Get the users assigned to any Item
GET/categories/items/users

Example URI

GET /categories/items/users
Response  200
HideShow
Body
[
  {
    "floorWarden": false,
    "costCenter1": "First Floor",
    "lastName": "Silverman",
    "color": "#a5c7f7",
    "costCenter": {},
    "userName": "ssilverman",
    "specialNeeds": false,
    "room": {},
    "dateUpdated": 1435585164033,
    "firstName": "Sarah",
    "dateCreated": 1435585128170,
    "name": "Sarah Silverman",
    "id": 11,
    "userType": {
      "dateCreated": 1430925761040,
      "name": "Employee",
      "id": 1,
      "fields": [],
      "dateUpdated": 1437164292987
    },
    "costCenter2": "Edit Team 1",
    "email": "test@test.com"
  },
  {
    "costCenter1": "First Floor",
    "lastName": "Operator",
    "extension": "",
    "color": "#8b80f2",
    "jobTitle": "Manager",
    "specialNeeds": false,
    "dateCreated": 1428424375617,
    "knownAs": "",
    "company": "",
    "id": 9,
    "department": "",
    "fax": "",
    "costCenter2": "Mkt Team 1",
    "email": "test@test.com",
    "floorWarden": false,
    "comments": "",
    "costCenter": {},
    "mobile": "",
    "employeeId": "",
    "userName": "moperator",
    "room": {},
    "dateUpdated": 1435870455727,
    "firstName": "Mark",
    "phone": "",
    "name": "Mark Operator",
    "userType": {
      "dateCreated": 1430925761040,
      "name": "Employee",
      "id": 1,
      "fields": [],
      "dateUpdated": 1437164292987
    }
  },
  {
    "costCenter1": "First Floor",
    "lastName": "Admin",
    "extension": "",
    "color": "#dd81f4",
    "jobTitle": "Administrator",
    "specialNeeds": false,
    "dateCreated": 1428423879367,
    "knownAs": "",
    "company": "",
    "id": 7,
    "department": "",
    "fax": "",
    "costCenter2": "Edit Team 1",
    "email": "test@test.com",
    "floorWarden": false,
    "comments": "",
    "costCenter": {},
    "mobile": "",
    "employeeId": "",
    "userName": "madmin",
    "dateUpdated": 1440688251423,
    "firstName": "Mark",
    "phone": "",
    "name": "Mark Admin",
    "userType": {
      "dateCreated": 1430925761040,
      "name": "Employee",
      "id": 1,
      "fields": [],
      "dateUpdated": 1437164292987
    }
  }
]

Get the rooms assigned to a specific Item
GET/categories/items/{id}/rooms

Example URI

GET /categories/items/id/rooms
URI Parameters
HideShow
id
string (required) 

ID of the Item

Response  200
HideShow
Body
[
  {
    "reservable": true,
    "name": "03-355",
    "id": 51,
    "floor": {
      "area": 0,
      "name": "Floor1",
      "id": 1,
      "building": {
        "address": {
          "country": {},
          "city": "Houston",
          "street": "",
          "postalCode": "",
          "state": {
            "country": {},
            "defaultSelected": false,
            "code": "TX",
            "name": "Texas",
            "id": 61,
            "categoryName": "state"
          }
        },
        "code": "BLDG1",
        "metric": false,
        "name": "Building1",
        "id": 43
      }
    }
  },
  {
    "reservable": true,
    "name": "03-354",
    "id": 52,
    "floor": {
      "area": 0,
      "name": "Floor1",
      "id": 1,
      "building": {
        "address": {
          "country": {},
          "city": "Houston",
          "street": "",
          "postalCode": "",
          "state": {
            "country": {},
            "defaultSelected": false,
            "code": "TX",
            "name": "Texas",
            "id": 61,
            "categoryName": "state"
          }
        },
        "code": "BLDG1",
        "metric": false,
        "name": "Building1",
        "id": 43
      }
    }
  }
]

Get the rooms assigned to any Item
GET/rooms

Example URI

GET /rooms
Response  200
HideShow
Body
[
  {
    "reservable": true,
    "name": "03-355",
    "id": 51,
    "floor": {
      "area": 0,
      "name": "Floor1",
      "id": 1,
      "building": {
        "address": {
          "country": {},
          "city": "Houston",
          "street": "",
          "postalCode": "",
          "state": {
            "country": {},
            "defaultSelected": false,
            "code": "TX",
            "name": "Texas",
            "id": 61,
            "categoryName": "state"
          }
        },
        "code": "BLDG1",
        "metric": false,
        "name": "Building1",
        "id": 43
      }
    }
  },
  {
    "reservable": true,
    "name": "03-354",
    "id": 52,
    "floor": {
      "area": 0,
      "name": "Floor1",
      "id": 1,
      "building": {
        "address": {
          "country": {},
          "city": "Houston",
          "street": "",
          "postalCode": "",
          "state": {
            "country": {},
            "defaultSelected": false,
            "code": "TX",
            "name": "Texas",
            "id": 61,
            "categoryName": "state"
          }
        },
        "code": "BLDG1",
        "metric": false,
        "name": "Building1",
        "id": 43
      }
    }
  }
]

Category

Category related resources of iOffice API

Category Collection

Collection of all Categories.

List of all Categories
GET/categories{?modifiedOrCreatedAfter}

Example URI

GET /categories?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Category Collection resource

Headers
Content-Type: application/json
Body
[
    {
        "code": "co",
        "color": {},
        "name": "Company",
        "id": 27,
        "dateUpdated": 143567975913
    },
    {
        "code": "fpp",
        "color": {},
        "name": "Film Production",
        "id": 28
        "dateUpdated": 143567975913
    },
    {
        "code": "mv",
        "color": {},
        "name": "Movie",
        "id": 29
        "dateUpdated": 143567975913
    } 
]

Cost Center Category

A Single Depth object.

Retrieve a single Category
GET/categories/{id}

Example URI

GET /categories/id
URI Parameters
HideShow
id
string (required) 

ID of the Category

Response  200
HideShow

JSON representation of the Category Resource

Headers
Content-Type: application/json
Body
{
        "code": "co",
        "color": {},
        "name": "Company",
        "id": 27,
        "dateUpdated": 143567975913
    },

Create a Category
POST/categories/

The following attributes are required to create a Category

Example URI

POST /categories/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "new category",
  "code": "new category code"
}
Response  200
HideShow
Body
{
  "id": 28,
  "name": "new category",
  "color": {},
  "code": "new category code",
  "dateCreated": 1434561059383
}

Edit a Category
PUT/categories/{id}

To update a Category send JSON with the Category’s ID and updated value for one or more of the attributes.

Example URI

PUT /categories/id
URI Parameters
HideShow
id
string (required) 

ID of the Category

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 28,
  "name": "a new name",
  "code": "a new code"
}
Response  200
HideShow
Body
{
  "id": 28,
  "color": {},
  "name": "a new name",
  "code": "a new code",
  "dateCreated": 1434561059383,
  "dateUpdated": 1435679209637
}

Remove a Category
DELETE/categories/{id}

Example URI

DELETE /categories/id
URI Parameters
HideShow
id
string (required) 

ID of the Category

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Category Depth

Category Depth related resources of iOffice API

Depth Collection

Collection of all Depths.

List of all Depths
GET/categories/depths{?modifiedOrCreatedAfter}

Example URI

GET /categories/depths?modifiedOrCreatedAfter=1549319834
URI Parameters
HideShow
modifiedOrCreatedAfter
number (optional) Example: 1549319834

Epoch time to poll recently modified items in the collection.

Response  200
HideShow

JSON representation of the Depth Collection Resource

Headers
Content-Type: application/json
Body
[
    {
        "code": "d1",
        "dateCreated": 1439399515923,
        "level": 0,
        "name": "depth one",
        "id": 71,
        "category": {
            "code": "cat-code",
            "color": {},
            "name": "category one",
            "id": "65"
        }
    },
    {
        "code": "d2",
        "dateCreated": 1439399567183,
        "level": 0,
        "name": "depth2",
        "id": 72
        "category": {
            "code": "cat-two",
            "color": {},
            "name": "category two",
            "id": "65"
        }
    },
    {
        "code": "d3",
        "dateCreated": 1439399627200,
        "level": 1,
        "name": "depth3",
        "id": 73
        "category": {
            "code": "cat-code",
            "color": {},
            "name": "category one",
            "id": "65"
        }
    } 
]

Depth

A Single Depth object.

Retrieve a Single Depth
GET/categories/depth/{id}

Example URI

GET /categories/depth/id
URI Parameters
HideShow
id
string (required) 

ID of the Depth

Response  200
HideShow

JSON representation of the Depth Resource

Headers
Content-Type: application/json
Body
{
  "code": "d1",
  "dateCreated": 1439399515923,
  "level": 0,
  "name": "depth one",
  "id": 71,
  "category": {
    "code": "cat-code",
    "color": {},
    "name": "category one",
    "id": "65"
  }
}

Create a Depth
POST/categories/depth/

The following attributes are required to create a Depth:

Example URI

POST /categories/depth/
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "new depth",
  "code": "new-depth-code",
  "level": 3,
  "category": {
    "id": 65
  }
}
Response  200
HideShow
Body
{
  "id": 23,
  "name": "new depth",
  "code": "new-depth-code",
  "category": {
    "code": "cat-code",
    "color": {},
    "name": "category one",
    "id": "65"
  },
  "dateCreated": 1434561059383
}

Edit a Depth
PUT/categories/depths/{id}

To update a Depth send JSON with the Depth’s ID and updated value for one or more of the attributes.

Example URI

PUT /categories/depths/id
URI Parameters
HideShow
id
string (required) 

ID of the Depth

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 23,
  "name": "a Different name",
  "code": "a-diff-code"
}
Response  200
HideShow
Body
{
  "id": 23,
  "name": "a different name",
  "code": "a-diff-code",
  "category": {
    "code": "cat-code",
    "color": {},
    "name": "category one",
    "id": "65"
  },
  "dateUpdated": 143567975913,
  "dateCreated": 1434561059383
}

Remove a Depth
DELETE/categories/depth/{id}

Example URI

DELETE /categories/depth/id
URI Parameters
HideShow
id
string (required) 

ID of the Category

Response  200
HideShow
Body
{
    {
        "response": "Successfully removed"
    }
}

Generated by aglio on 09 Apr 2019