External API

Modified on Wed, 4 Jun at 11:47 AM

Panacea Software provides a secure and flexible API that allows authorised systems to retrieve or submit contract, supplier, and expenditure data. It is designed to integrate with finance systems and reporting tools to support supplier management and expenditure reporting by contract. The API is fully documented and secured with encrypted data transfer, role-based access controls, and audit logging.


What is available on the API?


Your site may not make use of all of the options on the API


Requirements

  • Get Requirements - Provides a GET endpoint to retrieve a collection of UK Public Sector Procurement Contracts. The response includes structured data about requirements, such as associated lots, suppliers, contract values, contract dates, and organizational hierarchies. This returns Requirements in the following stages: LIVE and AWARD. 

    • This is coming from Panacea to the external system. Updates must be made on our system
    • Custom Fields can also be included in the API - in which case Panacea Support need to enable their use in the API. Once linked with the API, these custom fields will only be editable by Panacea Support to ensure it works with the API. You will be able to pick/see the custom fields for Requirements!

  • Add Paid Invoice - Provides a POST endpoint to add a paid invoice with its line items. The request body must include the invoice number, received date, invoice date, supplier ID, and a collection of line items (each with lot ID, net value, VAT percentage, gross value, paid date, and optional fields: payment terms, GL code, GL description, CPV code).The endpoint performs the following steps: verifies the supplier exists and is not deleted and checks all lot IDs exist before storing the invoice and lines.

    • This is coming from the external system and is being updated on our system.

    • This will add a new tab in the relevant Requirements called “Paid Invoices” which will feature the information that has been posted to us

    • This will also add a new column in the Requirement dashboard called “Total Paid Invoices” which will give the total of Paid Invoices for that Requirement

Suppliers

  • Get Supplier (1) - The endpoint returns information for each supplier: the unique company ID, company name, and their associated vendor ID.

    • This is coming from Panacea to the external system.

  • Get Supplier (2) - The endpoint returns a single supplier object: the company ID, name, and vendor ID. If the supplier ID does not exist or is associated with a deleted record, the API responds with a 404 Not Found status.

    • This is coming from Panacea to the external system.

  • Update Supplier - Updates specific properties of a supplier by its unique ID. Currently, only the Vendor ID is updateable. The endpoint validates the input to ensure that the Vendor ID adheres to the required format and is unique among active suppliers. If the update is successful, the modified supplier object is returned.

    • This is coming from the external system and is being updated on our system.


If you would like to utilise the API, Key Users can request this service on our HQ site via the Catalogue (via Request a Service > System Integration > External API). We will then provide a quote and the necessary access/documentation you will need to utilise the API.



External API Request Log


For sites using our API for Requirements/Supplier information, Site Administrators can view the External API Request Log to see all connections that have been made to our API, whether its retrieving information from Panacea or sending information to Panacea.


Head to System Log > External API Request Log

This page will show every API Request (Get, Post and Patch)

  • /requirements (GET) = Pulling information on Requirements FROM Panacea

    • Get Requirements

  • /requirements/paid-invoices (POST) = Sending information on Paid Invoices TO Panacea

    • Add Paid Invoice

  • /suppliers (GET) = Pulling information on Suppliers FROM Panacea

    • Get Supplier (1)

  • /suppliers/[SupplierID] (GET) = Pulling information on a single Supplier FROM Panacea

    • Get Supplier (2)

  • /suppliers/[SupplierID] (PATCH) = Updating information on a Single Supplier TO Panacea

    • Update Supplier

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article