### 3. Basic Ticket Get Source: https://nevis.halopsa.com/apidoc/examples This example demonstrates how to retrieve basic ticket information. ```APIDOC ## GET /tickets ### Description Retrieve basic ticket information. ### Method GET ### Endpoint /tickets ### Response #### Success Response (200) (Response details not provided in source) ``` -------------------------------- ### 4. Basic Ticket Post Source: https://nevis.halopsa.com/apidoc/examples This example shows how to create a basic ticket with summary and details. ```APIDOC ## POST /tickets ### Description Create a basic ticket with summary and details. ### Method POST ### Endpoint /tickets ### Parameters #### Request Body - **summary** (string) - Required - Description of the ticket summary. - **details** (string) - Required - Detailed description of the ticket. ### Request Example ```json [ { "summary":"This is an example summary", "details": "This is an example details message." } ] ``` ### Response #### Success Response (200) (Response details not provided in source) ``` -------------------------------- ### Get Sites Source: https://nevis.halopsa.com/apidoc/resources/sites Retrieves a list of Site records. Supports pagination, ordering, and filtering. ```APIDOC ## GET /Site ### Description Returns an object containing the count of Sites, and an array of Site objects. ### Method GET ### Endpoint /Site ### Parameters #### Query Parameters - **pageinate** (bool) - Optional - Whether to use Pagination in the response - **page_size** (int) - Optional - When using Pagination, the size of the page - **page_no** (int) - Optional - When using Pagination, the page number to return - **order** (string) - Optional - The name of the field to order by - **orderdesc** (bool) - Optional - Whether to order ascending or descending - **search** (string) - Optional - Filter by Sites like your search string - **toplevel_id** (int) - Optional - Filter by Sites belonging to a particular top level - **client_id** (int) - Optional - Filter by Sites belonging to a particular customer - **includeinactive** (bool) - Optional - Include inactive Sites in the response - **includeactive** (bool) - Optional - Include active Sites in the response - **include_custom_fields** (string) - Optional - Comma separated list of Custom Field IDs to include in the response - **count** (int) - Optional - When not using pagination, the number of results to return ### Response #### Success Response (200) - **root** (object) - Contains site data ``` -------------------------------- ### Get Projects Source: https://nevis.halopsa.com/apidoc/resources/projects Retrieves a list of Project records. Supports various filtering, sorting, and pagination options. ```APIDOC ## GET /Projects ### Description Retrieves a list of Project records. Supports various filtering, sorting, and pagination options. ### Method GET ### Endpoint /Projects ### Parameters #### Query Parameters - **pageinate** (bool) - Optional - Whether to use Pagination in the response - **page_size** (int) - Optional - When using Pagination, the size of the page - **page_no** (int) - Optional - When using Pagination, the page number to return - **order** (string) - Optional - The name of the field to order by - **orderdesc** (bool) - Optional - Whether to order ascending or descending - **ticketidonly** (bool) - Optional - Returns only the ID fields of the Projects (Not compatible with Pagination) - **view_id** (int) - Optional - The ID of the filter profile to filter by - **columns_id** (int) - Optional - The column profile ID - **includecolumns** (bool) - Optional - Include column details in the response - **includeslaactiondate** (bool) - Optional - Include the SLA action date in the response - **includeslatimer** (bool) - Optional - Include SLA timer in the response - **includetimetaken** (bool) - Optional - Include time taken in the response - **includesupplier** (bool) - Optional - Include supplier details in the response - **includerelease1** (bool) - Optional - Include release 1 details in the response - **includerelease2** (bool) - Optional - Include release 2 details in the response - **includerelease3** (bool) - Optional - Include release 3 details in the response - **includechildids** (bool) - Optional - Include child entity IDs in the response - **includenextactivitydate** (bool) - Optional - Include nextactivitydate in the response - **list_id** (int) - Optional - Filters by the specified list - **agent_id** (int) - Optional - Filters by the specified agent - **status_id** (int) - Optional - Filters by the specified status - **requesttype_id** (int) - Optional - Filters by the specified request type - **supplier_id** (int) - Optional - Filters by the specified supplier - **client_id** (int) - Optional - Filters by the specified client - **site** (int) - Optional - Filters by the specified site - **username** (string) - Optional - Filters by the specified user - **user_id** (int) - Optional - Filters by the specified user - **release_id** (int) - Optional - Filters by the specified release - **asset_id** (int) - Optional - Filters by the specified asset - **itil_requesttype_id** (int) - Optional - Filters by the specified ITIL request type - **open_only** (bool) - Optional - Returns only open projects in the response - **closed_only** (bool) - Optional - Returns only closed projects in the response - **unlinked_only** (bool) - Optional - Returns only unlinked projects in the response - **contract_id** (int) - Optional - Filters by the specified contract - **withattachments** (bool) - Optional - Returns only projects with 1 or more attachment - **team** (int array) - Optional - Returns projects based on Team ID's in the array - **agent** (int array) - Optional - Returns projects based on Agent ID's in the array - **status** (int array) - Optional - Returns projects based on status ID's in the array - **requesttype** (int array) - Optional - Returns projects based on request type ID's in the array - **itil_requesttype** (int array) - Optional - Returns projects based on ITIL request type ID's in the array - **category_1** (int array) - Optional - Returns projects based on category 1 ID's in the array - **category_2** (int array) - Optional - Returns projects based on category 2 ID's in the array - **category_3** (int array) - Optional - Returns projects based on category 3 ID's in the array - **category_4** (int array) - Optional - Returns projects based on category 4 ID's in the array - **sla** (int array) - Optional - Returns projects based on SLA ID's in the array - **priority** (int array) - Optional - Returns projects based on priority ID's in the array - **products** (int array) - Optional - Returns projects based on product ID's in the array - **flagged** (int array) - Optional - Returns projects based on flagged project ID's in the array - **excludethese** (int array) - Optional - Excludes these projects from the response - **search** (string) - Optional - Filters response based on the search string - **searchactions** (bool) - Optional - Whether to search actions when using search - **datesearch** (string) - Optional - The date field to search against. Examples: Date Opened - 'dateoccured', Date Closed - 'datecleared' - **startdate** (string) - Optional - For use with the datesearch parameter - **enddate** (string) - Optional - For use with the datesearch parameter - **search_user_name** (string) - Optional - Returns projects based on users matching the search - **search_summary** (string) - Optional - Returns projects based on the summary matching the search - **search_details** (string) - Optional - Returns projects based on the details matching the search - **search_reportedby** (string) - Optional - Returns projects based on the reportedby field matching the search - **search_version** (string) - Optional - Returns projects based on the software version matching the search - **search_release1** (string) - Optional - Returns projects based on release 1 matching the search ### Response #### Success Response (200) Returns an object containing the count of projects, and an array of project objects. ### Permissions Required Agent Project Read ``` -------------------------------- ### Get All Knowledge Base Articles Source: https://nevis.halopsa.com/apidoc/resources/knowledgebase Retrieves a list of all knowledge base articles. Supports pagination and filtering. ```APIDOC ## GET /KBArticle ### Description Returns an array of knowledge base articles. Supports pagination and filtering. ### Method GET ### Endpoint /KBArticle ### Parameters #### Query Parameters - **pageinate** (bool) - Optional - Whether to use Pagination in the response - **page_size** (int) - Optional - When using Pagination, the size of the page - **page_no** (int) - Optional - When using Pagination, the page number to return - **order** (string) - Optional - The name of the field to order by - **orderdesc** (bool) - Optional - Whether to order ascending or descending - **search** (string) - Optional - Filter by Contracts like your search - **count** (int) - Optional - Number of results to return if not using pagination ### Response #### Success Response (200) - **root** (object) - Contains an array of knowledge base articles. #### Response Example ```json { "root": {} } ``` ``` -------------------------------- ### 1. Obtaining Token using Username & Password for OAuth 2.0 Source: https://nevis.halopsa.com/apidoc/examples This example demonstrates how to obtain an access token using username and password credentials for OAuth 2.0 authentication. ```APIDOC ## POST /token ### Description Obtain an access token using username and password for OAuth 2.0. ### Method POST ### Endpoint /token ### Parameters #### Request Body - **grant_type** (text) - Required - value: "password" - **client_id** (text) - Required - value: "" - **username** (text) - Required - value: "" - **password** (text) - Required - value: "" - **scope** (text) - Required - value: "all" ### Request Example ```json { "grant_type": "password", "client_id": "", "username": "", "password": "", "scope": "all" } ``` ### Response #### Success Response (200) (Response details not provided in source) ``` -------------------------------- ### 2. Obtaining Token using Client Credentials for OAuth 2.0 Source: https://nevis.halopsa.com/apidoc/examples This example shows how to obtain an access token using client credentials for OAuth 2.0 authentication. ```APIDOC ## POST /token ### Description Obtain an access token using client credentials for OAuth 2.0. ### Method POST ### Endpoint /token ### Parameters #### Request Body - **grant_type** (text) - Required - value: "client_credentials" - **client_id** (text) - Required - value: "" - **client_secret** (text) - Required - value: "" ### Request Example ```json { "grant_type": "client_credentials", "client_id": "", "client_secret": "" } ``` ### Response #### Success Response (200) (Response details not provided in source) ``` -------------------------------- ### Get All Assets Source: https://nevis.halopsa.com/apidoc/resources/assets Retrieves a list of all assets, with options for pagination, sorting, filtering, and inclusion of different asset states. ```APIDOC ## GET /Asset ### Description Retrieves an object containing the count of Assets, and an array of Asset objects. ### Method GET ### Endpoint /Asset ### Parameters #### Query Parameters - **pageinate** (bool) - Optional - Whether to use Pagination in the response - **page_size** (int) - Optional - When using Pagination, the size of the page - **page_no** (int) - Optional - When using Pagination, the page number to return - **order** (string) - Optional - The name of the field to order by - **orderdesc** (bool) - Optional - Whether to order ascending or descending - **search** (string) - Optional - Filter by Assets with an asset field like your search - **ticket_id** (int) - Optional - Filter by Assets belonging to a particular ticket - **client_id** (int) - Optional - Filter by Assets belonging to a particular client - **site_id** (int) - Optional - Filter by Assets belonging to a particular site - **username** (string) - Optional - Filter by Assets belonging to a particular user - **assetgroup_id** (int) - Optional - Filter by Assets belonging to a particular Asset group - **assettype_id** (int) - Optional - Filter by Assets belonging to a particular Asset type - **linkedto_id** (int) - Optional - Filter by Assets linked to a particular Asset - **includeinactive** (bool) - Optional - Include inactive Assets in the response - **includeactive** (bool) - Optional - Include active Assets in the response - **includechildren** (bool) - Optional - Include child Assets in the response - **contract_id** (int) - Optional - Filter by Assets assigned to a particular contract ### Response #### Success Response (200) Returns an object containing the count of Assets, and an array of Asset objects. ### Response Example ```json { "root":{ ... } } ``` ``` -------------------------------- ### Resource Endpoints Source: https://nevis.halopsa.com/apidoc/resources Resources are accessed via a base URL followed by the resource name. For example, tickets are available at '/api/tickets'. The supported HTTP methods are GET, POST, and DELETE, each with specific functionalities. ```APIDOC ## Resource Access ### Description Resources are available under the base API URL. Each resource has a dedicated endpoint (e.g., `/api/tickets`). The primary methods supported are GET, POST, and DELETE. ### Methods - **GET**: Returns a dataset based on request parameters. - **POST**: Accepts an array of objects for addition or update. Only required fields and the `id` field for updates need to be provided. - **DELETE**: Requires an `id` to remove a specific resource. ### Authentication Access to resources is protected by minimum authentication levels: No Authentication, User, Agent, or Admin. Further restrictions may apply based on Halo configuration permissions. ### Response Format All responses are in JSON format. XML is not supported. ``` -------------------------------- ### Get Site by ID Source: https://nevis.halopsa.com/apidoc/resources/sites Retrieves a single Site object by its ID. Can include additional details or activity. ```APIDOC ## GET /Site/{id} ### Description Returns a single Site object. ### Method GET ### Endpoint /Site/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The Site's ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response - **includeactivity** (bool) - Optional - Whether to include site ticket activity in the response ### Response #### Success Response (200) - **root** (object) - Contains site data ``` -------------------------------- ### Basic Ticket GET Request Source: https://nevis.halopsa.com/apidoc/examples This is a basic GET request to retrieve tickets. It requires an 'Authorization: Bearer ' header. ```http GET /tickets Authorization: Bearer ``` -------------------------------- ### Get All Teams Source: https://nevis.halopsa.com/apidoc/resources/teams Retrieves a list of teams. Supports filtering and inclusion of agent data. ```APIDOC ## GET /Team ### Description Returns an array of Teams. Supports filtering by domain, including agents for specified teams, and administrative overrides. ### Method GET ### Endpoint /Team ### Parameters #### Query Parameters - **type** (string) - Optional - Filter by team domain: reqs - tickets, opps - opportunities, prjs - projects - **includeagentsforteams** (string) - Optional - Comma separated list of team names. Agents in these teams will be returned - **memberonly** (bool) - Optional - Only returns sections that the current agent is a member of - **showall** (bool) - Optional - Admin override to show all teams, overriding team permissions - **showcounts** (bool) - Optional - Show the count of tickets in the response - **domain** (string) - Optional - For use with counts: reqs - tickets, opps - opportunities, prjs - projects - **view_id** (int) - Optional - For use with counts: the view ID to restrict the counts by - **includeenabled** (bool) - Optional - Include enabled Teams in the response - **includedisabled** (bool) - Optional - Include disabled Teams in the response - **department_id** (int) - Optional - Filter Teams belonging to a particular department ### Response #### Success Response (200) - **root** (array) - Contains a list of team objects. #### Response Example ```json { "root": [ ... ] } ``` ``` -------------------------------- ### Get Opportunities Source: https://nevis.halopsa.com/apidoc/resources/opportunities Retrieves a list of opportunities with various filtering and sorting options. Requires Agent and Sales Read permissions. ```APIDOC ## GET /Opportunities ### Description Retrieves a list of opportunities. This endpoint supports filtering, sorting, and pagination to refine the results. ### Method GET ### Endpoint /Opportunities ### Permissions Required - Agent - Sales Read ### Query Parameters #### Pagination Parameters - **pageinate** (bool) - Optional - Whether to use Pagination in the response. - **page_size** (int) - Optional - When using Pagination, the size of the page. - **page_no** (int) - Optional - When using Pagination, the page number to return. #### Sorting Parameters - **order** (string) - Optional - The name of the field to order by. - **orderdesc** (bool) - Optional - Whether to order ascending or descending. #### Filtering Parameters - **ticketidonly** (bool) - Optional - Returns only the ID fields (Ticket ID, SLA ID, Status ID, Client ID and Name and Lastincomingemail date) of the Opportunities (Not compatible with Pagination). - **view_id** (int) - Optional - The ID of the filter profile to filter by. - **columns_id** (int) - Optional - The column profile ID. - **includecolumns** (bool) - Optional - Include column details in the response. - **includeslaactiondate** (bool) - Optional - Include the SLA action date in the response. - **includeslatimer** (bool) - Optional - Include SLA timer in the response. - **includetimetaken** (bool) - Optional - Include time taken in the response. - **includesupplier** (bool) - Optional - Include supplier details in the response. - **includerelease1** (bool) - Optional - Include release 1 details in the response. - **includerelease2** (bool) - Optional - Include release 2 details in the response. - **includerelease3** (bool) - Optional - Include release 3 details in the response. - **includechildids** (bool) - Optional - Include child entity IDs in the response. - **includenextactivitydate** (bool) - Optional - Include nextactivitydate in the response. - **list_id** (int) - Optional - Filters by the specified list. - **agent_id** (int) - Optional - Filters by the specified agent. - **status_id** (int) - Optional - Filters by the specified status. - **requesttype_id** (int) - Optional - Filters by the specified request type. - **supplier_id** (int) - Optional - Filters by the specified supplier. - **client_id** (int) - Optional - Filters by the specified client. - **site** (int) - Optional - Filters by the specified site. - **username** (string) - Optional - Filters by the specified user. - **user_id** (int) - Optional - Filters by the specified user. - **release_id** (int) - Optional - Filters by the specified release. - **asset_id** (int) - Optional - Filters by the specified asset. - **itil_requesttype_id** (int) - Optional - Filters by the specified ITIL request type. - **open_only** (bool) - Optional - Returns only open opportunities in the response. - **closed_only** (bool) - Optional - Returns only closed opportunities in the response. - **unlinked_only** (bool) - Optional - Returns only unlinked opportunities in the response. - **contract_id** (int) - Optional - Filters by the specified contract. - **withattachments** (bool) - Optional - Returns only opportunities with 1 or more attachment. - **team** (int array) - Optional - Returns opportunities based on Team ID's in the array. - **agent** (int array) - Optional - Returns opportunities based on Agent ID's in the array. - **status** (int array) - Optional - Returns opportunities based on status ID's in the array. - **requesttype** (int array) - Optional - Returns opportunities based on request type ID's in the array. - **itil_requesttype** (int array) - Optional - Returns opportunities based on ITIL request type ID's in the array. - **category_1** (int array) - Optional - Returns opportunities based on category 1 ID's in the array. - **category_2** (int array) - Optional - Returns opportunities based on category 2 ID's in the array. - **category_3** (int array) - Optional - Returns opportunities based on category 3 ID's in the array. - **category_4** (int array) - Optional - Returns opportunities based on category 4 ID's in the array. - **sla** (int array) - Optional - Returns opportunities based on SLA ID's in the array. - **priority** (int array) - Optional - Returns opportunities based on priority ID's in the array. - **products** (int array) - Optional - Returns opportunities based on product ID's in the array. - **flagged** (int array) - Optional - Returns opportunities based on flagged opportunity ID's in the array. - **excludethese** (int array) - Optional - Excludes these opportunities from the response. - **search** (string) - Optional - Filters response based on the search string. - **searchactions** (bool) - Optional - Whether to search actions when using search. - **datesearch** (string) - Optional - The date field to search against. Examples: Date Opened - 'dateoccured', Date Closed - 'datecleared'. - **startdate** (string) - Optional - For use with the datesearch parameter. - **enddate** (string) - Optional - For use with the datesearch parameter. - **search_user_name** (string) - Optional - Returns opportunities based on users matching the search. - **search_summary** (string) - Optional - Returns opportunities based on the summary matching the search. - **search_details** (string) - Optional - Returns opportunities based on the details matching the search. - **search_reportedby** (string) - Optional - Returns opportunities based on the reportedby field matching the search. - **search_version** (string) - Optional - Returns opportunities based on the software version matching the search. ### Response #### Success Response (200) Returns an object containing the count of opportunities, and an array of opportunity objects. #### Response Example { "count": 100, "opportunities": [ { "ticket_id": 12345, "summary": "Example Opportunity", "status": "Open" } ] } ``` -------------------------------- ### Get All Users Source: https://nevis.halopsa.com/apidoc/resources/users Retrieves a list of users, optionally with pagination and filtering. Returns a count of users and an array of user objects. ```APIDOC ## GET /Users ### Description Retrieves a list of users, optionally with pagination and filtering. Returns a count of users and an array of user objects. ### Method GET ### Endpoint /Users ### Parameters #### Query Parameters - **pageinate** (bool) - Optional - Whether to use Pagination in the response - **page_size** (int) - Optional - When using Pagination, the size of the page - **page_no** (int) - Optional - When using Pagination, the page number to return - **order** (string) - Optional - The name of the field to order by - **orderdesc** (bool) - Optional - Whether to order ascending or descending - **search** (string) - Optional - Filter by Users like your search - **search_phonenumbers** (bool) - Optional - Filter by Users with a phone number like your search - **toplevel_id** (int) - Optional - Filter by Users belonging to a particular top level - **client_id** (int) - Optional - Filter by Users belonging to a particular customer - **site_id** (int) - Optional - Filter by Users belonging to a particular site - **organisation_id** (int) - Optional - Filter by Users belonging to a particular organisation - **department_id** (int) - Optional - Filter by Users belonging to a particular department - **asset_id** (int) - Optional - Filter by Users assigned to a particular asset - **includeactive** (bool) - Optional - Include active Users in the response - **includeinactive** (bool) - Optional - Include inactive Users in the response - **include_custom_fields** (string) - Optional - Comma separated list of Custom Field IDs to include in the response - **approversonly** (bool) - Optional - Only include Users that can approve approval processes - **excludeagents** (bool) - Optional - Exclude Users that are linked to active agent accounts - **count** (int) - Optional - When not using pagination, the number of results to return - **advanced_search** (object array) - Optional - Returns tickets based on the filters in the array ### Response #### Success Response (200) - **root** (object) - Contains user data and count. #### Response Example ```json { "root":{ ... } } ``` ``` -------------------------------- ### Get Asset by ID Source: https://nevis.halopsa.com/apidoc/resources/assets Retrieves a single asset object by its unique identifier, with options to include additional details. ```APIDOC ## GET /Asset/{id} ### Description Returns a single Asset object. ### Method GET ### Endpoint /Asset/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The Asset's ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response - **includediagramdetails** (bool) - Optional - Whether to include diagram details in the response ### Response #### Success Response (200) Returns a single Asset object. ### Response Example ```json { "root":{ ... } } ``` ``` -------------------------------- ### Get Supplier by ID Source: https://nevis.halopsa.com/apidoc/resources/suppliers Retrieves a single supplier object by its unique identifier. Optionally includes additional details. ```APIDOC ## GET /Supplier/{id} ### Description Returns a single supplier object based on the provided ID. You can also choose to include additional details in the response. ### Method GET ### Endpoint /Supplier/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The Supplier ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response ### Response #### Success Response (200) - **root** (object) - Contains the supplier object. Example: "root":{...} ``` -------------------------------- ### GET /Projects/{id} Source: https://nevis.halopsa.com/apidoc/resources/projects Retrieves a single project object by its ID. Supports including additional details or the last action in the response, or returning only ID fields. ```APIDOC ## GET /Projects/{id} ### Description Returns a single project object by its ID. Supports including extra details or the last action, or returning only ID fields. ### Method GET ### Endpoint /Projects/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The Project's ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response. - **includelastaction** (bool) - Optional - Whether to include the last action in the response. - **ticketidonly** (bool) - Optional - Returns only the ID fields (Ticket ID, SLA ID, Status ID, Client ID and Name and Last incoming email date) of the Projects (Not compatible with Pagination). ### Response #### Success Response (200) - **root** (object) - Contains the project details. ### Response Example ```json { "root": { ... } } ``` ``` -------------------------------- ### Get Knowledge Base Article by ID Source: https://nevis.halopsa.com/apidoc/resources/knowledgebase Retrieves a single knowledge base article object by its ID. Optionally includes details. ```APIDOC ## GET /KBArticle/{id} ### Description Returns a single knowledge base article object. ### Method GET ### Endpoint /KBArticle/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The KB article ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response ### Response #### Success Response (200) - **root** (object) - Contains the knowledge base article object. #### Response Example ```json { "root": { ... } } ``` ``` -------------------------------- ### Get Client by ID Source: https://nevis.halopsa.com/apidoc/resources/clients Retrieves a single client object by its unique ID. Permissions Required: Agent, Customers Read. ```APIDOC ## GET /Client/{id} ### Description Returns a single Client object. ### Method GET ### Endpoint /Client/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The Customer's ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response - **includeactivity** (bool) - Optional - Whether to include customer ticket activity in the response ### Response #### Success Response (200) - **root** (object) - Contains the client object. ### Response Example ```json { "root": { ... } } ``` ``` -------------------------------- ### Get All Actions Source: https://nevis.halopsa.com/apidoc/resources/actions Retrieves a list of actions with optional filtering parameters. It returns the total count of actions and an array of action objects. ```APIDOC ## GET /Actions ### Description Returns an object containing the count of actions, and an array of action objects. ### Method GET ### Endpoint /Actions ### Parameters #### Query Parameters - **count** (int) - Optional - Number of actions to get - **ticket_id** (int) - Optional - Get actions for a single ticket - **excludesys** (bool) - Optional - exclude system actions - **conversationonly** (bool) - Optional - Only get actions relating to the Agent to End User conversation - **agentonly** (bool) - Optional - Only get actions done by Agents - **supplieronly** (bool) - Optional - Only get actions relating to Suppliers - **excludeprivate** (bool) - Optional - Only get public actions - **includehtmlnote** (bool) - Optional - Include the action note HTML as part of the response - **includehtmlemail** (bool) - Optional - Include the action email HTML as part of the response - **includeattachments** (bool) - Optional - Include attachment details in the response - **importantonly** (bool) - Optional - Only get important actions - **slaonly** (bool) - Optional - Only get SLA hold and release actions - **ischildnotes** (bool) - Optional - Only get actions from child tickets ### Response #### Success Response (200) - **root** (object) - Contains action data ``` -------------------------------- ### Get Tickets Source: https://nevis.halopsa.com/apidoc/resources/tickets Retrieves a list of tickets with options for filtering, sorting, and pagination. Permissions required: User, Ticket Read. ```APIDOC ## GET /Tickets ### Description Retrieves a list of tickets. Supports various query parameters for filtering, sorting, and pagination. ### Method GET ### Endpoint /Tickets ### Parameters #### Query Parameters - **pageinate** (bool) - Optional - Whether to use Pagination in the response - **page_size** (int) - Optional - When using Pagination, the size of the page. Maximum size: 100 - **page_no** (int) - Optional - When using Pagination, the page number to return - **order** (string) - Optional - The name of the field to order by - **orderdesc** (bool) - Optional - Whether to order ascending or descending - **ticketidonly** (bool) - Optional - Returns only the ID fields of the Tickets (Not compatible with Pagination) - **view_id** (int) - Optional - The ID of the filter profile to filter by - **columns_id** (int) - Optional - The column profile ID - **includecolumns** (bool) - Optional - Include column details in the response - **includeslaactiondate** (bool) - Optional - Include the SLA action date in the response - **includeslatimer** (bool) - Optional - Include SLA timer in the response - **includetimetaken** (bool) - Optional - Include time taken in the response - **includesupplier** (bool) - Optional - Include supplier details in the response - **includerelease1** (bool) - Optional - Include release 1 details in the response - **includerelease2** (bool) - Optional - Include release 2 details in the response - **includerelease3** (bool) - Optional - Include release 3 details in the response - **includechildids** (bool) - Optional - Include child ticket IDs in the response - **includenextactivitydate** (bool) - Optional - Include nextactivitydate in the response - **includefirstresponse** (bool) - Optional - Include First Response data in the response - **include_custom_fields** (string) - Optional - Comma separated list of Custom Field IDs to include in the response - **list_id** (int) - Optional - Filters by the specified list - **agent_id** (int) - Optional - Filters by the specified agent - **status_id** (int) - Optional - Filters by the specified status - **requesttype_id** (int) - Optional - Filters by the specified request type - **supplier_id** (int) - Optional - Filters by the specified supplier - **client_id** (int) - Optional - Filters by the specified client - **site** (int) - Optional - Filters by the specified site - **username** (string) - Optional - Filters by the specified user - **user_id** (int) - Optional - Filters by the specified user - **release_id** (int) - Optional - Filters by the specified release - **asset_id** (int) - Optional - Filters by the specified asset - **itil_requesttype_id** (int) - Optional - Filters by the specified ITIL request type - **open_only** (bool) - Optional - Returns only open tickets in the response - **closed_only** (bool) - Optional - Returns only closed tickets in the response - **unlinked_only** (bool) - Optional - Returns only unlinked tickets in the response - **contract_id** (int) - Optional - Filters by the specified contract - **withattachments** (bool) - Optional - Returns only tickets with 1 or more attachment - **team** (int array) - Optional - Returns tickets based on Team ID's in the array - **agent** (int array) - Optional - Returns tickets based on Agent ID's in the array - **status** (int array) - Optional - Returns tickets based on status ID's in the array - **requesttype** (int array) - Optional - Returns tickets based on request type ID's in the array - **itil_requesttype** (int array) - Optional - Returns tickets based on ITIL request type ID's in the array - **category_1** (int array) - Optional - Returns tickets based on category 1 ID's in the array - **category_2** (int array) - Optional - Returns tickets based on category 2 ID's in the array - **category_3** (int array) - Optional - Returns tickets based on category 3 ID's in the array - **category_4** (int array) - Optional - Returns tickets based on category 4 ID's in the array - **sla** (int array) - Optional - Returns tickets based on SLA ID's in the array - **priority** (int array) - Optional - Returns tickets based on priority ID's in the array - **products** (int array) - Optional - Returns tickets based on product ID's in the array - **flagged** (int array) - Optional - Returns tickets based on flagged ticket ID's in the array - **excludethese** (int array) - Optional - Excludes these tickets from the response - **search** (string) - Optional - Filters response based on the search string - **searchactions** (bool) - Optional - Whether to search actions when using search - **datesearch** (string) - Optional - The date field to search against. Examples: Date Opened - 'dateoccured', Date Closed - 'datecleared' - **startdate** (string) - Optional - For use with the datesearch parameter - **enddate** (string) - Optional - For use with the datesearch parameter - **search_user_name** (string) - Optional - Returns tickets based on users matching the search - **search_summary** (string) - Optional - Returns tickets based on the summary matching the search - **search_details** (string) - Optional - Returns tickets based on the details matching the search - **search_reportedby** (string) - Optional - Returns tickets based on the reportedby field matching the search ### Response #### Success Response (200) Returns an object containing the count of tickets, and an array of ticket objects. #### Response Example { "example": "response body" } ``` -------------------------------- ### Get Opportunity by ID Source: https://nevis.halopsa.com/apidoc/resources/opportunities Retrieves a single opportunity object by its ID. Optional parameters can be used to include additional details or specific fields. ```APIDOC ## GET /Opportunities/{id} ### Description Returns a single opportunity object. ### Method GET ### Endpoint /Opportunities/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The opportunity's ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response - **includelastaction** (bool) - Optional - Whether to include the last action in the response - **ticketidonly** (bool) - Optional - Returns only the ID fields (Ticket ID, SLA ID, Status ID, Client ID and Name and Lastincomingemail date) of the Opportunities (Not compatible with Pagination) ### Response #### Success Response (200) - **root** (object) - Example Response structure ### Response Example "root":{ ... } ``` -------------------------------- ### Get Agents Source: https://nevis.halopsa.com/apidoc/resources/agents Retrieves a list of agents, with options to filter by team, search by name/email/phone, department, client, role, and inclusion of enabled/disabled/unassigned agents. ```APIDOC ## GET /Agent ### Description Returns an array of Agents. ### Method GET ### Endpoint /Agent ### Query Parameters - **team** (string) - Optional - Filter by Agents within a particular team - **search** (string) - Optional - Filter by Agents with a name, email address or telephone number like your search - **section_id** (int) - Optional - Filter by Agents within a particular team - **department_id** (int) - Optional - Filter by Agents within a particular department - **client_id** (int) - Optional - Filter by Agents who have access to a particular client - **role** (string) - Optional - Filter by Agents who have a particular role. Requires an int passed as a string - **includeenabled** (bool) - Optional - Include enabled Agents in the response - **includedisabled** (bool) - Optional - Include disabled Agents in the response - **includeunassigned** (bool) - Optional - Include the unassigned Agent in the response ### Response Example ```json { "root": [ ... ] } ``` ``` -------------------------------- ### Get All Appointments Source: https://nevis.halopsa.com/apidoc/resources/appointments Retrieves a list of appointments. Supports filtering by date, agent, and type of item (holidays, projects, changes, appointments, shifts, tasks). ```APIDOC ## GET /Appointment ### Description Returns an array of appointments. Supports various query parameters for filtering and controlling the response. ### Method GET ### Endpoint /Appointment ### Parameters #### Query Parameters - **showall** (bool) - Optional - Admin override to return all appointments - **start_date** (string) - Optional - Return appointments with a start date greater than this value - **end_date** (string) - Optional - Return appointments with an end date greater than this value - **agents** (string) - Optional - Comma separated list of agent IDs. Returns these agent's appointments - **showholidays** (bool) - Optional - Include the appointment type 'holiday' in the response - **showprojects** (bool) - Optional - Include projects in the response - **showchanges** (bool) - Optional - Include change requests in the response - **showappointments** (bool) - Optional - Include appointments in the response - **showshifts** (bool) - Optional - Include shifts in the response - **search** (string) - Optional - Return appointments like this search string - **appointmentsonly** (bool) - Optional - Only return appointments in the response - **tasksonly** (bool) - Optional - Only return tasks in the response - **hidecompleted** (bool) - Optional - Exclude completed appointments from the response - **ticket_id** (int) - Optional - Return appointments assigned to a particular ticket ### Response #### Success Response (200) - **root** (object) - Contains appointment data. Example: "root":{} ``` -------------------------------- ### Get Quote by ID Source: https://nevis.halopsa.com/apidoc/resources/quotes Retrieves a single quote object by its unique identifier. ```APIDOC ## GET /Quotation/{id} ### Description Returns a single quote object. ### Method GET ### Endpoint /Quotation/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The Quote's ID #### Query Parameters - **includedetails** (bool) - Optional - Whether to include extra objects in the response ### Response #### Success Response (200) - **root** (object) - Contains the quote object ### Response Example ```json { "root":{ ... } } ``` ``` -------------------------------- ### Obtain Access Token (Hosted Solution) Source: https://nevis.halopsa.com/apidoc/authentication/password Use this endpoint to obtain an access token for hosted Halo solutions by POSTing the user's credentials and tenant ID. ```APIDOC ## Obtain Access Token (Hosted Solution) ### Description Obtain an access token and refresh token for a hosted Halo solution by POSTing the user's credentials and tenant ID. ### Method POST ### Endpoint https:///auth/token?tenant= ### Parameters #### Query Parameters - **tenant** (string) - Required - Your tenant ID. #### Request Body - **grant_type** (string) - Required - Must be "password". - **client_id** (string) - Required - Your application's client ID. - **username** (string) - Required - The agent's username. - **password** (string) - Required - The agent's password. - **scope** (string) - Required - Application permissions required. Use "all" if unsure. Include "offline_access" for a refresh token. ### Response #### Success Response (200) - **access_token** (string) - The obtained access token. - **expires_in** (integer) - The token's expiry time in seconds. - **refresh_token** (string) - The refresh token (if "offline_access" was requested). ### Request Example ```json { "grant_type": "password", "client_id": "your_client_id", "username": "agent_username", "password": "agent_password", "scope": "all offline_access" } ``` ``` -------------------------------- ### Obtain Access Token (Hosted) Source: https://nevis.halopsa.com/apidoc/authentication/client For hosted solutions, include a tenant parameter in the query string when POSTing to the /token endpoint. 'grant_type' must be 'client_credentials'. ```http URL: https://support.haloservicedesk.com/auth/token For example, if your halo url was https://support.haloservicedesk.com, the URL would be 'https://support.haloservicedesk.com/auth/token'. "grant_type" - Must be "client_credentials" "client_id" - Must be your applications client id "client_secret" - Must be your applications client secret "scope" - Must include any application permissions that are required by your application. If unsure, set to "all". ```