Ximble

The Ximble Developer Hub

Welcome! We're excited that you're interested in the Ximble Platform. Our platform contains a set of open APIs and tools that enable you to bring Ximble’s workforce management tools to your application. Dive right in and get started!

Get Started
Suggest Edits

availability

Creates a new availability for an employee. Availability is period when employee is unavailable for work.

All date time data in body params need to be in Primary Admin's timezone.

To create unavailability for another employee, role "ADMIN" or permission "EmployeesAddEdit" is needed.

There are two types of availability. Daily and custom.

Daily availability is set for some day of week end repeats every week on that day in future.

Custom availability is allows to set availability for some specific date in future.

To create DAILY availability, set repeatType=2, repeatEndNever=true, isCustom=false and required days=true.

 
posthttps://api.ximble.com/availability
$.ajax({
  type: "POST",
  url: "https://api.ximble.com/availability",
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  data: {
  title:"Some title",
notes:"Some note",
startAt:"2017-02-22T08:00:00",
endAt:"2017-02-22T22:00:00",
employeeId:"3648a17c-c187-11e6-9407-00155dfa4277",
isCustom:true,
repeat: {
    repeatType:2,
    repeatEndNever:false,
    repeatEndDate:"2017-02-25T00:00:00",
    monday:true,
    tuesday:true,
    wednesday:true,
    thursday:false,
    friday:false,
    saturday:false,
    sunday:false
  },
  isRepeated:true},
  success: function(data) { },
  dataType: "json"
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

startAt
string
required

Start date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

endAt
string
required

End date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

title
string

Availability title. Max length is 512 characters

employeeId
string

Id of employee. It need to be set only if you creating unavailability for some other employee

repeat.repeatedShiftId
int64

Repeated shift identifier. Can be ignored. Required only for creating shifts

repeat.updateOneShiftOnly
boolean

This field it need to be true only if you updating Shift. Can be ignored. Required only for shifts

repeat.repeatType
int32
repeat.repeatEndDate
string

Date when repeat ending. Format "yyyy-MM-dd'T'HH:mm:ss"

repeat.repeatEndNever
boolean

If repeat don't have End date then it should be set true else set false

repeat.monday
boolean

Set unavailability for Monday

repeat.tuesday
boolean

Set unavailability for Tuesday

repeat.wednsday
boolean

Set unavailability for Wednsday

repeat.thursday
boolean

Set unavailability for Thursday

repeat.friday
boolean

Set unavailability for Friday

repeat.saturday
boolean

Set unavailability for Saturday

repeat.sunday
boolean

Set unavailability for Sunday

notes
string

Set note for unavailability. Max length is 512 characters

isRepeated
boolean
required

If availability is repeated then it should be set to true.

isCustom
boolean
required

It should be set to true if you want to create Custom availability

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

availability/custom/{id}

Update custom availability that is NOT REPEATED for employee.

All date time data in body params need to be in Primary Admin's timezone.

This method is called only if custom availability is not repeated (isRepeated = false)

 
posthttps://api.ximble.com/availability/custom/id
$.ajax({
  type: "POST",
  url: "https://api.ximble.com/availability/custom/510400",
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  data: {
  title:"Some title",
	notes:"Some note",
	startAt:"2017-02-23T08:00:00",
	endAt:"2017-02-23T18:30:00",
	employeeId:"3648a17c-c187-11e6-9407-00155dfa4277",
	isCustom:true,
  isRepeated:false
  },
  success: function(data) { },
  dataType: "json"
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
int64
required

Id of availability

Form Data

startAt
string
required

Start date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

endAt
string
required

End date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

title
string

Availability title. Max length is 512 characters

employeeId
string

Id of employee. It need to be set only if you creating unavailability for some other employee

notes
string

Set note for unavailability. Max length is 512 characters

isRepeated
boolean
required

If availability is repeated then it should be set to true.

isCustom
boolean
required

It should be set to true if you want to create Custom availability

Headers

Authorization
string

User's access token

 
Suggest Edits

availability/repeated/{id}

Update availability that is REPEATED for employee.

All date time data in body params need to be in Primary Admin's timezone.

 
posthttps://api.ximble.com/availability/repeated/id
$.ajax({
  type: "POST",
  url: "https://api.ximble.com/availability/repeated/6801",
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  data: {
  title:"Some title",
notes:"Some note",
startAt:"2017-02-22T08:00:00",
endAt:"2017-02-22T22:00:00",
employeeId:"3648a17c-c187-11e6-9407-00155dfa4277",
isCustom:true,
repeat: {
    repeatType:2,
    repeatEndNever:false,
    repeatEndDate:"2017-02-25T00:00:00",
    monday:true,
    tuesday:true,
    wednesday:true,
    thursday:false,
    friday:false,
    saturday:false,
    sunday:false
  },
  isRepeated:true},
  success: function(data) { },
  dataType: "json"
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
int64
required

Id of unavailability

Form Data

startAt
string
required

Start date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

endAt
string
required

End date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

title
string

Availability title. Max length is 512 characters

employeeId
string

Id of employee. It need to be set only if you creating unavailability for some other employee

repeat.repeatedShiftId
int64

Repeated shift identifier

repeat.updateOneShiftOnly
boolean

This field it need to be true only if you updating Shift

repeat.repeatType
mixed type
repeat.repeatEndDate
string
required

Date when repeat ending. Format "yyyy-MM-dd'T'HH:mm:ss"

repeat.repeatEndNever
boolean
required

If repeat don't have End date then it should be set true else set false

repeat.monday
boolean

Set unavailability for Monday

repeat.tuesday
boolean

Set unavailability for Tuesday

repeat.wednsday
boolean

Set unavailability for Wednsday

repeat.thursday
boolean

Set unavailability for Thursday

repeat.friday
boolean

Set unavailability for Friday

repeat.saturday
boolean

Set unavailability for Saturday

repeat.sunday
boolean

Set unavailability for Sunday

notes
string

Set note for unavailability. Max length is 512 characters

isRepeated
boolean
required

If availability is repeated then it should be set to true.

isCustom
boolean
required

It should be set to true if you want to create Custom availability

Headers

Authorization
string

User's access token

 
Suggest Edits

availability/repeated

Endpoint returns list of all repeated availabilities for specific employee.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/availability/repeated
$.ajax({
  type: "GET",
  url: "https://api.ximble.com/availability/repeated?filter=employeeId:3648a17c-c187-11e6-9407-00155dfa4277;",
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  data: {},
  success: function(data) { },
  dataType: "json"
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": 2415,
    "repeatStartAt": "2017-01-09T15:38:00Z",
    "repeatEndAt": null,
    "repeatPatternId": 2,
    "durationInMinutes": 180,
    "title": null,
    "notes": null,
    "monday": true,
    "tuesday": false,
    "wednesday": false,
    "thursday": false,
    "friday": false,
    "saturday": false,
    "sunday": false,
    "endAt": "2017-01-09T18:38:00Z",
    "isRepeated": true,
    "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277"
  },
  {
    "id": 5693,
    "repeatStartAt": "2017-02-15T14:00:00Z",
    "repeatEndAt": null,
    "repeatPatternId": 2,
    "durationInMinutes": 480,
    "title": null,
    "notes": null,
    "monday": false,
    "tuesday": false,
    "wednesday": true,
    "thursday": false,
    "friday": false,
    "saturday": false,
    "sunday": false,
    "endAt": "2017-02-15T22:00:00Z",
    "isRepeated": true,
    "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277"
  },
  {
    "id": 6818,
    "repeatStartAt": "2017-02-21T11:00:00Z",
    "repeatEndAt": null,
    "repeatPatternId": 2,
    "durationInMinutes": 285,
    "title": null,
    "notes": null,
    "monday": false,
    "tuesday": true,
    "wednesday": false,
    "thursday": false,
    "friday": false,
    "saturday": false,
    "sunday": false,
    "endAt": "2017-02-21T15:45:00Z",
    "isRepeated": true,
    "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277"
  }
]

Query Params

filter
string

Can be filtered by employeeId

Headers

Authorization
string

User's access token

 
Suggest Edits

availability/custom

Get custom availabilities for employee in date time range.

Return list of all custom availabilities for an employee in date time range.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/availability/custom
$.ajax({
  type: "GET",
  url: "https://api.ximble.com/availability/custom?filter=startAt:2017-02-21T00:00:00;endAt:2017-03-23T23:59:59;employeeId:3648a17c-c187-11e6-9407-00155dfa4277;",
  data: {},
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { },
  dataType: "json"
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": 510402,
    "startAt": "2017-02-22T16:27:00Z",
    "endAt": "2017-02-22T23:00:00Z",
    "title": null,
    "notes": null,
    "isRepeated": false,
    "repeatPatternId": null,
    "repeatEndAt": null,
    "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277"
  },
  {
    "id": 510400,
    "startAt": "2017-02-23T08:00:00Z",
    "endAt": "2017-02-23T18:30:00Z",
    "title": null,
    "notes": null,
    "isRepeated": false,
    "repeatPatternId": null,
    "repeatEndAt": null,
    "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277"
  },
  {
    "id": 2416,
    "startAt": "2017-01-03T18:38:00Z",
    "endAt": "2017-01-03T21:00:00Z",
    "title": null,
    "notes": null,
    "isRepeated": true,
    "repeatPatternId": 2,
    "repeatEndAt": null,
    "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277"
  }
]

Query Params

filter
string

Can be filtered by startAt, endAt and employeeId

Headers

Authorization
string

User's access token

 
Suggest Edits

availability/{id}/repeated

Delete specific repeated availability.

 
deletehttps://api.ximble.com/availability/id/repeated
$.ajax({
  type: "DELETE",
  url: "https://api.ximble.com/availability/1427/repeated",
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  data: {},
  success: function(data) { },
  dataType: "json"
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
int64
required

Id of specific repeated availability that will be deleted

Headers

Authorization
string

User's authorization token

 
Suggest Edits

availability/{id}

Delete specific availability that is not repeated.

 
deletehttps://api.ximble.com/availability/id
$.ajax({
  type: "DELETE",
  url: "https://api.ximble.com/availability/396562",
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  data: {},
  success: function(data) { },
  dataType: "json"
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
int64
required

Id of specific repeated availability that will be deleted

Headers

Authorization
string

User's authorization token

 
Suggest Edits

company/nameavailable

Checks if the name of company that needs to be registered is available in the system.

 
gethttps://api.ximble.com/company/nameavailable
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/company/nameavailable?filter=companyName:Our Restaurant, Inc.',
  async: false,
  success: function(data) { 
  $("#ajax").html(data); 
  }
});
A binary file was returned

You couldn't be authenticated

{
  false
}

Query Params

companyName
string
required
companyId
string
 
Suggest Edits

company

Returns basic company information.

Required permission: "MyAccountViewChangeCompanyInfo"

 
gethttps://api.ximble.com/company
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/company',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "id": "3648a17d-c187-11e6-9407-00155dfa4277",
  "name": "Our Restaurant, Inc.",
  "addressLine1": null,
  "addressLine2": null,
  "city": null,
  "state": null,
  "zipCode": null,
  "country": null,
  "firstName": null,
  "lastName": null,
  "phone": "+1 (858) 348-4222",
  "fax": null,
  "primaryAdministratorId": "3648a17c-c187-11e6-9407-00155dfa4277",
  "authToken": "f55LjVaLKRMSi8mjJNa",
  "timeZone": "Pacific Standard Time",
  "timeFormat": "hh:mm tt",
  "dateFormat": "MM/dd/yyyy",
  "currency": "$",
  "fromEmailFriendlyName": null,
  "certificate": null,
  "identityProvider": null
}

Headers

Authorization
string

requires key

 
Suggest Edits

company/paycodeenabled

Checks if pay codes are enabled for current company.

Pay code is

Endpoint returns simple true/false response

 
gethttps://api.ximble.com/company/paycodeenabled
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/company/paycodeenabled',
  async: false,
  headers: {
    "Authorization": "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 

  }
  
});
A binary file was returned

You couldn't be authenticated

Headers

Authorization
string

key

 
Suggest Edits

company

This endpoint saves basic information on company. It is used to update company information.

For example change address or phone number of company.

Fields that can't be changed are id and primaryAdminId.

Required permission: "MyAccountViewChangeCompanyInfo"

 
posthttps://api.ximble.com/company

$.ajax({
  type: 'POST',
  dataType: 'json',
  url: 'https://api.ximble.com/company',
  async: false,
  data: { 
				"id:3648a17d-c187-11e6-9407-00155dfa4277
        "name":"Our Restaurant, Inc.",
        "addressLine1":"",
        "addressLine2":"",
        "city":"",
        "state":"",
        "zipCode":"",
        "country":"",
        "firstName":"",
        "lastName":"",
        "phone":"+1 (858) 348-4222",
        "fax":"",
        "primaryAdministratorId":"3648a17c-c187-11e6-9407-00155dfa4277",
        "authToken":"f55LjVaLKRMSi8mjJNa",
        "timeZone":"Pacific Standard Time",
        "timeFormat":"hh:mm tt",
        "dateFormat":"MM/dd/yyyy",
        "currency":"$",
        "fromEmailFriendlyName":"",
        "certificate":"",
        "identityProvider":"" 
         },
  headers: {
    "Bearer " + ACCESS_TOKEN 
  },
  success: function(response) { 
  
  }
  
  
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

id
string
required

Company ID(Guid) ex. 3648a17d-c187-11e6-9407-00155dfa4277

name
string
required

ex. Our Restaurant, Inc.

addressLine1
string

ex. 15 Avenue

addressLine2
string

ex. 5/1

city
string

ex. Las Vegas

state
string

ex. NV

zipCode
string

ex.88901

country
string

Should use lookup https://api.ximble.com/lookup/countries ex. US

firstName
string

First name of primary admin. Ex. Peter

lastName
string

Last name of primary admin. Ex. Ashton

phone
string

ex. +1 (858) 348-4222

fax
string

ex. 858 348 4222

primaryAdministratorId
string

Identifier of primary admin. Ex. 3648a17c-c187-11e6-9407-00155dfa4277

authToken
string
required

ex. f55LjVaLKRMSi8mjJNa

timeZone
string
required

ex. Pacific Standard Time

timeFormat
string
required

ex. hh:mm tt

dateFormat
string
required

ex. MM/dd/yyyy

currency
string
required

ex. $

fromEmailFriendlyName
string

Email that will be displayed as From for email notifications. ex. peter@anyemail.com

certificate
string
identityProvider
string

Headers

Authorization
string

Required key

 
Suggest Edits

departments

Endpoint returns list of all departments for current company.

Department is specialized functional area within a company.

Endpoint returns data such as name of department, identifier of department, identifier of company and number of employees dedicated to that company.

Response data can be filterable by Name

Require one of privileges listed: 'SettingsView, EmployeesView, SchedulingView"

 
gethttps://api.ximble.com/departments
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/departments?page=1&pagesize=2&sort=name&filter=name:Kitchen',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 2,
      "pagesCount": 1,
      "totalCount": 1
    }
  },
  "data": [
    {
      "id": "a61f58a0-c187-11e6-9407-00155dfd350b",
      "name": "Kitchen",
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "numberOfEmployees": 9
    }
  ]
}

Query Params

name
string

filter, contains

page
string
pagesize
string
sort
string

Can be sorted by Name (asc=Name, desc=-Name) or by Number of employees (asc=NumberOfEmployees, desc=-NumberOfEmployees)

Headers

Authorization
string

Required key

 
Suggest Edits

departments/{id}

Endpoint returns details of a specific department

Required permissions: 'SettingsView'

 
gethttps://api.ximble.com/departments/id
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/departments/a61f58a0-c187-11e6-9407-00155dfd350b',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "id": "a61f58a0-c187-11e6-9407-00155dfd350b",
  "name": "Kitchen",
  "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
  "numberOfEmployees": 0
}

Path Params

id
string
required

Department ID(Guid) ex. a61f58a0-c187-11e6-9407-00155dfd350b

Headers

Authorization
string

Required key

 
Suggest Edits

departments/departmentscount

Endpoint returns number of departments within the company.

Required permissions: 'SettingsView'

 
gethttps://api.ximble.com/departments/departmentscount
$.ajax({
  type: 'GET',
  dataType: 'json',
  url: 'https://api.ximble.com/departments/departmentscount',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
  
});
A binary file was returned

You couldn't be authenticated

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

departments

Endpoint creates new department for company.

Response returns details of created department.

Required permissions: 'SettingsEdit'

 
posthttps://api.ximble.com/departments
$.ajax({
  type: 'POST',
  dataType: 'text',
  url: 'https://api.ximble.com/departments',
  async: false,
  data: { 
				"name":"New department"
        },
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "id": "21a5f8d9-fa9b-11e6-80c3-0003ff28bcff",
  "name": "New department",
  "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
  "numberOfEmployees": 0
}

Form Data

name
string
required

Name of department ex. Kitchen

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

departments/{id}

Endpoint updates department by department identifier.

 
posthttps://api.ximble.com/departments/id
$.ajax({
  type: 'POST',
  dataType: 'json',
  url: 'https://api.ximble.com/departments/046d7e64-fa9b-11e6-80c3-0003ff28bcff',
  async: false,
  data: { 
         "id":"046d7e64-fa9b-11e6-80c3-0003ff28bcff",
				 "name":"New department name"
        },
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
string
required

Department ID(Guid), ex. 21a5f8d9-fa9b-11e6-80c3-0003ff28bcff

Form Data

Id
string
required

Department ID(Guid), ex. 21a5f8d9-fa9b-11e6-80c3-0003ff28bcff

Name
string
required

Name of department, ex. Kitchen

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

levels

Endpoint returns the list of all levels of expertise defined by company.

Permission required: EmployeesAddEdit, SettingsView

 
gethttps://api.ximble.com/levels
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/levels?filter=Name:Advanced&page=1&sort=-level',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 1,
      "pagesCount": 1,
      "totalCount": 1
    }
  },
  "data": [
    {
      "id": "50cad80b-fa9d-11e6-80c3-0003ff289d8e",
      "name": "Advanced",
      "level": 3
    }
  ]
}

Query Params

name
string

Ranking name, ex. Amateur

page
int32
pagesize
int32
sort
string

by name, level

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

levels/{id}

Endpoint returns ranking details specified by identifier.

 
gethttps://api.ximble.com/levels/id
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/levels/50cad80b-fa9d-11e6-80c3-0003ff289d8e',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "id": "50cad80b-fa9d-11e6-80c3-0003ff289d8e",
  "name": "Advanced",
  "level": 3
}

Path Params

id
string
required

Employee rank ID(Guid) ex. 50cad80b-fa9d-11e6-80c3-0003ff289d8e

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

levels

Endpoint creates new rank.

 
posthttps://api.ximble.com/levels
$.ajax({
  type: 'POST',
  dataType: 'json',
  url: 'https://api.ximble.com/levels',
  async: false,
  data: {
  "name":"Professional",
  "level":"4"
  },
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 

  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "id": "d66d04d9-fa9f-11e6-80c3-0003ff289d8e",
  "name": "Professional",
  "level": 4
}

Form Data

name
string
required

Name of rank, ex. Proffesional

level
int32

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

levels/{id}

Update rank details by ID

 
posthttps://api.ximble.com/levels/id
$.ajax({
  type: 'POST',
  dataType: 'json',
  url: 'https://api.ximble.com/levels/d66d04d9-fa9f-11e6-80c3-0003ff289d8e',
  async: false,
  data: {
  "name":"New rank name",
  "level":"5"
  },
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
string
required

Employee rank ID()Guid, ex. d66d04d9-fa9f-11e6-80c3-0003ff289d8e

Form Data

name
string
required
level
int32

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees

Endpoint returns list of all employees with their basic information.

Deactivated employees are going to be excluded from this list.

Can be filtered by location, position, department and lack of position.

Required permission: "EmployeesView"

 
gethttps://api.ximble.com/employees
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees?filter=position:36ACCB08-C188-11E6-9407-00155DFD350B;location:3648A17E-C187-11E6-9407-00155DFA4277&sort=-Name',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 3,
      "pagesCount": 1,
      "totalCount": 3
    }
  },
  "data": [
    {
      "id": "6fbf8615-c188-11e6-9407-00155dfa4277",
      "employeeNo": null,
      "firstName": "Daniel",
      "lastName": "Jones",
      "email": "",
      "mobile": null,
      "photo": "https://ximble.blob.core.windows.net/photo-3648a17d-c187-11e6-9407-00155dfa4277/6fbf8615-c188-11e6-9407-00155dfa4277",
      "locationName": "Los Angeles",
      "positionName": "Restaurant Manager",
      "terminated": false,
      "name": "Daniel Jones",
      "supervisorId": null,
      "supervisorName": null,
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    },
    {
      "id": "3648a17c-c187-11e6-9407-00155dfa4277",
      "employeeNo": null,
      "firstName": "Anthony",
      "lastName": "Powell",
      "email": "dilic@nimbleschedule.com",
      "mobile": null,
      "photo": "https://ximble.blob.core.windows.net/photo-3648a17d-c187-11e6-9407-00155dfa4277/3648a17c-c187-11e6-9407-00155dfa4277",
      "locationName": "Los Angeles",
      "positionName": "Restaurant Manager",
      "terminated": false,
      "name": "Anthony Powell",
      "supervisorId": null,
      "supervisorName": null,
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    },
    {
      "id": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
      "employeeNo": null,
      "firstName": "Alison",
      "lastName": "Little",
      "email": "alisonlittle@gmail.com",
      "mobile": null,
      "photo": "https://cdn.ximble.com/content/images/employee-photo.gif",
      "locationName": "Los Angeles",
      "positionName": "Restaurant Manager",
      "terminated": false,
      "name": "Alison Little",
      "supervisorId": null,
      "supervisorName": null,
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    }
  ]
}

Query Params

position
string

Position ID(Guid), ex. 36ACCB08-C188-11E6-9407-00155DFD350B

location
string

Location ID(Guid), ex. 3648A17E-C187-11E6-9407-00155DFA4277

returnonlyemployeeswithoutpositions
string
department
string

Department ID(Guid) ex. 3648A17E-C187-11E6-9407-00155DFA4277

forpoweredit
string
page
string
pagesize
string
sort
string

by "name", "position", "location", "supervisor", "mobile"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{id}

Endpoint returns detailed information on specific employee by his identifier.

Required permission: "EmployeesViewProfileInfo"

 
gethttps://api.ximble.com/employees/id
$.ajax({
  type: 'POST',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/6dd7d388-f97a-11e6-80c3-0003ff28bcff',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "firstName": "Alison",
  "middleName": null,
  "lastName": "Little",
  "email": "alisonlittle@gmail.com",
  "userName": "alisonlittle",
  "employeeId": null,
  "hireDate": "2017-02-23T03:44:54Z",
  "timeZone": "Dateline Standard Time",
  "notes": null,
  "supervisors": [],
  "photo": "https://cdn.ximble.com/content/images/employee-photo.gif",
  "hasPhoto": false,
  "id": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
  "roleId": 2864,
  "isPrimaryAdmin": false,
  "addressLine1": null,
  "addressLine2": null,
  "city": null,
  "state": null,
  "zipCode": null,
  "mobile": null,
  "timeclockSmsEnabled": false,
  "phonePassword": null,
  "country": null,
  "employeeNo": null,
  "roleName": "Employee",
  "supervisorName": null,
  "languageId": 1,
  "payRate": 0,
  "isEmployeeLinkedToMyob": false,
  "isEmployeeLinkedToXero": false
}

Path Params

id
string
required

Employee ID(Guid), ex. 6dd7d388-f97a-11e6-80c3-0003ff28bcff

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{id}/currentemployee

Endpoint returns basic details of current employee with default location and position name, by his identifier.

 
gethttps://api.ximble.com/employees/id/currentemployee
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/6dd7d388-f97a-11e6-80c3-0003ff28bcff/currentemployee',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 1,
      "pagesCount": 1,
      "totalCount": 1
    }
  },
  "data": [
    {
      "id": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
      "employeeNo": null,
      "firstName": "Alison",
      "lastName": "Little",
      "email": "alisonlittle@gmail.com",
      "mobile": null,
      "photo": "https://cdn.ximble.com/content/images/employee-photo.gif",
      "locationName": "Los Angeles",
      "positionName": "Restaurant Manager",
      "terminated": false,
      "name": "Alison Little",
      "supervisorId": null,
      "supervisorName": null,
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    }
  ]
}

Path Params

id
string
required

Employee ID(Guid), ex. 6dd7d388-f97a-11e6-80c3-0003ff28bcff

Query Params

position
string

Position ID

location
string

Location ID

returnonlyemployeeswithoutpositions
string
department
string
forpoweredit
string
sort
string

by "name", "position", "location", "supervisor", "mobile"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/count

Endpoint returns total number of employees for current company.

Required permission: "EmployeesView"

 
gethttps://api.ximble.com/employees/count
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/count',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "count":158
}

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/bydepartment/{department ID}

Endpoint returns list of employees with basic information for specific department by department identifier.

Required permission: "EmployeesView"

 
gethttps://api.ximble.com/employees/bydepartment/department ID
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/bydepartment/0BAF8BB8-C188-11E6-9407-00155DFD350B',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 0,
      "pageSize": 0,
      "pagesCount": 0,
      "totalCount": 0
    }
  },
  "data": [
    {
      "id": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
      "employeeNo": null,
      "firstName": null,
      "lastName": null,
      "email": null,
      "mobile": null,
      "photo": null,
      "locationName": "Los Angeles",
      "positionName": "Restaurant Manager",
      "terminated": false,
      "name": "Alison Little",
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    },
    {
      "id": "c4a15acc-c188-11e6-9407-00155dfa4277",
      "employeeNo": null,
      "firstName": null,
      "lastName": null,
      "email": null,
      "mobile": null,
      "photo": null,
      "locationName": "Los Angeles",
      "positionName": "Accountant",
      "terminated": false,
      "name": "Michael Thompson",
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    },
    {
      "id": "cd6ad065-c189-11e6-9407-00155dfd350b",
      "employeeNo": null,
      "firstName": null,
      "lastName": null,
      "email": null,
      "mobile": null,
      "photo": null,
      "locationName": "San Francisco",
      "positionName": "Accountant",
      "terminated": false,
      "name": "Ella Walker",
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    }
  ]
}

Path Params

department ID
string
required

(Guid) ex. 0BAF8BB8-C188-11E6-9407-00155DFD350B

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/withterminated

Endpoint returns complete list of employees with basic information.

Can be filtered by location, position, department and lack of position.

Required permission: "EmployeesView"

 
gethttps://api.ximble.com/employees/withterminated
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/withterminated?filter=position:4F0130CB-C18A-11E6-9407-00155DFD350B&page=1&pagesize=4&sort=Name',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 4,
      "pagesCount": 1,
      "totalCount": 4
    }
  },
  "data": [
    {
      "id": "9ea8e71e-c188-11e6-9407-00155dfa4277",
      "employeeNo": null,
      "firstName": "Andrew",
      "lastName": "Martin",
      "email": "",
      "mobile": null,
      "photo": "https://ximble.blob.core.windows.net/photo-3648a17d-c187-11e6-9407-00155dfa4277/9ea8e71e-c188-11e6-9407-00155dfa4277",
      "locationName": "San Francisco",
      "positionName": "Cook",
      "terminated": false,
      "name": "Andrew Martin",
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    },
    {
      "id": "9e307974-c189-11e6-9407-00155dfd350b",
      "employeeNo": null,
      "firstName": "Ethan",
      "lastName": "Clark",
      "email": "",
      "mobile": null,
      "photo": "https://ximble.blob.core.windows.net/photo-3648a17d-c187-11e6-9407-00155dfa4277/9e307974-c189-11e6-9407-00155dfd350b",
      "locationName": "San Francisco",
      "positionName": "Cook",
      "terminated": false,
      "name": "Ethan Clark",
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    },
    {
      "id": "bb97e4cd-c189-11e6-9407-00155dfa4277",
      "employeeNo": null,
      "firstName": "Jacob",
      "lastName": "Miller",
      "email": "",
      "mobile": null,
      "photo": "https://ximble.blob.core.windows.net/photo-3648a17d-c187-11e6-9407-00155dfa4277/bb97e4cd-c189-11e6-9407-00155dfa4277",
      "locationName": "San Francisco",
      "positionName": "Cook",
      "terminated": false,
      "name": "Jacob Miller",
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    },
    {
      "id": "b22874dc-c188-11e6-9407-00155dfd350b",
      "employeeNo": null,
      "firstName": "Jose",
      "lastName": "Garcia",
      "email": "",
      "mobile": null,
      "photo": "https://ximble.blob.core.windows.net/photo-3648a17d-c187-11e6-9407-00155dfa4277/b22874dc-c188-11e6-9407-00155dfd350b",
      "locationName": "Los Angeles",
      "positionName": "Cook",
      "terminated": false,
      "name": "Jose Garcia",
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
      "isEmployeeLinkedToMyob": false,
      "isEmployeeLinkedToXero": false
    }
  ]
}

Query Params

position
string

Position ID(Guid), ex. 4F0130CB-C18A-11E6-9407-00155DFD350B

location
string

Location ID(Guid), ex. 3648A17E-C187-11E6-9407-00155DFA4277

returnonlyemployeeswithoutpositions
boolean
sort
string

by "name", "position", "location", "mobile"

page
int32
pagesize
int32

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/accessible

Endpoint returns list of employees for whom time-off request can be created by current manager.

Required permission: "EmployeesAddEdit", "EmployeesCanSupervise"

 
gethttps://api.ximble.com/employees/accessible
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/accessible',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
    "name": "Alison Little",
    "description": null
  },
  {
    "id": "9ea8e71e-c188-11e6-9407-00155dfa4277",
    "name": "Andrew Martin",
    "description": null
  },
  {
    "id": "3648a17c-c187-11e6-9407-00155dfa4277",
    "name": "Anthony Powell",
    "description": null
  },
  {
    "id": "72d678e3-c189-11e6-9407-00155dfa4277",
    "name": "Ashley Scott",
    "description": null
  },
  {
    "id": "df81c492-c189-11e6-9407-00155dfd350b",
    "name": "Carlos Rodriguez",
    "description": null
  },
  {
    "id": "f402786d-c189-11e6-9407-00155dfd350b",
    "name": "Chloe Nelson",
    "description": null
  },
  {
    "id": "a61f58ae-c187-11e6-9407-00155dfd350b",
    "name": "Christopher Lewis",
    "description": null
  },
  {
    "id": "6fbf8615-c188-11e6-9407-00155dfa4277",
    "name": "Daniel Jones",
    "description": null
  },
  {
    "id": "8c6eda0b-c188-11e6-9407-00155dfd350b",
    "name": "David Moore",
    "description": null
  },
  {
    "id": "3ef6643b-c18a-11e6-9407-00155dfd350b",
    "name": "Elizabeth Brown",
    "description": null
  },
  {
    "id": "cd6ad065-c189-11e6-9407-00155dfd350b",
    "name": "Ella Walker",
    "description": null
  },
  {
    "id": "dc2bd7d8-c188-11e6-9407-00155dfa4277",
    "name": "Emily Lewis",
    "description": null
  },
  {
    "id": "9e307974-c189-11e6-9407-00155dfd350b",
    "name": "Ethan Clark",
    "description": null
  },
  {
    "id": "889d2095-c189-11e6-9407-00155dfd350b",
    "name": "Grace Roberts",
    "description": null
  },
  {
    "id": "ea228cd7-c188-11e6-9407-00155dfd350b",
    "name": "Isabella Davis",
    "description": null
  },
  {
    "id": "bb97e4cd-c189-11e6-9407-00155dfa4277",
    "name": "Jacob Miller",
    "description": null
  },
  {
    "id": "037bdec7-c18a-11e6-9407-00155dfa4277",
    "name": "James Parker",
    "description": null
  },
  {
    "id": "b22874dc-c188-11e6-9407-00155dfd350b",
    "name": "Jose Garcia",
    "description": null
  },
  {
    "id": "feb670ae-c188-11e6-9407-00155dfa4277",
    "name": "Joshua Robinson",
    "description": null
  },
  {
    "id": "1b096c94-c18a-11e6-9407-00155dfd350b",
    "name": "Mason Carter",
    "description": null
  },
  {
    "id": "0e41f436-c189-11e6-9407-00155dfd350b",
    "name": "Matthew Adams",
    "description": null
  },
  {
    "id": "c4a15acc-c188-11e6-9407-00155dfa4277",
    "name": "Michael Thompson",
    "description": null
  },
  {
    "id": "5da7afa1-c189-11e6-9407-00155dfa4277",
    "name": "Olivia King",
    "description": null
  },
  {
    "id": "22aa8c7a-c189-11e6-9407-00155dfa4277",
    "name": "Samantha Taylor",
    "description": null
  },
  {
    "id": "2bca6cf7-c18a-11e6-9407-00155dfa4277",
    "name": "Samuel Harris",
    "description": null
  },
  {
    "id": "37468062-f6fc-11e6-80c3-0003ff28bcff",
    "name": "Tyler A Twirdy",
    "description": null
  },
  {
    "id": "35afa550-c189-11e6-9407-00155dfd350b",
    "name": "William Young",
    "description": null
  }
]

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/admins

Endpoint returns a list of employees with basic details for employees whose role is defined as admin.

Required permission: "SettingsEdit", "EmployeesView"

 
gethttps://api.ximble.com/employees/admins
$.ajax({
  type: 'GET',
  dataType: 'json',
  url: 'https://api.ximble.com/employees/admins',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 2,
      "pagesCount": 1,
      "totalCount": 2
    }
  },
  "data": [
    {
      "name": "Anthony Powell",
      "id": "3648a17c-c187-11e6-9407-00155dfa4277",
      "employeeNo": null,
      "firstName": "Anthony",
      "lastName": "Powell",
      "email": "dilic@nimbleschedule.com",
      "mobile": null,
      "photo": "3648a17c-c187-11e6-9407-00155dfa4277",
      "locationName": null,
      "positionName": null,
      "terminated": false,
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
    },
    {
      "name": "Tyler Twirdy",
      "id": "37468062-f6fc-11e6-80c3-0003ff28bcff",
      "employeeNo": null,
      "firstName": "Tyler",
      "lastName": "Twirdy",
      "email": null,
      "mobile": null,
      "photo": null,
      "locationName": null,
      "positionName": null,
      "terminated": false,
      "supervisors": [
        {"fullName": "Anthony Powell"
				"id": "3648a17c-c187-11e6-9407-00155dfa4277"}
      ],
    }
  ]
}

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/supervisors

Endpoint returns a list of employees with basic details for those employees who can act as a supervisor.

Supervisor is an employee with the permission to manage requests coming from direct reports.

Required permission: "SettingsEdit", "EmployeesView"

 
gethttps://api.ximble.com/employees/supervisors
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/supervisors',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 0,
      "pageSize": 0,
      "pagesCount": 0,
      "totalCount": 0
    }
  },
  "data": [
    {
      "id": "3648a17c-c187-11e6-9407-00155dfa4277",
      "name": "Anthony Powell",
      "photo": null
    },
    {
      "id": "37468062-f6fc-11e6-80c3-0003ff28bcff",
      "name": "Tyler A Twirdy",
      "photo": null
    }
  ]
}

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/export/{format}

Endpoint returns file with employees data in specified file format.

File can be in following formats: pdf, csv, excel.

Required permissions: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/export/format
$.ajax({
  type: 'POST',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/export/pdf',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{return file}

Path Params

format
string
required

pdf, csv, excel

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/withposition

Endpoint allows to create an employee with or without defined position.

Endpoint for list of roles in company: http://developer.ximble.com/v1.0/reference#roles

Required permission: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/withposition
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
					"firstName":"Mark",
          "middleName":"Jon",
          "lastName":"Upton",
          "userName":"mupton",
          "email":"mupton669@nimbleschedule.com",
          "roleId":"2864",
          "timeZone":"Hawaiian Standard Time",
          "gravatarUrl":"https://www.gravatar.com/avatar/22a36e263d9cb6c82f6b7cd01f6f3508",
          "positionId":"4f0130cb-c18a-11e6-9407-00155dfd350b",
          "departmentId":"a61f58a0-c187-11e6-9407-00155dfd350b",
          "locationId":"258f3de4-60cf-477f-9430-3cec4ca9fa05",
          "salaryType":"PayRate",
          "payRate":"20"
          },
  url: 'https://api.ximble.com/employees/withposition',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

firstName
string
required

Max 128 chars

middleName
string

Max 128 chars

lastName
string
required

Max 128 chars

userName
string
required

Max 128 chars

email
string

Max 128 chars

roleid
int32
required

ex. 2864

timeZone
string
required

ex. Hawaiian Standard Time

positionId
string

Position ID(Guid), ex. 4f0130cb-c18a-11e6-9407-00155dfd350b

departmentId
string

Department ID(Guid), a61f58a0-c187-11e6-9407-00155dfd350b

locationId
string
required

Location ID(Guid), ex. 258f3de4-60cf-477f-9430-3cec4ca9fa05

salaryType
string

ex. PayRate

payRate
float

ex. 15.8

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/quickcreate

Endpoint allows to create an employee with basic employee data.

Required permissions: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/quickcreate
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
					"firstName":"Mark",
          "lastName":"Upton",
          "userName":"mupton",
          "hireDate":"2016-12-12",
          "timeZone":"Hawaiian Standard Time",
          "positionId":"4f0130cb-c18a-11e6-9407-00155dfd350b",
          "locationId":"258f3de4-60cf-477f-9430-3cec4ca9fa05",
          "roleId":"2864"
				  },
  url: 'https://api.ximble.com/employees/quickcreate',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

firstName
string
required

Max 128 chars

lastName
string
required

Max 128 chars

userName
string
required

Max 128 chars

hireDate
string
required

Format "yyyy-MM-dd'T'HH:mm:ss"

timeZone
string
required

Max 256 chars

positionId
string
required

Position ID(Guid), ex. 4f0130cb-c18a-11e6-9407-00155dfd350b

locationId
string
required

Location ID(Guid), ex. 258f3de4-60cf-477f-9430-3cec4ca9fa05

roleId
int64
required

ex. 1234

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{id}

Endpoint allows to update details of a specific employee, specified by identifier.

Required permission: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/id
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
					"firstName":"Mike",
          "lastName":"Atkins",
          "userName":"mupton",
          "hireDate":"2016-12-12",
          "timeZone":"Hawaiian Standard Time",
          "roleId":"2864",
          "languageId": 1
				  },
  url: 'https://api.ximble.com/employees/9EA8E71E-C188-11E6-9407-00155DFA4277',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "createdItemId": "00000000-0000-0000-0000-000000000000",
  "createdItemIdLong": 0,
  "errors": [],
  "warnings": [],
  "successes": [],
  "employeeWorksOnAnotherShift": false,
  "hasErrors": false,
  "hasWarnings": false,
  "hasSuccesses": false,
  "hasErrorsOrWarnings": false,
  "errorsOrWarnings": []
}

Path Params

id
string
required

Employee ID(Guid), ex. 3648A17C-C187-11E6-9407-00155DFA4277

Form Data

firstName
string
required

Max 128 chars

middleName
string

Max 128 chars

lastName
string
required

Max 128 chars

email
string

Max 128 chars

userName
string
required

Max 128 chars

employeeID
string

Max 50 chars

hireDate
date
required

Format "yyyy-MM-dd'T'HH:mm:ss"

timeZone
string
required

Max 256 chars

notes
string

Max 512 chars

roleID
int64
required

ex 2134

languageID
string
required

English = 1, French = 2, Spanish = 3

supervisors
array of strings

Array of Identifiers of supervisor. Guid

addressLine1
string
addressLine2
string
city
string
state
string
zipCode
string
mobile
string
timeclockSMSEnabled
string
country
string
employeeNo
string
ignoreRoleWarning
string

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{id}/contactinfo

Endpoint allows to update contact information for specific employee.

Required permission: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/id/contactinfo
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
		      "addressLine1":"Address1",
          "addressLine2":"Address2",
          "City":"Washington, DC ",
          "Country":"US",
          "State":"MA",
          "ZipCode":"Hawaiian Standard Time",
          "Mobile":"+1 67 777444",
          "TimeclockSmsEnabled":true
          },
  url: 'https://api.ximble.com/employees/9EA8E71E-C188-11E6-9407-00155DFA4277/contactinfo',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});



A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
string
required

Form Data

addressLine1
string

Max 512 chars

addressLine2
string

Max 512 chars

City
string

Max 128 chars

State
string

Max 128 chars

ZipCode
string

Max 32 chars

Mobile
string

Max 32 chars

TimeclockSmsEnabled
boolean
Country
string

Max 128 chars

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/massdelete

Endpoint allows to delete more than one employee at the same time.

List of Ids of employees to be deleted needs to sent in request.

Required permission: "EmployeesDelete"

 
posthttps://api.ximble.com/employees/massdelete
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
				"Ids":[
               "9EA8E71E-C188-11E6-9407-00155DFA4277", 
               "6FBF8615-C188-11E6-9407-00155DFA4277"
              ]
         },
  url: 'https://api.ximble.com/employees/massdelete',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

Ids
array of strings

list of Id-s(Guid), json

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/invite

Endpoint allows to send an invitation email to the list of employees that were added to Ximble.

Required permission: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/invite
$.ajax({
  type: 'POST',
  dataType: 'json',
  data:{
				"Ids":["22b6a93c-f1d6-11e6-80c3-0003ff289d8e", "56b6a75c-f2a6-11e6-80c3-0003ff289d8e"]
        },
  url: 'https://api.ximble.com/invite',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

Ids
array of strings

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/invite/all

Endpoint allows to send an invitation email to all employees at same time.

Required permission: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/invite/all
$.ajax({
  type: 'POST',
  dataType: 'json',
  url: 'https://api.ximble.com/employees/invite/all',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/terminate

Endpoint allows to deactivate specific employee.

This employee can later be activated again, but for time while being deactivated will no longer have access to the system, and the company account will not be charged for that employee.

Required permission: "EmployeesTerminate"

 
posthttps://api.ximble.com/employees/terminate
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
				"Ids":["22b6a93c-f1d6-11e6-80c3-0003ff289d8e", "56b6a75c-f2a6-11e6-80c3-0003ff289d8e"]
        }
       ,
  url: 'https://api.ximble.com/employees/terminate',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

Ids
array of strings

array of employee Id-s

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/unterminate

Endpoint allows to activate deactivated employee. Deactivated employee will have access to the system again.

Required permission: "EmployeesTerminate"

 
posthttps://api.ximble.com/employees/unterminate
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
				"Ids":["22b6a93c-f1d6-11e6-80c3-0003ff289d8e", "56b6a75c-f2a6-11e6-80c3-0003ff289d8e"]
        }
       ,
  url: 'https://api.ximble.com/employees/unterminate',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Form Data

Ids
array of strings

array of employee Id-s

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{id}

Endpoint allows to completely remove an employee's profile from the system. This action is not revertible.

By deleting employee all data of that employee will be lost.

Required permission: "EmployeesDelete"

 
deletehttps://api.ximble.com/employees/id
$.ajax({
  type: 'DELETE',
  dataType: 'json',
  url: 'https://api.ximble.com/employees/cb2ee645-f9cf-11e6-80c3-0003ff28bcff',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

id
string
required

Employee ID(Guid), ex. cb2ee645-f9cf-11e6-80c3-0003ff28bcff

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{employeeId}/positionsdropdown

Endpoint returns list of employments with location, position and department for a specific employee.

Employment is combination of position, location and department and its different for every employee.

 
gethttps://api.ximble.com/employees/employee id/positionsdropdown
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/C4A15ACC-C188-11E6-9407-00155DFA4277/positionsdropdown',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 0,
      "pageSize": 0,
      "pagesCount": 0,
      "totalCount": 0
    }
  },
  "data": [
    {
      "employmentId": "c4a15ace-c188-11e6-9407-00155dfa4277",
      "location": {
        "id": "3648a17e-c187-11e6-9407-00155dfa4277",
        "name": "Los Angeles"
      },
      "position": {
        "id": "43be9492-c188-11e6-9407-00155dfd350b",
        "name": "Accountant",
        "color": "4CAF50"
      },
      "department": {
        "id": "0baf8bb8-c188-11e6-9407-00155dfd350b",
        "name": "Accounting"
      }
    }
  ]
}

Path Params

employee id
string
required

Guid

filter
string
required

by locationId

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{employeeId}/contactinformation

Endpoint returns basic contact information for specific employee by Id.

Required permission: "EmployeesViewProfileInfo" only in case if request is being made for another employee.

 
gethttps://api.ximble.com/employees/employeeId/contactinformation
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/DC2BD7D8-C188-11E6-9407-00155DFA4277/contactinformation',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "addressLine1": "",
  "addressLine2": "",
  "city": "",
  "state": "null",
  "zipCode": "",
  "mobile": null,
  "timeclockSmsEnabled": false,
  "country": null
}

Path Params

employeeId
string
required

Guid

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{location id}/employeesbyemployments

Endpoint returns list of employees from one location by their employments

Required permission: "EmployeesView"

 
gethttps://api.ximble.com/employees/location id/employeesbyemployments
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/employees/3648a17e-c187-11e6-9407-00155dfa4277/employeesbyemployments?filter=position:36accb08-c188-11e6-9407-00155dfd350b;department:0103ebb0-c188-11e6-9407-00155dfd350b;',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

[
  {
    "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277",
    "employeeName": "Anthony Powell",
    "employmentId": "44fad87f-c189-11e6-9407-00155dfd350b",
    "locationId": "3648a17e-c187-11e6-9407-00155dfa4277",
    "locationName": "Los Angeles",
    "positionId": "36accb08-c188-11e6-9407-00155dfd350b",
    "positionName": "Restaurant Manager",
    "departmentId": "0103ebb0-c188-11e6-9407-00155dfd350b",
    "departmentName": "Management",
    "photoUrl": "https://ximble.blob.core.windows.net/photo-3648a17d-c187-11e6-9407-00155dfa4277/3648a17c-c187-11e6-9407-00155dfa4277_thumbnail"
  }
]

Path Params

location id
string
required

Guid

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{employeeId}/positions

Endpoint allows to create employment for employee specified by identifier.

Employment is combination of location, position and department with pay rates.

 
posthttps://api.ximble.com/employees/employeeId/positions
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
			  "positionId":"43be9490-c188-11e6-9407-00155dfd350b",
        "locationId":"3648a17e-c187-11e6-9407-00155dfa4277",
        "employeeRankId":"1eb5a496-fa9d-11e6-80c3-0003ff289d8e",
        "departmentId":"a61f58a0-c187-11e6-9407-00155dfd350b",
        "salaryType":"PayRate",
        "payRate":400,
        "updatePayrate":true
         }
  url: 'https://api.ximble.com/employees/5da7afa1-c189-11e6-9407-00155dfa4277/positions',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN"
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "id": "cf6e906b-fd05-11e6-80c3-0003ff289d8e",
  "departmentId": "a61f58a0-c187-11e6-9407-00155dfd350b",
  "positionId": "43be9490-c188-11e6-9407-00155dfd350b",
  "salaryType": "PayRate",
  "employeeRankId": "1eb5a496-fa9d-11e6-80c3-0003ff289d8e",
  "payRate": 400,
  "monthlySalary": 69333.3333,
  "annualSalary": 832000,
  "weeklySalary": 16000,
  "locationId": "3648a17e-c187-11e6-9407-00155dfa4277",
  "locationName": null,
  "status": null,
  "locations": [],
  "departmentName": null,
  "positionName": null,
  "employeeRankName": null,
  "salaryTypeName": null
}

Path Params

employee id
string
required

Guid

Form Data

DepartmentId
string

Guid

PositionId
string
required

Guid

SalaryType
string
required

PayRate = 1, MonthlySalary = 2, AnnualSalary = 3, WeeklySalary = 4

EmployeeRankId
string

Guid

PayRate
double
MonthlySalary
double
AnnualSalary
double
WeeklySalary
double
LocationId
string
required

Guid

UpdatePayrate
boolean
required

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/{employeeId}/schedulerules

Endpoint allows to set scheduling limitations for an employee specified by Identifier.

For example, supervisor or admin may limit employee account to be scheduled for only a certain number of hours per week or per day, for a certain number of shifts during the day or just a certain number of days in the week.

 
posthttps://api.ximble.com/employees/employeeId/schedulerules
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
				"maximumHoursPerWeek":15,
        "maximumShiftsPerDay":3
         },
  url: 'https://api.ximble.com/employees/5DA7AFA1-C189-11E6-9407-00155DFA4277/schedulerules',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

employeeId
string
required

Employee Identifier (Guid)

Form Data

maximumHoursPerWeek
int32

0-168

maximumHoursPerDay
int32

0-24

maximumDaysPerWeek
string

0-7

maximumShiftsPerDay
int32

0-5

minimumHoursPerWeek
int32

0-168

excludeFromSchedule
boolean
minimumHoursBetween2Shifts
int32

0-168

between2ShiftsType
string

Any Two Shifts, Two Shifts Across Consecutive Days

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/positions/{employmentId}

Endpoint allows to update employment details for an employee (position, department, location, payrate)

When an employment is updated, all historical (past) shifts associated with that employment will remain, but will no longer be editable. Furthermore, depending on the update being made, different responses will be given to determine how this update will impact future shifts for that employee. These responses will be of type {conflict : int}. Conflict can be 1,6,8 or 14.

1 - Appears when the employment location (and possibly department, position, and pay rate) are updated. In this case all future shifts have to be deleted. In order to avoid receiving this response, please add two additional fields in the request body: {override:1, action:1}.
Note that future shifts for that employment will be deleted.

6 - Appears when department OR/AND Position ONLY are changed. In this case all future shifts can either be updated to the new details or deleted. In order to avoid receiving this response, you need to set two more fields in request body: {override:6, action:0} If you want to update shifts, or body:{override:6, action:1} for deleting shifts.

8 - Appears when Payrate only is changed. In this case all future shifts will be updated. In order to avoid receiving this response, you need to set two more fields in request body: {override:8, action:0}.

14 - Appears when Department OR/AND Position AND Payrate are being changed. In this case all future shifts can either be updated to the new details or deleted. In order to avoid receiving this response, you need to set two more fields in request body: {override:14, action:0} If you want to update shifts, or body:{override:14, action:1} for deleting shifts.

After this, you should receive response code 200 with empty body.

Required permissions: "EmployeesAddEdit"

 
posthttps://api.ximble.com/employees/positions/employmentId
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
				"id":"5da7afa3-c189-11e6-9407-00155dfa4277",
        "positionId":"36accb08-c188-11e6-9407-00155dfd350b",
        "locationId":"258f3de4-60cf-477f-9430-3cec4ca9fa05",
        "employeeRankId":"",
        "departmentId":"0103ebb0-c188-11e6-9407-00155dfd350b",
        "salaryType":"PayRate",
        "payRate":14,
        "updatePayrate":true
    		 },
  url: 'https://api.ximble.com/employees/positions/5da7afa3-c189-11e6-9407-00155dfa4277',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

employmentId
string
required

Guid

Form Data

departmentId
string

Guid

positionId
string
required

Guid

salaryType
string
required

PayRate = 1, MonthlySalary = 2, AnnualSalary = 3, WeeklySalary = 4

EmployeeRankId
string

Guid

PayRate
double

0-100000000000

MonthlySalary
double

0-100000000000

AnnualSalary
double

0-100000000000

WeeklySalary
double

0-100000000000

LocationId
string
required

Guid

UpdatePayrate
boolean
required

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

employees/positions/{employment id}

Endpoint allows to delete an employment specified by Identifier.

List of employments for specific employee is available on endpoint http://developer.ximble.com/v1.0/reference#employeesemployee-idpositionsdropdown

 
deletehttps://api.ximble.com/employees/positions/employment id
$.ajax({
  type: 'DELETE',
  dataType: 'json',
  url: 'https://api.ximble.com/employees/positions/5da7afa3-c189-11e6-9407-00155dfa4277',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
  
});
A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

employment id
string
required

Employment Id (Guid) ex. 5da7afa3-c189-11e6-9407-00155dfa4277

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

RepeatType

Possible repeat types

 

Daily

1

Weekly

2

MonToFri

3

Suggest Edits

Content Providers

 

Bamboohr

1

Gusto

2

Quickbooks

3

Google

4

AndroidDevice

5

IOSDevice

6

SAML

7

Xero

8

Adp

9

Facebook

10

Intuit

11

Myob

12

Suggest Edits

holidays

Endpoint returns list of holidays declared by a company.

Required permissions: "SettingsView"

 
gethttps://api.ximble.com/holidays
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/holidays?filter=name:year&sort=Name',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 1,
      "pagesCount": 1,
      "totalCount": 1
    }
  },
  "data": [
    {
      "id": "ce7ef12d-fd90-11e6-80c3-0003ff28bcff",
      "name": "New Year",
      "startAt": "2017-12-31T00:00:00Z",
      "endAt": "2018-01-01T23:59:59Z",
      "occursEveryYear": true,
      "isPaid": false,
      "hoursPaid": 0
    }
  ]
}

Query Params

filter
string

by name

sort
string

by "name", "StartAt", "EndAt"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

holidays/{holiday id}

Endpoints returns details for holiday specified by Identifier.

Required permissions: "SettingsView"

 
gethttps://api.ximble.com/holidays/holidayId
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/holidays/F7BEDF0E-FD90-11E6-80C3-0003FF28BCFF',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "id": "f7bedf0e-fd90-11e6-80c3-0003ff28bcff",
  "name": "Christmas",
  "startAt": "2017-12-25T00:00:00Z",
  "endAt": "2017-12-25T23:59:59Z",
  "occursEveryYear": true,
  "isPaid": false,
  "hoursPaid": 0
}

Path Params

holidayId
string
required

Guid

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

holidays

Endpoint allows you to create a company holiday.

Holiday can be paid (isPaid=true/false), and can be set to repeat every year (occursEveryYear=true/false).

All date time data in body params need to be in Primary Admin's timezone.

Required permission: "SettingsEdit"

 
posthttps://api.ximble.com/holidays
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
				"Name":"New Year",
        "StartAt":"2016-12-31T00:00:00",
        "EndAt":"2017-01-01T00:00:00",
        "occursEveryYear":true,
    		"isPaid":false,
    		"hoursPaid":0
        },
  url: 'https://api.ximble.com/holidays',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});

A binary file was returned

You couldn't be authenticated

{
  "id": "fdb2d7cd-fd93-11e6-80c3-0003ff28bcff",
  "name": "New Year",
  "startAt": "2016-12-31T08:00:00Z",
  "endAt": "2017-01-02T08:00:00Z",
  "occursEveryYear": true,
  "isPaid": false,
  "hoursPaid": 0
}

Form Data

Name
string
required

ex. New Year (Max 256 chars)

StartAt
string
required

Start date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

EndAt
string
required

End date and time. Format "yyyy-MM-dd'T'HH:mm:ss"

occursEveryYear
boolean

true/false

IsPaid
boolean

true/false

hoursPaid
int32

ex. 8

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

holidays/{holiday id}

Endpoint allows to update already created holiday.

All date time data in body params need to be in Primary Admin's timezone.

Required permission: "SettingsEdit"

 
posthttps://api.ximble.com/holidays/holidayId
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
				"Name":"New Holiday",
        "StartAt":"2016-05-05T00:00:00",
        "EndAt":"2017-05-05T00:00:00",
        "occursEveryYear":true
        },
  url: 'https://api.ximble.com/holidays/F7BEDF0E-FD90-11E6-80C3-0003FF28BCFF',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});

A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

holidayId
string
required

Guid

Form Data

name
string
required

Max 256 chars

startAt
date
required
endAt
date
required
occursEveryYear
boolean
isPaid
boolean
hoursPaid
int32

if isPaid=true then Required

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

holidays/{holiday id}

Endpoint allows to delete holiday specified by Identifier.

Required permission: "SettingsEdit"

 
deletehttps://api.ximble.com/holidays/holiday id
$.ajax({
  type: 'DELETE',
  dataType: 'json',
  url: 'https://api.ximble.com/holidays/F7BEDF0E-FD90-11E6-80C3-0003FF28BCFF',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
  
});
A binary file was returned

You couldn't be authenticated

{
  "id": "f7bedf0e-fd90-11e6-80c3-0003ff28bcff"
}

Path Params

holiday id
string
required

Guid

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

locations

Endpoint returns list of all company "locations" with all details.

Locations are different branches or outlets to maintain, where employees can be grouped across different segments. Aside from using this functionality for actual, physical, locations, this functionality occasionally can be used to create virtual locations and simply group employees across virtual teams of employees.

Required permission: "SettingsView"

 
gethttps://api.ximble.com/locations
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/locations?filter=name:a&sort=-Name',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 2,
      "pagesCount": 1,
      "totalCount": 2
    }
  },
  "data": [
    {
      "id": "258f3de4-60cf-477f-9430-3cec4ca9fa05",
      "name": "San Francisco",
      "locationCode": null,
      "addressLine1": null,
      "addressLine2": null,
      "city": null,
      "state": null,
      "zipCode": null,
      "country": null,
      "phone": null,
      "fax": null,
      "timeZone": "Pacific Standard Time",
      "notes": null,
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "primary": false,
      "inactive": false,
      "arrivalEarlierInMinutes": 0,
      "departureAfterInMinutes": 0,
      "managers": null,
      "managersName": null,
      "managersEmail": null,
      "hours": null,
      "type": null,
      "managerId": "00000000-0000-0000-0000-000000000000",
      "managerName": null,
      "managerEmail": null
    },
    {
      "id": "3648a17e-c187-11e6-9407-00155dfa4277",
      "name": "Los Angeles",
      "locationCode": null,
      "addressLine1": null,
      "addressLine2": null,
      "city": null,
      "state": null,
      "zipCode": null,
      "country": null,
      "phone": null,
      "fax": null,
      "timeZone": "UTC",
      "notes": null,
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "primary": true,
      "inactive": false,
      "arrivalEarlierInMinutes": 0,
      "departureAfterInMinutes": 0,
      "managers": null,
      "managersName": null,
      "managersEmail": null,
      "hours": null,
      "type": null,
      "managerId": "00000000-0000-0000-0000-000000000000",
      "managerName": null,
      "managerEmail": null
    }
  ]
}

Query Params

filter
string

by Name

sort
string

by Name

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

locations/{locationId}

Endpoint returns a details of location specified by Identifier.

This endpoint returns data in Primary Admin's timezone.

Required permission: "SettingsView"

 
gethttps://api.ximble.com/locations/location id
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/locations/3648A17E-C187-11E6-9407-00155DFA4277',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "id": "3648a17e-c187-11e6-9407-00155dfa4277",
  "name": "Los Angeles",
  "locationCode": null,
  "addressLine1": null,
  "addressLine2": null,
  "city": null,
  "state": null,
  "zipCode": null,
  "country": null,
  "phone": null,
  "fax": null,
  "timeZone": "UTC",
  "notes": null,
  "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
  "primary": true,
  "inactive": false,
  "arrivalEarlierInMinutes": 0,
  "departureAfterInMinutes": 0,
  "managers": null,
  "managersName": null,
  "managersEmail": null,
  "hours": {
    "sameOpenTimeEveryday": false,
    "openTimeEveryday": null,
    "openTimeSunday": "2015-06-22T16:00:00Z",
    "openTimeMonday": "2015-06-22T16:00:00Z",
    "openTimeTuesday": "2015-06-22T16:00:00Z",
    "openTimeWednesday": "2015-06-22T16:00:00Z",
    "openTimeThursday": "2015-06-22T16:00:00Z",
    "openTimeFriday": "2015-06-22T16:00:00Z",
    "openTimeSaturday": "2015-06-22T16:00:00Z",
    "sameCloseTimeEveryday": false,
    "closeTimeEveryday": null,
    "closeTimeSunday": "2015-06-22T00:00:00Z",
    "closeTimeMonday": "2015-06-22T00:00:00Z",
    "closeTimeTuesday": "2015-06-22T00:00:00Z",
    "closeTimeWednesday": "2015-06-22T00:00:00Z",
    "closeTimeThursday": "2015-06-22T00:00:00Z",
    "closeTimeFriday": "2015-06-22T00:00:00Z",
    "closeTimeSaturday": "2015-06-22T00:00:00Z",
    "closedSunday": false,
    "closedMonday": false,
    "closedTuesday": false,
    "closedWednesday": false,
    "closedThursday": false,
    "closedFriday": false,
    "closedSaturday": false
  },
  "type": null,
  "managerId": "00000000-0000-0000-0000-000000000000",
  "managerName": null,
  "managerEmail": null
}

Path Params

locationId
string
required

Guid

Headers

Authorization
string
 
Suggest Edits

locations/accessiblelocations

Loads list of accessible locations for current employee

 
gethttps://api.ximble.com/locations/accessiblelocations
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/locations/accessiblelocations?sort=-name&page=1&pagesize=1',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 1,
      "pagesCount": 3,
      "totalCount": 3
    }
  },
  "data": [
    {
      "id": "258f3de4-60cf-477f-9430-3cec4ca9fa05",
      "name": "San Francisco",
      "locationCode": null,
      "addressLine1": null,
      "addressLine2": null,
      "city": null,
      "state": null,
      "zipCode": null,
      "country": null,
      "phone": null,
      "fax": null,
      "timeZone": null,
      "notes": null,
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "primary": false,
      "inactive": false,
      "arrivalEarlierInMinutes": 0,
      "departureAfterInMinutes": 0,
      "managers": null,
      "managersName": null,
      "managersEmail": null,
      "hours": null,
      "type": null,
      "managerId": "00000000-0000-0000-0000-000000000000",
      "managerName": null,
      "managerEmail": null
    }
  ]
}

Query Params

sort
string

by Name

page
int32
pagesize
int32

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

locations/primary

Endpoint returns details of location that is marked as primary for company.

Required permission: "SettingsView"

 
gethttps://api.ximble.com/locations/primary
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/locations/primary',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "id": "3648a17e-c187-11e6-9407-00155dfa4277",
  "name": "Los Angeles",
  "locationCode": null,
  "addressLine1": null,
  "addressLine2": null,
  "city": null,
  "state": null,
  "zipCode": null,
  "country": null,
  "phone": null,
  "fax": null,
  "timeZone": "UTC",
  "notes": null,
  "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
  "primary": true,
  "inactive": false,
  "arrivalEarlierInMinutes": 0,
  "departureAfterInMinutes": 0,
  "latitude": null,
  "longitude": null
}

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

locations/locationscount

Endpoint returns a number of company locations.

Required permission: "SettingsView"

 
gethttps://api.ximble.com/locations/locationscount
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/locations/locationscount',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

locations

Endpoint allows to create a new location for company.

All date time data in body params need to be in Primary Admin's timezone.

In request can be defined Hours of operation. That is time when location is opened and can be defined for every day in the week.

Required permission: "SettingsEdit"

 
posthttps://api.ximble.com/locations
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
		    "name":"Miami",
        "primary":false,
        "inactive":false,
        "locationCode":"MI",
        "country":"US",
        "addressLine1":"Palm street",
        "addressLine2":"",
        "city":"Miami",
        "state":"FL",
        "zipCode":33018,
        "phone":"",
        "timeZone":"Pacific Standard Time",
        "notes":"Summer time..",
        "hoursOfOperation[openTimeSunday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeSunday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeMonday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeMonday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeTuesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeTuesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeWednesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeWednesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeThursday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeThursday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeFriday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeFriday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeSaturday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeSaturday]":"2017-02-28T00:00:00",
        "isOpen":true
        },
  url: 'https://api.ximble.com/locations',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});

A binary file was returned

You couldn't be authenticated

{
  "id": "a0c93500-c2d2-4f83-8df5-8ccd2bf055ec",
  "name": "Miami",
  "locationCode": "MI",
  "addressLine1": "Palm street",
  "addressLine2": "",
  "city": "Miami",
  "state": "FL",
  "zipCode": "33018",
  "country": "US",
  "phone": "",
  "fax": null,
  "timeZone": "Pacific Standard Time",
  "notes": "Summer time..",
  "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
  "primary": false,
  "inactive": false,
  "arrivalEarlierInMinutes": 0,
  "departureAfterInMinutes": 0,
  "managers": null,
  "managersName": null,
  "managersEmail": null,
  "hours": {
    "sameOpenTimeEveryday": false,
    "openTimeEveryday": null,
    "openTimeSunday": "2015-06-22T00:00:00Z",
    "openTimeMonday": "2015-06-22T00:00:00Z",
    "openTimeTuesday": "2015-06-22T00:00:00Z",
    "openTimeWednesday": "2015-06-22T00:00:00Z",
    "openTimeThursday": "2015-06-22T00:00:00Z",
    "openTimeFriday": "2015-06-22T00:00:00Z",
    "openTimeSaturday": "2015-06-22T00:00:00Z",
    "sameCloseTimeEveryday": false,
    "closeTimeEveryday": null,
    "closeTimeSunday": "2015-06-22T00:00:00Z",
    "closeTimeMonday": "2015-06-22T00:00:00Z",
    "closeTimeTuesday": "2015-06-22T00:00:00Z",
    "closeTimeWednesday": "2015-06-22T00:00:00Z",
    "closeTimeThursday": "2015-06-22T00:00:00Z",
    "closeTimeFriday": "2015-06-22T00:00:00Z",
    "closeTimeSaturday": "2015-06-22T00:00:00Z",
    "closedSunday": false,
    "closedMonday": false,
    "closedTuesday": false,
    "closedWednesday": false,
    "closedThursday": false,
    "closedFriday": false,
    "closedSaturday": false
  },
  "type": null,
  "managerId": "00000000-0000-0000-0000-000000000000",
  "managerName": null,
  "managerEmail": null
}

Form Data

name
string
required
primary
boolean
inactive
boolean
locationCode
string
country
string
addressLine1
string
addressLine2
string
city
string
state
string
zipCode
string
phone
string
timeZone
string
notes
string
hoursOfOperation
string

HoursOfOperationModel

isOpen
boolean

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

locations/{location id}

Endpoint allows to update location specified by Identifier.

All date time data in body params need to be in Primary Admin's timezone.

Required permission: "SettingsEdit"

 
posthttps://api.ximble.com/locations/location id
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
		    "name":"Miami",
        "primary":false,
        "inactive":false,
        "locationCode":"MI",
        "country":"US",
        "addressLine1":"Palm street",
        "addressLine2":"",
        "city":"Miami",
        "state":"FL",
        "zipCode":33018,
        "phone":"",
        "timeZone":"Pacific Standard Time",
        "notes":"Summer time..",
        "hoursOfOperation[openTimeSunday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeSunday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeMonday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeMonday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeTuesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeTuesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeWednesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeWednesday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeThursday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeThursday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeFriday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeFriday]":"2017-02-28T00:00:00",
        "hoursOfOperation[openTimeSaturday]":"2017-02-28T00:00:00",
        "hoursOfOperation[closeTimeSaturday]":"2017-02-28T00:00:00",
        "isOpen":true
        },
  url: 'https://api.ximble.com/locations/AF46F6C7-C130-4305-9CA5-45E6E6EBD39E',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});

A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

location id
string
required

Guid

Form Data

name
string
required
primary
boolean
inactive
boolean
locationCode
string
country
string
addressLine1
string
addressLine1
string
city
string
state
string
zipCode
string
phone
string
timeZone
string
notes
string
hoursOfOperation
string

HoursOfOperationModel

isOpen
boolean

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

locations/{location id}/hours

Endpoint allows to update Hours of Operation for location specified by Identifier.

All date time data in body params need to be in Primary Admin's timezone.

Required permission: "SettingsEdit"

 
posthttps://api.ximble.com/locations/location id/hours
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
          "sameOpenTimeEveryday": false,
          "sameCloseTimeEveryday": false,
    
          "openTimeMonday":"2017-02-28T10:30:00",
					"closeTimeMonday":"2017-02-28T18:30:00",
    
					"closedSunday":true,
          "closedMonday":false,
          "closedTuesday":true,
          "closedWednesday":true,
          "closedThursday":true,
          "closedFriday":true,
          "closedSaturday":true
        
          },
  url: 'https://api.ximble.com/locations/AF46F6C7-C130-4305-9CA5-45E6E6EBD39E/hours',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});

A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

location id
string
required

Guid

Form Data

sameOpenTimeEveryday
boolean
openTimeEveryday
string
openTimeSunday
string
openTimeMonday
string
openTimeTuesday
string
openTimeWednesday
string
openTimeThursday
string
openTimeFriday
string
openTimeSaturday
string
sameCloseTimeEveryday
string
closeTimeEveryday
string
closeTimeSunday
string
closeTimeMonday
string
closeTimeTuesday
string
closeTimeWednesday
string
closeTimeThursday
string
closeTimeFriday
string
closeTimeSaturday
string
closedSunday
boolean
closedMonday
boolean
closedTuesday
boolean
closedWednesday
boolean
closedThursday
boolean
closedFriday
boolean
closedSaturday
boolean

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

positions

Endpoint returns list of positions with details.

List can be sorted by position name or number of employees in position.

List can be filtered by position name.

Required one of permission: "SettingsView", "EmployeesView", "SchedulingView"

 
gethttps://api.ximble.com/positions
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/positions',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
});
A binary file was returned

You couldn't be authenticated

{
  "meta": {
    "links": {
      "self": null,
      "prev": null,
      "next": null
    },
    "paging": {
      "page": 1,
      "pageSize": 5,
      "pagesCount": 1,
      "totalCount": 5
    }
  },
  "data": [
    {
      "id": "43be9492-c188-11e6-9407-00155dfd350b",
      "name": "Accountant",
      "color": "4CAF50",
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "numberOfEmployees": 2
    },
    {
      "id": "a61f58a1-c187-11e6-9407-00155dfd350b",
      "name": "Chef",
      "color": "0097A7",
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "numberOfEmployees": 6
    },
    {
      "id": "4f0130cb-c18a-11e6-9407-00155dfd350b",
      "name": "Cook",
      "color": "0D47A1",
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "numberOfEmployees": 4
    },
    {
      "id": "36accb08-c188-11e6-9407-00155dfd350b",
      "name": "Restaurant Manager",
      "color": "B71C1C",
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "numberOfEmployees": 2
    },
    {
      "id": "43be9490-c188-11e6-9407-00155dfd350b",
      "name": "Waiter",
      "color": "F57F17",
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "numberOfEmployees": 13
    }
  ]
}

Query Params

filter
string

by Name

sort
string

by "name", "numberofemployees"

page
int32
pagesize
int32

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

positions/{position id}

Endpoint returns details of position specified by Identifier.

Required permission: "SettingsView"

 
gethttps://api.ximble.com/positions/position id
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/positions/43BE9490-C188-11E6-9407-00155DFD350B',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  $("#ajax").html(data); 
  }
});
A binary file was returned

You couldn't be authenticated

{
  "id": "43be9490-c188-11e6-9407-00155dfd350b",
  "name": "Waiter",
  "color": "F57F17",
  "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
  "numberOfEmployees": 0
}

Path Params

position id
string
required

Guid

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

positions/positionscount

Endpoint returns number of company positions.

Required permission: "SettingsView"

 
gethttps://api.ximble.com/positions/positionscount
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/positions/positionscount',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
 
  }
});
A binary file was returned

You couldn't be authenticated

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

positions

Endpoint allows to create new position for the company.

While creating a new position, an admin is allowed to select a default color for that position. The default color is used when creating shifts for that particular position. For example, if the default color for the position "Store Manager" is green, then when a shift is created for the Store Manager, the color will default to green (of course, the shift color can be edited, if needed).

Position color need to be one of listed colors in params.

Required permission: "SettingsEdit"

 
posthttps://api.ximble.com/positions
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
		     "name":"Engineer",
         "color":"B71C1C"
        },
  url: 'https://api.ximble.com/positions',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});




A binary file was returned

You couldn't be authenticated

{
  "id": "8c59e0b3-fdbd-11e6-80c3-0003ff289d8e",
  "name": "Engineer",
  "color": "B71C1C",
  "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
  "numberOfEmployees": 0
}

Form Data

name
string
required
color
string
required

"B71C1C", "AD1457", "880E4F", "6A1B9A", "4A148C", "1A237E", "1976D2", "607D8B", "0D47A1", "006064", "00838F", "0097A7", "00796B", "009688", "004D40", "1B5E20", "2E7D32", "4CAF50","827717", "9E9D24", "F57F17", "FB7285", "E65100", "455A64", "BF360C", "F94531", "EC2F5D", "973AAB", "5C45B2", "03A9F4"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

positions/{position id}

Endpoint allows to update name or color for already created position specified by Identifier.

Permission required: "SettingsEdit"

 
posthttps://api.ximble.com/positions/position id
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
		     "name":"New position",
         "color":"B71C1C"
        },
  url: 'https://api.ximble.com/positions/8C59E0B3-FDBD-11E6-80C3-0003FF289D8E',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});




A binary file was returned

You couldn't be authenticated

No response examples available

Path Params

position id
string
required

Guid

Form Data

name
string
required
color
string
required

"B71C1C", "AD1457", "880E4F", "6A1B9A", "4A148C", "1A237E", "1976D2", "607D8B", "0D47A1", "006064", "00838F", "0097A7", "00796B", "009688", "004D40", "1B5E20", "2E7D32", "4CAF50","827717", "9E9D24", "F57F17", "FB7285", "E65100", "455A64", "BF360C", "F94531", "EC2F5D", "973AAB", "5C45B2", "03A9F4"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/locations

Endpoint returns list of details like number of scheduled employees for a selected date range, number of shifts, scheduled hours and labor cost (based on the scheduled hours) for all company locations.

Required permissions: "ReportsViewReports".

 
gethttps://api.ximble.com/report/locations
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/locations?filter=startDate:2016-10-10',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{
  "employeesNumber": 25,
  "scheduledHours": 0,
  "laborCost": 0,
  "locations": [
    {
      "locationId": "3648a17e-c187-11e6-9407-00155dfa4277",
      "locationName": "Los Angeles",
      "employeeNumber": 14,
      "shiftsCount": 0,
      "scheduledHours": 0,
      "cost": 0
    },
    {
      "locationId": "af46f6c7-c130-4305-9ca5-45e6e6ebd39e",
      "locationName": "Palm Beach",
      "employeeNumber": 0,
      "shiftsCount": 0,
      "scheduledHours": 0,
      "cost": 0
    },
    {
      "locationId": "258f3de4-60cf-477f-9430-3cec4ca9fa05",
      "locationName": "San Francisco",
      "employeeNumber": 11,
      "shiftsCount": 0,
      "scheduledHours": 0,
      "cost": 0
    }
  ],
  "locationsNumber": 3,
  "page": 1,
  "pagesCount": 1,
  "pageSize": 3,
  "totalCount": 3,
  "startDate": "2016-10-01T00:00:00Z",
  "endDate": "2016-10-31T23:59:59Z"
}

Query Params

filter
string
required

by "startDate", "endDate", "reportRange", "filter"

sort
string

by "LocationName", "EmployeeNumber", "ShiftsCount", "ScheduledHours", "Cost"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/locations/export/{format}

Endpoint allows to export report for all company locations in specified format.

Format can be "excel" or "csv".

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/locations/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/locations/export/excel?filter=startDate:2016-10-10',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string

by "startDate", "endDate" , "reportRange"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/{location id}/locations

Endpoint returns details like hours scheduled for a selected period for each department and position, for location specified by Identifier.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/location id/locations
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/3648A17E-C187-11E6-9407-00155DFA4277/locations?filter=startDate:2016-10-10T00:00:00;endDate:2017-10-10T23:59:59;',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "costsForChart": {
    "1": 299.79,
    "2": 585.45,
    "3": 553.36,
    "4": 358.93,
    "5": 0,
    "6": 0,
    "7": 0
  },
  "locationStatistic": {
    "employeesNumber": 12,
    "departmentsNumber": 4,
    "positionsNumber": 5,
    "cost": 112887.25
  },
  "byDepartments": [
    {
      "departmentName": "Management",
      "employees": 2,
      "hours": 852,
      "cost": 23532,
      "byPositions": [
        {
          "positionName": "Restaurant Manager",
          "employees": 2,
          "hours": 852,
          "cost": 23532
        }
      ]
    },
    {
      "departmentName": "Kitchen",
      "employees": 4,
      "hours": 1763,
      "cost": 32738,
      "byPositions": [
        {
          "positionName": "Chef",
          "employees": 3,
          "hours": 940,
          "cost": 17912
        },
        {
          "positionName": "Cook",
          "employees": 2,
          "hours": 823,
          "cost": 14826
        }
      ]
    },
    {
      "departmentName": "Waiters",
      "employees": 7,
      "hours": 2678.75,
      "cost": 44297.25,
      "byPositions": [
        {
          "positionName": "Waiter",
          "employees": 7,
          "hours": 2678.75,
          "cost": 44297.25
        }
      ]
    },
    {
      "departmentName": "Accounting",
      "employees": 1,
      "hours": 560,
      "cost": 12320,
      "byPositions": [
        {
          "positionName": "Accountant",
          "employees": 1,
          "hours": 560,
          "cost": 12320
        }
      ]
    }
  ]
}

Path Params

location id
string
required

Guid

Query Params

filter
string
required

by "startDate", "endDate". Both dates are required. Format ""yyyy-MM-dd'T'HH:mm:ss""

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/{location id}/locations/export/{format}

Endpoint allows to export details for location specified by Identifier in specific format like "excel" or "csv".

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/location id/locations/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/3648A17E-C187-11E6-9407-00155DFA4277/locations/export/csv?filter=startDate:2016-10-10;endDate:2017-10-10',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

location id
string
required

Guid

Query Params

format
string

"excel", "csv"

filter
string
required

by "startDate", "endDate"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/schedule

Endpoint returns a list of schedule details for each day of selected period like the number of scheduled hours, the shift count and cost (according to the scheduled). Endpoint also returns sum data for selected period.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/schedule
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/schedule?filter=startDate:2017-02-27',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "date": "2017-02-01T00:00:00Z",
      "employeesCount": 20,
      "shiftCount": 21,
      "openShiftCount": 3,
      "scheduledHours": 137.25,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2725.5
    },
    {
      "date": "2017-02-02T00:00:00Z",
      "employeesCount": 16,
      "shiftCount": 18,
      "openShiftCount": 1,
      "scheduledHours": 115.25,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2330.25
    },
    {
      "date": "2017-02-03T00:00:00Z",
      "employeesCount": 16,
      "shiftCount": 17,
      "openShiftCount": 1,
      "scheduledHours": 111.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2153
    },
    {
      "date": "2017-02-04T00:00:00Z",
      "employeesCount": 14,
      "shiftCount": 14,
      "openShiftCount": 0,
      "scheduledHours": 103.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 1982.5
    },
    {
      "date": "2017-02-05T00:00:00Z",
      "employeesCount": 8,
      "shiftCount": 8,
      "openShiftCount": 0,
      "scheduledHours": 53.75,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 1042.25
    },
    {
      "date": "2017-02-06T00:00:00Z",
      "employeesCount": 18,
      "shiftCount": 21,
      "openShiftCount": 1,
      "scheduledHours": 126.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2479.75
    },
    {
      "date": "2017-02-07T00:00:00Z",
      "employeesCount": 17,
      "shiftCount": 20,
      "openShiftCount": 0,
      "scheduledHours": 122.75,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2436.5
    },
    {
      "date": "2017-02-08T00:00:00Z",
      "employeesCount": 19,
      "shiftCount": 21,
      "openShiftCount": 2,
      "scheduledHours": 133.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2679.25
    },
    {
      "date": "2017-02-09T00:00:00Z",
      "employeesCount": 16,
      "shiftCount": 18,
      "openShiftCount": 1,
      "scheduledHours": 115.25,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2330.25
    },
    {
      "date": "2017-02-10T00:00:00Z",
      "employeesCount": 16,
      "shiftCount": 17,
      "openShiftCount": 1,
      "scheduledHours": 111.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2153
    },
    {
      "date": "2017-02-11T00:00:00Z",
      "employeesCount": 13,
      "shiftCount": 13,
      "openShiftCount": 0,
      "scheduledHours": 95.75,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 1804.25
    },
    {
      "date": "2017-02-12T00:00:00Z",
      "employeesCount": 7,
      "shiftCount": 7,
      "openShiftCount": 0,
      "scheduledHours": 46,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 864
    },
    {
      "date": "2017-02-13T00:00:00Z",
      "employeesCount": 18,
      "shiftCount": 21,
      "openShiftCount": 2,
      "scheduledHours": 126.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2479.75
    },
    {
      "date": "2017-02-14T00:00:00Z",
      "employeesCount": 15,
      "shiftCount": 17,
      "openShiftCount": 2,
      "scheduledHours": 103.25,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2033.5
    },
    {
      "date": "2017-02-15T00:00:00Z",
      "employeesCount": 19,
      "shiftCount": 21,
      "openShiftCount": 2,
      "scheduledHours": 133.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2679.25
    },
    {
      "date": "2017-02-16T00:00:00Z",
      "employeesCount": 16,
      "shiftCount": 18,
      "openShiftCount": 1,
      "scheduledHours": 115.25,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2330.25
    },
    {
      "date": "2017-02-17T00:00:00Z",
      "employeesCount": 15,
      "shiftCount": 16,
      "openShiftCount": 2,
      "scheduledHours": 107.5,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 2037
    },
    {
      "date": "2017-02-18T00:00:00Z",
      "employeesCount": 13,
      "shiftCount": 13,
      "openShiftCount": 0,
      "scheduledHours": 95.75,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 1804.25
    },
    {
      "date": "2017-02-19T00:00:00Z",
      "employeesCount": 7,
      "shiftCount": 7,
      "openShiftCount": 0,
      "scheduledHours": 46,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 864
    },
    {
      "date": "2017-02-20T00:00:00Z",
      "employeesCount": 1,
      "shiftCount": 1,
      "openShiftCount": 0,
      "scheduledHours": 8,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 216
    },
    {
      "date": "2017-02-21T00:00:00Z",
      "employeesCount": 0,
      "shiftCount": 0,
      "openShiftCount": 0,
      "scheduledHours": 0,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 0
    },
    {
      "date": "2017-02-22T00:00:00Z",
      "employeesCount": 0,
      "shiftCount": 0,
      "openShiftCount": 0,
      "scheduledHours": 0,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 0
    },
    {
      "date": "2017-02-23T00:00:00Z",
      "employeesCount": 1,
      "shiftCount": 1,
      "openShiftCount": 0,
      "scheduledHours": 8,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 144
    },
    {
      "date": "2017-02-24T00:00:00Z",
      "employeesCount": 0,
      "shiftCount": 0,
      "openShiftCount": 0,
      "scheduledHours": 0,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 0
    },
    {
      "date": "2017-02-25T00:00:00Z",
      "employeesCount": 0,
      "shiftCount": 0,
      "openShiftCount": 0,
      "scheduledHours": 0,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 0
    },
    {
      "date": "2017-02-26T00:00:00Z",
      "employeesCount": 0,
      "shiftCount": 0,
      "openShiftCount": 0,
      "scheduledHours": 0,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 0
    },
    {
      "date": "2017-02-27T00:00:00Z",
      "employeesCount": 0,
      "shiftCount": 0,
      "openShiftCount": 0,
      "scheduledHours": 0,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 0
    },
    {
      "date": "2017-02-28T00:00:00Z",
      "employeesCount": 0,
      "shiftCount": 0,
      "openShiftCount": 0,
      "scheduledHours": 0,
      "tradeShiftCount": 0,
      "dropShiftCount": 0,
      "pickUpShiftCount": 0,
      "staffCosts": 0
    }
  ],
  "employeesNumber": 25,
  "shiftsNumber": 310,
  "scheduledHours": 2016.25,
  "laborCost": 39568.5,
  "page": 1,
  "pagesCount": 1,
  "pageSize": 28,
  "totalCount": 28,
  "startDate": "2017-02-01T00:00:00Z",
  "endDate": "2017-02-28T23:59:59Z"
}

Query Params

filter
string

by "startDate", "endDate", "reportRange"

sort
string

by "Date", "EmployeesCount", "ScheduledHours", "ShiftCount", "OpenShiftCount", "TradeShiftCount", "DropShiftCount", "PickUpShiftCount", "StaffCosts"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/schedule/export/{format}

Endpoint allows to export report for schedule details in specified format.

Format can be "excel" or "csv".

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/schedule/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/schedule/export/excel?filter=startDate:2016-10-10',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string

by "startDate", "endDate", "reportRange"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/employees

Endpoint returns list of all employees with details like employee names along with their ID, email address and contact phone number.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/employees
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/employees?filter=startDate:2017-10-10&sort=-Name',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{
  "employeesList": [
    {
      "id": "35afa550-c189-11e6-9407-00155dfd350b",
      "employeeId": null,
      "name": "William Young",
      "email": "",
      "phoneNumber": null,
      "userRole": "Employee"
    },
    {
      "id": "37468062-f6fc-11e6-80c3-0003ff28bcff",
      "employeeId": null,
      "name": "Tyler A Twirdy",
      "email": null,
      "phoneNumber": null,
      "userRole": "Admin"
    },...

Query Params

filter
string
required

by "startDate", "endDate", "reportRange", "reportType", "employeeId", "filter"

sort
string

by "Name", "EmployeeId", "Email", "PhoneNumber", "ScheduledHours", "HoursWorked", "DailyOvertime", "WeeklyOvertime", "StaffCosts", "UserRole"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/employees/{report type}/export/{format}

Endpoint allows to export report specified by report type in specified format like "excel" or "csv".

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/employees/report type/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/employees/2/export/excel?filter=startDate:2016-10-10',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

report type
string
required

ReportsViewReports, EmployeeList, EmployeeSummary, QrCodes

format
string
required

"excel", "csv"

Query Params

filter
string
required

by "startDate", "endDate", "reportRange"

sort
string

by Name

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/certificates

Endpoint returns list employees end their certificates if certificate expiration date is in selected time range.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/certificates
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/certificates?filter=startDate:2017-03-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277",
      "employeeName": "Anthony Powell",
      "certificateId": "c67a4d62-fe54-11e6-80c3-0003ff28bcff",
      "certificateName": "Certificate1",
      "expirationDate": "2017-03-01T00:00:00Z"
    }
  ],
  "page": 1,
  "pagesCount": 1,
  "pageSize": 1,
  "totalCount": 1,
  "startDate": "2017-03-01T00:00:00Z",
  "endDate": "2017-03-31T23:59:59Z"
}

Query Params

filter
string
required

by "startDate", "endDate", "reportRange", "reportType"

sort
string

by "EmployeeName", "CertificateName", "ExpirationDate"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/certificates/export/{format}

Endpoint allows to export certificates report in specified format like "excel" or "csv"

 
gethttps://api.ximble.com/report/misc/certificates/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/certificates/export/csv?filter=startDate:2017-03-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

"startDate", "endDate", "reportRange"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/notscheduled

Endpoint returns a list with employees and their shifts for selected time range.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/notscheduled
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/notscheduled?filter=startDate:2017-03-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "employeeId": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
      "employeeName": "Alison Little",
      "shifts": []
    },
    {
      "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277",
      "employeeName": "Anthony Powell",
      "shifts": [
        {
          "shiftLabel": null,
          "startAt": "2017-02-27T16:00:00Z",
          "endAt": "2017-02-27T20:00:00Z"
        },
        {
          "shiftLabel": null,
          "startAt": "2017-02-28T16:00:00Z",
          "endAt": "2017-02-28T20:00:00Z"
        }
      ]
    },..

Query Params

filter
string
required

"startDate", "endDate", "position", "department", "reportRange", "reportType"

sort
string

by "EmployeeName"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/notscheduled/export/{format}

Endpoint allows to export report with employees and selected range days with details like does employee have scheduled shift on each day in selected time range.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/notscheduled/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/notscheduled/export/csv?filter=startDate:2017-03-01;endDate:2017-03-01;reportRange:1',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "position", "department"

sort
string

by "EmployeeName"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/lateorabsent

Endpoint returns list of employees with details of shift when employee was absent or late for that shift.

This endpoint returns data in Primary Admin's timezone.

If employee was absent from scheduled shift, field "lateOnMinutes" will be null and if "lateOnMinutes" is not null, then employee was late for that shift for number of minutes.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/lateorabsent
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/lateorabsent?filter=startDate:2017-02-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "employeeName": "Anthony Powell",
      "shiftStartAt": "2017-02-01T08:00:00Z",
      "shiftEndAt": "2017-02-01T12:00:00Z",
      "lateOnMinutes": 25
    },
    {
      "employeeName": "Anthony Powell",
      "shiftStartAt": "2017-02-02T08:00:00Z",
      "shiftEndAt": "2017-02-02T12:00:00Z",
      "lateOnMinutes": 10
    },
    {
      "employeeName": "Anthony Powell",
      "shiftStartAt": "2017-02-02T16:00:00Z",
      "shiftEndAt": "2017-02-02T20:00:00Z",
      "lateOnMinutes": 40
    },...

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "reportType"

sort
string

"EmployeeName", "ShiftStartAt", "ShiftEndAt", "LateOnMinutes"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/lateorabsent/export/{format}

Endpoint allows to export report with list of late or absent employees for selected time range in specific format like "excel" or "csv"

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/lateorabsent/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/lateorabsent/export/excel?filter=startDate:2017-02-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "reportType"

sort
string

by "EmployeeName"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/jobsummary

Endpoint returns list of hours worked according to the time clock, broken-down per activity. Along with all the activities listed in the details list are employees that performed them, as well as the number of hours and cost (based on the time clock hours).

List can be grouped by "None" ,"JobCode","Employee" or "Date".

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/jobsummary
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/jobsummary?filter=startDate:2017-03-01;groupBy:JobCode;',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{"reports":[
  {"groupedData":
   {"date":"0001-01-01T00:00:00Z",
    "employeeId":"00000000-0000-0000-0000-000000000000",
    "jobCode":"Development",
    "jobCodeId":"44fd84dc-92ff-11e7-9401-00155dfc6f91",
    "data":[
      {"employeeName":"Bruce Wayne",
       "dateFrom":"2018-08-21T08:00:00Z",
       "dateTo":"2018-08-21T12:00:00Z",
       "totalHours":4.0,
       "totalCost":0.00
      }],
    "totalHours":4.0,
    "totalCost":0.00,
    "top":
    {"employeeName":"Bruce Wayne",
     "totalHours":4.0,
     "totalCost":0.00}
   }
  },
  {"groupedData":
   {"date":"0001-01-01T00:00:00Z",
    "employeeId":"00000000-0000-0000-0000-000000000000",
    "jobCode":"Lunch",
    "jobCodeId":"62a64950-9a1b-11e7-9401-00155dfc6f91",
    "data":[
      {"employeeName":"Bruce Wayne",
       "dateFrom":"2018-08-21T07:00:00Z",
       "dateTo":"2018-08-21T07:30:00Z",
       "totalHours":0.5,
       "totalCost":0.00
      }
    ],"totalHours":0.5,
    "totalCost":0.00,
    "top":
    {"employeeName":"Bruce Wayne",    
     "totalHours":0.5,
     "totalCost":0.00
    }
   }
  }
],
 "page":0,
 "pagesCount":0,
 "pageSize":0,
 "totalCount":2,
 "startDate":"2018-08-20T00:00:00Z",
 "endDate":"2018-08-26T23:59:59Z"
}

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "reportType", "groupBy"

sort
string

by "JobCodeTitle"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/jobsummary/export/{format}

Endpoint allows to export job summary report in specific format like "excel" or "csv".

Required permission "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/jobsummary/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/jobsummary/export/csv?filter=startDate:2017-03-01;groupBy:JobCode;',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

"startDate", "endDate", "reportRange"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/hoursworked

Endpoint return a list of employees with details about hours as planned according to the schedule and the actual hours pulled from the time clock, and summary for that employees.

This endpoint returns data in Primary Admin's timezone.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/hoursworked
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/hoursworked?filter=startDate:2017-03-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "isTotal": false,
      "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277",
      "employeeName": "Anthony Powell",
      "date": "2017-03-01T00:00:00Z",
      "scheduledHours": 0,
      "timeClockHours": 2.133332,
      "diffHours": -2.1333,
      "laborCostsScheduled": 0,
      "laborCostsTimeClock": 61.866628,
      "diffCost": -61.8666
    }
  ],
  "summary": {
    "isTotal": true,
    "employeeId": null,
    "employeeName": null,
    "date": "0001-01-01T00:00:00Z",
    "scheduledHours": 0,
    "timeClockHours": 2.133332,
    "diffHours": -2.1333,
    "laborCostsScheduled": 0,
    "laborCostsTimeClock": 61.866628,
    "diffCost": -61.8666
  },
  "page": 1,
  "pagesCount": 1,
  "pageSize": 1,
  "totalCount": 1,
  "startDate": "2017-03-01T00:00:00Z",
  "endDate": "2017-03-31T23:59:59Z"
}

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "reportType"

sort
string

by "EmployeeName", "Date", "ScheduledHours", "TimeClockHours", "DiffHours", "LaborCostsScheduled", "LaborCostsTimeClock"

Headers

Authorization
string

Required key

 
Suggest Edits

report/misc/hoursworked/export/{format}

Endpoint allows to export report with hours planed and worked for employees in specific format like "excel" or "csv".

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/hoursworked/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/hoursworked/export/excel?filter=startDate:2017-03-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

by "startDate", "endDate", "reportRange"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/tradesbyemployee

Endpoint returns list of employees and details like number of requests created by employee and percentage for that type of request in regards to other employees, for selected time range.

Permission required: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/tradesbyemployee
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/tradesbyemployee?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "employeeId": "a61f58ae-c187-11e6-9407-00155dfd350b",
      "employeeName": "Christopher Lewis",
      "pickUpShiftCount": 1,
      "pickUpShiftCountPercentage": 12.5,
      "dropShiftCount": 0,
      "dropShiftCountPercentage": 0,
      "tradeShiftCount": 0,
      "tradeShiftCountPercentage": 0,
      "reaplceShiftCount": 0,
      "reaplceShiftCountPercentage": 0
    },
    {
      "employeeId": "8c6eda0b-c188-11e6-9407-00155dfd350b",
      "employeeName": "David Moore",
      "pickUpShiftCount": 0,
      "pickUpShiftCountPercentage": 0,
      "dropShiftCount": 0,
      "dropShiftCountPercentage": 0,
      "tradeShiftCount": 1,
      "tradeShiftCountPercentage": 33.333333333333,
      "reaplceShiftCount": 0,
      "reaplceShiftCountPercentage": 0
    },
    {
      "employeeId": "ea228cd7-c188-11e6-9407-00155dfd350b",
      "employeeName": "Isabella Davis",
      "pickUpShiftCount": 2,
      "pickUpShiftCountPercentage": 25,
      "dropShiftCount": 0,
      "dropShiftCountPercentage": 0,
      "tradeShiftCount": 0,
      "tradeShiftCountPercentage": 0,
      "reaplceShiftCount": 0,
      "reaplceShiftCountPercentage": 0
    },
    {
      "employeeId": "b22874dc-c188-11e6-9407-00155dfd350b",
      "employeeName": "Jose Garcia",
      "pickUpShiftCount": 2,
      "pickUpShiftCountPercentage": 25,
      "dropShiftCount": 1,
      "dropShiftCountPercentage": 50,
      "tradeShiftCount": 2,
      "tradeShiftCountPercentage": 66.666666666666,
      "reaplceShiftCount": 0,
      "reaplceShiftCountPercentage": 0
    },
    {
      "employeeId": "feb670ae-c188-11e6-9407-00155dfa4277",
      "employeeName": "Joshua Robinson",
      "pickUpShiftCount": 3,
      "pickUpShiftCountPercentage": 37.5,
      "dropShiftCount": 1,
      "dropShiftCountPercentage": 50,
      "tradeShiftCount": 0,
      "tradeShiftCountPercentage": 0,
      "reaplceShiftCount": 0,
      "reaplceShiftCountPercentage": 0
    }
  ],
  "page": 1,
  "pagesCount": 1,
  "pageSize": 5,
  "totalCount": 5,
  "startDate": "2016-12-01T00:00:00Z",
  "endDate": "2016-12-31T23:59:59Z"
}

Query Params

filter
string
required

"startDate"(Required), "endDate", "reportRange", "position", "department", "reportType"

sort
string

by "EmployeeName", "PickUpShiftCount", "DropShiftCount", "ReplaceShiftCount", "TradeShiftCount"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/tradesbyemployee/export/{format}

Endpoint allows to export report for requests statistic by employee in specific format like "excel" or "csv".

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/tradesbyemployee/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/tradesbyemployee/export/excel?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

by "startDate", "endDate", "reportRange", "position", "department", "reportType"

sort
string

by "EmployeeName"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/timeoff

Endpoint returns a list of approved time off requests for selected time range.

This endpoint returns data in Primary Admin's timezone.

Required permission: "ReportsViewReports"

 
gethttps://api.ximble.com/report/misc/timeoff
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/timeoff?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "employeeName": "Jose Garcia",
      "locationName": "Los Angeles",
      "timeOffDuration": 3,
      "id": "f3fa7b54-c1a1-11e6-9407-00155dfa4277",
      "postedAt": "2016-12-14T02:06:41Z",
      "employeeId": "b22874dc-c188-11e6-9407-00155dfd350b",
      "timeOffStartAt": "2016-12-22T00:00:00Z",
      "timeOffEndAt": "2016-12-24T23:59:59Z",
      "note": "",
      "supervisorNote": null,
      "status": "Approved",
      "hiddenOnEmployeeSide": false,
      "statusChangedAt": "2017-03-01T13:19:09Z",
      "companyId": "3648a17d-c187-11e6-9407-00155dfa4277",
      "type": null,
      "widget": null,
      "referringId": null,
      "timeOffPolicyId": null
    }
  ],
  "page": 1,
  "pagesCount": 1,
  "pageSize": 1,
  "totalCount": 1,
  "startDate": "2016-12-01T00:00:00Z",
  "endDate": "2016-12-31T23:59:59Z"
}

Query Params

filter
string

"startDate", "endDate", "reportRange", "position", "department", "reportType"

sort
string

by "EmployeeName", "LocationName", "TimeOffStartAt", "TimeOffEndAt", "TimeOffDuration", "Note"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/timeoff/export/{format}

Endpoint allows to export time off list for selected time range in specific format like "excel" or "csv".

 
gethttps://api.ximble.com/report/misc/timeoff/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/timeoff/export/csv?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

"startDate"(Required), "endDate", "reportRange", "position", "department"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/openshiftsbydate

Endpoint returns a daily break-down list of available open shifts for selected time range.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/report/misc/openshiftsbydate
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/openshiftsbydate?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "shiftStart": "2016-12-01T09:00:00Z",
      "shiftEnd": "2016-12-01T16:45:00Z",
      "positionName": "Chef",
      "locationName": "San Francisco",
      "shiftLabel": null
    },
    {
      "shiftStart": "2016-12-02T08:00:00Z",
      "shiftEnd": "2016-12-02T16:00:00Z",
      "positionName": "Waiter",
      "locationName": "San Francisco",
      "shiftLabel": null
    },
    {
      "shiftStart": "2016-12-05T16:00:00Z",
      "shiftEnd": "2016-12-05T20:00:00Z",
      "positionName": "Cook",
      "locationName": "San Francisco",
      "shiftLabel": null
    },...

Query Params

filter
string
required

"startDate"(Required), "endDate", "reportRange", "position", "reportType"

sort
string

by "ShiftStart"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/openshiftsbydate/export/{format}

Endpoint allows to export list of daily break-down open shifts in specific format like "excel" or "csv".

 
gethttps://api.ximble.com/report/misc/openshiftsbydate/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/openshiftsbydate/export/csv?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

by "startDate", "endDate", "reportRange", "position", "reportType"

sort
string

by "ShiftStart"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/openshiftsbyposition

Endpoint returns a list of available open shifts broken-down per position for selected time range.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/report/misc/openshiftsbyposition
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/openshiftsbyposition?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "shiftStart": "2016-12-01T09:00:00Z",
      "shiftEnd": "2016-12-01T16:45:00Z",
      "positionName": "Chef",
      "locationName": "San Francisco",
      "shiftLabel": null
    },
    {
      "shiftStart": "2016-12-08T09:00:00Z",
      "shiftEnd": "2016-12-08T16:45:00Z",
      "positionName": "Chef",
      "locationName": "San Francisco",
      "shiftLabel": null
    },...

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "position", "reportType"

sort
string

by "PositionName", "ShiftStart", "LocationName"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/openshiftsbyposition/export/{format}

Endpoint allows to export list of open shifts broken-down per position in specific format.

 
gethttps://api.ximble.com/report/misc/openshiftsbyposition/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/openshiftsbyposition/export/csv?filter=startDate:2016-12-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Query Params

format
string
required

"startDate"(Required), "endDate", "reportRange", "position", "reportType"

sort
string

by "PositionName"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/textmessage

Endpoint returns list of text messages sent to employee like SMS notifications for employee specified by Identifier for selected time range.

This endpoint returns data in UTC Timezone.

 
gethttps://api.ximble.com/report/misc/textmessage
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/textmessage?filter=startDate:2016-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "date": "2017-05-16T03:17:30Z",
      "message": "Shift: May 19 03:00 PM to 10:00 PM on position POS#02 for employee Adam Ajdacic has been updated Kathryn Janeway.   Label: Shift#3 Notes: Shift#3 Note to be visible on mobile app.",
      "status": "delivered"
    },
    {
      "date": "2017-05-16T04:00:59Z",
      "message": "Adam Ajdacic removed from shift: May 17 03:00 PM to 08:00 PM Adam Ajdacic.",
      "status": "delivered"
    },
    {
      "date": "2017-05-16T04:11:58Z",
      "message": "Shift: May 17 03:00 PM to 10:00 PM on position POS#02 for employee Adam Ajdacic has been updated Kathryn Janeway.",
      "status": "delivered"
    },
    {
      "date": "2017-05-16T04:12:05Z",
      "message": "Adam Ajdacic removed from shift: May 17 03:00 PM to 10:00 PM Adam Ajdacic.",
      "status": "delivered"
    },
    {
      "date": "2017-05-16T04:14:39Z",
      "message": "Adam Ajdacic removed from shift: May 17 03:00 PM to 11:00 PM Adam Ajdacic.",
      "status": "delivered"
    },
    {
      "date": "2017-05-16T04:32:48Z",
      "message": "Adam Ajdacic added to shift: May 17 01:00 PM to 09:00 PM Adam Ajdacic.",
      "status": "delivered"
    },
    {
      "date": "2017-05-16T07:50:01Z",
      "message": "Your shift starts in 24 hours at USS Voyager HQ.",
      "status": "delivered"
    },
    {
      "date": "2017-05-17T06:05:01Z",
      "message": "Your shift starts in 60 minutes at USS Voyager HQ.",
      "status": "delivered"
    },
    {
      "date": "2017-05-17T09:49:59Z",
      "message": "Your shift starts in 24 hours at USS Voyager HQ.",
      "status": "delivered"
    }
  ],
  "page": 1,
  "pagesCount": 1,
  "pageSize": 12,
  "totalCount": 9,
  "startDate": "2017-05-16T00:00:00Z",
  "endDate": "2017-05-17T23:59:59Z"
}

Query Params

filter
string
required

"startDate"(Required), "endDate", "reportRange", "employeeId"(Required), "reportType"

sort
string

by "Date", "Status", "Message"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/textmessage/export/{format}

Endpoint allows to export list text messages sent to employee for selected time range in specific format like "excel" and "csv".

 
gethttps://api.ximble.com/report/misc/textmessage/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/textmessage/export/csv?filter=startDate:2016-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "employeeId", "reportType"

sort
string

by "Date"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/tradesbyposition

Endpoint returns list of requests broken down per position and details like number of requests and percentage for that type of request in regards to other position, for selected time range.

 
gethttps://api.ximble.com/report/misc/tradesbyposition
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/tradesbyposition?filter=startDate:2017-01-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

{
  "reports": [
    {
      "positionId": "4f0130cb-c18a-11e6-9407-00155dfd350b",
      "positionName": "Cook",
      "pickUpShiftCount": 2,
      "pickUpShiftCountPercentage": 66.666666666666,
      "dropShiftCount": 0,
      "dropShiftCountPercentage": 0
    },
    {
      "positionId": "43be9490-c188-11e6-9407-00155dfd350b",
      "positionName": "Waiter",
      "pickUpShiftCount": 1,
      "pickUpShiftCountPercentage": 33.333333333333,
      "dropShiftCount": 0,
      "dropShiftCountPercentage": 0
    }
  ],
  "page": 1,
  "pagesCount": 1,
  "pageSize": 2,
  "totalCount": 2,
  "startDate": "2017-01-01T00:00:00Z",
  "endDate": "2017-01-31T23:59:59Z"
}

Query Params

filter
string
required

"startDate", "endDate", "reportRange", "position", "department", "reportType"

sort
string

by "PositionName", "PickUpShiftCount", "DropShiftCount"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/misc/tradesbyposition/export/{format}

Endpoint allows to export list of requests broken down per position for selected time range in specific format like "excel" or "csv".

 
gethttps://api.ximble.com/report/misc/tradesbyposition/export/format
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/misc/tradesbyposition/export/csv?filter=startDate:2017-01-01',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

"excel", "csv"

Query Params

filter
string
required

"startDate"(Required), "endDate", "reportRange", "position", "department", "reportType"

sort
string

by "PositionName"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/workedhoursperday

Endpoint returns list of clocked in hours per day for given date range.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/report/workedhoursperday
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/workedhoursperday?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "dates": [
    "2017-01-01T08:00:00Z",
    "2017-01-02T08:00:00Z"
  ],
  "values": [
    240,
    240
  ]
}

Query Params

filter
string
required

"startDate", "endDate"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/laborcostperday

Endpoint returns list of labor costs per day for given date range.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/report/laborcostperday
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/laborcostperday?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "dates": [
    "2017-01-01T08:00:00Z",
    "2017-01-02T08:00:00Z",
    "2017-01-03T08:00:00Z"
  ],
  "values": [
    1758.5,
    2658,
    0
  ]
}

Query Params

filter
string
required

"startDate", "endDate"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/hoursworkedbyposition

Endpoint returns list of clocked in hours per position for selected date range.

 
gethttps://api.ximble.com/report/hoursworkedbyposition
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/hoursworkedbyposition?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

[
  {
    "positionName": "Restaurant Manager",
    "positionColor": "B71C1C",
    "hoursWorked": 377.683332
  }
]

Query Params

filter
string

"startDate", "endDate"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/ataglanceschedule

Endpoint returns list with details like number of locations, expenses, hours worked for company in selected time range.

 
gethttps://api.ximble.com/report/ataglanceschedule
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/ataglanceschedule?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "locationsCount": 2,
  "shiftsCount": 35,
  "timesheetsCount": 0,
  "employeesCount": 21,
  "requestsCount": 0,
  "expenses": 4416.5,
  "hoursWorked": 227.75,
  "pendingApproval": 0
}

Query Params

filter
string
required

"startDate", "endDate"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/ataglancetimeclock

Endpoint returns list with details like number of locations, expenses, hours worked for company in selected time range.

 
gethttps://api.ximble.com/report/ataglancetimeclock
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/ataglancetimeclock?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "locationsCount": 1,
  "shiftsCount": 0,
  "timesheetsCount": 17,
  "employeesCount": 1,
  "requestsCount": 0,
  "expenses": 10952.816628,
  "hoursWorked": 377.683332,
  "pendingApproval": 10952.816628
}

Query Params

filter
string
required

"startDate", "endDate"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/shiftsperday

Endpoint returns list of days and total number of shifts broken down by days for selected time range.

This endpoint returns data in UTC timezone.

 
gethttps://api.ximble.com/report/shiftsperday
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/shiftsperday?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

[
  {
    "startAt": "2017-01-01T00:00:00Z",
    "endAt": "0001-01-01T00:00:00Z",
    "totalCount": 15
  },
  {
    "startAt": "2017-01-02T00:00:00Z",
    "endAt": "0001-01-01T00:00:00Z",
    "totalCount": 24
  }
]

Query Params

filter
string
required

"startDate", "endDate"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/timesheetsperday

Endpoint returns list of days and number of time sheets broken down by days for selected time range.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/report/timesheetsperday
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/timesheetsperday?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});
A binary file was returned

You couldn't be authenticated

[
  {
    "startAt": "2016-12-21T00:00:00Z",
    "endAt": "0001-01-01T00:00:00Z",
    "totalCount": 1
  }
]

Query Params

filter
string
required

"startDate", "endDate"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/payroll

This endpoint returns data in Primary Admin's timezone.

Endpoint allows you to generate an accurate representation of employees’ approved hours for a selected pay period.

For pay period report, report type need to be set 1, and for custom report need to be set 0.

For pay period report, start date and end date need to be set to the right date range for pay period. Pay period date range you can get from endpoint: http://developer.ximble.com/v1.0/reference#payperiodfordatedate
(Ex. for date 2017-11-08 startDate is 2017-11-07T00:00:00Z, endDate is 2017-11-13T23:59:59Z)

Also for pay period report, list of employees added to pay period you can get from endpoint: http://developer.ximble.com/v1.0/reference#payperiodsetting

Aside from the raw data and timesheets, the system has the capability to exclude unpaid breaks or calculate overtime. Optionally, you can choose whether to include all employees and all locations on the report, or just a selected group.

For getting report for all employees, you need to remove employeeIds[] from request body.

Required permission: "ReportsViewPayrollReport"

 
posthttps://api.ximble.com/report/payroll
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {"GroupBy":"employee",
         "Sort":"Employee",
         "Ascending":true,
         "OvertimeOptions" : "NotCalculateOvertime",
         "EmployeeIds": ["3648a17c-c187-11e6-9407-00155dfa4277"],
         "IsFormatSelected": false,
         "ExcludeUnpaidBreaks": false,
         "LocationName":"",
         "LocationId":"",
         "IncludeHoursForSelectedLocationOnly": true,
         "IsGusto": false,
         "IsBambooHr": false,
         "summary": false,
         "IncludePaidTimeOffs": true,
         "ReportType" : 0
         },
  url: 'https://api.ximble.com/report/payroll?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
    
  }
});




A binary file was returned

You couldn't be authenticated

{
  "payrollEmployees": [],
  "timeOffs": [],
  "timeOffPolicyEmployees": [],
  "affectedEmployees": []
}

Query Params

filter
string
required

"startDate", "endDate"

Form Data

GroupBy
string

employee, date, jobcode, position

Sort
string

EmployeeName, RegularHours, RegularSalary, OvertimeHours, TotalSalary, TotalHours, TimeOffSalary, TimeOffHours

Ascending
boolean

ex. true

OvertimeOptions
string

NotCalculateOvertime, WeeklyOvertime, CaliforniaOvertime_5_40

EmployeeIds
array of strings

Array of employees Identifiers

IsFormatSelected
boolean

ex. true

ExcludeUnpaidBreaks
boolean

ex. true

LocationName
string

ex. San Francisco (If is empty, report will be created for all locations)

LocationId
string

(If is empty, report will be created for all locations) Guid

IncludeHoursForSelectedLocationOnly
boolean

This can be true only if location name and id are not empty

IsGusto
boolean

If flag is "true" we export report to gusto system

IsBambooHr
boolean

If flag is "true" we export report to BambooHr system

summary
boolean
IncludePaidTimeOffs
boolean

Should Include Paid Time Offs

ReportType
string
required

Must be set to 0 to generate a custom (non pay period) report and 1 for pay period report.

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/laborcost/timesheets

Endpoint returns list of labor costs per day for given date range.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/report/laborcost/timesheets
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/report/laborcost/timesheets?filter=startDate:2017-01-01;endDate:2017-01-03',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "dates": [
    "2017-01-01T08:00:00Z",
    "2017-01-02T08:00:00Z"
  ],
  "values": [
    350,
    500
  ]
}

Query Params

filter
string
required

"startDate", "endDate"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

report/payroll/export/{format}

Endpoint allows to export payroll report in specific format like "excel", "csv" or "pdf".

Required persmission: "ReportsViewPayrollReport"

 
posthttps://api.ximble.com/report/payroll/export/format
$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
         "GroupBy":"employee",
         "Sort":"Employee",
         "Ascending":true,
         "OvertimeOptions" : "NotCalculateOvertime",
         "EmployeeIds": ["3648a17c-c187-11e6-9407-00155dfa4277"],
         "IsFormatSelected": false,
         "ExcludeUnpaidBreaks": false,
         "LocationName":"",
         "LocationId":"",
         "IncludeHoursForSelectedLocationOnly": true,
         "IsGusto": false,
         "IsBambooHr": false,
         "summary": false,
         "IncludePaidTimeOffs": true
         },
  url: 'https://api.ximble.com/report/payroll/export/csv?filter=startDate:2017-01-01;endDate:2017-10-10',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});






A binary file was returned

You couldn't be authenticated

{MemoryStream}

Path Params

format
string
required

excel, csv or pdf

Query Params

filter
string
required

"startDate", "endDate"

Form Data

GroupBy
string

employee, date, jobcode, position

Sort
string

EmployeeName, RegularHours, RegularSalary, OvertimeHours, TotalSalary, TotalHours, TimeOffSalary, TimeOffHours

Ascending
boolean

ex. true

OvertimeOptions
string

NotCalculateOvertime, WeeklyOvertime, CaliforniaOvertime_5_40

EmployeeIds
array of strings

Array of employees Identifiers

IsFormatSelected
boolean

ex. true

ExcludeUnpaidBreaks
boolean

ex. true

LocationName
string

ex. San Francisco (If is empty, report will be created for all locations)

LocationId
string

(If is empty, report will be created for all locations) Guid

IncludeHoursForSelectedLocationOnly
boolean

This can be true only if location name and id are not empty

IsGusto
boolean

If flag is "true" we export report to gusto system

IsBambooHr
boolean

If flag is "true" we export report to BambooHr system

summary
boolean
IncludePaidTimeOffs
boolean

Should Include Paid Time Offs

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

payperiod/fordate/{date}

Endpoint returns details about pay period for specific date including start and end date.

 
gethttps://api.ximble.com/payperiod/fordate/date
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/payperiod/fordate/2017-11-08',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
});
A binary file was returned

You couldn't be authenticated

{
  "startAt": "2017-11-07T00:00:00Z",
  "endAt": "2017-11-13T23:59:59Z",
  "isLocked": false,
  "isTransition": null,
  "dialogType": "Default",
  "forceFinalization": false,
  "companyId": "cd3a4458-8bcf-11e6-9402-00155dfd3ec1",
  "payPeriodType": "Weekly",
  "isActive": false,
  "param1": null,
  "param2": null,
  "param3": null,
  "employeeIds": [],
  "forceSave": false
}

Path Params

date
string
required

Date in format "yyyy-MM-dd"

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

payperiod/setting

Endpoint returns data of pay period settings like list of employees, is pay period active and pay period type.

 
gethttps://api.ximble.com/payperiod/setting
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/payperiod/setting',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
  
});
A binary file was returned

You couldn't be authenticated

{
  "companyId": "cd3a4458-8bcf-11e6-9402-00155dfd3ec1",
  "payPeriodType": "Weekly",
  "isActive": true,
  "param1": 2017,
  "param2": 8,
  "param3": 15,
  "employeeIds": [
    "cd3a4457-8bcf-11e6-9402-00155dfd3ec1"
  ],
  "forceSave": false
}

Headers

Authorization
string

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

roles

Loads list of company roles.

 
gethttps://api.ximble.com/roles
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/roles',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

[
  {
    "id": 1,
    "name": "Admin"
  },
  {
    "id": 2864,
    "name": "Employee"
  }
]

Query Params

filter
string

by "Name"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

schedule/month

Endpoint returns a list of all shifts with details for current month based on given current date.

If setting for distance between location and employee is checked, list will return that distance in miles or kilometers in shift details.

This endpoint returns data in Primary Admin's timezone.

List can be filtered by location, position, department and employee.

 
gethttps://api.ximble.com/schedule/month
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/schedule/month?filter=currentDate:2017-3-10;locationId:3648a17e-c187-11e6-9407-00155dfa4277',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "weeks": [
    {
      "days": [
        {
          "date": "2017-02-27T00:00:00Z",
          "shifts": [
            {
              "id": "2d5d253a-3984-4663-be86-480f66bbe476",
              "employeeId": "3648a17c-c187-11e6-9407-00155dfa4277",
              "employeeName": "Anthony Powell",
              "positionName": "Restaurant Manager",
              "positionId": "36accb08-c188-11e6-9407-00155dfd350b",
              "locationId": "3648a17e-c187-11e6-9407-00155dfa4277",
              "locationName": "Los Angeles",
              "shiftId": null,
              "isPublished": false,
              "title": null,
              "startAt": "2017-02-27T01:45:00Z",
              "endAt": "2017-02-27T05:45:00Z",
              "color": "B71C1C",
              "payRate": 29,
              "departmentId": null,
              "departmentName": "Management",
              "notes": "",
              "shiftsNumber": 0,
              "isOpenShift": false,
              "totalHours": 0,
              "break1Start": null,
              "break1End": null,
              "break2Start": null,
              "break2End": null,
              "totalHoursBreak1": null,
              "totalHoursBreak2": null,
              "break1HourOffset": null,
              "break2HourOffset": null,
              "status": "Available",
              "totalTimeWithoutBreaks": "04:00:00",
              "totalLaborCostWithoutBreaks": 116,
              "repeatedShiftId": null,
              "isRepeated": false,
              "totalMinutesBreak1": null,
              "totalMinutesBreak2": null,
              "workSiteId": null,
              "workSiteName": null,
              "workSiteAddrLine1": null,
              "workSiteAddrLine2": null,
              "workSiteCity": null,
              "workSiteState": null,
              "workSiteZipCode": null,
              "workSitePhone": null,
              "break1StartTime": null,
              "break1EndTime": null,
              "break2StartTime": null,
              "break2EndTime": null,
              "isEditable": true,
              "distance":6.81
            },

Query Params

filter
string

by "", "currentdate", "locationid", "positionid", "employeeid", "showOnlyScheduledEmployee", "showOnlyUnscheduledEmployee", "showOnlyDirectReports", "showOnlyCurrentLocationShifts"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

schedule/week/employees

Endpoint returns a list of all employees and their shifts with details, for current week based on given current date. Also returns days, number of scheduled hours and costs broken-down per day.

If setting for distance between location and employee is checked, list will return that distance in miles or kilometers in shift details.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/schedule/week/employees
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/schedule/week/employees?filter=currentDate:2017-3-10;locationId:3648a17e-c187-11e6-9407-00155dfa4277',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "days": {
    "day1": "2017-03-06T00:00:00Z",
    "day2": "2017-03-07T00:00:00Z",
    "day3": "2017-03-08T00:00:00Z",
    "day4": "2017-03-09T00:00:00Z",
    "day5": "2017-03-10T00:00:00Z",
    "day6": "2017-03-11T00:00:00Z",
    "day7": "2017-03-12T00:00:00Z",
    "day1Hours": 72.5,
    "day2Hours": 77.25,
    "day3Hours": 63.5,
    "day4Hours": 35.75,
    "day5Hours": 63.75,
    "day6Hours": 40.25,
    "day7Hours": 0,
    "day1Cost": 1447.75,
    "day2Cost": 1483.5,
    "day3Cost": 1263.5,
    "day4Cost": 735.75,
    "day5Cost": 1293.25,
    "day6Cost": 718.75,
    "day7Cost": 0
  },
  "employees": [
    {
      "id": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
      "fullName": "Alison Little",
      "email": "alisonlittle@gmail.com",
      "photoUrl": "https://cdn.ximble.com/content/images/employee-photo.gif",
      "maximumHoursPerWeek": 20,
      "minimumHoursPerWeek": null,
      "periods": [
        {
          "id": "dea60803-55da-47a0-98d6-e17fb51fa653",
          "employeeId": "6dd7d388-f97a-11e6-80c3-0003ff28bcff",
          "employeeName": "Alison Little",
          "positionName": "Restaurant Manager",
          "positionId": "36accb08-c188-11e6-9407-00155dfd350b",
          "locationId": "3648a17e-c187-11e6-9407-00155dfa4277",
          "locationName": "Los Angeles",
          "shiftId": null,
          "isPublished": false,
          "title": null,
          "startAt": "2017-03-07T00:00:00Z",
          "endAt": "2017-03-07T07:00:00Z",
          "color": "B71C1C",
          "payRate": 20,
          "departmentId": null,
          "departmentName": "Accounting",
          "notes": "",
          "shiftsNumber": 0,
          "isOpenShift": false,
          "totalHours": 0,
          "break1Start": null,
          "break1End": null,
          "break2Start": null,
          "break2End": null,
          "totalHoursBreak1": null,
          "totalHoursBreak2": null,
          "break1HourOffset": null,
          "break2HourOffset": null,
          "status": "Available",
          "totalTimeWithoutBreaks": "07:00:00",
          "totalLaborCostWithoutBreaks": 140,
          "repeatedShiftId": null,
          "isRepeated": false,
          "totalMinutesBreak1": null,
          "totalMinutesBreak2": null,
          "workSiteId": null,
          "workSiteName": null,
          "workSiteAddrLine1": null,
          "workSiteAddrLine2": null,
          "workSiteCity": null,
          "workSiteState": null,
          "workSiteZipCode": null,
          "workSitePhone": null,
          "break1StartTime": null,
          "break1EndTime": null,
          "break2StartTime": null,
          "break2EndTime": null,
          "isEditable": false,
          "distance":6.81
        },

Query Params

filter
string

by "", "currentdate", "locationid", "positionid", "employeeid", "showOnlyScheduledEmployee", "showOnlyUnscheduledEmployee", "showOnlyDirectReports", "showOnlyCurrentLocationShifts"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 
Suggest Edits

schedule/week/positions

Endpoint returns a list of all positions and their shifts with details, for current week based on positions and given current date. Also returns days, number of scheduled hours and costs broken-down per day.

If setting for distance between location and employee is checked, list will return that distance in miles or kilometers in shift details.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/schedule/week/positions
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/schedule/week/positions?filter=currentDate:2017-3-8',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "days": {
    "day1": "2017-03-06T00:00:00Z",
    "day2": "2017-03-07T00:00:00Z",
    "day3": "2017-03-08T00:00:00Z",
    "day4": "2017-03-09T00:00:00Z",
    "day5": "2017-03-10T00:00:00Z",
    "day6": "2017-03-11T00:00:00Z",
    "day7": "2017-03-12T00:00:00Z",
    "day1Hours": 72.5,
    "day2Hours": 77.25,
    "day3Hours": 63.5,
    "day4Hours": 35.75,
    "day5Hours": 63.75,
    "day6Hours": 40.25,
    "day7Hours": 0,
    "day1Cost": 1447.75,
    "day2Cost": 1483.5,
    "day3Cost": 1263.5,
    "day4Cost": 735.75,
    "day5Cost": 1293.25,
    "day6Cost": 718.75,
    "day7Cost": 0
  },
  "employees": null,
  "positions": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "fullName": "Accountant",
      "email": null,
      "photoUrl": null,
      "maximumHoursPerWeek": null,
      "minimumHoursPerWeek": null,
      "periods": [
        {
          "id": "37f41cf6-7c40-4278-a488-0ec2e0b054fb",
          "employeeId": "c4a15acc-c188-11e6-9407-00155dfa4277",
          "employeeName": "Michael Thompson",
          "positionName": "Accountant",
          "positionId": "43be9492-c188-11e6-9407-00155dfd350b",
          "locationId": "3648a17e-c187-11e6-9407-00155dfa4277",
          "locationName": "Los Angeles",
          "shiftId": null,
          "isPublished": true,
          "title": null,
          "startAt": "2017-03-06T12:00:00Z",
          "endAt": "2017-03-06T20:00:00Z",
          "color": "4CAF50",
          "payRate": 22,
          "departmentId": null,
          "departmentName": "Accounting",
          "notes": "",
          "shiftsNumber": 0,
          "isOpenShift": false,
          "totalHours": 0,
          "break1Start": null,
          "break1End": null,
          "break2Start": null,
          "break2End": null,
          "totalHoursBreak1": null,
          "totalHoursBreak2": null,
          "break1HourOffset": null,
          "break2HourOffset": null,
          "status": "Available",
          "totalTimeWithoutBreaks": "08:00:00",
          "totalLaborCostWithoutBreaks": 176,
          "repeatedShiftId": null,
          "isRepeated": false,
          "totalMinutesBreak1": null,
          "totalMinutesBreak2": null,
          "workSiteId": null,
          "workSiteName": null,
          "workSiteAddrLine1": null,
          "workSiteAddrLine2": null,
          "workSiteCity": null,
          "workSiteState": null,
          "workSiteZipCode": null,
          "workSitePhone": null,
          "break1StartTime": null,
          "break1EndTime": null,
          "break2StartTime": null,
          "break2EndTime": null,
          "isEditable": true,
          "distance":6.81
        },

Query Params

filter
string

by "", "currentdate", "locationid", "positionid", "showOnlyScheduledEmployee", "showOnlyUnscheduledEmployee", "showOnlyDirectReports", "showOnlyCurrentLocationShifts"

Headers

Authorization
string
required

"Bearer " + ACCESS_TOKEN

 

Authorization header should read:
Authorization: "token_type" + "access_token"

Suggest Edits

schedule/week/departments

Endpoint returns a list of all departments and their shifts with details, for current week based on departments and given current date. Also returns days, number of scheduled hours and costs broken-down per day.

If setting for distance between location and employee is checked, list will return that distance in miles or kilometers in shift details.

This endpoint returns data in Primary Admin's timezone.

 
gethttps://api.ximble.com/schedule/week/departments
$.ajax({
  type: 'GET',
  dataType: 'text',
  url: 'https://api.ximble.com/schedule/week/departments?filter=currentDate:2017-3-8',
  async: false,
  headers: {
    Authorization: "Bearer " + ACCESS_TOKEN
  },
  success: function(data) { 
   
  }
});
A binary file was returned

You couldn't be authenticated

{
  "days": {
    "day1": "2017-03-06T00:00:00Z",
    "day2": "2017-03-07T00:00:00Z",
    "day3": "2017-03-08T00:00:00Z",
    "day4": "2017-03-09T00:00:00Z",
    "day5": "2017-03-10T00:00:00Z",
    "day6": "2017-03-11T00:00:00Z",
    "day7": "2017-03-12T00:00:00Z",
    "day1Hours": 72.5,
    "day2Hours": 77.25,
    "day3Hours": 63.5,
    "day4Hours": 35.75,
    "day5Hours": 63.75,
    "day6Hours": 40.25,
    "day7Hours": 0,
    "day1Cost": 1447.75,
    "day2Cost": 1483.5,
    "day3Cost": 1263.5,
    "day4Cost": 735.75,
    "day5Cost": 1293.25,
    "day6Cost":