{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":566,"path":"api-reference/rest-apis/verifyentitlements-api.md","title":"Verify Entitlements API","bundle":null,"doc_type":null,"release":"australia","body":"\n# Verify Entitlements API\n\nThe Verify Entitlements API provides endpoints that enable you to obtain a list of valid entitlements, details about the characteristics of entitlements, and an entitlement's latest usage information.\n\nTo access this API, the Entitlement Verification \\(com.sn\\_ent\\_verify\\) plugin must be activated.\n\nThis API is provided within the `sn_ent_verify` namespace.\n\nThe calling user must have the sn\\_pss\\_core.pss\\_integrator role.\n\nThe REST endpoints of this API query data from the following tables:\n\n-   Account \\[customer\\_account\\]\n-   Consumer \\[csm\\_consumer\\]\n-   Entitlement \\[service\\_entitlement\\]\n-   Entitlement Characteristic \\[sn\\_pss\\_core\\_entitlement\\_characteristic\\]\n-   Entitlement Usages \\[sn\\_pss\\_core\\_entitlement\\_usage\\]\n-   Household \\[csm\\_household\\]\n-   Install Base \\[sn\\_install\\_base\\_item\\]\n-   Product Model \\[cmdb\\_model\\]\n-   Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n-   Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n-   Service Contract \\[sn\\_pss\\_core\\_service\\_contract\\]\n-   Service Contract Line \\[sn\\_pss\\_core\\_service\\_contract\\_line\\]\n-   Sold Product \\[sn\\_install\\_base\\_sold\\_product\\]\n\n**Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md)\n\n## Verify Entitlements - GET /sn\\_ent\\_verify/verifyentitlements\n\nReturns the valid entitlement records based on the provided filter.\n\nYou can filter entitlements based on:\n\n-   Account\n-   Consumer\n-   Contract\n-   Household\n-   Install base\n-   Product model\n-   Product offering\n-   Product specification\n-   Service contract line\n-   Sold entitlement\n-   Sold product\n-   State\n\nAt a minimum, you must specify either the account or the consumer on which to filter the entitlements.\n\nWhen multiple filter parameters are passed, the endpoint applies the `AND` operator to the parameters. For example, if you pass filter parameters such as `\"account = boxeo\"` and `“state = draft”`, the endpoint returns all the entitlements with Account = boxeo `AND` state = draft.\n\nYou can implement pagination for the return results by passing the system pagination parameters **sysparm\\_offset** and **sysparm\\_limit**. By default **sysparm\\_offset** is set to 0 and **sysparm\\_limit** is set to 10. So, if after applying the filter, 100 entitlements satisfy the criteria, the response will include the first 10 entitlements. You can modify these values by passing them in the endpoint call.\n\n### URL format\n\nVersioned URL: `/api/sn_ent_verify/{api_version}/verifyentitlements`\n\nDefault URL: `/api/sn_ent_verify/verifyentitlements`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr><tr><td>\n\nsysparm\\_limit\n\n</td><td>\n\nOptional.Maximum number of records to return. For requests that exceed this number of records, use the **sysparm\\_offset** parameter to paginate record retrieval.\n\nIn the response, the boolean parameter **hasMore** is returned. It indicates whether there are more records to return that meet the filter criteria.\n\nData type: Number\n\nDefault: 10\n\nMaximum: 100\n\n</td></tr><tr><td>\n\nsysparm\\_offset\n\n</td><td>\n\nOptional. Starting record index for which to begin retrieving records. Use this value to paginate record retrieval. This functionality enables the retrieval of all records, regardless of the number of records, in small manageable chunks.\n\nFor example, the first time you call this endpoint, **sysparm\\_offset** is set to \"0\". To simply page through all available records, use `sysparm_offset=sysparm_offset+sysparm_limit`, until you reach the end of all records.\n\nDo not pass a negative number in the **sysparm\\_offset** parameter.\n\nData type: Number\n\nDefault: 0\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\naccount\n\n</td><td>\n\nEither the **account** or **consumer** parameter must be passed. They are mutually exclusive. Sys\\_id of the account record for which to return entitlement records.Data type: String\n\nDefault: None\n\nTable: Account \\[customer\\_account\\]\n\n</td></tr><tr><td>\n\nconsumer\n\n</td><td>\n\nEither the **account** or **consumer** parameter must be passed. They are mutually exclusive. Sys\\_id of the consumer record for which to return entitlement records. Data type: String\n\nDefault: None\n\nTable: Consumer \\[csm\\_consumer\\]\n\n</td></tr><tr><td>\n\ncontract\n\n</td><td>\n\nSys\\_id of the contract record for which to return entitlement records.Data type: String\n\nDefault: None\n\nTable: Contract \\[sn\\_pss\\_core\\_service\\_contract\\]\n\n</td></tr><tr><td>\n\ndisplay\\_value\n\n</td><td id=\"csm-display_value-entry\">\n\nFlag that indicates whether to return the associated field value, display value, or both.Valid values:\n\n-   true: Response contains only the display values of the fields. For example: `\"state\": \"Draft\"`.\n-   false: Response contains only the values of the fields. For example:`\"state\": \"draft\"`.\n-   all: Response contains all the information for the fields.\n\nFor example:\n\n    ```\n\"state\": {\n  \"name\": \"state\",\n  \"label\": \"State\",\n  \"value\": \"draft\",\n  \"display_value\": \"true\",\n  \"type\": \"string\"\n}\n    ```\n\n\nData type: String\n\nDefault: false\n\n</td></tr><tr><td>\n\nhousehold\n\n</td><td>\n\nSys\\_id of the household record for which to return entitlement records.Data type: String\n\nDefault: None\n\nTable: Household \\[csm\\_household\\]\n\n</td></tr><tr><td>\n\ninstall\\_base\n\n</td><td>\n\nSys\\_id of the install base record for which to return entitlement records.The endpoint uses the sys\\_id of the install base record to search the Sold Product Covered \\[sn\\_install\\_base\\_m2m\\_contract\\_sold\\_product\\] table to return all entitlements covered by the associated install base.\n\nData type: String\n\nDefault: None\n\nTable: Install Base \\[sn\\_install\\_base\\_item\\]\n\n</td></tr><tr><td>\n\nproduct\n\n</td><td>\n\nSys\\_id of the product record for which to return entitlement records.Data type: String\n\nDefault: None\n\nTable: Product Model \\[cmdb\\_model\\]\n\n</td></tr><tr><td>\n\nproduct\\_offering\n\n</td><td>\n\nSys\\_id of the product offering record for which to return entitlement records.Data type: String\n\nDefault: None\n\nTable: Product Offering \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nproduct\\_specification\n\n</td><td>\n\nSys\\_id of product specification record for which to return entitlement records. Data type: String\n\nDefault: None\n\nTable: Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr><tr><td>\n\nservice\\_contract\\_line\n\n</td><td>\n\nSys\\_id of the service contract line record for which to return entitlement records.Data type: String\n\nDefault: None\n\nTable: Service Contract Line \\[sn\\_pss\\_core\\_service\\_contract\\_line\\]\n\n</td></tr><tr><td>\n\nsold\\_entitlement\n\n</td><td>\n\nSys\\_id of the sold entitlement record for which to return entitlement records.Data type: String\n\nDefault: None\n\nTable: Sold Product \\[sn\\_install\\_base\\_sold\\_product\\]\n\n</td></tr><tr><td>\n\nsold\\_product\n\n</td><td>\n\nSys\\_id of the sold product record for which to return entitlement records.The endpoint uses the sys\\_id of the Sold Product record to search the Sold Product Covered \\[sn\\_install\\_base\\_m2m\\_contract\\_sold\\_product\\] table to return all entitlements covered by the associated sold product.\n\nData type: String\n\nDefault: None\n\nTable: Sold Product \\[sn\\_install\\_base\\_sold\\_product\\]\n\n</td></tr><tr><td>\n\nstate\n\n</td><td>\n\nState of the entitlements to return.Valid values:\n\n-   active\n-   cancelled\n-   draft\n-   expired\n-   suspended\n\nData type: String\n\nDefault: All\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|403|Forbidden. The user doesn't have access rights to the specified record.|\n|404|Not found. The requested item wasn't found.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nentitlements\n\n</td><td>\n\nList of entitlements that match the passed filter criteria.Data type: Array of Objects\n\n```\n\"entitlements\": [\n  {\n    \"account\": \"String\",\n    \"consumer\": \"String\",\n    \"contract\": \"String\",\n    \"end_date\": \"String\",\n    \"entitlement_name\": \"String\",\n    \"household\": \"String\",\n    \"product\": \"String\",\n    \"product_offering\": \"String\",\n    \"product_specification\": \"String\",\n    \"service_contract_line\": \"String\",\n    \"sold_entitlement\": \"String\",\n    \"start_date\": \"String\",\n    \"state\": \"String\",\n    \"sys_id\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nentitlements.account\n\n</td><td>\n\nSys\\_id of the account record associated with this entitlement.Data type: String\n\nTable: Account \\[customer\\_account\\]\n\n</td></tr><tr><td>\n\nentitlements.consumer\n\n</td><td>\n\nSys\\_id of the consumer record associated with this entitlement.Data type: String\n\nTable: Consumer \\[csm\\_consumer\\]\n\n</td></tr><tr><td>\n\nentitlements.contract\n\n</td><td>\n\nSys\\_id of the contract record associated with this entitlement.Data type: String\n\nTable: Contract \\[sn\\_pss\\_core\\_service\\_contract\\]\n\n</td></tr><tr><td>\n\nentitlements.end\\_date\n\n</td><td>\n\nValue of the End Date field on the associated entitlement record.Data type: String\n\n</td></tr><tr><td>\n\nentitlements.entitlement\\_name\n\n</td><td>\n\nName of the entitlement.Data type: String\n\n</td></tr><tr><td>\n\nentitlements.household\n\n</td><td>\n\nSys\\_id of the household record associated with this entitlement.Data type: String\n\nTable: Household \\[csm\\_household\\]\n\n</td></tr><tr><td>\n\nentitlements.product\n\n</td><td>\n\nSys\\_id of the product record associated with this entitlement.Data type: String\n\nTable: Product Model \\[cmdb\\_model\\]\n\n</td></tr><tr><td>\n\nentitlements.product\\_offering\n\n</td><td>\n\nSys\\_id of the product offer record associated with this entitlement.Data type: String\n\nTable: Product Offer \\[sn\\_prd\\_pm\\_product\\_offering\\]\n\n</td></tr><tr><td>\n\nentitlements.product\\_specification\n\n</td><td>\n\nSys\\_id of the product specification record associated with this entitlement.Data type: String\n\nTable: Product Specification \\[sn\\_prd\\_pm\\_product\\_specification\\]\n\n</td></tr><tr><td>\n\nentitlements.service\\_contract\\_line\n\n</td><td>\n\nSys\\_id of the service contract line record associated with this entitlement.Data type: String\n\nTable: Service Contract Line \\[sn\\_pss\\_core\\_service\\_contract\\_line\\]\n\n</td></tr><tr><td>\n\nentitlements.sold\\_entitlement\n\n</td><td>\n\nSys\\_id of the sold entitlement record associated with this entitlement.Data type: String\n\nTable: Sold Product \\[sn\\_install\\_base\\_sold\\_product\\]\n\n</td></tr><tr><td>\n\nentitlements.start\\_date\n\n</td><td>\n\nValue of the Start Date field on the associated entitlement record.Data type: String\n\n</td></tr><tr><td>\n\nentitlements.state\n\n</td><td>\n\nState of the entitlements record.Possible values:\n\n-   active\n-   cancelled\n-   draft\n-   expired\n-   suspended\n\nData type: String\n\n</td></tr><tr><td>\n\nentitlements.sys\\_id\n\n</td><td>\n\nSys\\_id of the entitlement record.Data type: String\n\nTable: Entitlement \\[service\\_entitlement\\]\n\n</td></tr><tr><td>\n\nerror\n\n</td><td>\n\nDescribes the error that occurred.Data type: Object\n\n```\n\"error\": {\n  \"detail\": \"String\",\n  \"message\": \"String\"\n}\n```\n\nExamples of error responses:\n\n-   Error message: Page size -20 is Invalid. Page size must be an integer between 1 and 100\n\nError condition: Invalid **sysparm\\_limit** parameter passed. The **sysparm\\_limit** parameter must be between 1 and 100.\n\n-   Error message: Page offset -23 is invalid. Offset must be an integer greater than or equal to 0\n\nError condition: Invalid **sysparm\\_offset** parameter passed. The **sysparm\\_offset** parameter must be a whole number.\n\n-   Error message: Invalid Query Parameter - accnt\n\nError condition: Invalid query parameter, \"accnt\", was passed. Parameter should be \"account\".\n\n-   Error message: Invalid choice value: state = drft\n\nError condition: Invalid value, \"drft\", was passed. Parameter value should be \"draft\".\n\n\n</td></tr><tr><td>\n\nerror.detail\n\n</td><td>\n\nDetailed information as to why the endpoint call failed.Data type: String\n\n</td></tr><tr><td>\n\nerror.message\n\n</td><td>\n\nMessage that describes the error at a high-level.Data type: String\n\n</td></tr><tr><td>\n\nhasMore\n\n</td><td>\n\nFlag that indicates whether there are more entitlement records to return.Possible values:\n\n-   true: More entitlement records to return.\n-   false: No more entitlement records.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td>\n\nStatus of the endpoint call.Possible values:\n\n-   failure: An error occurred when processing the request.\n-   success: The call was processed successfully.\n\nData type: String\n\n</td></tr><tr><td>\n\nsysparm\\_limit\n\n</td><td>\n\nIf the **sysparm\\_limit** parameters was passed in the endpoint call, it contains the passed value, otherwise it contains the default value.Data type: Number\n\n</td></tr><tr><td>\n\nsysparm\\_offset\n\n</td><td>\n\nIf the **sysparm\\_offset** parameters was passed in the endpoint call, it contains the passed value, otherwise it contains the default value.Data type: Number\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following code example shows how to return entitlements for a specific account.\n\n```\ncurl \"https://instance.service-now.com/api/sn_ent_verify/verifyentitlements?account=9e2fd2ee11b43110f877366201dea674\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user \"username\":\"password\"\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"sysparm_offset\": \"0\",\n    \"sysparm_limit\": \"10\",\n    \"has_more\": \"false\",\n    \"entitlements\": [\n      {\n        \"sys_id\": \"38374bf251e27110f877bf82d3ddf30a\",\n        \"entitlement_name\": \"test ent\",\n        \"account\": \"9e2fd2ee11b43110f877366201dea674\",\n        \"consumer\": null,\n        \"household\": null,\n        \"contract\": \"0e1747f251e27110f877bf82d3ddf31c\",\n        \"service_contract_line\": \"da278fb251e27110f877bf82d3ddf3b7\",\n        \"state\": \"active\",\n        \"product_offering\": null,\n        \"product_specification\": null,\n        \"sold_entitlement\": null,\n        \"product\": null,\n        \"start_date\": \"2023-11-21\",\n        \"end_date\": \"\"\n      },\n      {\n        \"sys_id\": \"e6ad4e4151723d10f877bf82d3ddf3fb\",\n        \"entitlement_name\": \"tets entitlement\",\n        \"account\": \"9e2fd2ee11b43110f877366201dea674\",\n        \"consumer\": null,\n        \"household\": null,\n        \"contract\": \"0e1747f251e27110f877bf82d3ddf31c\",\n        \"service_contract_line\": \"e79dce4151723d10f877bf82d3ddf31d\",\n        \"state\": \"active\",\n        \"product_offering\": null,\n        \"product_specification\": null,\n        \"sold_entitlement\": null,\n        \"product\": null,\n        \"start_date\": \"2023-11-21\",\n        \"end_date\": \"\"\n      }\n    ],\n    \"status\": \"success\"\n  }\n}\n```\n\n### cURL request\n\nThe following code example shows how to return entitlements for a specific account and service contract line.\n\n```\ncurl \"https://instance.service-now.com/api/sn_ent_verify/verifyentitlements?service_contract_line=e79dce4151723d10f877bf82d3ddf31d&account=9e2fd2ee11b43110f877366201dea674\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user \"username\":\"password\"\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"sysparm_offset\": \"0\",\n    \"sysparm_limit\": \"10\",\n    \"has_more\": \"false\",\n    \"entitlements\": [\n      {\n        \"sys_id\": \"e6ad4e4151723d10f877bf82d3ddf3fb\",\n        \"entitlement_name\": \"test entitlement\",\n        \"account\": \"9e2fd2ee11b43110f877366201dea674\",\n        \"consumer\": null,\n        \"household\": null,\n        \"contract\": \"0e1747f251e27110f877bf82d3ddf31c\",\n        \"service_contract_line\": \"e79dce4151723d10f877bf82d3ddf31d\",\n        \"state\": \"active\",\n        \"product_offering\": null,\n        \"product_specification\": null,\n        \"sold_entitlement\": null,\n        \"product\": null,\n        \"start_date\": \"2023-11-21\",\n        \"end_date\": \"\"\n      }\n    ],\n    \"status\": \"success\"\n  }\n}\n```\n\n### cURL request\n\nThe following code example shows an error response.\n\n```\ncurl \"https://instance.service-now.com/api/sn_ent_verify/verifyentitlements?service_contract_line=e79dce4151723d10f877bf82d3ddf31d\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user \"username\":\"password\"\n```\n\nReturn results:\n\n```\n{\n  \"error\": {\n    \"detail\": \"At least one of Account or Consumer parameter is mandatory.\",\n    \"message\": \"At least one of Account or Consumer parameter is mandatory.\"\n  },\n  \"status\": \"failure\"\n}\n```\n\n## Verify Entitlements - GET /sn\\_ent\\_verify/verifyentitlements/getEntitlementCharacteristic/\\{id\\}\n\nReturns details of the specified entitlement characteristic record and its latest usage record.\n\nThe latest usage record for a characteristic is defined as the record where the period start date is less than or equal to the current date and the period end date is greater than or equal to the current date.\n\n### URL format\n\nVersioned URL: `/api/sn_ent_verify/{api_version}/verifyentitlements/getEntitlementCharacteristic/{id}`\n\nDefault URL: `/api/sn_ent_verify/verifyentitlements/getEntitlementCharacteristic/{id}`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr><tr><td>\n\nid\n\n</td><td>\n\nSys\\_id of the entitlement characteristic record to return.Data type: String\n\nTable: Entitlement Characteristic \\[sn\\_pss\\_core\\_entitlement\\_characteristic\\]\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ndisplay\\_value\n\n</td><td id=\"csm-display_value-entry\">\n\nFlag that indicates whether to return the associated field value, display value, or both.Valid values:\n\n-   true: Response contains only the display values of the fields. For example: `\"state\": \"Draft\"`.\n-   false: Response contains only the values of the fields. For example:`\"state\": \"draft\"`.\n-   all: Response contains all the information for the fields.\n\nFor example:\n\n    ```\n\"state\": {\n  \"name\": \"state\",\n  \"label\": \"State\",\n  \"value\": \"draft\",\n  \"display_value\": \"true\",\n  \"type\": \"string\"\n}\n    ```\n\n\nData type: String\n\nDefault: false\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|403|Forbidden. The user doesn't have access rights to the specified record.|\n|404|Not found. The requested item wasn't found.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncharacteristic\n\n</td><td>\n\nSys\\_id of the associated entitlement characteristic record.Data type: String\n\nTable: Characteristic \\[sn\\_prd\\_pm\\_characteristic\\]\n\n</td></tr><tr><td>\n\ncharacteristic\\_option\n\n</td><td>\n\nSys\\_id of the associated characteristic options record.Data type: String\n\nTable: Characteristic Option \\[sn\\_prd\\_pm\\_characteristic\\_option\\]\n\n</td></tr><tr><td>\n\nentitlement\\_usage\n\n</td><td>\n\nDetails about the entitlement usage record associated with the specified entitlement characteristic record.Data type: Array of Objects\n\n```\n\"entitlement_usage\": [\n  {\n    \"entitlement_characteristic\": \"String\",\n    \"period_end\": \"String\",\n    \"period_start\": \"String\",\n    \"sys_id\": \"String\",\n    \"total_units\": \"String\",\n    \"used_units\": \"String\"\n  }\n]\n```\n\n</td></tr><tr><td>\n\nentitlement\\_usage.​entitlement\\_characteristic\n\n</td><td>\n\nSys\\_id of the associated entitlement characteristic record.Data type: String\n\nTable: Entitlement Characteristic \\[sn\\_pss\\_core\\_entitlement\\_characteristic\\]\n\n</td></tr><tr><td>\n\nentitlement\\_usage.​period\\_end\n\n</td><td>\n\nValue of the period end field in the entitlement usage record. This value is the date that the usage tracking ends for this entitlement.Data type: String\n\n</td></tr><tr><td>\n\nentitlement\\_usage.​period\\_start\n\n</td><td>\n\nValue of the period start field in the entitlement usage record. This value is the date that the usage tracking starts for this entitlement.Data type: String\n\n</td></tr><tr><td>\n\nentitlement\\_usage.​sys\\_id\n\n</td><td>\n\nSys\\_id of the returned entitlement usage record.Data type: String\n\nTable: Entitlement Usages \\[sn\\_pss\\_core\\_entitlement\\_usage\\]\n\n</td></tr><tr><td>\n\nentitlement\\_usage.​total\\_units\n\n</td><td>\n\nTotal number of units purchased. Data type: String\n\nTable: In the total\\_units field of the Entitlement Usages \\[sn\\_pss\\_core\\_entitlement\\_usage\\] table.\n\n</td></tr><tr><td>\n\nentitlement\\_usage.​used\\_units\n\n</td><td>\n\nNumber of units that have been used.Data type: String\n\nTable: In the used\\_units field in the Entitlement Usages \\[sn\\_pss\\_core\\_entitlement\\_usage\\] table.\n\n</td></tr><tr><td>\n\nsys\\_id\n\n</td><td>\n\nSys\\_id of the entitlement characteristic record.Data type: String\n\nTable: Entitlement Characteristic \\[sn\\_pss\\_core\\_entitlement\\_characteristic\\]\n\n</td></tr><tr><td>\n\ntype\n\n</td><td>\n\nValue of the type field in the entitlement characteristic record.Possible values:\n\n-   coverage\n-   coverage\\_and\\_usage\n\nData type: String\n\n</td></tr><tr><td>\n\nvalue\n\n</td><td>\n\nCoverage to give the characteristic.For some characteristics, coverages are defined in the Characteristic Option table. However, if there are no coverages defined in the Characteristic Option table, then you can pass the coverage information in the **value** parameter.\n\nCharacteristic options are only defined for the characteristic types of:\n\n-   check box\n-   choice\n-   yes/no\n\nFor all other types of characteristics, the **value** parameter should contain the coverage value.\n\nFor example, if the characteristic is “Number of Replacements” and its coverages are not defined in the Characteristic Option table, you can specify the coverages, such as \"10\", \"20\", in this parameter.\n\n**Note:** This parameter contains the final coverage value for the characteristic. If there is information in the Characteristic Option table, it is propagated to this parameter.\n\nData type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following code example shows how to call this endpoint using all of its default values.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_ent_verify/verifyentitlements/getEntitlementCharacteristic/3c817faa43823110341605ed0bb8f23a\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user \"username\":\"password\"\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"sys_id\": \"3c817faa43823110341605ed0bb8f23a\",\n    \"characteristic\": \"b73177aa43823110341605ed0bb8f246\",\n    \"type\": \"coverage\",\n    \"characteristic_option\": \"ff617baa43823110341605ed0bb8f266\",\n    \"value\": \"Minor parts\",\n    \"entitlement_usage\": [\n      {\n        \"sys_id\": \"03e3224d51b23d10f877bf82d3ddf310\",\n        \"period_start\": \"2022-12-12\",\n        \"period_end\": \"2025-12-12\",\n        \"entitlement_characteristic\": \"3c817faa43823110341605ed0bb8f23a\",\n        \"total_units\": \"10\",\n        \"used_units\": \"5\"\n      }\n    ]\n  }\n}\n```\n\n### cURL request\n\nThe following code example shows how to call this endpoint and return all display values.\n\n```\ncurl \"https://instance.servicenow.com/api/sn_ent_verify/verifyentitlements/getEntitlementCharacteristic/3c817faa43823110341605ed0bb8f23a?display_value=all\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user \"username\":\"password\"\n```\n\nReturn results:\n\n```\n{\n  \"result\": {\n    \"sys_id\": {\n      \"label\": \"Sys ID\",\n      \"value\": \"3c817faa43823110341605ed0bb8f23a\",\n      \"displayValue\": \"3c817faa43823110341605ed0bb8f23a\",\n      \"type\": \"GUID\"\n    },\n    \"characteristic\": {\n      \"name\": \"characteristic\",\n      \"label\": \"Characteristic\",\n      \"value\": \"b73177aa43823110341605ed0bb8f246\",\n      \"display_value\": \"Repair parts covered\",\n      \"type\": \"reference\"\n    },\n    \"type\": {\n      \"name\": \"type\",\n      \"label\": \"Type\",\n      \"value\": \"coverage\",\n      \"display_value\": \"Coverage\",\n      \"type\": \"string\"\n    },\n    \"characteristic_option\": {\n      \"name\": \"characteristic_option\",\n      \"label\": \"Characteristic option\",\n      \"value\": \"ff617baa43823110341605ed0bb8f266\",\n      \"display_value\": \"Minor parts\",\n      \"type\": \"reference\"\n    },\n    \"value\": {\n      \"name\": \"value\",\n      \"label\": \"Value\",\n      \"value\": \"Minor parts\",\n      \"display_value\": \"Minor parts\",\n      \"type\": \"string\"\n    },\n    \"entitlement_usage\": [\n      {\n        \"sys_id\": {\n          \"label\": \"Sys ID\",\n          \"value\": \"03e3224d51b23d10f877bf82d3ddf310\",\n          \"displayValue\": \"03e3224d51b23d10f877bf82d3ddf310\",\n          \"type\": \"GUID\"\n        },\n        \"period_start\": {\n          \"name\": \"period_start\",\n          \"label\": \"Period start\",\n          \"value\": \"2022-12-12\",\n          \"display_value\": \"2022-12-12\",\n          \"type\": \"glide_date\"\n        },\n        \"period_end\": {\n          \"name\": \"period_end\",\n          \"label\": \"Period end\",\n          \"value\": \"2025-12-12\",\n          \"display_value\": \"2025-12-12\",\n          \"type\": \"glide_date\"\n        },\n        \"entitlement_characteristic\": {\n          \"name\": \"entitlement_characteristic\",\n          \"label\": \"Entitlement characteristic\",\n          \"value\": \"3c817faa43823110341605ed0bb8f23a\",\n          \"display_value\": \"Repair parts covered\",\n          \"type\": \"reference\"\n        },\n        \"total_units\": {\n          \"name\": \"total_units\",\n          \"label\": \"Total units\",\n          \"value\": \"10\",\n          \"display_value\": \"10\",\n          \"type\": \"string\"\n        },\n        \"used_units\": {\n          \"name\": \"used_units\",\n          \"label\": \"Used units\",\n          \"value\": \"5\",\n          \"display_value\": \"5\",\n          \"type\": \"string\"\n        }\n      }\n    ]  \n  }\n}\n```\n\n"}}