ServicePilot API
The ServicePilot REST API allows you to interact with the ServicePilot interface without any special technical skills. The ServicePilot REST API allows you to:
- Add resources/view/graphical element
- Send data
- Make SQL requests
- Remove resources
External applications and agents can interact with ServicePilot data via the REST API.
Provisioning API
The ServicePilot Provisioning API allows you to quickly add views, resources and graphical elements to the ServicePilot monitoring, in bulk as required.
ServicePilot Provisioning API can add one or more resources based on the same package per request as each request consists of a URL specifying the package type and a POST body with the associated resources to include.
To add resources with the REST API, a web request using a Write capable API key is required.
Example: Provision resources using a cURL request
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Prepare a CSV file called "data-prov.csv" containing the definitions of the resources to add.
name,ip_address_fqdn Ping-1,10.0.0.1 Ping-2,10.0.0.2 Ping-3,10.0.0.3Note: Only the required fields for each resource need to be specified. See the SETUP > Provisioning > Packages > Questions page in ServicePilot web interface for each package for the required fields.
-
Edit the following commands as required and execute them in a CLI.
REM Select an API key with WRITE access set APIKEY=10000000-0000-0000-0000-000000000000 curl -X POST "https://data.servicepilot.com/api/provisioning/network-ping" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-prov.csv
Example: Add a hierarchy of views using a PowerShell request
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Prepare a CSV file called "view-prov.csv" containing the definitions of the views to add.
name,view,autoarrange Sites,MAIN,none Site-1,Sites,linear Site-2,Sites,linearNote: Only the name and view fields for each view need to be specified.
-
Edit the following commands as required and execute them in a PowerShell CLI
# Uncomment line below if HTTPS with TLS>=1.2 only [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12' # Select an API key with write access $APIKEY="10000000-0000-0000-0000-000000000000" Invoke-WebRequest -UseBasicParsing -Uri "https://data.servicepilot.com/api/provisioning/view" -Method "POST" -Headers @{ 'x-api-key'=$APIKEY } -ContentType "text/csv" -InFile view-prov.csv
ServicePilot Provisioning API Definitions
See the SETUP > Provisioning > Packages > API page in ServicePilot web interface for all package definitions including all optional fields.
| 1. Using a user with administrative privileges, log in to ServicePilot |
| 2. Open SETUP > Provisioning |
| 3. Click on the Packages sub-menu |
| 4. Navigate to the API tab |
| 5. Follow the steps under Provisioning API |
Send data APIs
There are a number of API that can be used to insert data into ServicePilot:
- ServicePilot Send Data API - Insert data into monitored resources in bulk.
- Old ServicePilot Send Data API - Insert data into one object at a time.
- Add a log-syslog-receiver resource - Capture Syslog data in the ServicePilot syslog collection. Capture filters and a script can be added to ServicePilot to limit Syslogs received.
- Add a log-trap-receiver resource - Capture SNMP Traps in the ServicePilot trap collection. Capture filters and a script can be added to ServicePilot to limit and categorize Traps received.
Preferably use the new Send Data API unless only one object in ServicePilot is being sent data.
Send data API
ServicePilot Send Data API can insert indicator data, logs and views into one or more resources, independently of the package type, in the same request as each request consists of a URL specifying the API and a POST body with the associated resources and data to inject.
Example: Insert indicator data into resources
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Prepare a CSV file called "data-send.csv" containing the resources and associated indicator data to be inserted.
type,object,i1 data,Ping-1,333 data,Ping-2,555 data,Ping-3,777Note: Only a minimum of type, object, i1, where i1 is the monitor indicator number, need to be specified. See the SETUP > Provisioning > Packages > Indicators page in ServicePilot web interface for each package for the list of indicators.
-
Edit the following commands as required and execute them in a CLI
REM Select an API key with WRITE access set APIKEY=10000000-0000-0000-0000-WRITE0000001 curl -X POST "https://data.servicepilot.com/api/send" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-send.csv
To see the data sent by API and stored in ServicePilot, connect to the ServicePilot web interface. Open MONITOR > Views and navigate to the View containing the resource receiving the data. Click on an Object to see the values that appear in the "last" column.
Example: Insert log data into resources
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Prepare a CSV file called "data-send.csv" containing the resources and associated log data to be inserted.
type,resname,object,log log,myresource,myobject1,objectlog message1 col1;objectlog message1 col2 log,myresource,myobject1,objectlog message2 col1;objectlog message2 col2 log,myresource,myobject2,objectlog message1Note: Only a minimum of type, object, log needs to be specified. See the SETUP > Provisioning > Packages > Indicators page in ServicePilot web interface for each package for the list of User Log columns definition per class that has a user log definition. The log column separator is also specified.
-
Edit the following commands as required and execute them in a CLI
REM Select an API key with WRITE access set APIKEY=10000000-0000-0000-0000-WRITE0000001 curl -X POST "https://data.servicepilot.com/api/send" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-send.csv
To see the data sent by API and stored in ServicePilot, connect to the ServicePilot web interface. Open TOOLS > Data explorer > objectlog > "class name" > "class name" - default and set the Display type to documents to see the values received.
Example: Create a sub-view inside a resource view and send indicator data and log data to a new object
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Prepare a CSV file called "data-send.csv" containing the resources and associated data to be inserted.
type,resname,object,class,view,parentview,ip,host,object_1,object_2,object_3,object_4,object_5,log,i1,i2 createview,myresource,,view_class,view1,myresource data,myresource,myobject1,object_class,view1,,1.2.3.4,hostname,object constant1,,,,,,333.33,string log,myresource,myobject1,,,,,,,,,,,objectlog messageNote: If a view does not exist then it can be created inside an existing resource by specifying the resource name, view class, view name and parent view name. If an object does not exist then it can be created inside an existing resource by specifying the resource name, object name, object class and view name. The number of monitor object indicators and the object log format is dependent on the class of the object to which data is sent. See the SETUP > Provisioning > Packages > Indicators page in ServicePilot web interface for each package for the list of indicators.
-
Edit the following commands as required and execute them in a CLI
REM Select an API key with WRITE access set APIKEY=10000000-0000-0000-0000-WRITE0000001 curl -X POST "https://data.servicepilot.com/api/send" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-send.csv
ServicePilot Send Data API Definitions
See the API page in ServicePilot web interface for all package definitions including all optional fields:
| 1. Using a user with administrative privileges, log in to ServicePilot |
| 2. Open SETUP > Provisioning |
| 3. Click on the Packages sub-menu |
| 4. Navigate to the API tab |
| 5. Follow the steps under API for sending data |
Old Send data API
The Old ServicePilot Send Data API can insert indicator data into one object, add an object log or create a view. This API should be used sparingly when only one object is to be sent data as it is not optimized for bulk data import.
Example: Insert indicator data into an object
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Send data to ServicePilot using a GET API request. Note that the URL query parameters need to be URL encoded (
+or%20for space,%2Bfor +, etc)curl https://data.servicepilot.com/d?apikey=10000000-0000-0000-0000-000000000000&resname=compdate&v=view1&c=class&o=compdate&i1=2024-05-22+13:57:00%2B01:00Query parameter key Query parameter value Notes apikey ServicePilot write capable API key Required resname Resource name Required o Object name Required c Object class name Required if the object does not yet exist v Object view name Required if the object does not yet exist p Object parent view name Only required if the object does not exist and the object view does not exist but the parent of the object view must exist. A generic intermediate view will be created. ip IP address of source data for the object Specify for better data categorization h Host name of source data for the object Specify for better data categorization and host licensing o1 ... o5 Object constant 1 to 5 value Optional i1 ... i# Object indicator data Numeric or string data for the object monitor indicators depending on the class of object n yes Instead of indicator data, set this parameter to yes to indicate a no-response state for the object Note: Only a minimum of object and i1, where i1 is the monitor indicator number, need to be specified if the object already exists. See the SETUP > Provisioning > Packages > Indicators page in ServicePilot web interface for each package for the list of indicators.
Example: Insert log data into an object
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Send data to ServicePilot using a GET API request. Note that the URL query parameters need to be URL encoded (
+or%20for space,%2Bfor +, etc)curl https://data.servicepilot.com/l?apikey=10000000-0000-0000-0000-000000000000&resname=compdate&v=view1&c=class&o=compdate&l=log+text%09log+text2Query parameter key Query parameter value Notes apikey ServicePilot write capable API key Required resname Resource name Required o Object name Required c Object class name Required if the object does not yet exist v Object view name Required if the object does not yet exist p Object parent view name Only required if the object does not exist and the object view does not exist but the parent of the object view must exist. A generic intermediate view will be created. ip IP address of source data for the object Specify for better data categorization h Host name of source data for the object Specify for better data categorization and host licensing o1 ... o5 Object constant 1 to 5 value Optional l Log data Formatted object log data Note: Only a minimum of object and l need to be specified if the object already exists. The object log format is dependent on the object class.
Example: Create a view
-
Obtain a Write capable API key following the instructions under API Authentication Keys
-
Create a view using a GET API request. Note that the URL query parameters need to be URL encoded (
+or+for space,%2Bfor +, etc)curl https://data.servicepilot.com/cv?apikey=10000000-0000-0000-0000-000000000000&resname=compdate&c=class&v=view1&p=resname&ar=linearQuery parameter key Query parameter value Notes apikey ServicePilot write capable API key Required resname Resource name Required c View class name Required v View name Required p Parent view name Required posx View X position in parent view from the top Value fully divisible by 10. Optional if parent view is auto-arranged. posy View Y position in parent view from the left Value fully divisible by 10. Optional if parent view is auto-arranged. width View icon size in parent view Optional. 30 by default. height View icon size in parent view Optional. 30 by default. bg View background picture name Optional ar linear Set this parameter to arrange icons in a Linear fashion inside the view. No arrangement by default.
SQL Request API
The ServicePilot SQL Request API allows you to query and extract data directly from the ServicePilot database. The simplified SQL queries can be optimized with Lucene clauses and the output format can be set to CSV or JSON in the API request.
The SQL Select request queries one database collection depending on the required information. Each collection stores a specific kind of data. Collections either contain current/real-time data or historical records. When querying a collection with historical records, either a time span or a number of most recent records must be specified. By default only the first 10 result rows are returned.
| Collection | Description | Historical |
|---|---|---|
| events | Object and resource alarms, acknowledgments and manage events, configuration changes and user logons | X |
| objectstatus | Last minute information about views, objects and resources (status, acknowledgments, managements, ...) | |
| objectdata | Object and resource indicators statistics | X |
| objectml | Object and resource indicators machine learning - anomalies, trend & prediction | X |
| objectlog | Object's custom log messages | X |
| objectrca | Root cause analysis records | |
| objectsl | Service level statistics for views and resources | X |
| apptrace | APM requests with client and server informations (HTTP status, errors, response times, ...) | X |
| nettrace | NetTrace conversations with client and server statistics | X |
| inventory | Inventory of servers and endpoints | |
| syslog | Syslog records | X |
| trap | SNMP trap records | X |
| voip | VoIP call records | X |
Query the ServicePilot DB using SQL Requests
- Obtain a Read capable API key following the instructions under API Authentication Keys
- Build your SQL query specifying the necessary fields and collection and insert the query in the API request URL along with a READ capable API key
Example: Get a list of unavailable PING objects monitored by ServicePilot
SQL Query:
SELECT object,status FROM objectstatus WHERE status="-" AND class="ping" ORDER BY object ASC
API Request URL:
https://data.servicepilot.com/api/sql?q=SELECT object,status FROM objectstatus WHERE status="-" AND class="ping" ORDER BY object ASC&apikey=10000000-0000-0000-READ-000000000002
Example: Get a JSON formatted list of the last 100 critical alarms on resources
SQL Query:
SELECT timestamp,resource,view,status,info FROM events WHERE source="resource" AND status="3" ORDER BY timestamp DESC
API Request URL:
https://data.servicepilot.com/api/sql?q=SELECT timestamp,resource,view,status,info FROM events WHERE source="resource" AND status="3" ORDER BY timestamp DESC&rows=100&wt=JSON&apikey=10000000-0000-0000-READ-000000000002
Example: Get the average memory usage for servers during the last 30 mins
SQL Query:
SELECT object,MEAN(integer4) FROM objectdata WHERE class="server system" GROUP BY object ORDER BY timestamp DESC
API Request URL:
https://data.servicepilot.com/api/sql?q=SELECT object,MEAN(integer4) FROM objectdata WHERE class="server system" GROUP BY object ORDER BY timestamp DESC&rows=30&apikey=10000000-0000-0000-READ-000000000002
ServicePilot SQL Request API Definitions
ServicePilot also offers an assistant to help you build custom SQL queries as required. Visit the Query page in ServicePilot web interface to get started:
| 1. Access the ServicePilot web interface |
| 2. Open TOOLS > Data explorer |
| 3. Click on the SQL sub-menu |
| 4. Create your SQL request |
See the SETUP > Parameters > API page in ServicePilot web interface for additional information and syntax on the SQL Request API.
| 1. Using a user with administrative privileges, log in to ServicePilot |
| 2. Open SETUP > Parameters |
| 3. Navigate to API |
Resource removal API
The ServicePilot Resource Removal API allows you to quickly remove views, resources and graphical elements from the ServicePilot monitoring, in bulk as required.
ServicePilot Resource Removal API can remove one or more resources based on the same package per request as each request consists of a URL specifying the package type and a DELETE body with the associated resources to remove.
To remove resources with the REST API, a web request using a Delete capable API key is used.
Example: Remove resources using a cURL request
-
Obtain a Delete capable API key following the instructions under API Authentication Keys
-
Prepare a CSV file called "data-delete.csv" containing the definitions of the resources to remove.
name,view *,View_Test Ping-3, -
Edit the following commands as required and execute them in a CLI
REM Select an API key with DELETE access set APIKEY=10000000-0000-0000-0000-DELETE000001 curl -X DELETE "https://data.servicepilot.com/api/provisioning/network-ping" -H "Content-Type: text/csv" -H "x-api-key: %APIKEY%" --data-binary @data-delete.csv
ServicePilot Resource Removal API Definitions
See the SETUP > Provisioning > Packages > API page in ServicePilot web interface for additional information.
| 1. Using a user with administrative privileges, log in to ServicePilot |
| 2. Open SETUP > Provisioning |
| 3. Click on the Packages sub-menu |
| 4. Navigate to the API tab |
| 5. Follow the steps under Resource removal API |
Manage / Unmanage API
It is possible to set the management status of resources, views and objects using API calls. A ReadWrite API key is needed when making management API calls.
| Operation | isunmanaged |
unmanageifred |
collectunmanage |
collectorunmanage |
Description |
|---|---|---|---|---|---|
| Manage resource, view or object | false |
false |
false |
false |
Set set object or view and its contents' status based on data received. Show and store data collected. Apply operation to object, view and its content or resource depending on what was Unmanaged. |
| Unmanage resource, view or object while unavailable | true |
true |
true |
true |
For each resource, view or object that is Unavailable, set its status to Unknown (Unmanaged). Revert to Managed when object or view would no longer be Unavailable. Continue to show and store data collected. |
| Unmanage resource, view or object and store stats | true |
false |
true |
true |
Set resource, view or resource to Unknown (Unmanaged). Continue to show and store data collected. |
| Unmanage view or object and don’t store stats | true |
false |
false |
true |
Set view or object to Unknown (Unmanaged). Do not show nor store data collected. |
| Unmanage resource and stop collector | true |
false |
false |
false |
Set all of the resources' object's and view's status to Unknown (Unmanaged). Stop collecting data from the resources. |
| Field | Description |
|---|---|
items |
Name(s) of the resource, view or object over which the operation will take place. More than one name can be listed by separating the names with |. |
unmanagenote |
When setting isunmanaged to false, a note can be included. |
fromdatetime |
Optionally, when setting isunmanaged to false, a start time and date can be specified. The format of this field is in the form YYYY-MM-DDTHH:MM with the time represented in ServicePilot server local time. |
todatetime |
Optionally, when setting isunmanaged to false, an end time and date can be specified. The format of this field is in the form YYYY-MM-DDTHH:MM with the time represented in ServicePilot server local time. |
Different URLs are used depending on which type of item (resource, view, object) is to have its management status changed.
Manage a resource, view or object
Example manage of the web check 1 and server2 resources:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/resources" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"web check 1|server2\",\"isunmanaged\":false,\"unmanageifred\":false,\"collectunmanage\":false,\"collectorunmanage\":false,\"unmanagenote\":\"\"}"
Example manage of the view 1 view:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/views" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"view 1\",\"isunmanaged\":false,\"unmanageifred\":false,\"collectunmanage\":false,\"collectorunmanage\":false,\"unmanagenote\":\"\"}"
Example manage of the server 1 - Ping object:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/objects" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"server 1 - Ping\",\"isunmanaged\":false,\"unmanageifred\":false,\"collectunmanage\":false,\"collectorunmanage\":false,\"unmanagenote\":\"\"}"
Unmanage and stop collector for resources
Example of unmanaging and stopping collectors for the web check 1 and server2 resources over the weekend:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/resources" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"web check 1|server2\",\"isunmanaged\":true,\"unmanageifred\":false,\"collectunmanage\":false,\"collectorunmanage\":false,\"unmanagenote\":\"Maintenance of server 2 and web check 1 this weekend\",\"fromdatetime\":\"2025-11-15T00:00:00Z\",\"todatetime\":\"2025-11-16T23:59:59Z\"}"
Unmanage resource, view or object while unavailable
Example of unmanaging server 1 resource while unavailable:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/resources" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"server 1\",\"isunmanaged\":true,\"unmanageifred\":true,\"collectunmanage\":true,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Example of unmanaging view 1 view while unavailable:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/views" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"view 1\",\"isunmanaged\":true,\"unmanageifred\":true,\"collectunmanage\":true,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Example of unmanaging web check 1 object while unavailable:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/objects" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"web check 1\",\"isunmanaged\":true,\"unmanageifred\":true,\"collectunmanage\":true,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Unmanage resource, view or object but continue to store stats
Example of unmanaging server 1 resource but continue to store stats:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/resources" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"server 1\",\"isunmanaged\":true,\"unmanageifred\":false,\"collectunmanage\":true,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Example of unmanaging view 1 view but continue to store stats:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/views" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"view 1\",\"isunmanaged\":true,\"unmanageifred\":false,\"collectunmanage\":true,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Example of unmanaging web check 1 object but continue to store stats:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/objects" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"web check 1\",\"isunmanaged\":true,\"unmanageifred\":false,\"collectunmanage\":true,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Unmanage view or object and stop storing stats
Example of unmanaging view 1 view and stop storing stats:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/views" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"view 1\",\"isunmanaged\":true,\"unmanageifred\":false,\"collectunmanage\":false,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Example of unmanaging web check 1 object and stop storing stats:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/objects" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"web check 1\",\"isunmanaged\":true,\"unmanageifred\":false,\"collectunmanage\":false,\"collectorunmanage\":true,\"unmanagenote\":\"\"}"
Acknowledge API
When a resource, view or object has an error status, it can be acknowledged with an optional note to indicate that it has been seen. When the item is no longer in error, the acknowledgment is cleared automatically.
| Field | Description |
|---|---|
items |
Name(s) of the resource, view or object over which the operation will take place. More than one name can be listed by separating the names with |. |
ack |
Optionally set acknowledgment text |
Acknowledge resource, view or object alarm status
Example acknowledge web check 1 and web check 2 resources as having issues:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/resources" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"web check 1|web check 2\", \"ack\":\"Web servers known to be down\"}"
Example acknowledge view 1 view as having issues:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/views" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"view 1\", \"ack\":\"All view 1 elements known to be down\"}"
Example acknowledge server 1 - Ping object as having issues:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/resources" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"server 1 - Ping\", \"ack\":\"Server 1 Ping blocked by firewall\"}"
Note API
Resources, views and objects have a note string associated with the item. This is independent of the status of the item.
| Field | Description |
|---|---|
items |
Name(s) of the resource, view or object over which the operation will take place. More than one name can be listed by separating the names with |. |
note |
Optionally set a note text |
Notes can be removed by applying an empty string to the item.
Add a note to a resource, view or object
Example note applied to server 2 resource:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/resources" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"server 2\", \"note\":\"Server 2 is special\"}"
Example note applied to view 1 view:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/views" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"view 1\", \"note\":\"Resources in this view are hosted in the data center\"}"
Example note applied to web check 1 object:
curl -X POST "https://data.servicepilot.com/api/ackmanagenote/objects" -H "Content-Type: application/json" -H "x-api-key: 10000000-0000-0000-0000-000000000000" --data-binary "{\"items\":\"web check 1\", \"note\":\"This web check is for lab testing\"}"
API Authentication Keys
An API key is a secret pre-shared key associated with a ServicePilot customer and used by ServicePilot Agents and API users to authorize access. Different API requests will require different API key authorization levels.
| API Requests | Minimum API key Authorization |
|---|---|
| Add resources | Write |
| Send data | Write |
| SQL Requests | Read |
| Remove resources | Delete |
How to obtain a ServicePilot API key?
The "API keys" page allows you to manage API keys for ServicePilot agents and the REST API. It is suggested to use an API key dedicated to the REST interface with Read, Read & Write or Read, Write & Delete privileges depending on what access is required. If this key is compromised, it can be removed without affecting ServicePilot agent data gathering.
| 1. Using a user with administrative privileges, log in to ServicePilot |
| 2. Open SETUP > Parameters |
| 3. Navigate to API keys |
| 4. Create and note down an API key with the required authorization |