Ajera API
message for Ajera API general doc
For additional api methods see the following below:
Home
Clients API
Contacts API
Employees API
Vendors API
Projects API
Expense Reports API
GL Accounts API
Timesheets API
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 Account GroupsPOST/AjeraAPI.ashx?{id}
NOTE: ListAccountGroups requires that the API user be setup with an Authorized Ajera User.
ListAccountGroups at a minimum takes no arguments, but can be filtered.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListAccountGroupsHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListAccountGroups",
SessionToken: "",
MethodArguments: {
FilterByStatus: ["Active"]
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: { //this object is required but can be just {} an empty object
FilterByStatus: "string array, optional, Active, Inactive"
}
}200Headers
Content-Type: application/jsonBody
{
Content: {
GLAccounts: [
{
"AccountGroupKey": integer, GL Account Group Key,
"Description": string, "Cash", Account Group Description
"Status": string, "Active", Status, Active/Inactive
"Notes": string, "", Any notes applied to the account group
}
]
},
Errors: [],
Message: "Success",
ResponseCode: 200,
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}Schema
{
ResponseCode: {
type: int
},
Message: {
type: "string"
},
Errors: {
type: "array"
},
Content: {
type: "object"
},
UsageKey: {
type: "guid"
}
}List ActivitiesPOST/AjeraAPI.ashx?{id}
ListActivities returns an array of Activities, limited by the optional filters detailed below.
Each returned Activity includes only very basic information.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListActivitiesHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListActivities",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['inactive', 'active'],
FilterByDescriptionLike: 'admin',
FilterByActivityType: [3],
FilterByUtilizationType: [1, null],
FilterByIsUnitBased: [true],
FilterByIsTaxable: [true],
FilterByAllowExpenseEntry: [false],
FilterByAllowPurchaseOrderEntry: [true],
FilterByIsICRExpense: [true]
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
FilterByDescriptionLike: "string, optional",
FilterByActivityType: "int array, can include null, optional",
FilterByUtilizationType: "int array, can include null, optional",
FilterByIsUnitBased: "bool array, optional",
FilterByIsTaxable: "bool array, optional",
FilterByAllowExpenseEntry: "bool array, optional",
FilterByAllowPurchaseOrderEntry: "bool array, optional",
FilterByIsICRExpense: "bool array, optional"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
ActivityKey: 3,
Description: "description",
Status: "Active",
Notes: "notes",
ICRExpense: false
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}Schema
{
type: "object",
properties: {
ResponseCode: {
type: int
},
Message: {
type: "string"
},
Errors: {
type: "array"
},
Content: {
type: "object",
properties: {
ActivityKey: {
type: int
},
Description: {
type: "string"
},
Status: {
type: "string"
},
Notes: {
type: "string"
}
}
},
UsageKey: {
type: "guid"
}
}
}List Bank AccountsPOST/AjeraAPI.ashx?{id}
ListBankAccounts returns an array of Bank Accounts, limited by the optional filters detailed below.
Each returned Bank Account includes only very basic information. This method is intended to be used for querying Bank Accounts for particular key values.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListBankAccountsHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListBankAccounts",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
BankAccountKey: 1,
Description: "bank account",
Status: "Active",
Notes: "notes"
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}Schema
{
ResponseCode: {
type: int
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
Content: {
type: "object",
properties: {
BankAccountKey: {
type: int
},
Description: {
type: "string"
},
Status: {
type: "string"
},
Notes: {
type: "string"
}
},
UsageKey: {
type: "guid"
}
}
}List Chargeable PhasesPOST/AjeraAPI.ashx?{id}
ListChargeablePhases returns an array of Phases, ProjectKey is a required option
Each returned Phase includes the key, the description, the indented level, an a bit indicating if it is selectable for expenses.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListChargeablePhasesHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListChargeablePhases",
SessionToken: "",
MethodArguments: {
ProjectKey: 1
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
ProjectKey: "integer, required, must be a valid project, see ListProjects for keys"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
ChargeablePhases: [
{
Key: 1,
Description: "phase description",
Level: 0,
Enabled: false
}
]
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}Schema
{
type: "object",
properties: {
ResponseCode: {
type: int
},
Message: {
type: "string"
},
Errors: {
type: "array"
},
Content: {
type: "object",
properties: {
ChargeablePhases: {
type: "array"
properties: {
Key: "int, phase key",
Description: "string, phase description",
Level: "int, indent level in the tree",
Enabled: "boolean, indicates if the phase can be charged to"
}
}
}
},
UsageKey: {
type: "guid"
}
}
}List CompaniesPOST/AjeraAPI.ashx?{id}
ListCompanies returns an array of Companies, limited by the optional filters detailed below.
Each returned Company includes only very basic information. This method is intended to be used for querying Companies for particular key values.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListCompaniesHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListCompanies",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
CompanyKey: 1,
Description: "Accutera Architects",
Status: "Active",
Notes: "notes"
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}Schema
{
ResponseCode: {
type: int
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
Content: {
type: "object",
properties: {
CompanyKey: {
type: int
},
Description: {
type: "string"
},
Status: {
type: "string"
},
Notes: {
type: "string"
}
},
UsageKey: {
type: "guid"
}
}
}List DepartmentsPOST/AjeraAPI.ashx?{id}
ListDepartments returns an array of Departments, limited by the optional filters detailed below.
Each returned Department includes only very basic information. This method is intended to be used for querying Departments for particular key values.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListDepartmentsHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListDepartments",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['Active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
DepartmentKey: integer - 1,
Department: string - "description of department",
Notes: string - "",
Status: string - "Active",
DPEPercent: float - 0,
OverheadPercent: float - 0
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}Schema
{
ResponseCode: {
type: int
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
Content: {
type: "object",
properties: {
DepartmentKey: {
type: integer
}
Department: {
type: string
}
Notes: {
type: string
}
Status: {
type: string
}
DPEPercent: {
type: float
}
OverheadPercent: {
type: float
}
},
UsageKey: {
type: "guid"
}
}
}List Invoice FormatsPOST/AjeraAPI.ashx?{id}
ListInvoiceFormats returns an array of Invoice Formats, limited by the optional filters detailed below.
Each returned Invoice Formats includes only very basic information. This method is intended to be used for querying Invoice Formats for particular key values.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListInvoiceFormatsHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListInvoiceFormats",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
InvoiceFormatKey: 1,
Description: "Time & Expense",
Status: "Active",
Notes: "notes"
},
UsageKey: "6e983af4-946f-4947-9fbd-a233f796f6b4"
}Schema
{
ResponseCode: {
type: int
},
Errors: {
type: "array"
},
Message: {
type: "string"
},
Content: {
type: "object",
properties: {
CompanyKey: {
type: int
},
Description: {
type: "string"
},
Status: {
type: "string"
},
Notes: {
type: "string"
}
},
UsageKey: {
type: "guid"
}
}
}List Payroll TaxesPOST/AjeraAPI.ashx?{id}
ListPayrollTaxes returns an array of Payroll Taxes, limited by the optional filters detailed below.
Each returned Payroll Tax includes only very basic information.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListPayrollTaxesHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListPayrollTaxes",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
PayrollTaxes: [{
PayrollTaxKey: int, 1,
Description: string, "Federal withholding",
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: {
PayrollTaxes: {
type: "array",
properties: {
PayrollTaxKey: int,
Description: string,
Status: string,
Notes: string
}
}
},
UsageKey: {
type: "guid"
}
}
}List PaysPOST/AjeraAPI.ashx?{id}
ListPays returns an array of Pays, limited by the optional filters detailed below.
Each returned Pay includes only very basic information.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListPaysHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListPays",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
Pays: [{
PayKey: int, 1,
Description: string, "Regular",
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: {
Pays: {
type: "array",
properties: {
PayKey: int,
Description: string,
Status: string,
Notes: string
}
}
},
UsageKey: {
type: "guid"
}
}
}List Rate TablesPOST/AjeraAPI.ashx?{id}
ListRateTables returns an array of Rate Tables, limited by the optional filters detailed below.
Each returned Rate Table includes only very basic information.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListPaysHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListRateTables",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
RateTables: [{
RateTableKey: int, 1,
Description: string, "MEI Current - No markup",
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: {
RateTables: {
type: "array",
properties: {
RateTableKey: int,
Description: string,
Status: string,
Notes: string
}
}
},
UsageKey: {
type: "guid"
}
}
}List Wage TablesPOST/AjeraAPI.ashx?{id}
ListWageTables returns an array of Wage Tables, limited by the optional filters detailed below.
Each returned Wage Table includes only very basic information.
Example URI
- id
string(required) Example: ew0KICAiRGF0YWJhc2VOYW1lIjogIkFqZXJhX01haW4iDQp9An unique identifier required for api access.
ListPaysHeaders
Content-Type: application/json
Accept: application/jsonBody
{
Method: "ListWageTables",
SessionToken: "",
MethodArguments: {
FilterByStatus: ['active']
}
}Schema
{
Method: "string, required",
SessionToken: "string",
MethodArguments: {
FilterByStatus: "string array, optional, (either 'Active' or 'Inactive', case-insensitive)"
}
}200Headers
Content-Type: application/jsonBody
{
ResponseCode: 200,
Message: "Success",
Errors: [],
Content: {
WageTables: [{
WageTableKey: int, 1,
Description: string, "MEI Current - No markup",
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: {
WageTables: {
type: "array",
properties: {
WageTableKey: int,
Description: string,
Status: string,
Notes: string
}
}
},
UsageKey: {
type: "guid"
}
}
}