Services Reference
This topic provides properties, parameters, and examples for service APIs.
Request Parameters for Services
Parameter | Description | Type | Required |
---|---|---|---|
| Organization | Integer | Yes |
| Name of service on which to filter. This parameter supports partial matches. | String | GET: No POST: Yes |
| Description of the service on which to filter. This parameter supports partial matches. | String | No |
| Security Policy Version | String | Yes |
| The data source from which the resource originates. For example, if service information is stored in an external database. | String | No |
| A unique identifier within the external data source. For example, if service information is stored in an external database. | String | No |
| Services associated with ransomware. | Boolean | No |
| The maximum number of results to return using GET. The maximum limit for returned services is 500. NOTE: If this parameter is not specified, or a value greater than 500 is specified, a maximum of 500 results are returned. | Integer | No |
| Name of service on which to filter. This parameter supports partial matches. | String | GET: No POST: Yes |
| Specify port or port range to filter results. The range is from -1 to 65535 (0 is not supported). | String | No |
| Protocol to filter on | Integer | GET: No PUT, POST: Yes |
Properties for Services
Properties | Description | Type |
---|---|---|
| URI of the service | String |
| Name of service (does not need to be unique) | String |
| Description of the service | String |
risk_details | This property contains the object It contains the following properties:
| Object, NULL |
| Description URL Read-only to prevent XSS attacks | String |
| Name of the process. | String |
| Reference to | |
| Reference to | |
| External data set identifier. | String NULL |
| External data reference identifier. | String NULL |
sec_policy_post
This schema section shows how the property risk_details
was added to define the categorization of services based on the ransomware threat:
{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "additionalProperties": false, "required": [ "name" ], "properties": { "name": { "description": "Name (does not need to be unique)", "type": "string" }, "description": { "description": "Description", "type": "string" }, "risk_details": { "type": "object", "properties": { "ransomware": { "type": "object", "properties": { "category": { "description": "Categorization based on Admin or Legacy port used in the service", "type": "string", "enum": [ "admin", "legacy" ] }, "severity": { "description": "Severity of this service", "type": "string", "enum": [ "low", "medium", "high", "critical" ] }, "os_platforms": { "description": "Operating system for this ransomware service", "type": "array", "minItems": 1, "items": { "type": "string", "enum": [ "windows", "linux" ] } } } } ============================================================================
Curl Command to Get All Services
curl -i -X GET https://pce.my-company.com:8443/api/v2/orgs/2/sec_policy/draft/services -H "Accept: application/json" -u $KEY:$TOKEN
Curl Example to Get a Service
curl -i -X GET https://pce.my-company.com:8443/api/v2/orgs/2/sec_policy/draft/services/91 -H "Accept: application/json" -u $KEY:$TOKEN
Response
Each individual service returned is identified by a service HREF. To GET, PUT, or DELETE an individual service, identify the service using its HREF in the API call.
{ "href": "/orgs/7/sec_policy/active/services/878", "created_at": "2017-02-10T18:10:50.324Z", "updated_at": "2017-02-10T18:10:50.324Z", "deleted_at": null, "updated_by": null, "deleted_by": null, "name": "ICMP ECHO", "description": null, "description_url": null, "process_name": null, "service_ports": [ { "icmp_type": 8, "icmp_code": null, "proto": 1 }, { "icmp_type": 128, "icmp_code": null, "proto": 58 } ] }
Example payload to create a service
{ "name": "RDP", "description": "Windows Remote Desktop", "service_ports": [ { "port": 3389, "proto": 6 } ] }
Curl Command to Create Windows Service
This example shows how to create a Windows Remote Desktop (RDP) service.
curl -i -X POST https://pce.my-company.com:8443/api/v2/orgs/2/sec_policy/active/services -H "Content-Type:application/json" -u $KEY:$TOKEN -d '{"name":"RDP", "description":"Windows Remote Desktop","service_ports":[{"port":3389,"proto":6}]}'
Request body to create a service
This example illustrates the request body you can pass to update a service, for example, to change the port used by the Nginx service from its current port number to 8080:
{ "name": "nginx", "service_ports": [ { "port": 8080, "proto": 6 } ] }
Curl Command to Update a Service
curl -i -X PUT https://pce.my-company.com:8443/api/v2/orgs/2/sec_policy/active/services/79 -H "Content-Type:application/json" -u $KEY:$TOKEN -d '{"name":"nginx","service_ports":[{"port":8080,"proto":6}]}'
Curl Command to Delete a Service
curl -i -X DELETE https://pce.my-company.com:8443/api/v2/orgs/2/sec_policy/active/services/79 -u $KEY:$TOKEN