# Companies Represents the Company entities within the PMS, which include detailed information about organisations associated with properties, bookings, or other business operations. The Company entity contains attributes such as the company name, contact information, address, industry type, and relationships with contacts or accounts. It is used to manage corporate accounts, track business partnerships, and enable streamlined handling of organisation-level interactions within the system. ## Retrieve list of companies by search filters - [GET /api/v3/companies](https://apidocs.resharmonics.com/apis/resharmonics-pms/companies/listcompanies.md): Retrieve a paginated list of companies from the PMS based on specified search filters. Optional query parameters include company name, email address, telephone number, referrer, industry, market segment, and account ID. Each filter allows partial matches using wildcards for greater flexibility in searching. If no filters are provided, the endpoint returns all available companies. The response contains key details for each company, such as name, contact information, and industry, presented in a paginated format to facilitate navigation. This endpoint is ideal for managing corporate accounts, identifying business partnerships, and integrating company information with other systems. Pagination controls can be used to manage the size and order of results. ## Create a new company - [POST /api/v3/companies](https://apidocs.resharmonics.com/apis/resharmonics-pms/companies/createcompany.md): Create a new company record in the PMS by providing the company details in the request body. The input JSON payload should include information such as the company's name, contact details, industry, and other relevant attributes. The authenticated user is associated with the creation for audit purposes. Upon successful creation, the response returns the full details of the newly created company, including its unique identifier. This endpoint is essential for adding new organisations to the system for management and operational purposes. ## Retrieve company specified by company ID - [GET /api/v3/companies/{id}](https://apidocs.resharmonics.com/apis/resharmonics-pms/companies/getcompanybyid.md): Retrieve detailed information about a specific company in the PMS by providing its unique company ID. The response includes comprehensive data such as the company's name, contact information, address, industry, and any associated metadata. If the specified company ID does not exist, a 'Not Found' error will be returned. This endpoint is useful for viewing and managing individual company records, enabling efficient retrieval of corporate account details. ## Update a company record - [PUT /api/v3/companies/{id}](https://apidocs.resharmonics.com/apis/resharmonics-pms/companies/updatecompany.md): Update an existing company record in the PMS by providing the company's unique ID and updated details in the request body. The input JSON payload should include the fields to be updated, such as the company's name, contact information, industry, or other attributes. The system verifies the existence of the company before applying the updates, and any attempt to update a non-existent company will result in a 'Not Found' error. Upon successful update, the response returns the full details of the updated company. This endpoint ensures efficient management of company records while maintaining data integrity. ## Get contacts for a company - [GET /api/v3/companies/{id}/contacts](https://apidocs.resharmonics.com/apis/resharmonics-pms/companies/getcontactsforcompany.md): Retrieve all contacts associated with a specific company record in the CRM module of the PMS. The response includes a list of contact summary records, each containing details such as id, first name and last name. This endpoint is useful for accessing all company related contacts where only basic contact information is required. ## Get custom fields for a company - [GET /api/v3/companies/{id}/customFields](https://apidocs.resharmonics.com/apis/resharmonics-pms/companies/getcustomfieldsforcompany.md): Retrieve all custom fields associated with a specific company record in the CRM module of the PMS. The response includes a list of custom fields, each containing details such as field name, type, and value. This endpoint is useful for accessing additional information stored in custom fields that are not part of the standard company attributes.