Back to top

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 Employees
POST/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

POST /AjeraAPI.ashx?ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9
URI Parameters
HideShow
id
string (required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9

An unique identifier required for api access.

Request  ListEmployees
HideShow
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)"
   }
}
Response  200
HideShow
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 Employees
POST/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

POST /AjeraAPI.ashx?ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9
URI Parameters
HideShow
id
string (required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9

An unique identifier required for api access.

Request  GetEmployees
HideShow
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"
    }
}
Response  200
HideShow
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 Employees
POST/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

POST /AjeraAPI.ashx?ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9
URI Parameters
HideShow
id
string (required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9

An unique identifier required for api access.

Request  UpdateEmployees
HideShow
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)" 
    }
}
Response  200
HideShow
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 Types
POST/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

POST /AjeraAPI.ashx?ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9
URI Parameters
HideShow
id
string (required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9

An unique identifier required for api access.

Request  ListEmployeeTypes
HideShow
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"
   }
}
Response  200
HideShow
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 Deductions
POST/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

POST /AjeraAPI.ashx?ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9
URI Parameters
HideShow
id
string (required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9

An unique identifier required for api access.

Request  ListDeductions
HideShow
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)"
   }
}
Response  200
HideShow
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 Fringes
POST/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

POST /AjeraAPI.ashx?ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9
URI Parameters
HideShow
id
string (required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9

An unique identifier required for api access.

Request  ListFringes
HideShow
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)"
   }
}
Response  200
HideShow
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"
        }
    }
}

Generated by aglio on 26 Jul 2021