# Salus Developer API Documentation > Documentation for Salus Developer API ## Guides - [Authentication](https://docs.salussafety.io/docs/authentication.md) - [Overview](https://docs.salussafety.io/docs/introduction.md) ## API Reference - [Getting Started](https://docs.salussafety.io/reference/getting-started.md): Set up the welcome page for your API to help users make their first call. - [Authentication](https://docs.salussafety.io/reference/authentication.md): Set up the welcome page for your API to help users make their first call. - [Search Assets](https://docs.salussafety.io/reference/search_v1_asset__get.md): Search for assets that match the provided search terms. Keywords are searched for in the _name_, _vin_, _model_ and _colour_ fields. Additional explicit filters are also supported - [Get Asset](https://docs.salussafety.io/reference/get_asset_v1_asset__asset_id___get.md): Get details for a specific asset. - [Aggregate Assets](https://docs.salussafety.io/reference/aggregate_assets_v1_asset_aggregate_post.md): Aggregate assets with GROUP BY operations. Allows grouping by model, colour, maintenance status, and other fields with aggregation functions like COUNT, SUM, AVG, MIN, MAX. Uses the same base filters and company scoping as the search endpoint for consistent behavior. - [Search Certificates](https://docs.salussafety.io/reference/search_v1_certificate__get.md): Search for certificates that match the provided search terms. Keywords are search for in the _certificate name_, _certificate type_ and _certification provider_ fields. Additional explicit filters are also supported - [Create a Certificate](https://docs.salussafety.io/reference/create_certificate_v1_certificate__post.md): Create a new certificate. - [Get Certificate Providers](https://docs.salussafety.io/reference/list_providers_v1_certificate_provider__get.md): Get a list of certificate providers for a company with optional filtering and pagination. - [Get Certificate Types](https://docs.salussafety.io/reference/list_types_v1_certificate_type__get.md): Get a list of certificate types for a company with optional filtering and pagination. - [Update Certificate](https://docs.salussafety.io/reference/update_certificate_v1_certificate__certificate_id___put.md): Update an existing certificate with the given identifier - [Upload Certificate](https://docs.salussafety.io/reference/upload_certificate_v1_certificate__certificate_id__upload__put.md): Upload an image of the certificate front and/or back to an existing certificate. Supported filetypes are: `.jpeg`, `.jpg`, `.png`, `.pdf`, `.docx`, `.mp4`, `.mov` and `.m4v`. This endpoint supports uploading the front and back of the certificate at the same time. If `certificate_back` is omitted, the back will not be modified. To remove the back of the certificate, you must also set `certificate_back_remove=true` If both the `certificate_back` and `certificate_back_remove` are specified, then `certificate_back` will take priority and `certificate_back_remove` will be ignored. - [Upload Certificate Side](https://docs.salussafety.io/reference/upload_certificate_side_v1_certificate__certificate_id__upload__side___put.md): Upload an image of the certificate front or back to an existing certificate. Supported filetypes are: `.jpeg`, `.jpg`, `.png`, `.pdf`, `.docx`, `.mp4`, `.mov` and `.m4v` - [Download Certificate](https://docs.salussafety.io/reference/download_v1_certificate__certificate_id__download__side___get.md): Download the image of the certificate front or back. - [Aggregate Certificates](https://docs.salussafety.io/reference/aggregate_certificates_v1_certificate_aggregate_post.md): Aggregate certificates with GROUP BY operations. Allows grouping by status, type, and other fields with aggregation functions like COUNT, SUM, AVG, MIN, MAX. Uses the same base filters and company scoping as the search endpoint for consistent behavior. - [Search Companies](https://docs.salussafety.io/reference/search_v1_company__get.md): Search for companies that match the provided search terms. Keywords are searched for in the _name_, _address_, _city_, _postal_, _province_ and _country_ fields. - [Search Corrective Actions](https://docs.salussafety.io/reference/search_v1_corrective_action__get.md): Search for corrective actions that match the provided search terms. Keywords are searched for in the _assigned user first and last names_, _assigned company name_, _completed user first and last name_, _completed company name_, _sender first and last name_, _sender company name_, _the form submit key_, _action text_, _feed post content_, _and correction action response._ In addition, this endpoint provides additional parameters for filtering the results. - [Search Documents](https://docs.salussafety.io/reference/search_v1_document__get.md): Search for documents that match the provided search terms. Keywords are searched for in the _name_, _full_path_, _user first name_, and _user last name_ fields. Note that the `id` field in the search results refers to a document ID or a directory ID depending on the `node_type` attribute. - [Get Document](https://docs.salussafety.io/reference/get_document_v1_document__document_id___get.md): Get a document's metadata. - [Download Document](https://docs.salussafety.io/reference/download_v1_document__document_id__download__get.md): Download a document. - [Search Form Instances](https://docs.salussafety.io/reference/search_v1_form_instance__get.md): Search for forms that match the provided search terms. Keywords are searched for in the _title_, _instance identifier_, _site identifier_, _site name_, _site address_, _company name_, _submitted user first and last name_, _draft name_, _device name_, and _device type_ fields. - [Search Form Instance Signatures](https://docs.salussafety.io/reference/search_signatures_v1_form_instance_signature__get.md): Search for form signatures and associated records that match the provided search terms. Keywords are searched for in the _form title_, _submitted form instance identifier_, _site identifier_, _site name_, _site address_, _company name_, _signed user first and last name_, _draft name_, _device name_, and _device type._ - [Get Raw Digital Forms in Bulk](https://docs.salussafety.io/reference/get_bulk_form_instance_v1_form_instance_bulk__form_id___get.md): Get the contents of multiple form instances for the same form in a format suitable for business analytics applications. This endpoint is different from Get Digital Form in a couple ways: * It returns the contents of multiple forms instances. * If the form template has changed since the form instance was submitted, this will use the structure of the form template. If fields were deleted in the form template, they will not be returned, even if the form instance contains that field. * Fields that refer to another object (Asset, Document, Site or User) are the the name of that object. * Attachments and tables are empty values. - [Get Digital Form](https://docs.salussafety.io/reference/get_form_instance_v1_form_instance__form_instance_id___get.md): Get a Form Instance, including its contents This endpoint is different from Get Raw Digital Forms in Bulk in a couple ways: * It returns the contents of a single form instance. * It returns the contents of the form instance when it was submitted, even if the form template has changed. If fields were added to the form template, they will not be included. * Fields that refer to another object (Asset, Document, Site or User) are a link to the API endpoint for that object * Attachments are a link to download that image. * Tables are included. - [Download Digital Form](https://docs.salussafety.io/reference/download_v1_form_instance__form_instance_id__download__get.md): Download a PDF version of the form instance - [List Images in a Digital Form](https://docs.salussafety.io/reference/images_v1_form_instance__form_instance_id__images__get.md): Get a list of all the image IDs in your own digital form - [Download Image in a Digital Form](https://docs.salussafety.io/reference/download_image_v1_form_instance__form_instance_id__images__image_id___get.md): Download an image from a digital form - [Aggregate Form Instances](https://docs.salussafety.io/reference/aggregate_form_instances_v1_form_instance_aggregate_post.md): Aggregate form instances with GROUP BY operations. Allows grouping by status, form_id, type_id, site_id, and other fields with aggregation functions like COUNT, SUM, AVG, MIN, MAX. Uses the same base filters and company scoping as the search endpoint for consistent behavior. - [Aggregate Form Instance Signatures](https://docs.salussafety.io/reference/aggregate_signatures_v1_form_instance_signature_aggregate_post.md): Aggregate form instance signatures with GROUP BY operations. Allows grouping by type, is_reviewer, form_submit_id, and user_id with aggregation functions like COUNT, COUNT_DISTINCT, MIN, MAX. - [Search Forms](https://docs.salussafety.io/reference/search_v1_form__get.md): Search for form definitions that match the provided search terms. Keywords are searched for in the _title_, _description_, _version_, and _identifier_ fields. - [Search Incidents](https://docs.salussafety.io/reference/search_v1_incident__get.md): Search for incidents that match the provided search terms. Keywords are searched for in the _id_, _user id_, _title_, _status_, _severity_, _site name_, _site address_, _site city_, _and _site country_ fields. Additional explicit filters are also supported - [Aggregate Incidents](https://docs.salussafety.io/reference/aggregate_incidents_v1_incident_aggregate_post.md): Aggregate incidents with GROUP BY operations. Allows grouping by status, severity, site_id, user_id, and is_archived fields with aggregation functions like COUNT, SUM, AVG, MIN, MAX. Uses the same base filters and company scoping as the search endpoint for consistent behavior. - [Get Industries](https://docs.salussafety.io/reference/get_industries_v1_industry__get.md): Get a list of active industry categories supported by the platform. _Industry_ is the top level category, and is the broadest in scope. As an example, in the hierarchy: Construction -> Sub Contractor -> Acoustics, _Construction_ is the industry. - [Get Industry Types](https://docs.salussafety.io/reference/get_industry_types_v1_industry_type__get.md): Get a list of active industry types for a specific industry. _Industry type_ is the middle category in scope. As an example, in the hierarchy: Construction -> Sub Contractor -> Acoustics, _Sub Contractor_ is the industry type. - [Get Trades](https://docs.salussafety.io/reference/get_trades_v1_industry_trade__get.md): Get a list of trades associated with a specific industry type. _Trade_ is the most specific grouping in the industry hierarchy. As an example, in the hierarchy: Construction -> Sub Contractor -> Acoustics, _Acoustics_ is the trade. - [Get Industry Types and Trades](https://docs.salussafety.io/reference/get_industry_trades_v1_industry_type_trade__get.md): Get a list of all industries, industry types and trades. This gives a de-normalized list of all active industry records, the associated industry type records, and the associated trade records. Effectively this is the result of left-join of the industry, industry type, trade hierarchy. - [Get UDF labels](https://docs.salussafety.io/reference/search_labels_v1_meta_labels__get.md): Return all labels for user defined fields - [Update UDF Labels](https://docs.salussafety.io/reference/patch_labels_v1_meta_labels__entity___patch.md): Update the labels for user defined fields on project This endpoint will ignore any fields that are empty; only fields with values will be updated. If the value is set to null, it will be cleared. - [Get UDF values](https://docs.salussafety.io/reference/get_udf_values_v1_meta_values__entity___udf_key___get.md): Get the values for a given UDF key for a given entity - [Search Projects](https://docs.salussafety.io/reference/search_v1_project__get.md): Search for sites that match the provided search terms. Keywords are searched for in the _project name_, _project address_ and _project city_ fields, along with all user defined fields (_udf1_, _udf2_ and _udf3_). Additional explicit filters are also supported - [Create a Project](https://docs.salussafety.io/reference/create_project_v1_project__post.md): Create a project. This creates a project and automatically adds company owners as users to that project. - [Get Project Details](https://docs.salussafety.io/reference/get_project_details_v1_project__project_id___get.md): Get the project details of a specific project. The response will include details about the project, along with company specific details for the company associated with the JWT token specified. - [Update Main Project](https://docs.salussafety.io/reference/update_project_v1_project__project_id___put.md): Update main project details. A project owner can update all relevant project details, including default name, address and other project related details. The whole object must be specified when using this endpoint, and optional fields will be set to empty. The `PATCH` endpoint can be used to update only specific fields. Typically, this endpoint is called after a request to get details. - [Patch Main Project](https://docs.salussafety.io/reference/patch_project_v1_project__project_id___patch.md): Update main project details. A project owner can update all relevant project details, including default name, address and other project related details. This endpoint will ignore any fields that are empty; only fields with values will be updated. - [Get Company Project Details](https://docs.salussafety.io/reference/get_project_company_v1_project__project_id__company__get.md): Get the company-specific settings for a specific project. - [Update Company Project](https://docs.salussafety.io/reference/update_project_company_v1_project__project_id__company__put.md): Update the company-specific settings for a project. This will configure settings primarily for display information. This endpoint can be called by any company owner that has been added to a site where that owner can update their own display details. The whole object must be specified when using this endpoint, and optional fields will be set to empty. The `PATCH` endpoint can be used to update only specific fields. Typically, this endpoint is called after a request to get details. - [Patch Company Project](https://docs.salussafety.io/reference/patch_project_company_v1_project__project_id__company__patch.md): Update the company-specific settings for a project. This will configure settings primarily for display information. This endpoint can be called by any company owner that has been added to a site where that owner can update their own display details. This endpoint will ignore any fields that are empty; only fields with values will be updated. - [Add a Worker](https://docs.salussafety.io/reference/add_worker_v1_project__project_id__worker__post.md): Add a worker to project. The user must already exist before being added to a project. - [Get Project Workers](https://docs.salussafety.io/reference/get_project_workers_v1_project__project_id__worker__get.md): Return a list of workers on site for a specific project. - [Remove a Worker](https://docs.salussafety.io/reference/remove_worker_v1_project__project_id__worker__worker_id___delete.md): Remove a worker from a project. This does not remove the user from the system, it simply removes them from the project. If the user was not present in the project, the system will throw an error. - [Aggregate Projects](https://docs.salussafety.io/reference/aggregate_projects_v1_project_aggregate_post.md): Aggregate projects with GROUP BY operations. Allows grouping by name, city, country, site_code, and other fields with aggregation functions like COUNT, SUM, AVG, MIN, MAX. Uses the same base filters and company scoping as the search endpoint for consistent behavior. - [Search Public URLs](https://docs.salussafety.io/reference/search_v1_public_access__get.md): Search for configured public URLs. Keyword are searched for in the _name_, and _entity_ fields. - [Create Bundle URL](https://docs.salussafety.io/reference/create_v1_public_access_bundle__post.md): Create a public access URL for a bundle of items, including forms, assets, documents, and a site check-in. The following set of "public_access_item" types are supported: - "form", "id" - this is the ID of the form template - "document", "id" - this is the ID of the specific document - "asset", "id" - this is the ID of the asset - "title", "url" - for a link; we have to specify the title and URL - "on_site_log" - for the on_site_log the site has to be specified This generates a link that will encode the bundle. - [Create Certificate URL](https://docs.salussafety.io/reference/create_certificate_url_v1_public_access_certificate__post.md): Create a public access URL for a set of certificates. Certificates can be associated with a site, or with a list of works, but not both. In either case, the certificates can be restricted to certain certificate types, and will be grouped by user. So, a public certificate link will list all certificates with the specified certificate types associated with the specified site grouped by user; or it will list all certificates with the specified certificate type associated with the specified users regardless of site. - [Create Forms URL](https://docs.salussafety.io/reference/create_form_url_v1_public_access_form__post.md): Create a public access URL for a set of form templates. The generated link will return a list of forms matching the form templates that were submitted for the specified site. - [Get Roles](https://docs.salussafety.io/reference/get_v1_role__get.md): Return all roles available for the company - [Search Users](https://docs.salussafety.io/reference/search_v1_user__get.md): Search for users that match the provided search terms. Keywords are searched for in the _firstname_, _lastname_, _email_, _address_, and _phone numbers (home, work and mobile)_ fields. - [Create User](https://docs.salussafety.io/reference/create_v1_user__post.md): Create a user along with their company profile. - [Get User Details](https://docs.salussafety.io/reference/get_user_profile_v1_user__user_id___get.md): Get worker profile. The user must belong to the callee's company. - [Update User Details](https://docs.salussafety.io/reference/update_user_profile_v1_user__user_id___put.md): Update a user profile The company specific user information, the user's role, and the password are not updated via this endpoint. - [Update Role](https://docs.salussafety.io/reference/update_user_role_v1_user__user_id__role__role_id___put.md): Update a user's role - [Get Company-specific Details](https://docs.salussafety.io/reference/get_company_user_v1_user__user_id__company__get.md): Get user information that is specific to the current company. This includes all the fields that the PUT and PATCH endpoints expect. - [Update Company-specific details](https://docs.salussafety.io/reference/update_company_user_v1_user__user_id__company__put.md): Update user information that is specific to the current company. All fields will be updated, even if the new value is empty. - [Patch Company-specific details](https://docs.salussafety.io/reference/patch_company_user_v1_user__user_id__company__patch.md): Update user information that is specific to the current company. Only fields that are provided and are not null will be updated. - [Health](https://docs.salussafety.io/reference/get_health_health_check_get.md): Performs a basic health check and returns a response indicating API health. - [Create Certificate Provider](https://docs.salussafety.io/reference/create_certificate_provider_v1_certificate_provider__post.md): Create a new certificate provider to assigne to company certificates. - [Update Certificate Provider](https://docs.salussafety.io/reference/update_certificate_provider_v1_certificate_provider__certificate_provider_id___put.md): Given a certificate provider ID, update the certificate provider. - [Create Certificate Type](https://docs.salussafety.io/reference/create_certificate_type_v1_certificate_type__post.md): Create a new certificate type to assign to company certificates. - [Update Certificate Type](https://docs.salussafety.io/reference/update_certificate_type_v1_certificate_type__certificate_type_id___put.md): Given a certificate type ID, update the certificate type. Note: this will also update the cerficate type slug. ## Changelog - [Upcoming breaking changes in user endpoints](https://docs.salussafety.io/changelog/upcoming-breaking-changes-in-user-endpoints.md) - [Upcoming breaking changes in project endpoints](https://docs.salussafety.io/changelog/upcoming-breaking-changes-in-project-endpoints.md) - [Welcome to Salus](https://docs.salussafety.io/changelog/welcome-to-salus.md)