| 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:
-
Essentials (Core)
-
Accounting
-
Assets
-
CRM
-
Contracts
-
Mobile
-
Sales
-
Staff
-
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.