BookmarkBookmark this page!
Feb 9, 2026
Syrinx 365 External Web API: Feature Guide & Overview

 

For Developers: This guide is for feature overview purposes only. For the full technical documentation and schema requirements, please visit this link.

 

This document outlines the functionality of the Syrinx 365 External Web API in a user-friendly, non-technical format. It is designed to help you understand what data can be transferred in and out of Syrinx to facilitate integrations with third-party software (such as Accounting packages, CRM systems, or websites).

 

 

⚠️ Important: Breaking Change Warning

Please Note: If you have an existing integration using the previous 'v4 API', switching to the External Web API is a breaking change. Your existing integrations will require amendments to continue working correctly unless you run both APIs side by side.

 


Licensing & Modules

The API is divided into 9 categories (modules).

  • Essentials: Included standard with the API.

  • Chargeable Modules (8): These require a specific license from the POR team. This structure ensures you only pay for the specific data endpoints that you require for your workflow.

The Modules:

  1. Essentials (Core)

  2. Accounting

  3. Assets

  4. CRM

  5. Contracts

  6. Mobile

  7. Sales

  8. Staff

  9. Workshop


API Terminology: The Basics

To help understand the descriptions below, here is a quick guide to the "Types" of endpoints used:

  • GET: Used to retrieve or "read" information from Syrinx (e.g., Get a list of customers).

  • POST: Typically used to push or "create" new data in Syrinx (e.g., Create a new contract) although it is occassionally used to update existing data.

  • PATCH: Used to update specific details on an existing record (e.g., Update a stock level).

  • DELETE: Used to remove data from Syrinx.


1. Essential Endpoints

These endpoints are included to ensure the system is communicating correctly.

Check Connection

  • Endpoint: GET .../Connection

  • Function: Checks that the connection to the API server is live and working.

Get API Info

  • Endpoint: GET .../ApiInfo

  • Function: Returns essential diagnostic info, including the API version number.

List Users

  • Endpoint: GET .../Users

  • Function: Returns a list of current Syrinx system users (not to be confused with staff members).


2. Accounting Endpoints

Core endpoints used to integrate Syrinx with third-party accounting software.

Update Customer Balances

  • Endpoint: POST .../Customers/UpdateCustomerBalances

  • Function: Pushes credit limits, account balances, and "On Hold" statuses from accounts into Syrinx.

Push Unpaid Invoices

  • Endpoint: POST .../CustomerUnpaidInvoices

  • Function: Allows the accounting system to push a list of ALL unpaid invoices into Syrinx (overwrites previous lists).

Get Depreciation

  • Endpoint: GET .../Depreciation

  • Function: Outputs information on fixed assets that have depreciated ready to be posted into the accounting system.

Mark Depreciation as Posted

  • Endpoint: POST .../Depreciation/MarkAsPosted

  • Function: Marks all depreciated Fixed Assets as "POSTED" in Syrinx once it has been posted to the accounting system.

Get Unposted Sales Invoices

  • Endpoint: GET .../Invoices

  • Function: Pulls a list of all Sales Ledger invoices from Syrinx that have not yet been marked as posted to accounts.

Mark Invoice as Unposted

  • Endpoint: POST .../Invoices/MarkAsUnPosted

  • Function: Reverts a specific invoice or batch ID to "UNPOSTED" status.

Mark Sales Invoices as Posted

  • Endpoint: POST .../Invoices/PostSaleInvoices

  • Function: Once invoices are pulled to the accounting system, this endpoint can be used to mark them as "POSTED" in Syrinx to prevent future duplication.

Get Payment Terms

  • Endpoint: GET .../PaymentTermTexts

  • Function: Returns the text descriptions for payment terms (e.g., "30 Days") from Syrinx.

Get Unposted Purchase Invoices

  • Endpoint: GET .../PurchaseInvoices

  • Function: Pulls a list of Purchase Ledger invoices that are not yet marked as posted.

Create Purchase Invoices

  • Endpoint: POST .../PurchaseInvoices/CreatePurchaseInvoices

  • Function: Pushes purchase invoices into Syrinx (Excludes cross-hire/transport invoices).

Mark Purchase Invoice as Unposted

  • Endpoint: POST .../PurchaseInvoices/MarkPivAsUnPosted

  • Function: Reverts a single purchase invoice to "UNPOSTED".

Mark Purchase Invoice as Posted

  • Endpoint: POST .../PurchaseInvoices/PostPurchaseInvoices

  • Function: Marks purchase invoices as "POSTED" after they have been retrieved and pushed into the accounting system.

Get Purchase Orders

  • Endpoint: GET .../PurchaseOrders

  • Function: Pulls Purchase Orders (POs) out of Syrinx.

Get Purchase Receipts

  • Endpoint: GET .../PurchaseReceipts

  • Function: Retrieves Goods Received Notes (GRNs) to push into the accounting system.

Create Purchase Receipt

  • Endpoint: POST .../PurchaseReceipts/Create

  • Function: Takes a GRN from an external system and creates it inside Syrinx as a 'purchase receipt'.


3. Asset Endpoints

Used to align assets and stock between systems, such as eCommerce catalogs or external Asset Registers.

Get Assets

  • Endpoint: GET .../Assets

  • Function: Core endpoint to retrieve equipment details (purchase info, location, meter readings) from Syrinx.

Create or Update Assets

  • Endpoint: POST .../Assets

  • Function: Creates or updates fleet assets or sales stock from an external system.

Log Asset Event

  • Endpoint: POST .../Assets/log

  • Function: Creates an entry in the asset's history log (useful if maintenance is managed externally).

Get Sales Stock

  • Endpoint: GET .../Assets/Sales

  • Function: Retrieves a pre-filtered list of just sales stock.

Create or Update Sales Stock

  • Endpoint: POST .../Assets/Sales

  • Function: Creates or updates items in the Sales Stock list.

Update Tracking Info

  • Endpoint: POST .../Assets/UpdateTrackingInfo

  • Function: Updates tracking info. Note: Syrinx automatically creates a log entry every 7 days for meter readings.

Get Hire Rates

  • Endpoint: GET .../EquipmentHireRates

  • Function: Returns a list of hire rates/standard pricing associated with assets.

Get Stock Levels

  • Endpoint: GET .../StockLevels

  • Function: Retrieves current stock counts (useful for external inventory management).

Adjust Stock Level

  • Endpoint: PATCH .../StockLevels/AdjustStockLevel

  • Function: Updates a single stock record (requires a reason code).

Get Stock Movements

  • Endpoint: GET .../StockMovements

  • Function: Retrieves the history of stock changes (sales, workshop consumption, adjustments).

Confirm Transfer

  • Endpoint: POST .../StockTransfer/Confirm

  • Function: Confirms that a specific stock transfer has taken place from an existing transfer note.

Create Transfer

  • Endpoint: POST .../StockTransfer/Create

  • Function: Initiates a transfer of stock transfer note from one depot to another.


4. Contract Endpoints

Highly versatile endpoints used for CRM integrations, Customer Portals, or Internal Staff Apps.

Add Charge Units

  • Endpoint: POST .../ChargeUnits

  • Function: Adds charge units to a hire contract.

Get Hire Contracts

  • Endpoint: GET .../HireContracts

  • Function: Retrieves contract headers, customer details and line items on a contract.

Cancel Unconfirmed Contract

  • Endpoint: POST .../HireContracts/CancelUnconfContracts

  • Function: Cancels a quote/provisional booking (Ideal for CRMs or Customer Portals).

Create Contract

  • Endpoint: POST .../HireContracts/Create

  • Function: Pushes a new contract into Syrinx (Quote, Provisional, or Firm). Key endpoint for online ordering.  

Log Excess Usage

  • Endpoint: POST .../HireContracts/ExcessUsageReadings

  • Function: Enters excess usage against an asset on a contract (Ideal for Telematics integrations).

Get Off-Hires

  • Endpoint: GET .../OffHireContracts

  • Function: Retrieves a list of unconfirmed off-hires (Ideal for yard apps or other internal tooling).

Create Off-Hire

  • Endpoint: POST .../OffHireContracts/Create

  • Function: Requests an off-hire (Ideal for Customer Portals allowing users to request collections).

Update Off-Hire

  • Endpoint: PATCH .../OffHireContracts/UpdateOffHireContracts

  • Function: Updates an existing partial off-hire against a contract.

Get Operated Shifts

  • Endpoint: GET .../OperatedShifts

  • Function: Returns a list of operator shifts.

Create Operated Shifts

  • Endpoint: POST .../OperatedShifts

  • Function: Creates new operator shifts.

Update Operated Shifts

  • Endpoint: PATCH .../OperatedShifts

  • Function: Updates existing operator shifts.

Delete Operated Shifts

  • Endpoint: DELETE .../OperatedShifts

  • Function: Removes an operator shift.

Get Timesheets

  • Endpoint: GET .../TimeSheets

  • Function: Retrieves submitted operator timesheets.

Create Timesheets

  • Endpoint: POST .../TimeSheets

  • Function: Creates operator timesheets in Syrinx.

Update Order Number

  • Endpoint: POST .../Contract/UpdateContractOrder

  • Function: Updates the Customer Order Number on a hire contract.

Get Suspense Days

  • Endpoint: GET .../HireContracts/SuspenseDays

  • Function: Retrieves a list of non-chargeable days (public holidays, bad weather, etc.).


5. CRM Endpoints

Used to sync customer data, sites, and correspondence history.

Get Contacts

  • Endpoint: GET .../Contact

  • Function: Retrieves both customer and supplier contact details.

Create or Update Contact

  • Endpoint: POST .../Contact

  • Function: Creates or updates a contact person in Syrinx, both customers and suppliers.

Get Customer Sites

  • Endpoint: GET .../Customer/Sites

  • Function: Returns site address information associated with a customer.

Create Customer Site

  • Endpoint: POST .../Customer/Sites

  • Function: Creates a new site record for a customer.

Get Correspondence

  • Endpoint: GET .../CustomerCorrespondence

  • Function: Retrieves "Customer Calls"/interaction history including follow up action information. 

Create Correspondence

  • Endpoint: POST .../CustomerCorrespondence

  • Function: Pushes external CRM notes or follow up actions into Syrinx as "Customer Calls".

Get Customers

  • Endpoint: GET .../Customers

  • Function: Retrieves the list of customers.

Create Customers

  • Endpoint: POST .../Customers

  • Function: Creates a new customer account (Prospect/Cash/Account) in Syrinx.

Get Sales Invoice History

  • Endpoint: GET .../Invoices/Sales

  • Function: A "Lookup" tool to see all Sales Ledger invoices (posted or unposted). Ideal for showing history on a Customer Portal.

Get Supplier Sites

  • Endpoint: GET .../Supplier/Sites

  • Function: Retrieves a list of supplier sites.

Get Suppliers

  • Endpoint: GET .../Suppliers

  • Function: Retrieves a list of suppliers.

Create Supplier

  • Endpoint: POST .../Suppliers

  • Function: Creates a new supplier account in Syrinx.


6. Mobile Endpoints

Designed primarily for integration with third-party logistics/driver mobile apps.

Create Driver Job

  • Endpoint: POST .../DriverJobs

  • Function: Creates a delivery or collection job (visible in Syrinx Driver Scheduler).

Remove Driver Job

  • Endpoint: DELETE .../DriverJobs/Remove

  • Function: Deletes a delivery or collection job.


7. Sales Endpoints

Used for websites and internal sales tools to manage advice notes.

Get Advice Notes

  • Endpoint: GET .../AdviceNotes

  • Function: Retrieves a list of advice notes.

Create Advice Note

  • Endpoint: POST .../AdviceNotes/Create

  • Function: Creates an unconfirmed advice note.

Cancel Advice Note

  • Endpoint: POST .../AdviceNotes/CancelUnconfAdviceNotes

  • Function: Cancels an unconfirmed advice note.


8. Staff Endpoints

Used for HR apps, Payroll integrations, or third-party resource planning.

Get Staff

  • Endpoint: GET .../StaffMembers

  • Function: Retrieves a list of staff members set up in Syrinx.

Create Staff

  • Endpoint: POST .../StaffMembers

  • Function: Creates a new staff member profile in Syrinx.

Update Staff

  • Endpoint: PATCH .../StaffMembers

  • Function: Updates an existing staff member's details.

Get Appointments

  • Endpoint: GET .../StaffMembers/Appointments

  • Function: Retrieves appointments allocated to a specific staff member.

Create or Amend Appointment

  • Endpoint: POST .../StaffMembers/Appointments

  • Function: Creates or updates an appointment for a staff member.

Get Staff Depots

  • Endpoint: GET .../StaffMembers/Depots

  • Function: Retrieves the depots a staff member is associated with.

Create or Update Staff Depot

  • Endpoint: POST .../StaffMembers/Depots

  • Function: Assigns or updates depot entries for staff.

Get Qualifications

  • Endpoint: GET .../StaffMembers/DevelopmentEntries

  • Function: Retrieves "Development Entries" (e.g., machinery operating qualifications) from Syrinx.

Create or Update Qualifications

  • Endpoint: POST .../StaffMembers/DevelopmentEntries

  • Function: Creates or updates development/qualification entries in Syrinx.


9. Workshop Endpoints

Used to integrate with external Workshop tools or Asset Maintenance systems.

Get Customer Equipment

  • Endpoint: GET .../CustomerOwnedEquip

  • Function: Retrieves a list of all customer-owned equipment.

Get Service Jobs

  • Endpoint: GET .../ServiceJobs

  • Function: Retrieves a list of Syrinx service jobs.

Add or Update Job Part

  • Endpoint: POST .../ServiceJobs/AddUpdateServiceJobPart

  • Function: Adds a part used to a job, or updates an existing part line.

Get Service Reminders

  • Endpoint: GET .../ServiceReminder

  • Function: Retrieves fleet service reminders (Ideal for external maintenance planners).

Update Service Reminder

  • Endpoint: PATCH .../ServiceReminder/UpdateServiceReminder

  • Function: Updates the status or details of an existing service reminder.

Was this article helpful?
Upload Files