Assure Expenses API: Resource Reference

Introduction

The API comes in the form of sets of related objects, each one representing a part of the system. These objects are accessed by API end points called Resources. Press a key to jump to that letter.

Resources

Version of the API to display:

AccessRoles (9 actions)

Manages the majority of AccessRole operations.

VerbAPI elementParametersDescription
OPTIONS AccessRoles

Gets all of the available end points from the AccessRole part of the API.

GET AccessRoles

Gets all AccessRoles in the system.

GET AccessRoles/{id}
Name Type
id Int32

Gets a single AccessRole, by its Id.

GET AccessRoles/Find?Name={Name}&CanEditCostCode={CanEditCostCode}&CanEditDepartment={CanEditDepartment}&CanEditProjectCode={CanEditProjectCode}&SearchOperator={SearchOperator}
Name Type
criteria FindAccessRolesRequest

Finds all AccessRoles matching specified criteria.
Currently available querystring parameters:
Label, CanEditCostCode, CanEditDepartment, CanEditProjectCode
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST AccessRoles
Name Type
request AccessRole

Adds an AccessRole.

PUT AccessRoles/{id}
Name Type
id Int32
request AccessRole

Edits an AccessRole.

PATCH AccessRoles/{id}/AssignToEmployee/{eid}
Name Type
id Int32
eid Int32

Applies the supplied AccessRole to the supplied Employee.

PATCH AccessRoles/{id}/RevokeFromEmployee/{eid}
Name Type
id Int32
eid Int32

Unlinks the supplied AccessRole from the supplied Employee.

DELETE AccessRoles/{id}
Name Type
id Int32

Deletes an AccessRole.


Account (12 actions)

Contains account specific actions.

VerbAPI elementParametersDescription
OPTIONS Account

Gets ALL of the available end points from the API.

GET Account/GetClaimantAccountDetails?employeeId={employeeId}&companyId={companyId}
Name Type
employeeId Int32
companyId String

Gets a claimant's account details, when called as the claimant's approver

GET Account/GetSubAccountDescription/{subAccountId}
Name Type
subAccountId Int32

Given an Id of a Sub Account, returns the description.

GET Account/PasswordPolicy

Gets the password complexity that users on this account must adhere to.

GET Account/ForgottenPassword?email={email}&brandName={brandName}
Name Type
email String
brandName String

Requests a reminder of logon credentials for the user matching the email parameter.

GET Account/SessionTimeoutSettings

Gets the session timeout settings

GET Account/GetExpediteGuidelines

Gets the Expedite HTML guidelines.

GET Account/GetAccountsWithExchangeRatesUpdateEnabled

Get accounts with auto populate of exchange rates general option enabled

POST Account/Login
Name Type
request LoginRequest

Log into the API using the same credentials you would to log into Assure Expenses online. You will be provided with a LoginResponse. The properties of this response should be included in the header of all subsequent requests.

POST Account/Logout

Logs the calling user out revoking the active AuthToken. This means the user will have to follow the logon process again to use the system.

POST Account/ChangePassword
Name Type
request ChangePasswordRequest

Allows a user to change their password.

POST Account/ValidateResetKey
Name Type
request ResetKeyRequest

Validates an employee's password reset key.


Addresses (30 actions)

Contains operations for handling Address Lookups.

VerbAPI elementParametersDescription
OPTIONS Addresses

Gets all of the available end points from the Address part of the API.

GET Addresses/{id}
Name Type
id Int32

Gets a single Address, by its Id.

GET Addresses/GetAccountWideLabel/{id}
Name Type
id Int32

Gets an account wide label for an Address, by its Id.

GET Addresses/GetAddressDetailsFromSEL/{id}
Name Type
id Int32

Gets an Address from SEL data sources based on its AddressId

GET Addresses/GetHomeAndOfficeAddresses

Gets the home and office addresses for the current employee

GET Addresses/GetRouteForExpenseItem?expenseId={expenseId}
Name Type
expenseId Int32

Gets the journey route and mapping details for an Expense Id

POST Addresses
Name Type
request Address

Adds an Address. Do not try to set AccountWide labels or favourites here. Use the patch methods. Similarly, setting distances here wont work either. Use the AddressDistances resource instead.

POST Addresses/SaveAddress
Name Type
request Address

The save address.

POST Addresses/FindAddress
Name Type
addressRequest AddressRequest

Gets an Address via a simple search lookup.

POST Addresses/GetAddressDetailsFromPostCodeAnywhere
Name Type
request GlobalIdentifierRequest

Used to retrieve the full details of an address by its address provider ID. This returns the full details of a single Address.

POST Addresses/GetAddressDetailsFromPostCodeAnywhereInteractiveFind
Name Type
request GlobalIdentifierRequest

Used to "drill down" into search address provider results to obtain more results, using an address provider identifier (not the ID of a retrievable address, but the ID of a non-retrievable search result such as a locality). Returns one or more search results, which will either be retreivable addresses or non-retrievable search results (such as a street).

POST Addresses/AddRemovePersonalFavouriteAddress
Name Type
request AddRemovePersonalFavouriteAddressRequest

Adds or removes a favourite address for an employee

POST Addresses/GetRouteForAddressIdentifiers
Name Type
request RouteForAddressIdentifiersRequest

Gets the address route and mapping details form a list of address identifiers

POST Addresses/GetRouteForAddresses
Name Type
request RouteForAddressIdentifiersRequest

Gets the journey route and mapping details for address identifiers

POST Addresses/AddLabel
Name Type
addressLabelRequest AddressLabelRequest

Adds label to this Address. Note that if an address has any labels, then one must be the primary label. Set this with the primary option.

PUT Addresses/{id}
Name Type
id Int32
request Address

Edits an Address. Do not try to set AccountWide labels or favourites here. Use the patch methods. Similarly, setting distances here wont work either. Use the AddressDistances resource instead.

PATCH Addresses/AssignToEmployeeAsHome
Name Type
request HomeAddressLinkage

Links an Address to an Employee as a HOME address. This is achieved by creating a HomeAddressLinkage, which will be visible on the Employee. Note that rather than edit an existing linkage, you should remove the existing linkage and recreate it.

PATCH Addresses/EditEmployeeHomeAddressLinkage
Name Type
request HomeAddressLinkage

Edits a HomeAddressLinkage, which will be visible on the Employee. StartDate
EndDate
Note that you cannot edit the EmployeeId or the AddressId - you must remove and recreate to do this.

PATCH Addresses/AssignToEmployeeAsWork
Name Type
request WorkAddressLinkage

Applies the supplied Address to the supplied Employee as a WORK address. This is achieved by creating a WorkAddressLinkage, which will be visible on the Employee. Note that rather than edit an existing linkage, you should remove the existing linkage and recreate it.

PATCH Addresses/EditEmployeeWorkAddressLinkage
Name Type
request WorkAddressLinkage

Edits a WorkAddressLinkage, which will be visible on the Employee. StartDate
EndDate
IsTemporary
IsActive
Note that you cannot edit the EmployeeId or the AddressId - you must remove and recreate to do this.

PATCH Addresses/UnlinkFromEmployee/{linkageId}/{eid}
Name Type
linkageId Int32
eid Int32

Unlinks the supplied Address from the supplied Employee. These links are represented by either a WorkAddressLinkage or a HomeAddressLinkage. Rather than providing the id of the Address and the Employee, just provide the Id of the Home/WorkAddressLinkage and it will be removed. Note that rather than edit an existing linkage, you should remove the existing linkage and recreate it.

PATCH Addresses/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives an Address.

PATCH Addresses/{id}/SetAccountWideFavourite/{isToBeFavourite}
Name Type
id Int32
isToBeFavourite Boolean

Sets whether or not this Address is an Account-wide favourite.

PATCH Addresses/{id}/AddAccountWideLabel/{label}/{primary}
Name Type
id Int32
label String
primary Boolean

Adds an Account-wide label to this Address. Note that if an address has any labels, then one must be the primary label. Set this with the primary option.

PATCH Addresses/EditAccountWideLabel/{id}/{label}/{primary}
Name Type
id Int32
label String
primary Boolean

Edits an Account-wide label. Note that if an address has any labels, then one must be the primary label. Set this with the primary option. Note that the id parameter here refers to the Label's Id, NOT the Id of the Address...

PATCH Addresses/MakeAccountWideLabelPrimary/{id}
Name Type
id Int32

Makes a label the primary label for an address. The primary status of current primary label (if there is one) will be removed.

PATCH Addresses/RemoveAccountWideLabel/{id}
Name Type
id Int32

Removes an Account-wide label from this Address.

PATCH Addresses/{id}/Cleanse
Name Type
id Int32

Cleanses an Address, meaning that the Account-wide labels, the favourite status, and any recommended distances, are removed.

PATCH Addresses/RemoveLabel/{id}
Name Type
id Int32

Removes label from this Address.

DELETE Addresses/{id}
Name Type
id Int32

Deletes an Address.


AddressRecommendedDistances (7 actions)

Manages operations on AddressRecommendedDistances.

VerbAPI elementParametersDescription
OPTIONS AddressRecommendedDistances

Gets all of the available end points from the AddressRecommendedDistances part of the API.

GET AddressRecommendedDistances/ByAddress/{id}
Name Type
id Int32

Gets all AddressRecommendedDistances for the given Address Id.

GET AddressRecommendedDistances/{id}
Name Type
id Int32

Gets a single AddressRecommendedDistance, by its Id.

GET AddressRecommendedDistances/GetRecommendedOrCustomDistance?originAddressId={originAddressId}&destinationAddressId={destinationAddressId}&vehicleId={vehicleId}
Name Type
originAddressId Int32
destinationAddressId Int32
vehicleId Int32

Gets a recommended or custom distance for origin and destination address Ids

POST AddressRecommendedDistances
Name Type
request AddressRecommendedDistance

Adds an AddressRecommendedDistance.

PUT AddressRecommendedDistances/{id}
Name Type
id Int32
request AddressRecommendedDistance

Edits an AddressRecommendedDistance.
When editing an existing AddressRecommendedDistance through the API, the following properties are required:
Id: Must be set to the Id of a valid AddressRecommendedDistance.
RecommendedDistance: This can change.
Note: You cannot edit the two address Ids using this method. In order to do this, create another recommended distance and delete the original.

DELETE AddressRecommendedDistances/{id}
Name Type
id Int32

Deletes an AddressRecommendedDistance.


Advances (9 actions)

The advances controller.

VerbAPI elementParametersDescription
OPTIONS Advances

Gets all of the available end points from the Advance part of the API.

GET Advances/GetAdvancesForCurrency?currencyId={currencyId}
Name Type
currencyId Int32

Gets the available Advances for the currency supplied and current employee.

GET Advances/GetAdvancesForUser

Gets the available Advances for the currency supplied and current employee.

GET Advances/GetUnsettledAdvancesForCurrentUser

Gets the available MyAdvanceResponse containing a list of MyAdvance for the current user.

POST Advances/RequestAdvance
Name Type
request AdvanceRequest

Gets the available Advances for the currency supplied and current employee.

PUT Advances/UpdateAdvance
Name Type
request AdvanceRequest

Updates the existing Advances for the currency supplied and current employee.

PUT Advances/ApproveAdvance?advanceId={advanceId}
Name Type
advanceId Int32

The approve advance.

PUT Advances/PayAdvance?advanceId={advanceId}
Name Type
advanceId Int32

The pay advance.

DELETE Advances/DeleteAdvance?advanceId={advanceId}
Name Type
advanceId Int32

The delete advance endponit.


Allowances (7 actions)

Manages operations on Allowances.

VerbAPI elementParametersDescription
OPTIONS Allowances

Gets all of the available end points from the Allowances part of the API.

GET Allowances

Gets all Allowances in the system.

GET Allowances/{id}
Name Type
id Int32

Gets a single Allowance, by its Id.

GET Allowances/Find?Label={Label}&Description={Description}&SearchOperator={SearchOperator}
Name Type
criteria FindAllowancesRequest

Finds all Allowances matching specified criteria.
Currently available querystring parameters:
Label, Description
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST Allowances
Name Type
request Allowance

Adds an Allowance.

PUT Allowances/{id}
Name Type
id Int32
request Allowance

Edits an Allowance.

DELETE Allowances/{id}
Name Type
id Int32

Deletes an Allowance.


BankAccounts (11 actions)

Manages operations on BankAccount.

VerbAPI elementParametersDescription
OPTIONS BankAccounts

Gets all of the available end points from the BankAccount part of the API.

GET BankAccounts

Gets all the BankAccounts in the system.

GET BankAccounts/{id}
Name Type
id Int32

Gets the BankAccount matching the specified id.

GET BankAccounts/Employee?employeeId={employeeId}&includeArchived={includeArchived}
Name Type
employeeId Int32
includeArchived Boolean

Gets the BankAccount matching the specified employee id.

GET BankAccounts/GetBankAccountsForCurrentUser

Gets a list of BankAccount for current user.

POST BankAccounts
Name Type
request BankAccount

Saves a BankAccount.

PUT BankAccounts
Name Type
request BankAccount

Updates a BankAccount.

PUT BankAccounts/ChangeBankAccountStatus?id={id}&archive={archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a BankAccount as the current user

PATCH BankAccounts/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a BankAccount as an administrator

DELETE BankAccounts/DeleteBankAccount?id={id}
Name Type
id Int32

Deletes the current user's BankAccount by its Id

DELETE BankAccounts/{id}
Name Type
id Int32

Deletes a BankAccount.


BudgetHolders (7 actions)

Manages operations on BudgetHolders

VerbAPI elementParametersDescription
OPTIONS BudgetHolders

Gets all of the available end points from the BudgetHolders part of the API.

GET BudgetHolders

Gets all BudgetHolders in the system.

GET BudgetHolders/{id}
Name Type
id Int32

Gets a single BudgetHolder, by its Id.

GET BudgetHolders/Find?Label={Label}&Description={Description}&EmployeeId={EmployeeId}&SearchOperator={SearchOperator}
Name Type
criteria FindBudgetHoldersRequest

Finds all BudgetHolder matching specified criteria.
Currently available querystring parameters:
Label
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST BudgetHolders
Name Type
request BudgetHolder

Adds a BudgetHolder.

PUT BudgetHolders/{id}
Name Type
id Int32
request BudgetHolder

Edits a BudgetHolder.

DELETE BudgetHolders/{id}
Name Type
id Int32

Deletes a BudgetHolder.


CardProviders (2 actions)

Provides methods for handling CardProviders.

VerbAPI elementParametersDescription
OPTIONS CardProviders

Gets all of the available end points from the CardProviders part of the API.

GET CardProviders

Returns list of CardProviders


ClaimableItems (3 actions)

Manages operations on ClaimableItems.

VerbAPI elementParametersDescription
OPTIONS ClaimableItems

Gets all of the available end points from the ClaimableItems part of the API.

GET ClaimableItems

Gets all ClaimableItem in the system.

POST ClaimableItems/AddClaimableItems
Name Type
claimableItem ClaimableItemsRequest

Add the claimable items for the user, item will appear when user adds a new expense.


ClaimReasons (7 actions)

Manages operations on ClaimReasons

VerbAPI elementParametersDescription
OPTIONS ClaimReasons

Gets all of the available end points from the ClaimReasons part of the API.

GET ClaimReasons

Gets all ClaimReasons in the system.

GET ClaimReasons/{id}
Name Type
id Int32

Gets a single ClaimReason, by its Id.

GET ClaimReasons/Find?Label={Label}&Description={Description}&SearchOperator={SearchOperator}
Name Type
criteria FindClaimReasonsRequest

Finds all ClaimReasons matching specified criteria.
Currently available querystring parameters:
Label
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST ClaimReasons
Name Type
request ClaimReason

Adds a ClaimReason.

PUT ClaimReasons/{id}
Name Type
id Int32
request ClaimReason

Edits a ClaimReason.

DELETE ClaimReasons/{id}
Name Type
id Int32

Deletes a ClaimReason.


Claims (42 actions)

Manages operations on Claims.

VerbAPI elementParametersDescription
OPTIONS Claims

Gets all of the available end points from the Claims part of the API.

GET Claims/{id}
Name Type
id Int32

Gets a single Claim, by its Id.

GET Claims/{crn}
Name Type
crn String

Gets a single Claim, by its ClaimReferenceNumber (CRN).

GET Claims/GetClaimBasicById/{id}
Name Type
id Int32

Gets a single Claim, by its Id.

GET Claims/GetClaimDefinition?id={id}
Name Type
id Int32

Gets a single ClaimDefinitionResponse, by its Id.

GET Claims/GetDefaultClaimDefinition

This is used to help build the new claim form. Gets a single ClaimDefinitionResponse with the determined claim name and UDF information.

GET Claims/CheckJustificationsHaveBeenProvidedByAuthoriser?id={id}
Name Type
id Int32

Checks that the flags associated against the expense items relating to the claim Id have justifications from the authoriser, if mandatory

GET Claims/ExpenseItems?claimId={claimId}
Name Type
claimId Int32

Gets all of the expense items on a claim.

GET Claims/ExpenseItemsForApprover?claimId={claimId}
Name Type
claimId Int32

Gets all of the expense items on a claim for the approver.

GET Claims/BasicExpenseItemsForApprover?claimId={claimId}
Name Type
claimId Int32

Gets all of the basic expense items on a claim for the approver.

GET Claims/GetClaimExpenseOverview?claimId={claimId}
Name Type
claimId Int32

Gets the basic expense item details that belong to a claim

GET Claims/AwaitingApproval

Gets the list of claims awaiting approval by the employee

GET Claims/GetUnsubmitted

Gets the list of unsubmitted claims that belong to the current user.

GET Claims/GetSubmitted

Gets the list of submitted claims that belong to the current user.

GET Claims/GetPrevious

Gets the list of previous claims that belong to the current user.

GET Claims/SearchApprovedClaims?searchInput={searchInput}
Name Type
searchInput String

Gets the list of previous claims that belong to the current user and match the search criteria.

GET Claims/AwaitingApprovalCount

Gets the count of claims awaiting approval by the mobile user.

GET Claims/GetClaimCountByEmployeeAndClaimStage?claimStage={claimStage}
Name Type
claimStage ClaimStage

Gets the total number of claims in the account for the current employee at a given claim stage. If not supplied, the claim stage will default to ClaimStage.Any

GET Claims/GetTotalClaimCount

Gets the total number of claims in the system for the account

GET Claims/GetDefaultClaimNumber?employeeId={employeeId}
Name Type
employeeId Int32

Gets the default claim number

GET Claims/GetCurrentClaimsForAllUsers

Gets all current claims for all users in the system.

GET Claims/GetClaimSubmissionDetails?id={id}
Name Type
id Int32

Gets ClaimSubmission details, by its Id.

GET Claims/GetClaimHistory?claimId={claimId}
Name Type
claimId Int32

Gets claim history

GET Claims/GetClaimCountForAllStages

Gets the number of claims at the stages of Current, Submitted, and Previous for the current employee.

GET Claims/GetClaimantStatistics

Gets the claimants statistical counts for the current employee.

POST Claims/AddDefaultClaim?employeeId={employeeId}
Name Type
employeeId Int32

Adds the default claim number.

POST Claims/CreateClaim
Name Type
claim ClaimDefinition

Creates a new claim for the user.

POST Claims/DetermineIfClaimCanBeSubmitted?claimId={claimId}
Name Type
claimId Int32

Checks if a claim can be submitted

POST Claims/DetermineIfClaimCanBeUnsubmitted?claimId={claimId}
Name Type
claimId Int32

Checks if a claim can be unsubmitted

POST Claims/SubmitClaim
Name Type
claimSubmissionRequest ClaimSubmissionRequest

Submit claim.

POST Claims/UnsubmitClaim?claimId={claimId}
Name Type
claimId Int32

Unsubmit claim.

POST Claims/GetApprover?total={total}&employeeId={employeeId}
Name Type
total Decimal
employeeId Int32

Generates the GetApprover HTML, which is used to allow users to select who the claim should go to in the next stage.

POST Claims/SaveClaimantJustifications
Name Type
flagsJustificationRequest FlagsJustificationRequest

Saves justifications provided by the claimant for the given flagged item ids.

POST Claims/GenerateFlagsGrid
Name Type
flagsGridRequest GetFlagsGridRequest

Generates the data for the expense flag grid

POST Claims/SaveEnvelopeInformationAgainstAClaim
Name Type
saveEnvelopesRequest SaveEnvelopesRequest

Saves envelope information against a claim

POST Claims/AssignClaims
Name Type
request AssignClaimsRequest

Assign the claims related to the provided claimIds to the current user.

POST Claims/UnassignClaim?claimId={claimId}
Name Type
claimId Int32

Unassigns the claim related to the provided claimId from the current user

PUT Claims/Allocate?claimId={claimId}
Name Type
claimId Int32

Allocates a claim for payment.

PUT Claims/ApproveClaim?claimId={claimId}
Name Type
claimId Int32

Approves a claim, sending to the next stage if applicable.

PUT Claims/UpdateClaim
Name Type
claim ClaimDefinition

Updates the claim details for the user.

PUT Claims/SaveAuthoriserJustification
Name Type
flagsJustificationRequest FlagsJustificationRequest

Saves justifications provided by the approver for the given flagged item ids.

DELETE Claims/DeleteClaim?claimId={claimId}
Name Type
claimId Int32

Deletes a claim for the user.


CorporateCards (17 actions)

Manages operations on CorporateCards

VerbAPI elementParametersDescription
OPTIONS CorporateCards

Gets all of the available end points from the CorporateCards part of the API.

GET CorporateCards

Gets all CorporateCards in the system.

GET CorporateCards/{id}
Name Type
id Int32

Gets a single CorporateCard, by its Id.

GET CorporateCards/ByEmployee/{id}
Name Type
id Int32

Gets all the Corporate Cards for the supplied Employee.

GET CorporateCards/Find?CardProviderId={CardProviderId}&IsActive={IsActive}&EmployeeId={EmployeeId}&SearchOperator={SearchOperator}
Name Type
criteria FindCorporateCardsRequest

Finds all CorporateCard matching specified criteria.
Currently available querystring parameters:
EmployeeId
CardProviderId
IsActive
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

GET CorporateCards/CardStatementsForCurrentUser

Gets all the CardStatements for the current user

GET CorporateCards/AdditionalTransactionInfo/{transactionId}
Name Type
transactionId Int32

Gets additional transaction information for supplied transaction id.

GET CorporateCards/AdditionalTransactionInfoAsApprover/{transactionId}/{expenseId}
Name Type
transactionId Int32
expenseId Int32

Gets additional transaction information for the supplied transaction Id as an approver.

GET CorporateCards/CreditCardTransactions?statementId={statementId}
Name Type
statementId Int32

Gets the transactions for the supplied statementId id.

POST CorporateCards
Name Type
request CorporateCard

Adds a CorporateCard.

POST CorporateCards/ImportTransactions
Name Type
request ImportTransactionRequest

Imports credit card transaction data.

PUT CorporateCards/{id}
Name Type
id Int32
request CorporateCard

Edits a CorporateCard.

PUT CorporateCards/UnmatchTransaction?expenseId={expenseId}
Name Type
expenseId Int32

Unmatch a transaction from expense item.

PUT CorporateCards/MatchTransaction?transactionId={transactionId}&expenseId={expenseId}
Name Type
transactionId Int32
expenseId Int32

Match a transaction to an expense item

PUT CorporateCards/AllocateCardToEmployee
Name Type
request AllocateCardToEmployeeRequest

Allocates a corporate card to an employee.

DELETE CorporateCards/{id}
Name Type
id Int32

Deletes a CorporateCard.

DELETE CorporateCards/DeleteStatementById?statementId={statementId}
Name Type
statementId Int32

Deletes a statement by its Id.


CostCodes (9 actions)

Manages operations on CostCodes.

VerbAPI elementParametersDescription
OPTIONS CostCodes

Gets all of the available end points from the CostCode part of the API.

GET CostCodes

Gets all CostCodes in the system.

GET CostCodes/GetAllActive

Gets all active costs codes

GET CostCodes/{id}
Name Type
id Int32

Gets a single CostCode, by its Id.

GET CostCodes/Find?Label={Label}&Description={Description}&SearchOperator={SearchOperator}
Name Type
criteria FindCostCodesRequest

Finds all CostCodes matching specified criteria.
Currently available querystring parameters:
Label
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST CostCodes
Name Type
request CostCode

Adds a CostCode.

PUT CostCodes/{id}
Name Type
id Int32
request CostCode

Edits a CostCode.

PATCH CostCodes/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a CostCode, depeding on what is passed in.

DELETE CostCodes/{id}
Name Type
id Int32

Deletes a CostCode.


Countries (8 actions)

Handles the creation, deletion and update of Countries within the SpendManagementAPI.

VerbAPI elementParametersDescription
OPTIONS Countries

Gets all of the available end points from the Countries part of the API.

GET Countries

Gets all Countries available for the user.

GET Countries/{id}
Name Type
id Int32

Gets a Country matching the specified id

GET Countries/Find?CountryId={CountryId}&GlobalCountryId={GlobalCountryId}&Label={Label}&CountryCode={CountryCode}&Alpha3CountryCode={Alpha3CountryCode}&Numeric3CountryCode={Numeric3CountryCode}&Archived={Archived}&SearchOperator={SearchOperator}
Name Type
criteria FindCountryRequest

Finds all Countries matching specified criteria. Search for CountryId = 0 to get all unmapped global countries. Available querystring parameters : SearchOperator,Alpha3CountryCode,Country,CountryCode,CountryId,GlobalCountryId,Numeric3CountryCode,Archived. Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST Countries
Name Type
request Country

Adds a Country for the current user and sets up VAT rates for that country

PUT Countries/{id}
Name Type
id Int32
request Country

Archive/ unarchive an existing country record. Add/ update/ delete VAT rates. Use the ForDelete flag on the VatRate to delete a VAT rate associated with the country.

PATCH Countries/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a Country, depending on what is passed in.

DELETE Countries/{id}
Name Type
id Int32

Deletes a Country associated with the current user


Currencies (12 actions)

Manages operations on Currencies.

VerbAPI elementParametersDescription
OPTIONS Currencies

Gets all of the available end points from the Currencies part of the API.

GET Currencies

Gets all Currencies available.

GET Currencies/{id}
Name Type
id Int32

Gets a Currency matching the specified id.

GET Currencies/ByNumericCode/{id}
Name Type
id Int32

Gets a Currency matching the specific code, as per ISO 3166-1

GET Currencies/ByAlphaCode/{id}
Name Type
id String

Gets a Currency matching the specific APLHA code, as per ISO 3166-1 - Alpha3

GET Currencies/ByGlobalCurrencyId/{id}
Name Type
id Int32

Gets a Currency matching the global currency I.D.

GET Currencies/Find?CurrencyId={CurrencyId}&GlobalCurrencyId={GlobalCurrencyId}&Archived={Archived}&Label={Label}&Symbol={Symbol}&SearchOperator={SearchOperator}
Name Type
criteria FindCurrencyRequest

Finds all Currencies matching specified criteria. Available querystring parameters : SearchOperator,AlphaCode,Name,NumericCode,CurrencyId,GlobalCurrencyId,Symbol,Archived. Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

GET Currencies/GetActiveCurrenciesForAccount/{accountId}
Name Type
accountId Int32

Gets all the active currencies for a specific account.

POST Currencies
Name Type
request Currency

Adds a Currency for the current user. Currency type for the user can also be provided with the currency.

PUT Currencies/{id}
Name Type
id Int32
request Currency

Archive/ unarchive the specified Currency by setting the Archived property to true Updates the Currency type for the current user. Cannot be used to update the GlobalCountry associated with the currency

PATCH Currencies/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a Currency, depending on what is passed in.

DELETE Currencies/{id}
Name Type
id Int32

Deleted the specified Currency.


CurrencyExchangeRates (8 actions)

Manage Currency Exchange Rates

VerbAPI elementParametersDescription
OPTIONS CurrencyExchangeRates

Gets all of the available end points from the CurrencyExchangeRates part of the API.

GET CurrencyExchangeRates/{id}
Name Type
id Int32

Gets exchange rates for specified currency id

POST CurrencyExchangeRates/GetExchangeRate?dateTimeOfRate={dateTimeOfRate}&fromCurrencyId={fromCurrencyId}&toCurrencyId={toCurrencyId}
Name Type
dateTimeOfRate DateTime
fromCurrencyId Int32
toCurrencyId Int32

Gets the exchange rate for the specified criteria

POST CurrencyExchangeRates/AddToAccount?accountId={accountId}
Name Type
accountId Int32
exchangeRates CurrencyExchangeRatesList

Internal method used by the currency auto updating tool. Adds exchange rates directly to the specified account.

PUT CurrencyExchangeRates/{id}
Name Type
id Int32
request CurrencyExchangeRates

Updates the exchange rate tables for a currency id

PATCH CurrencyExchangeRates/{id}/UpdateExchangeRates
Name Type
id Int32
exchangeRates CurrencyExchangeRates

Merges a batch of exchange rates with the existing exchange rates and updates the currency type

PATCH CurrencyExchangeRates/{id}/DeleteExchangeRate/{exchangeRateTypeId}/{toCurrencyId}
Name Type
id Int32
exchangeRateTypeId Int32
toCurrencyId Int32

Deletes the specified exchange rate id

DELETE CurrencyExchangeRates/{id}
Name Type
id Int32

Deletes the records for specified currency id


CustomEntities (1 actions)

VerbAPI elementParametersDescription
GET CustomEntities/{id}
Name Type
id Guid

Get the definition of an exising Custom Entity by the system ID


Departments (9 actions)

Manages operations on Departments.

VerbAPI elementParametersDescription
OPTIONS Departments

Gets all of the available end points from the Departments part of the API.

GET Departments

Gets all Departments in the system.

GET Departments/GetAllActive

Gets all active departments

GET Departments/{id}
Name Type
id Int32

Gets a single Department, by its Id.

GET Departments/Find?Label={Label}&Description={Description}&SearchOperator={SearchOperator}
Name Type
criteria FindDepartmentsRequest

Finds all Departments matching specified criteria.
Currently available querystring parameters:
Label
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST Departments
Name Type
request Department

Adds a Department.

PUT Departments/{id}
Name Type
id Int32
request Department

Edits a Department.

PATCH Departments/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a Department, depending on what is passed in.

DELETE Departments/{id}
Name Type
id Int32

Deletes a Department.


DutyOfCare (7 actions)

Contains Duty Of Care Email Reminder Specific Actions.

VerbAPI elementParametersDescription
OPTIONS DutyOfCare

Gets ALL of the available end points from the API.

GET DutyOfCare/GetDutyOfCareResults?expenseDate={expenseDate}
Name Type
expenseDate DateTime

Gets the duty of care results for the expense date.

GET DutyOfCare/VehicleDocumentsRequiredForDOC

Gets the duty of care documents required when a vehicle has been added.

GET DutyOfCare/GetSornVehicles?expenseDate={expenseDate}
Name Type
expenseDate DateTime

The get SORN vehicles for the current user.

POST DutyOfCare/FilterVehicleDocumentsWithLookupInformation
Name Type
filterVehicleLookupDocuments FilterVehicleLookupDocuments

Gets the duty of care documents required when a vehicle has been added.

PUT DutyOfCare/GetDutyOfCareResultsForEmployee
Name Type
request GetClaimantsVehiclesRequest

Gets the DutyOfCareCheckResults for a claimant/expense, when called as the claimant's approver

PUT DutyOfCare/GetSornVehiclesForEmployee
Name Type
request GetClaimantsVehiclesRequest

Gets the SornVehiclesResponse for a claimant/expense, when called as the claimant.


EmailNotifications (5 actions)

Contains operations for managing EmailNotifications.

VerbAPI elementParametersDescription
OPTIONS EmailNotifications

Gets all of the available end points from the EmailNotifications part of the API.

GET EmailNotifications/getStandardNotifications

Returns list of standard EmailNotifications.

GET EmailNotifications/getNhsNotifications

Returns list of NHS EmailNotifications.

PATCH EmailNotifications/{id}/AssignToEmployee/{eid}
Name Type
id Int32
eid Int32

Applies the supplied EmailNotification to the supplied Employee.

PATCH EmailNotifications/{id}/RevokeFromEmployee/{eid}
Name Type
id Int32
eid Int32

Unlinks the supplied AccessRole from the supplied Employee.


Employees (11 actions)

Manages operations on Employees.

VerbAPI elementParametersDescription
OPTIONS Employees

Gets all of the available end points from the Employees part of the API.

GET Employees

Gets all Employees in the system.

GET Employees/{id}
Name Type
id Int32

Gets the Employee matching the specified id.

GET Employees/Find?Title={Title}&UserName={UserName}&Forename={Forename}&Surname={Surname}&SearchOperator={SearchOperator}
Name Type
criteria FindEmployeeRequest

Finds all Employees matching the specified criteria.

POST Employees
Name Type
request Employee

Adds an Employee. You can leave out much of the information initially. You can update the record with corporate cards, cars, pool car associations, mobile devices, access role associations, work and home addresses and item roles by using the respective resources.

POST Employees/PassengerSearch
Name Type
request FindPassengerRequest

Finds all Passengers matching the specified criteria.

PUT Employees/{id}
Name Type
id Int32
request Employee

Updates the Employee record. Either provide only the elements to be updated or get the element data and then provide the modified record. Elements that support a ForDelete flag can be deleted. If the ForDelete flag is not supported, please provide the complete list for that element if the list is being modified.

PATCH Employees/ActivateEmployees/{sendWelcomeAndPasswordEmail}
Name Type
sendWelcomeAndPasswordEmail Boolean
request ActivateEmployeesRequest

Activates an Employee, optionally sending welcome and password emails. Provide a list of Employee Ids to activate.

PATCH Employees/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a Employee, depending on what is passed in.

PATCH Employees/{id}/ChangePassword
Name Type
id Int32
newPassword String

Changes an Employees password.

DELETE Employees/{id}
Name Type
id Int32

Deletes an Employee.


ESRAssignments (10 actions)

Manages operations on ESR.

VerbAPI elementParametersDescription
OPTIONS ESRAssignment

Gets all of the available end points from the ESRAssignments part of the API.

GET ESRAssignment

Gets all ESRAssignments in the system.

GET ESRAssignment/{id}
Name Type
id Int32

Gets a single ESRAssignments, by its Id.

GET ESRAssignment/ByAssignmentNumber?assignmentNumber={assignmentNumber}
Name Type
assignmentNumber String

Gets a single ESRAssignments, by its assignmentNumber.

GET ESRAssignment/ByAssignmentId?assignmentId={assignmentId}
Name Type
assignmentId Int32

Gets a single ESRAssignments, by its assignmentNumber.

GET ESRAssignment/GetAssignmentsforEmployee

Gets a list of ESRAssignmentsBasicResponse, for the current user

GET ESRAssignment/GetAllAssignmentsForSpecificEmployee/{employeeId}
Name Type
employeeId Int32

Gets a list of ESRAssignmentsBasicResponse for the specified employee

GET ESRAssignment/GetActiveAssignmentsforExpenseDate?expenseDate={expenseDate}
Name Type
expenseDate DateTime

Gets a list of ESRAssignmentsBasicResponse, for the current user and expense date.

POST ESRAssignment
Name Type
request EsrAssignmentRequest

Saves a ESRAssignments

DELETE ESRAssignment/{id}
Name Type
id Int32

Deletes a ESRAssignments by its Id


ExpenseCategories (9 actions)

ExpenseCategories are the user definable categories under which you can submit an expense claim.

VerbAPI elementParametersDescription
OPTIONS ExpenseCategories

Gets all of the available end points from the ExpenseCategories part of the API.

GET ExpenseCategories

Gets the entire list of ExpenseCategories.

GET ExpenseCategories/{id}
Name Type
id Int32

Gets a particular Expense Category by its Id.

GET ExpenseCategories/Find?Label={Label}&SearchOperator={SearchOperator}
Name Type
criteria FindExpenseCategoriesRequest

Finds all ExpenseCategories matching specified criteria.
Currently available querystring parameters: Name
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

GET ExpenseCategories/GetEmployeeExpenseCategories

Gets the Expense Categories for an employee

GET ExpenseCategories/GetEmployeeCategoriesAndSubCategories

Gets the Expense Categories and Sub Categories for an employee

POST ExpenseCategories
Name Type
request ExpenseCategory

Adds an Expense Category.

PUT ExpenseCategories/{id}
Name Type
id Int32
request ExpenseCategory

Edits an ExpenseCategory.

DELETE ExpenseCategories/{id}
Name Type
id Int32

Deletes an ExpenseCategory.


ExpenseItems (15 actions)

Manages operations on ExpenseItems.

VerbAPI elementParametersDescription
OPTIONS ExpenseItems

Gets all of the available end points from the ExpenseItems part of the API.

GET ExpenseItems/{id}
Name Type
id Int32

Gets a single ExpenseItem, by its Id.

GET ExpenseItems/GetExpenseItemCostCodeBreakdown/{id}
Name Type
id Int32

Gets the costcode breakdown for an expense item by the expense item Id

GET ExpenseItems/GetJourneySteps?expenseId={expenseId}
Name Type
expenseId Int32

Gets all the journey steps for an expense id.

GET ExpenseItems/GetHomeToOfficeMileageComment?expenseId={expenseId}
Name Type
expenseId Int32

Gets the message explaining what, if any, the home to calculation type is for this expense.

GET ExpenseItems/GetExpenseItemFlags?expenseId={expenseId}&validationPointId={validationPointId}&validationTypeId={validationTypeId}
Name Type
expenseId Int32
validationPointId Int32
validationTypeId Int32

Returns the list of FlagSummary associated with an expense item

GET ExpenseItems/GetExpenseItemDefinition?id={id}
Name Type
id Int32

This endpoint helps to build the add/edit expense form.

POST ExpenseItems
Name Type
request ExpenseItem

Adds an ExpenseItem.

POST ExpenseItems/SaveExpenseItem
Name Type
request ExpenseItem

Saves an ExpenseItem

POST ExpenseItems/DeleteExpenseItem/{id}
Name Type
id Int32

Deletes an expense item by its Id

POST ExpenseItems/DisputeExpenseItem?id={id}
Name Type
id Int32
reason String

Saves the employee's reason for disputing a returned item

PUT ExpenseItems/UpdateExpenseItem
Name Type
request UpdateExpenseItemRequest

Updates an ExpenseItem.

PUT ExpenseItems/ApproveItems
Name Type
request CheckAndPayActionRequest

Sets ExpenseItems to approved.

PUT ExpenseItems/UnapproveItem
Name Type
request CheckAndPayActionRequest

Sets an ExpenseItem to unapproved.

PUT ExpenseItems/ReturnExpenseItems
Name Type
request ReturnExpenseItemsRequest

Sets ExpenseItems to returned.


ExpenseSubCategories (13 actions)

Manages operations on ExpenseSubCategories.

VerbAPI elementParametersDescription
OPTIONS ExpenseSubCategories

Gets all of the available end points from the ExpenseSubCategory part of the API.

GET ExpenseSubCategories

Gets all ExpenseSubCategories available.

GET ExpenseSubCategories/{id}
Name Type
id Int32

Gets an ExpenseSubCategory matching the specified id.

GET ExpenseSubCategories/GetMySubCatsByItemRoles

Gets a list of the user's ExpenseSubCategoryItemRoleBasic.

GET ExpenseSubCategories/GetMyMileageSubCats

Gets all mileage ExpenseSubCategories that belong to the user's item roles.

GET ExpenseSubCategories/GetEmployeeMileageSubCats

Gets all mileage ExpenseSubCategoryBasic that belong to the employees's item roles.

GET ExpenseSubCategories/GetBySubcatNames/{ids}
Name Type
ids String

Gets a list of ExpenseSubCategoryNames for a list of subcat Ids

GET ExpenseSubCategories/GetExpenseSubcategoryBasicById/{id}
Name Type
id Int32

Gets the ExpenseSubCategoryBasic for the subcat Id

GET ExpenseSubCategories/Find?SubCatId={SubCatId}&CategoryId={CategoryId}&SubCat={SubCat}&AccountCode={AccountCode}&PdCat={PdCat}&Reimbursable={Reimbursable}&AlternateAccountCode={AlternateAccountCode}&ShortSubCategory={ShortSubCategory}&VatApplicable={VatApplicable}&SearchOperator={SearchOperator}
Name Type
criteria FindExpenseSubCategoriesRequest

Finds all ExpenseSubCategories matching specified criteria.

GET ExpenseSubCategories/GetExpenseSubCategoryByCategory?categoryId={categoryId}&isCorpCard={isCorpCard}&isMobileJourney={isMobileJourney}
Name Type
categoryId Int32
isCorpCard Boolean
isMobileJourney Boolean

Gets a List of ExpenseItemSubCats that belong to a Category ID

POST ExpenseSubCategories
Name Type
request ExpenseSubCategory

Adds a new ExpenseSubCategory with VAT rates.

PUT ExpenseSubCategories/{id}
Name Type
id Int32
request ExpenseSubCategory

Updates the ExpenseSubCategory, adds, updates, deletes VAT rates. To delete an associated VAT rate, set the ForDelete flag to true.

DELETE ExpenseSubCategories/{id}
Name Type
id Int32

Deletes theExpenseSubCategory with given id.


FilterRules (10 actions)

Manages operations on FilterRules.

VerbAPI elementParametersDescription
OPTIONS FilterRules

Gets all of the available end points from the FilterRule part of the API.

GET FilterRules

Gets all FilterRules in the system.

GET FilterRules/{id}
Name Type
id Int32

Gets a filter rule FilterRuleResponse , by its Id.

GET FilterRules/GetFilterRulesForAFilterType?filterType={filterType}
Name Type
filterType FilterType

Gets the GetFilterRulesResponse for a specific type. The filter type value

GET FilterRules/GetItems?filterType={filterType}&useDescription={useDescription}
Name Type
filterType FilterType
useDescription Boolean

Gets the FilterRules for the crieria. The filter type valueWhether the item description should be used, or the item name

GET FilterRules/GetFilterRuleControlNameForChild?filterType={filterType}
Name Type
filterType FilterType

Gets the FilterRuleControlNameResponse for a specific type. The filter type value

GET FilterRules/GetParentOrChildItem?filterType={filterType}&id={id}&isParent={isParent}&useDescription={useDescription}
Name Type
filterType FilterType
id Int32
isParent Boolean
useDescription Boolean

Gets the FilterRuleControlNameResponse for the criteria. The filter type valueThe indentifier of the element i.e. costcode Id.Whether the item is a parent and therefore the Id should be returned as wellWhether the item description should be used, or the item name

GET FilterRules/FilterCostCodes?filterType={filterType}&id={id}
Name Type
filterType FilterType
id Int32

Gets the list of for the specified Filter Type

GET FilterRules/FilterDepartments?filterType={filterType}&id={id}
Name Type
filterType FilterType
id Int32

Gets the list of for the specified Filter Type

GET FilterRules/FilterProjectCodes?filterType={filterType}&id={id}
Name Type
filterType FilterType
id Int32

Gets the list of for the specified Filter Type


FinancialYears (2 actions)

Provides methods for handling FinancialYears.

VerbAPI elementParametersDescription
OPTIONS FinancialYears

Gets all of the available end points from the FinancialYears part of the API.

GET FinancialYears

Returns list of FinancialYears


FlagManagement (6 actions)

Manages operations on Flag.

VerbAPI elementParametersDescription
OPTIONS FlagManagement

Gets all of the available end points from the Flag part of the API.

POST FlagManagement/CreateFlag
Name Type
flagRequest Flag

Creates a flag

POST FlagManagement/AssociateItemRolesWithFlag
Name Type
request AssociateItemRolesWithFlagRequest

Associates item roles with a flag

POST FlagManagement/AssociateExpenseItemsWithFlag
Name Type
request AssociateExpenseItemsWithFlagRequest

Associates expense items with a flag

POST FlagManagement/AssociateFieldsWithFlag
Name Type
request AssociateFieldsWithFlagRequest

Associates fields with a flag

DELETE FlagManagement/DeleteFlag/{id}
Name Type
id Int32

Deletes a flag


GeneralOptions (6 actions)

Manages operations on General Options.

VerbAPI elementParametersDescription
OPTIONS GeneralOptions

Gets all of the available end points from the General Options part of the API.

GET GeneralOptions/GetAllBySubAccount?subAccountId={subAccountId}
Name Type
subAccountId Int32

Gets all GeneralOptions for the given subaccount Id.

GET GeneralOptions/GetByKeyAndSubAccount?key={key}&subAccountId={subAccountId}
Name Type
key String
subAccountId Int32

Gets a single GeneralOption, by its key and subaccount Id.

PUT GeneralOptions
Name Type
request GeneralOption

Updates a the value of a GeneralOption, by its key and subaccount Id.

PUT GeneralOptions/UpdateMultipleGeneralOptions
Name Type
request UpdateMultipleGeneralOptions

Updates multiple GeneralOptions, by its key and subaccount Id.

PUT GeneralOptions/SaveDisplayFieldSetting
Name Type
request GeneralOptionsDisplayFieldSetting

Saves the that can be enabled/disabled in general options to display specific fields when claiming for an expense


Globals (4 actions)

Manages operations on Global Locales.

VerbAPI elementParametersDescription
OPTIONS Globals

Gets all of the available end points from the Globals part of the API.

GET Globals/Locales

Returns list of Locales.

GET Globals/GlobalCountries

Returns list of GlobalCountries.

GET Globals/GlobalCurrencies

Returns list of GlobalCurrencies.


Holidays (10 actions)

Manages operations on Holiday.

VerbAPI elementParametersDescription
OPTIONS Holidays

Gets all of the available end points from the Holiday part of the API.

GET Holidays

Gets all Holiday available to the current user.

GET Holidays/GetAllHolidaysForEmployee/{id}
Name Type
id Int32

Gets all Holiday available to a given user

GET Holidays/GetHolidayForEmployee/{employeeId}/{holidayId}
Name Type
employeeId Int32
holidayId Int32

Gets a Holiday by its Id and the id of the employee it is assigned to.

POST Holidays/Save
Name Type
request HolidayRequest

Saves a Holiday for the current user.

POST Holidays/AddHolidayForEmployee
Name Type
request EmployeeHolidayRequest

Saves a Holiday for a given user.

PUT Holidays/Update
Name Type
request HolidayRequest

Updates a Holiday for the current user.

PUT Holidays/UpdateHolidayForEmployee
Name Type
request EmployeeHolidayRequest

Updates a Holiday for a given user.

DELETE Holidays/{id}
Name Type
id Int32

Deletes a Holiday by its Id.

DELETE Holidays/DeleteHolidayForEmployee/{employeeId}/{holidayId}
Name Type
employeeId Int32
holidayId Int32

Deletes a Holiday by its Id and the Id of the it is assigned to.


Hotel (3 actions)

Manages operations on Hotel.

VerbAPI elementParametersDescription
OPTIONS Hotels

Gets all of the available end points from the Hotel part of the API.

GET Hotels/GetHotelsByName?hotelName={hotelName}
Name Type
hotelName String

Gets a list of hotels that that match the hotel name search criteria

POST Hotels
Name Type
request Hotel

Saves a Hotel.


ItemRoles (11 actions)

Manages operations on List.

VerbAPI elementParametersDescription
OPTIONS ItemRoles

Gets all of the available end points from the List part of the API.

GET ItemRoles

Gets all List available.

GET ItemRoles/{id}
Name Type
id Int32

Gets an ItemRole matching the specified id.

GET ItemRoles/Find?ItemRoleId={ItemRoleId}&ItemRoleName={ItemRoleName}&ExpenseSubCategoryId={ExpenseSubCategoryId}&SearchOperator={SearchOperator}
Name Type
criteria FindItemRolesRequest

Finds all List matching specified criteria. Available querystring parameters : SearchOperator,ItemRoleId,RoleName, ExpenseSubCategory Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST ItemRoles
Name Type
request ItemRole

Adds an ItemRole with associated subcategory ids.

POST ItemRoles/AssignToEmployee/{eid}
Name Type
request EmployeeItemRole
eid Int32

Assigns the item role with start date and end date to the employee

PUT ItemRoles/{id}
Name Type
id Int32
request ItemRole

Updates ItemRole name, description and replaces existing subcategories

PUT ItemRoles/UpdateItemRoleForSubCats?itemRoleId={itemRoleId}
Name Type
request List`1
itemRoleId Int32

Associates Sub Categories with an Item Role

PATCH ItemRoles/{id}/AssignToEmployee/{eid}
Name Type
id Int32
eid Int32

Applies the supplied ItemRole to the supplied Employee.

PATCH ItemRoles/{id}/RevokeFromEmployee/{eid}
Name Type
id Int32
eid Int32

Unlinks the supplied ItemRole from the supplied Employee.

DELETE ItemRoles/{id}
Name Type
id Int32

Deletes an ItemRole with specified id.


Journeys (6 actions)

The controller handling journeys from mobile devices.

VerbAPI elementParametersDescription
OPTIONS Journeys

Gets ALL of the available end points from the API.

GET Journeys/GetEmployeeActiveJourneys

Gets all active journeys for an Employee

POST Journeys/SaveJourneys
Name Type
journeys List`1

Saves journeys for a mobile user.

POST Journeys/ReconcileMobileJourney
Name Type
mobileJourney MobileJourney

Converts a MobileJourney to a ExpenseItemDefinition, which can then be used to create an expense item.

PUT Journeys/UpdateJourneys
Name Type
journeys List`1

Update journeys for a mobile user.

DELETE Journeys/DeleteMobileJourney?journeyId={journeyId}
Name Type
journeyId Int32

Deletes a mobile journey


MileageCategories (13 actions)

Manages operations on Mileage Categories.

VerbAPI elementParametersDescription
OPTIONS MileageCategories

Gets all of the available end points from the MileageCategories part of the API.

GET MileageCategories

Gets all MileageCategories in the system.

GET MileageCategories/{id}
Name Type
id Int32

Gets a single MileageCategory, by its Id.

GET MileageCategories/GetMileageCategoriesForVehicleOnExpense?vehicleId={vehicleId}&subCatId={subCatId}&expenseDate={expenseDate}
Name Type
vehicleId Int32
subCatId Int32
expenseDate DateTime

Gets a list of GetMileageCategoriesResponse for the supplied vehicleId/subcatId If subcat has enforced mileage category then return this, not the vehicle's mileage categories

GET MileageCategories/Find?MileageCategoryId={MileageCategoryId}&VehicleJourneyRate={VehicleJourneyRate}&Comment={Comment}&FinancialYearId={FinancialYearId}&SearchOperator={SearchOperator}
Name Type
criteria FindMileageCategoriesRequest

Finds all MileageCategories specified criteria. Available querystring parameters : SearchOperator, MileageCategoryId, MileageCategoryName, Comment, FinancialYearId Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST MileageCategories/SaveMileageCategory
Name Type
request MileageCategoryRequest

Saves a MileageCategory.

POST MileageCategories/SaveMileageCategoryDateRanges?mileageCategoryId={mileageCategoryId}
Name Type
request MileageDateRangeRequest
mileageCategoryId Int32

Saves a list of DateRanges for the supplied MileageCategoryId.

POST MileageCategories/SaveDateRangeThresholds?mileageCategoryId={mileageCategoryId}&dateRangeId={dateRangeId}
Name Type
request MileageThresholdRequest
mileageCategoryId Int32
dateRangeId Int32

Saves a list of Thresholds for the supplied DateRangeId and MileageCategoryId.

POST MileageCategories/SaveThresholdFuelRate?mileageThresholdId={mileageThresholdId}
Name Type
request ThresholdFuelRateRequest
mileageThresholdId Int32

Saves a list of FuelRAtes for the supplied mileageThresholdId.

PUT MileageCategories/UpdateMileageCategory
Name Type
request MileageCategoryRequest

Updates a MileageCategory.

PUT MileageCategories/UpdateMileageCategoryDateRanges?mileageCategoryId={mileageCategoryId}
Name Type
request MileageDateRangeRequest
mileageCategoryId Int32

Updates a list of DateRanges for the supplied MileageCategoryId.

PUT MileageCategories/UpdateDateRangeThresholds?mileageCategoryId={mileageCategoryId}&dateRangeId={dateRangeId}
Name Type
request MileageThresholdRequest
mileageCategoryId Int32
dateRangeId Int32

Updates a list of Thresholds for the supplied DateRangeId and MileageCategoryId.

DELETE MileageCategories/{id}
Name Type
id Int32

Deletes a MileageCategory with specified id


MobileBroadcastMessages (2 actions)

The mobile broadcast messages version 1 controller.

VerbAPI elementParametersDescription
OPTIONS MobileBroadcastMessages

Gets ALL of the available end points from the API.

GET MobileBroadcastMessages

Gets all the active MobileBroadcastMessagesResponse


MobileInformationMessages (2 actions)

The mobile information messages version 1 controller.

VerbAPI elementParametersDescription
OPTIONS MobileInformationMessages

Gets ALL of the available end points from the API.

GET MobileInformationMessages

Gets all the active MobileInformationMessagesResponse


MyDetails (5 actions)

Manages operations on MyDetails.

VerbAPI elementParametersDescription
OPTIONS MyDetails

Gets all of the available end points from the MyDetail part of the API.

GET MyDetails/{id}
Name Type
id Int32

Gets the Employee matching the specified id.

GET MyDetails/GetMyDetails

Gets the Employee for the current employee

PUT MyDetails/ChangeMydetail
Name Type
request MyDetailRequest

Updates the "My Details" part of an Employee.

PUT MyDetails/NotifyAdminOfChange
Name Type
changeDetails String

Sends an email to the account administrator with the employee's requested changes to their "My Detail" part of an employee


NhsTrust (3 actions)

Manages get operations on NHS Trusts.

VerbAPI elementParametersDescription
OPTIONS NHSTrusts

Gets all of the available end points from the NhsTrust part of the API.

GET NHSTrusts

Gets all NhsTrusts in the system.

GET NHSTrusts/{id}
Name Type
id Int32

Gets a single NhsTrust, by its Id.


OdometerReadings (9 actions)

Manages operations on OdometerReadings.

VerbAPI elementParametersDescription
OPTIONS OdometerReadings

Gets all of the available end points from the OdometerReadings part of the API.

GET OdometerReadings/ForCar/{id}
Name Type
id Int32

Gets all OdometerReadings in the system for a given car.

GET OdometerReadings/GetLatestOdometerReading?id={id}
Name Type
id Int32

Gets the latest OdometerReading in the system for a given car.

GET OdometerReadings/GetVehiclesOdometer

Gets all vehicles in system that require odometer readings for given user.

GET OdometerReadings/{id}
Name Type
id Int32

Gets a single OdometerReading, by its Id.

POST OdometerReadings
Name Type
request OdometerReading

Adds an OdometerReading.

POST OdometerReadings/SaveOdometerReadings
Name Type
request OdometerReadingBusiness

Adds list of OdometerReadings.

PUT OdometerReadings/{id}
Name Type
id Int32
request OdometerReading

Edits an OdometerReading.

DELETE OdometerReadings/{id}
Name Type
id Int32

Deletes an OdometerReading.


Organisations (4 actions)

Manages operations on Organisations.

VerbAPI elementParametersDescription
OPTIONS Organisations

Gets all of the available end points from the Organisation part of the API.

GET Organisations

Gets all Organisations in the system.

GET Organisations/Find?Label={Label}&Comment={Comment}&Code={Code}&Archived={Archived}&AddressLine1={AddressLine1}&City={City}&PostCode={PostCode}
Name Type
criteria FindOrganisationRequest

Finds all Organisation matching specified criteria.

POST Organisations
Name Type
request Organisation

Adds an Organisation.


P11DCategories (7 actions)

Facilitates the management of P11D Categories. See P11DCategory.

VerbAPI elementParametersDescription
OPTIONS P11DCategories

Gets all of the available end points from the P11DCategories part of the API.

GET P11DCategories

Gets all P11DCategories within the system.

GET P11DCategories/{id}
Name Type
id Int32

Gets a P11DCategory with the supplied id.

GET P11DCategories/Find?Label={Label}&SearchOperator={SearchOperator}
Name Type
criteria FindP11DCategoryRequest

Finds all P11DCategories matching specified criteria.
Currently available querystring parameters:
Label, SubCatIds
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST P11DCategories
Name Type
request P11DCategory

Adds a P11DCategory.

PUT P11DCategories/{id}
Name Type
id Int32
request P11DCategory

Edits a P11DCategory.

DELETE P11DCategories/{id}
Name Type
id Int32

Deletes a P11DCategory.


ProjectCodes (9 actions)

Manages operations on ProjectCodes

VerbAPI elementParametersDescription
OPTIONS ProjectCodes

Gets all of the available end points from the ProjectCodes part of the API.

GET ProjectCodes

Gets all ProjectCodes in the system.

GET ProjectCodes/{id}
Name Type
id Int32

Gets a single ProjectCode, by its Id.

GET ProjectCodes/GetAllActive

Gets all active project codes

GET ProjectCodes/Find?Label={Label}&Description={Description}&SearchOperator={SearchOperator}
Name Type
criteria FindProjectCodesRequest

Finds all ProjectCodes matching specified criteria.
Currently available querystring parameters:
Label
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST ProjectCodes
Name Type
request ProjectCode

Adds a ProjectCode.

PUT ProjectCodes/{id}
Name Type
id Int32
request ProjectCode

Edits a ProjectCode.

PATCH ProjectCodes/{id}/Archive/{archive}
Name Type
id Int32
archive Boolean

Archives or un-archives a ProjectCode, depeding on what is passed in.

DELETE ProjectCodes/{id}
Name Type
id Int32

Deletes a ProjectCode.


Receipt (6 actions)

Manages operations on Receipt.

VerbAPI elementParametersDescription
OPTIONS Receipt

Gets all of the available end points from the Receipt part of the API.

GET Receipt/{expenseId}?generateThumbnails={generateThumbnails}
Name Type
expenseId Int32
generateThumbnails Boolean

Gets a list of receipts for the expense Id

POST Receipt/UploadReceipt
Name Type
receiptObject ReceiptRequest

Uploads a base64 encoded receipt.

POST Receipt/UploadReceiptWithFullReceiptReturn
Name Type
receiptObject ReceiptRequest

Uploads a base64 encoded receipt and returns the receipt data for the uploaded receipt.

POST Receipt/DeleteReceiptWithApproverJustification
Name Type
request DeleteReceiptAsApproverRequest

Updates the claim history with the approver's reason for deleteing the receipt, then deletes the receipt.

DELETE Receipt/{id}
Name Type
id Int32

Deletes a receipt by its Id.


SignOffGroups (7 actions)

Manages Operations on SignOffGroups.

VerbAPI elementParametersDescription
OPTIONS SignOffGroups

Gets all of the available end points from the SignOffGroups part of the API.

GET SignOffGroups

Gets all SignOffGroups in the system.

GET SignOffGroups/{id}
Name Type
id Int32

Gets a single SignOffGroup, by its Id.

GET SignOffGroups/Find?GroupId={GroupId}&GroupName={GroupName}&SearchOperator={SearchOperator}
Name Type
criteria FindSignOffGroupsRequest

Finds all SignOffGroups matching specified criteria. Available querystring parameters : SearchOperator,GroupId,GroupName Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST SignOffGroups
Name Type
request SignOffGroup

Adds a SignOffGroup

PUT SignOffGroups/{id}
Name Type
id Int32
request SignOffGroup

Edits a SignOffGroup.

DELETE SignOffGroups/{id}
Name Type
id Int32

Deletes a SignOffGroup with the specified id.


Teams (9 actions)

Manages operations on Teams.

VerbAPI elementParametersDescription
OPTIONS Teams

Gets all of the available end points from the Teams part of the API.

GET Teams

Gets all Teams in the system.

GET Teams/{id}
Name Type
id Int32

Gets a single Team, by its Id.

GET Teams/Find?Label={Label}&Description={Description}&SearchOperator={SearchOperator}
Name Type
criteria FindTeamsRequest

Finds all Teams matching specified criteria.
Currently available querystring parameters:
Label, Description
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

POST Teams
Name Type
request Team

Adds a Team.

PUT Teams/{id}
Name Type
id Int32
request Team

Edits a Team.

PATCH Teams/{id}/ModifyEmployees
Name Type
id Int32
request TeamLinkToMembersRequest

Modifies the list of employees for a given Team.

PATCH Teams/{id}/ChangeLeader/{teamLeaderId}
Name Type
id Int32
teamLeaderId Int32

Changes the team leader of the Team.

DELETE Teams/{id}
Name Type
id Int32

Deletes a Team.


Tooltips (2 actions)

Manages operations on Tooltips.

VerbAPI elementParametersDescription
OPTIONS Tooltips

Gets all of the available end points from the Tooltip part of the API.

GET Tooltips/{id}
Name Type
id Guid

Gets a specific Tooltip in the system.


UserDefinedFields (5 actions)

Contains a few utility methods for getting UserDefinedFields.

VerbAPI elementParametersDescription
OPTIONS UserDefinedFields

Gets all of the available end points from the UserDefinedFields part of the API.

GET UserDefinedFields

Gets all the UserDefinedFields

GET UserDefinedFields/{id}
Name Type
id Int32

Gets the UserDefinedField for the specified id

POST UserDefinedFields/SaveUserDefinedField
Name Type
request UserDefinedFieldRequest

Saves a UserDefinedFieldRequest

DELETE UserDefinedFields/{id}
Name Type
id Int32

Deleted the specified UserDefinedField by its Id


Vehicles (15 actions)

Manages operations on Vehicles.

VerbAPI elementParametersDescription
OPTIONS Vehicles

Gets all of the available end points from the Vehicles part of the API.

GET Vehicles

Gets all Pool cars for this account.
See Employee to get Employee-owned cars.

GET Vehicles/{id}
Name Type
id Int32

Gets a single Vehicle, by its Id.

GET Vehicles/Find?Make={Make}&Model={Model}&Registration={Registration}&Active={Active}&Approved={Approved}&StartsBeforeOrOn={StartsBeforeOrOn}&StartsAfter={StartsAfter}&EndsBeforeOrOn={EndsBeforeOrOn}&EndsAfter={EndsAfter}&OdometerReadingOver={OdometerReadingOver}&OdometerReadingUnder={OdometerReadingUnder}&SearchOperator={SearchOperator}
Name Type
criteria FindVehiclesRequest

Finds all Vehicles matching specified criteria.
Currently available querystring parameters:
Make, Model, Registration, Active, Approved, StartsBefore, StartsAfter, EndsBefore, EndsAfter, OdometerReadingOver, OdometerReadingUnder.
Use SearchOperator=0 to specify an AND query or SearchOperator=1 for an OR query

GET Vehicles/GetVehicleDefinition

This endpoint helps to build the add vehicle form by returning the data required to popualte the form's controls

GET Vehicles/GetMyVehicles

Gets the list of the user's Vehicles.

GET Vehicles/GetMyVehiclesForAddEditExpense?claimId={claimId}&expenseDate={expenseDate}&subcatId={subcatId}
Name Type
claimId Int32
expenseDate DateTime
subcatId Int32

Gets the list of the user's Vehicles for the add/edit expense screen.

GET Vehicles/GetUnapprovedVehiclesCount

Gets a count of unapproved vehicles for the current user

GET Vehicles/LookupVehicle/{registrationNumber}
Name Type
registrationNumber String

Performs a lookup via an instance of

POST Vehicles
Name Type
request Vehicle

Adds a Vehicle. EmployeeId must be set to 0 for poolcars and to a valid employee id for an employee-owned car.
To add or remove an employee - poolcar association, please use the relevant link and un-link patches

PUT Vehicles/{id}
Name Type
id Int32
request Vehicle

Edits a Vehicle. EmployeeId must be set to 0 for poolcars and to a valid employee id for an employee-owned car.
To add or remove an employee - poolcar association, please use the relevant link and un-link patches

PATCH Vehicles/{id}/LinkPoolCarUser/{eid}
Name Type
id Int32
eid Int32

Links an Employee to a Vehicle. That is to say that the user is allowed to use that pool car.

PATCH Vehicles/{id}/UnLinkPoolCarUser/{eid}
Name Type
id Int32
eid Int32

Un-Links an Employee from a Vehicle. That is to say that the user is not allowed to use that pool car.

PATCH Vehicles/{id}/UnLinkAllPoolCarUsers
Name Type
id Int32

Un-Links ALL Employees from a Vehicle. That is to say that the pool car will then have no users.

DELETE Vehicles/{id}
Name Type
id Int32

Deletes a Vehicle.