Ajera API
message for Ajera API general doc
For additional api methods see the following below:
Home
Clients API
Contacts API
Vendors API
Projects API
Expense Reports API
GL Accounts API
Various List Methods
Messages ¶
Group of all messages-related resources.
API Endpoint ¶
id
is an Ajera API specific id that is required to access the API for any given
API server call. This id and specific url can be obtained from the
Ajera 8 Menu Utility -> Setup Integrations -> API Settings
List EmployeesPOST/AjeraAPI.ashx?{id}
ListEmployees returns an array of Employees, limited by the optional filters detailed below.
Each returned Employee includes only very basic information. This method is intended to be used for querying Employees for particular key values, which can then be passed to GetEmployees for more detailed information.
Example URI
- id
string
(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListEmployees
Headers
Content-Type: application/json
Accept: application/json
Body
{
Method: "ListEmployees",
SessionToken: "",
MethodArguments: {
FilterByDepartment: [1, 2, 3],
FilterByCompany: [1, 2, 3],
FilterBySupervisor: [1, 2, 3],
FilterByStatus: ["Active"],
FilterByNameLike: "string",
FilterByEmployeeType: [1, 2, 3, null],
FilterByEarliestModifiedDate: "2015-03-11 16:22:54.229 GMT-0700",
FilterByLatestModifiedDate: "2015-03-11 16:22:54.229 GMT-0700"
}
}
Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByCompany: "int array, optional",
FilterByStatus: "string array, optional",
FilterByNameLike: "string, optional",
FilterByEmployeeType: "int array, optional"
FilterByEarliestModifiedDate: "date string, optional(specific format)",
FilterByLatestModifiedDate: "date string, optional(specific format)"
}
}
200
Headers
Content-Type: application/json
Body
{
Content: {
Employees: [{
EmployeeKey: 3,
FirstName: "Bob",
MiddleName: "M",
LastName: "Johnson"
}],
},
Errors: [],
Message: "Success",
ResponseCode: 200,
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}
Schema
{
type: "object",
properties: {
Content: {
type: "object",
properties: {
EmployeeKey: {
type: int
},
FirstName: {
type: "string"
},
MiddleName: {
type: "string"
},
LastName: {
type: "string"
}
}
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
ResponseCode: {
type: int
},
UsageKey: {
type: "guid"
}
}
}
Get EmployeesPOST/AjeraAPI.ashx?{id}
GetEmployees takes one or more key values, and returns an array of matching Employees.
This method returns detailed information, which can be used to populate required fields when calling UpdateEmployees.
CustomFields can be viewed/updated, the field names are prepended with the string CF_
Example URI
- id
string
(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
GetEmployees
Headers
Content-Type: application/json
Accept: application/json
Body
{
Method: "GetEmployees",
SessionToken: "",
MethodArguments: {
RequestedEmployees: [1, 2, 3]
}
}
Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
RequestedEmployees: "int array, required"
}
}
200
Headers
Content-Type: application/json
Body
{
Content: {
Employees: [{
EmployeeKey: 1,
LastModifiedDate: "2015-03-11 16:22:54.229 GMT-0700 (Pacific Daylight Time)",
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Status: "Active",
CompanyKey: 1,
DepartmentKey: 2,
IsPrincipal: false,
IsSupervisor: false,
IsProjectManager: false,
IsAccountingManager: false,
IsMarketingContact: false,
SupervisorKey: 1,
PayRates: [{
PayRateKey: 1,
StartDate: "2015-03-11",
PayPeriod: "None",
IsHourly: true,
Salary: 33.33,
PayRate: 0.0000,
OvertimeMarkup: 33.33,
IncludeOvertimeInSalary: false,
DoubleTimeMarkup: 33.33,
IncludeDoubleTimeInSalary: false,
OtherTimeMarkup: 33.33,
IncludeOtherTimeMarkupInSalary: false
}],
PrimaryAddressLineOne: "",
PrimaryAddressLineTwo: "",
PrimaryAddressLineThree: "",
PrimaryAddressCity: "",
PrimaryAddressState: "",
PrimaryAddressZip: "",
PrimaryAddressCountry: "",
MailingAddressSame: true,
MailingAddressLineOne: "",
MailingAddressLineTwo: "",
MailingAddressLineThree: "",
MailingAddressCity: "",
MailingAddressState: "",
MailingAddressZip: "",
MailingAddressCountry: "",
PrimaryPhone: "",
PrimaryPhoneDescription: "",
SecondaryPhone: "",
SecondaryPhoneDescription: "",
TertiaryPhone: "",
TertiaryPhoneDescription: "",
Fax: "",
FaxText: "",
Email: "",
Website: "",
AllowChangesAfterProcessed: false,
Contacts: [{
ContactKey: 1,
Order: 0,
Text: "text",
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Company: "",
}],
Gender: "Male",
BirthDate: "2015-03-11",
DateHired: "2015-03-11",
DateRehired: "2015-03-11",
DateTerminated: "2015-03-11",
BillablePercent: 0,
SocialSecurityNumber: "",
PayrollServiceID: "",
OverheadGroupKey: 1,
UseEmployees: false,
CreditCards: [{
BankAccountKey: 1,
Order: 1,
CardholderName: "",
Description: "American Express Card"
}],
CalculatePaymentDateMethod: "None",
NumberOfDaysFromInvoiceDate: 0,
DayOfTheMonthToPay: 1,
Notes: "",
EmployeeTypeKey: 1,
EmployeeTypeDescription: "",
EmployeeTypeNotes: ""
}],
UseSingleTransaction: false
},
Errors: [],
Message: "Success",
ResponseCode: 200,
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}
Schema
{
Content : {
type: "object",
properties: {
Employees: {
type: "object array",
properties: {
EmployeeKey: {
type: int
},
LastModifiedDate: {
type: "string"
},
FirstName: {
type: "string"
},
MiddleName: {
type: "string"
},
LastName: {
type: "string"
},
Title: {
type: "string"
},
Status: {
type: "string"
},
CompanyKey: {
type: int
},
DepartmentKey: {
type: int
},
IsPrincipal: {
type: boolean
},
IsSupervisor: {
type: boolean
},
IsProjectManager: {
type: boolean
},
IsAccountingManager: {
type: boolean
},
IsMarketingContact: {
type: boolean
},
SupervisorKey: {
type: int
},
PayRates: {
type: "object",
properties: {
PayRateKey: {
type: int
},
StartDate: {
type: "string"
},
PayPeriod: {
type: "string"
},
IsHourly: {
type: boolean
},
Salary: {
type: int
},
PayRate: {
type: decimal
},
OvertimeMarkup: {
type: decimal
},
IncludeOvertimeInSalary: {
type: boolean
},
DoubleTimeMarkup: {
type: decimal
},
IncludeDoubleTimeInSalary: {
type: boolean
},
OtherTimeMarkup: {
type: decimal
},
IncludeOtherTimeMarkupInSalary: {
type: boolean
}
}
},
FaxNumber: {
type: "string"
},
FaxDescription: {
type: "string"
},
Email: {
type: "string"
},
Website: {
type: "string"
},
AllowChangesAfterProcessed: {
type: boolean
},
Text: {
type: "string"
},
PrimaryAddressLineOne: {
type: "string"
},
PrimaryAddressLineTwo: {
type: "string"
},
PrimaryAddressLineThree: {
type: "string"
},
PrimaryAddressCity: {
type: "string"
},
PrimaryAddressZip: {
type: "string"
},
PrimaryAddressState: {
type: "string"
},
PrimaryAddressCountry: {
type: "string"
},
MailingAddressSameAsPrimary: {
type: "boolean"
},
MailingAddressLineOne: {
type: "string"
},
MailingAddressLineTwo: {
type: "string"
},
MailingAddressLineThree: {
type: "string"
},
MailingAddressCity: {
type: "string"
},
MailingAddressZip: {
type: "string"
},
MailingAddressState: {
type: "string"
},
MailingAddressCountry: {
type: "string"
},
PrimaryPhoneNumber: {
type: "string"
},
PrimaryPhoneDescription: {
type: "string"
},
SecondaryPhoneNumber: {
type: "string"
},
SecondaryPhoneDescription: {
type: "string"
},
TertiaryPhoneNumber: {
type: "string"
},
TertiaryPhoneDescription: {
type: "string"
},
EmployeeTypeKey: {
type: "int"
},
EmployeeTypeDescription: {
type: "string"
},
EmployeeTypeNotes: {
type: "string"
},
Contacts: {
type: "object",
properties: {
ContactKey: {
type: int
},
Order: {
type: int
},
Text: {
type: "string"
},
IsHourly: {
type: boolean
},
FirstName: {
type: "string"
},
MiddleName: {
type: "string"
},
LastName: {
type: "string"
},
Title: {
type: "string"
},
Company: {
type: "string"
}
}
},
Gender: {
type: "string"
},
BirthDate: {
type: "string"
},
DateHired: {
type: "string"
},
DateRehired: {
type: "string"
},
DateTerminated: {
type: "string"
},
BillablePercent: {
type: int
},
SocialSecurityNumber: {
type: "string"
},
PayrollServiceID: {
type: "string"
},
OverheadGroupKey: {
type: int
},
UseEmployees: {
type: boolean
},
CreditCards: {
type: "object",
properties: {
BankAccountKey: {
type: int
},
Order: {
type: int
},
CardholderName: {
type: "string"
},
Description: {
type: "string"
}
}
},
CalculatePaymentDateMethod: {
type: "string"
},
NumberOfDaysFromInvoiceDate: {
type: "string"
},
DayOfTheMonthToPay: {
type: int
},
Notes: {
type: "string"
},
EmployeeTypeKey: {
type: int
},
EmployeeTypeDescription: {
type: "string"
},
EmployeeTypeNotes: {
type: "string"
}
}
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
ResponseCode: {
type: int
},
UsageKey: {
type: "guid"
}
}
}
}
Update EmployeesPOST/AjeraAPI.ashx?{id}
UpdateEmployees is used to update, create or delete employees.
To create employees, Employees is set to empty, and UpdatedEmployees items are given an EmployeeKey with a negative value.
To update or delete employees, Employees must be provided with all fields populated with current data, most likely obtained from calling GetEmployees. If updating, UpdatedEmployees is populated with the desired values in place for each field, and optional fields may be omitted. If deleting, UpdatedEmployees has the optional “Delete” field set to true, and only EmployeeKey and LastModifiedDate fields are required.
CustomFields can be viewed/updated, the field names are prepended with the string CF_
NOTE: When making changes to a record it is recommened that you first call GetEmployee and cache the record you intend to change and use that cached record in both the UpdatedEmployees and UnchangedEmployees, change the detail you need to change in the UpdatedEmployees dataset and leave UnchangedEmployees untouched.
NOTE: Both UpdatedEmployees and UnchangedEmployees are required.
Example URI
- id
string
(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
UpdateEmployees
Headers
Content-Type: application/json
Accept: application/json
Body
{
Method: "UpdateEmployees",
SessionToken: "",
MethodArguments: {
Content: {
UpdatedEmployees: [{
EmployeeKey: 47,
Delete: false,
LastModifiedDate: "2015-03-11 16:22:54.229 GMT-0700 (Pacific Daylight Time)",
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Status: "Active",
CompanyKey: 1,
DepartmentKey: 2,
IsPrincipal: false,
IsSupervisor: false,
IsProjectManager: false,
IsAccountingManager: false,
IsMarketingContact: false,
SupervisorKey: -1,
PayRates: [{
PayRateKey: 1,
StartDate: "2015-03-11",
PayPeriod: "None",
IsHourly: true,
Salary: 33.33,
PayRate: 0.0000,
OvertimeMarkup: 33.33,
IncludeOvertimeInSalary: false,
DoubleTimeMarkup: 33.33,
IncludeDoubleTimeInSalary: false,
OtherTimeMarkup: 33.33,
IncludeOtherTimeMarkupInSalary: false
}],
PrimaryAddressLineOne: "",
PrimaryAddressLineTwo: "",
PrimaryAddressLineThree: "",
PrimaryAddressCity: "",
PrimaryAddressState: "",
PrimaryAddressZip: "",
PrimaryAddressCountry: "",
MailingAddressSame: true,
MailingAddressLineOne: "",
MailingAddressLineTwo: "",
MailingAddressLineThree: "",
MailingAddressCity: "",
MailingAddressState: "",
MailingAddressZip: "",
MailingAddressCountry: "",
PrimaryPhone: "",
PrimaryPhoneDescription: "",
SecondaryPhone: "",
SecondaryPhoneDescription: "",
TertiaryPhone: "",
TertiaryPhoneDescription: "",
Fax: "",
FaxText: "",
Email: "",
Website: "",
AllowChangesAfterProcessed: false,
Contacts: [{
ContactKey: -1,
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Company: "",
Order: 1,
Text: ""
}],
Gender: "Male",
BirthDate: "2015-03-11",
DateHired: "2015-03-11",
DateRehired: "2015-03-11",
DateTerminated: "2015-03-11",
BillablePercent: 0,
SocialSecurityNumber: "",
PayrollServiceID: "",
OverheadGroupKey: 1,
UseEmployees: false,
CreditCards: [{
BankAccountKey: 1,
Order: 1,
CardholderName: "",
Description: "American Express Card"
}],
CalculatePaymentDateMethod: "None",
NumberOfDaysFromInvoiceDate: 0,
DayOfTheMonthToPay: 1,
Notes: "",
EmployeeTypeKey: 1,
EmployeeTypeDescription: "",
EmployeeTypeNotes: "",
}],
UnchangedEmployees: [{
EmployeeKey: 47,
LastModifiedDate: "2015-03-11 16:22:54.229 GMT-0700 (Pacific Daylight Time)",
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Status: "Active",
CompanyKey: 1,
DepartmentKey: 2,
IsPrincipal: false,
IsSupervisor: false,
IsProjectManager: false,
IsAccountingManager: false,
IsMarketingContact: false,
SupervisorKey: -1,
PayRates: [{
PayRateKey: 1,
StartDate: "2015-03-11",
PayPeriod: "None",
IsHourly: true,
Salary: 33.33,
PayRate: 0.0000,
OvertimeMarkup: 33.33,
IncludeOvertimeInSalary: false,
DoubleTimeMarkup: 33.33,
IncludeDoubleTimeInSalary: false,
OtherTimeMarkup: 33.33,
IncludeOtherTimeMarkupInSalary: false
}],
PrimaryAddressLineOne: "",
PrimaryAddressLineTwo: "",
PrimaryAddressLineThree: "",
PrimaryAddressCity: "",
PrimaryAddressState: "",
PrimaryAddressZip: "",
PrimaryAddressCountry: "",
MailingAddressSame: true,
MailingAddressLineOne: "",
MailingAddressLineTwo: "",
MailingAddressLineThree: "",
MailingAddressCity: "",
MailingAddressState: "",
MailingAddressZip: "",
MailingAddressCountry: "",
PrimaryPhone: "",
PrimaryPhoneDescription: "",
SecondaryPhone: "",
SecondaryPhoneDescription: "",
TertiaryPhone: "",
TertiaryPhoneDescription: "",
Fax: "",
FaxText: "",
Email: "",
Website: "",
Contacts: [{
ContactKey: 1,
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Company: "",
Order: 1,
Text: ""
}],
Gender: "Male",
BirthDate: "2015-03-11",
DateHired: "2015-03-11",
DateRehired: "2015-03-11",
DateTerminated: "2015-03-11",
BillablePercent: 0,
SocialSecurityNumber: "",
PayrollServiceID: "",
OverheadGroupKey: 1,
UseEmployees: false,
CreditCards: [{
BankAccountKey: 1,
Order: 1,
CardholderName: "",
Description: "American Express Card"
}],
CalculatePaymentDateMethod: "None",
NumberOfDaysFromInvoiceDate: 0,
DayOfTheMonthToPay: 1,
Notes: "",
EmployeeTypeKey: 1,
EmployeeTypeDescription: "",
EmployeeTypeNotes: ""
}],
UseSingleTransaction: false
}
}
}
Schema
{
Method: "string, required",
Username: "string, max(80 characters)",
Password: "string, max(80 characters)",
APIVersion: "int",
UseSessionCookie: "boolean"
Method: "string, required",
SessionToken: "string",
MethodArguments: {
UpdatedEmployees: [
{
EmployeeKey: "int, required (negative value indicates that this is a create request)",
Delete: "bool, optional, flag as a delete request, in which case only EmployeeKey, LastModifiedDate required",
LastModifiedDate: "string, date time format, required",
FirstName: "string, max(20 characters), (Some combination of FirstName, MiddleName and LastName is required)",
MiddleName: "string, max(20 characters), (Some combination of FirstName, MiddleName and LastName is required)",
LastName: "string, max(40 characters), (Some combination of FirstName, MiddleName and LastName is required)",
EmployeeTitle: "string, optional, max(40 characters)",
Status: "string, optional, ('Active' or 'Inactive')"
CompanyKey: "int, optional",
DepartmentKey: "int, optional",
IsPrincipal: "boolean, optional",
IsSupervisor: "boolean, optional",
IsProjectManager: "boolean, optional",
IsAccountingManager: "boolean, optional",
IsMarketingContact: "boolean, optional",
SupervisorKey: "int, optional",
PayRates: [
{ //Each employee MUST contain at least one pay rate
PayRateKey: "int, required (negative value indicates that this is a create request)",
StartDate: "string, date only format, optional, nullable",
PayPeriod: "string, optional, ('None', 'Weekly', 'BiWeekly', 'SemiMonthly', or 'Monthly')",
IsHourly: "bool, optional, defaults to false",
Salary: "decimal(19,2), (optional if hourly is set to true)",
PayRate: "decimal(19,4), (optional if hourly is set to false)",
OvertimeMarkup: "decimal(19,2), optional",
IncludeOvertimeInSalary: "bool, optional, defaults to false",
DoubleTimeMarkup: "decimal(19,2), optional",
IncludeDoubleTimeInSalary: "bool, optional, defaults to false",
OtherTimeMarkup: "decimal(19,2), optional",
IncludeOtherTimeMarkupInSalary: "bool, optional, defaults to false",
}
],
PrimaryAddressLineOne: "string, optional, max(50 characters)",
PrimaryAddressLineTwo: "string, optional, max(50 characters)",
PrimaryAddressLineThree: "string, optional, max(50 characters)",
PrimaryAddressCity: "string, optional, max(30 characters)",
PrimaryAddressState: "string, optional, max(10 characters)",
PrimaryAddressZip: "string, optional, max(20 characters)",
PrimaryAddressCountry: "string, optional, max(30 characters)",
MailingAddressSame: "bool, optional, defaults to false",
MailingAddressLineOne: "string, optional, max(50 characters)",
MailingAddressLineTwo: "string, optional, max(50 characters)",
MailingAddressLineThree: "string, optional, max(50 characters)",
MailingAddressCity: "string, optional, max(30 characters)",
MailingAddressState: "string, optional, max(10 characters)",
MailingAddressZip: "string, optional, max(20 characters)",
MailingAddressCountry: "string, optional, max(30 characters)",
PrimaryPhoneNumber: "string, optional, max(30 characters)",
PrimaryPhoneDescription: "string, optional, max(30 characters)",
SecondaryPhoneNumber: "string, optional, max(30 characters)",
SecondaryPhoneDescription: "string, optional, max(80 characters)",
TertiaryPhoneNumber: "string, optional, max(30 characters)",
TertiaryPhoneDescription: "string, optional, max(80 characters)",
FaxNumber: "string, optional, max(30 characters)",
FaxDescription: "string, optional, max(80 characters)",
Email: "string, optional, max(254 characters)",
Website: "string, optional, max(100 characters)",
Contacts: [//Array of 0-5 Contacts asociated with the client.
{
ContactKey: "int, required",
FirstName: "string, optional, (will be ignored for updates)",
MiddleName: "string, optional, (will be ignored for updates)",
LastName: "string, optional, (will be ignored for updates)",
Title: "string, optional, (will be ignored for updates)",
Company: "string, optional, (will be ignored for updates)",
Order: "int, required, (0-5)",
Text: "string, optional, max(80 characters)"
}
],
Gender: "string, optional, ('Male', 'Female'), (required on creation, optional on update)",
BirthDate: "string, date only format, optional, nullable",
DateHired: "string, date only format, optional, nullable",
DateRehired: "string, date only format, optional, nullable",
DateTerminated: "string, date only format, optional, nullable",
BillablePercent: "decimal(19,2), optional",
SocialSecurityNumber: "string, optional, max(11 characters)",
PayrollServiceID: "string, optional, max(80 characters)",
OverheadGroupKey: "int, optional",
UseEmployees: "bool, optional, defaults to false",
CreditCards: [ //Array of 0-5 Credit Card accounts asociated with the client.
{
BankAccountKey: "int, required, (must be type credit card)",
Delete: "bool, optional, (if set to true this BankAccount will be remvoed from the Employee)",
Order: "int, required, (0-5)",
CardholderName: "string, optional, max(80 characters)",
Description: "string, optional, (will be ignored for updates)"
}
],
CalculatePaymentDateMethod: "string, optional, ('None','Number of days','Day of the month')",
NumberOfDaysFromInvoiceDate: "int, optional, (If CalculatePaymentDateMethod is set to 'Number of Days' then this is required, if not it is ignored)",
DayOfTheMonthToPay: "int, optional, (If CalculatePaymentDateMethod is set to 'Day of the month' then this is required, if not it is ignored)",
Notes: "string, optional, no max",
EmployeeTypeKey: "int, optional",
EmployeeTypeDescription: "string, optional, (will be ignored for updates)",
EmployeeTypeNotes: "string, optional, (will be ignored for updates)"
}
],
UnchangedEmployees: [
{
Content here should be a copy a unchanged copy of the employee record
from GetEmployee api call.
}
],
UseSingleTransaction: "bool, defaults to false (If true will use single sql transaction for all updates. Any failure will reject all changes)"
}
}
200
Headers
Content-Type: application/json
Body
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
NumberOfEmployeesUpdated: 2,
Employees: [
{
EmployeeKey: 2,
Deleted: true
},
{
EmployeeKey: 47,
OriginalEmployeeKey: -1,
LastModifiedDate: "2015-03-11 16:22:54.229 GMT-0700 (Pacific Daylight Time)",
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Status: "Active",
CompanyKey: 1,
DepartmentKey: 2,
IsPrincipal: false,
IsSupervisor: false,
IsProjectManager: false,
IsAccountingManager: false,
IsMarketingContact: false,
SupervisorKey: -1,
PayRates: [
{
PayRateKey: 1,
StartDate: "2015-03-11",
PayPeriod: "None",
IsHourly: true,
Salary: 33.33,
PayRate: 0.0000,
OvertimeMarkup: 33.33,
IncludeOvertimeInSalary: false,
DoubleTimeMarkup: 33.33,
IncludeDoubleTimeInSalary: false,
OtherTimeMarkup: 33.33,
IncludeOtherTimeMarkupInSalary: false
}
],
PrimaryAddressLineOne: "",
PrimaryAddressLineTwo: "",
PrimaryAddressLineThree: "",
PrimaryAddressCity: "",
PrimaryAddressState: "",
PrimaryAddressZip: "",
PrimaryAddressCountry: "",
MailingAddressSame: true,
MailingAddressLineOne: "",
MailingAddressLineTwo: "",
MailingAddressLineThree: "",
MailingAddressCity: "",
MailingAddressState: "",
MailingAddressZip: "",
MailingAddressCountry: "",
PrimaryPhone: "",
PrimaryPhoneDescription: "",
SecondaryPhone: "",
SecondaryPhoneDescription: "",
TertiaryPhone: "",
TertiaryPhoneDescription: "",
Fax: "",
FaxText: "",
Email: "",
Website: "",
Contacts: [
{
ContactKey: -1,
FirstName: "",
MiddleName: "",
LastName: "",
Title: "",
Company: "",
Order: 1,
Text: ""
}
],
Gender: "Male",
BirthDate: "2015-03-11",
DateHired: "2015-03-11",
DateRehired: "2015-03-11",
DateTerminated: "2015-03-11",
BillablePercent: 0,
SocialSecurityNumber: "",
PayrollServiceID: "",
OverheadGroupKey: 1,
UseEmployees: false,
CreditCards: [
{
BankAccountKey: 1,
Order: 1,
CardholderName: "",
Description: "American Express Card"
}
],
CalculatePaymentDateMethod: "None",
NumberOfDaysFromInvoiceDate: 0,
DayOfTheMonthToPay: 1,
Notes: "",
EmployeeTypeKey: 1,
EmployeeTypeDescription: "",
EmployeeTypeNotes: ""
}
]
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}
Schema
{
ResponseCode: {
type: int
},
Message: {
type: "string"
},
Errors: {
type: "array"
},
Content : {
NumberOfEmployeesUpdated: {
type: int
},
Employees: {
type: "object array",
properties: {
EmployeeKey: {
type: int
},
OriginalEmployeeKey: {
type: int
},
LastModifiedDate: {
type: "string"
},
FirstName: {
type: "string"
},
MiddleName: {
type: "string"
},
LastName: {
type: "string"
},
Title: {
type: "string"
},
Status: {
type: "string"
},
CompanyKey: {
type: int
},
DepartmentKey: {
type: int
},
IsPrincipal: {
type: boolean
},
IsSupervisor: {
type: boolean
},
IsProjectManager: {
type: boolean
},
IsAccountingManager: {
type: boolean
},
IsMarketingContact: {
type: boolean
},
SupervisorKey: {
type: int
},
PayRates: {
type: "object",
properties: {
PayRateKey: {
type: int
},
StartDate: {
type: "string"
},
PayPeriod: {
type: "string"
},
IsHourly: {
type: boolean
},
Salary: {
type: int
},
PayRate: {
type: decimal
},
OvertimeMarkup: {
type: decimal
},
IncludeOvertimeInSalary: {
type: boolean
},
DoubleTimeMarkup: {
type: decimal
},
IncludeDoubleTimeInSalary: {
type: boolean
},
OtherTimeMarkup: {
type: decimal
},
IncludeOtherTimeMarkupInSalary: {
type: boolean
}
}
},
FaxNumber: {
type: "string"
},
FaxDescription: {
type: "string"
},
Email: {
type: "string"
},
Website: {
type: "string"
},
Text: {
type: "string"
},
PrimaryAddressLineOne: {
type: "string"
},
PrimaryAddressLineTwo: {
type: "string"
},
PrimaryAddressLineThree: {
type: "string"
},
PrimaryAddressCity: {
type: "string"
},
PrimaryAddressZip: {
type: "string"
},
PrimaryAddressState: {
type: "string"
},
PrimaryAddressCountry: {
type: "string"
},
MailingAddressSameAsPrimary: {
type: "boolean"
},
MailingAddressLineOne: {
type: "string"
},
MailingAddressLineTwo: {
type: "string"
},
MailingAddressLineThree: {
type: "string"
},
MailingAddressCity: {
type: "string"
},
MailingAddressZip: {
type: "string"
},
MailingAddressState: {
type: "string"
},
MailingAddressCountry: {
type: "string"
},
PrimaryPhoneNumber: {
type: "string"
},
PrimaryPhoneDescription: {
type: "string"
},
SecondaryPhoneNumber: {
type: "string"
},
SecondaryPhoneDescription: {
type: "string"
},
TertiaryPhoneNumber: {
type: "string"
},
TertiaryPhoneDescription: {
type: "string"
},
EmployeeTypeKey: {
type: "int"
},
EmployeeTypeDescription: {
type: "string"
},
EmployeeTypeNotes: {
type: "string"
},
Contacts: {
type: "object",
properties: {
ContactKey: {
type: int
},
Order: {
type: int
},
Text: {
type: "string"
},
IsHourly: {
type: boolean
},
FirstName: {
type: "string"
},
MiddleName: {
type: "string"
},
LastName: {
type: "string"
},
Title: {
type: "string"
},
Company: {
type: "string"
}
}
},
Gender: {
type: "string"
},
BirthDate: {
type: "string"
},
DateHired: {
type: "string"
},
DateRehired: {
type: "string"
},
DateTerminated: {
type: "string"
},
BillablePercent: {
type: int
},
SocialSecurityNumber: {
type: "string"
},
PayrollServiceID: {
type: "string"
},
OverheadGroupKey: {
type: int
},
UseEmployees: {
type: boolean
},
CreditCards: {
type: "object",
properties: {
BankAccountKey: {
type: int
},
Order: {
type: int
},
CardholderName: {
type: "string"
},
Description: {
type: "string"
}
}
},
CalculatePaymentDateMethod: {
type: "string"
},
NumberOfDaysFromInvoiceDate: {
type: "string"
},
DayOfTheMonthToPay: {
type: int
},
Notes: {
type: "string"
},
EmployeeTypeKey: {
type: int
},
EmployeeTypeDescription: {
type: "string"
},
EmployeeTypeNotes: {
type: "string"
}
}
},
UsageKey: {
type: "guid"
}
}
}
List Employee TypesPOST/AjeraAPI.ashx?{id}
ListEmployeeTypes returns an array of Employee Types, limited by the optional filters detailed below.
Each returned Employee Type includes only very basic information. This method is intended to be used for querying Employee Types for particular key values.
Example URI
- id
string
(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListEmployeeTypes
Headers
Content-Type: application/json
Accept: application/json
Body
{
Method: "ListEmployeeTypes",
SessionToken: "",
MethodArguments: {
FilterByStatus: ["Active"]
}
}
Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional"
}
}
200
Headers
Content-Type: application/json
Body
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
EmployeeTypes: [{
EmployeeTypeKey: 1,
Description: "Architect",
Status: "Active",
BillablePercent: 33.33,
BudgetCostRate: 33.33,
BudgetBillRate: 33.33,
Notes: "some random text"
}]
},
UsageKey: "d286b4e7-41fe-42f9-97e8-bfd842a77b88"
}
Schema
{
ResponseCode: {
type: int
},
Message: {
type: "string"
},
Errors: {
type: "array"
},
Content: {
type: "object",
properties: {
EmployeeTypeKey: {
type: int
},
Description: {
type: "string"
},
Status: {
type: "string"
},
BillablePercent: {
type: float
},
BudgetCostRate: {
type: float
},
BudgetBillRate: {
type: float
},
Notes: {
type: "string"
}
}
},
UsageKey: {
type: "guid"
}
}
List DeductionsPOST/AjeraAPI.ashx?{id}
ListDeductions returns an array of Deductions, limited by the optional filters detailed below.
Each returned Deduction includes only very basic information.
Example URI
- id
string
(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListDeductions
Headers
Content-Type: application/json
Accept: application/json
Body
{
Method: "ListDeductions",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}
Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}
200
Headers
Content-Type: application/json
Body
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
Deductions: [{
DeductionKey: int, 1,
Description: string, "401k",
Status: string, "Active"
Notes: string, ""
}]
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}
Schema
{
ResponseCode: {
type: int
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
Content: {
type: "object",
properties: {
Deductions: {
type: "array",
properties: {
DeductionKey: int,
Description: string,
Status: string,
Notes: string
}
}
},
UsageKey: {
type: "guid"
}
}
}
List FringesPOST/AjeraAPI.ashx?{id}
ListFringes returns an array of Fringes, limited by the optional filters detailed below.
Each returned Fringe includes only very basic information.
Example URI
- id
string
(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListFringes
Headers
Content-Type: application/json
Accept: application/json
Body
{
Method: "ListFringes",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}
Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}
200
Headers
Content-Type: application/json
Body
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
Fringes: [{
FringeKey: int, 1,
Description: string, "401k matching",
Status: string, "Active",
Notes: string, ""
}]
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}
Schema
{
ResponseCode: {
type: int
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
Content: {
type: "object",
properties: {
Fringes: {
type: "array",
properties: {
FringeKey: int,
Description: string,
Status: string,
Notes: string
}
}
},
UsageKey: {
type: "guid"
}
}
}