
- Overview
- Resources
- API summary
- List CP codes
- List details of a CP code
- Update a CP code
- Get a water mark limit for CP codes
- List reporting groups
- Create a reporting group
- List details of a reporting group
- Update a reporting group
- Delete a reporting group
- List products within a reporting group
- Get a water mark limit for reporting groups
- Data
- Errors
CP Codes and Reporting Groups API v1
Manages the Content Provider codes (CP codes) and reporting groups to track and report on web traffic.
Learn more:
Download this API’s RAML and JSON schema descriptors.
Overview
The CP Codes and Reporting Groups API offers a programmatic interface to manage CP codes and reporting groups. It also details contracts and products associated with each CP code, and contracts and CP codes associated with each reporting group. Knowing these associations lets you break down your invoices and reports by reporting groups rather than by contracts or products only. You can get and sort CP code and reporting group details available in your contract using either a CP code or reporting group ID.
The CP Code and Reporting Group API lets you:
List and update CP codes. If you want to create CP codes, use the Property Manager API, which automatically assigns them to the correct product and contract. CP code deletion is unavailable at this time.
Create, delete, list, and update reporting groups.
Who should use this API
Developers, DevOps, and operations personnel use this API as an alternative to using Akamai Control Center.
Get started
To configure this API for the first time:
First review Get started with APIs to learn how to set up client tokens to access any Akamai API. These tokens appear as custom hostnames that look like this:
https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net
.To enable this API, choose the API service named CPcode and Reporting group (CPRG), and set the access level to READ WRITE.
To use this API, you need to add one of the these roles:
CP Code-Edit CP Code Information
CP Code-View CP Code Information
CPCode Rep Group-All privileges
CPCode Rep Group-Edit/View
Use the Identity and Access Management application. You can also add these roles programmatically with the Identity Management: User Administration API.
To use this API, you need to have a READ-ONLY access level to the Property Manager API.
API concepts
You deal with various conceptual objects when interacting with the CP Codes and Reporting Group API.
Account. An account key that Akamai customers use to access all their services. While administrators may have access to more than one account, in general they provision all their web assets under a single account.
Contract. The level of access that depends on the contracts associated with your Control Center username. If your username isn’t associated with the
contractId
you select, then the request fails. Each account features one or more contracts, each of which has a fixed term of service during which specified Akamai products and modules are active.Reporting group. A Logical grouping of content provider (CP) codes that consolidates billing for a contract. Without reporting groups, reports in the Billing Center are broken down by contracts and products only. See the Reporting group object.
Content Provider (CP) code. A unique identifier assigned to each customer to track and report on a set of traffic served over the Akamai network. It’s primarily used for billing, reporting, and access control. A customer and a single contract may each have more than one CP code. See the CP code object.
Water mark limit. By default, the maximum number of CP codes or reporting groups allowed for an account. Usually, all contracts associated with an account share the account’s limit, and the total number of objects created in all associated contracts don’t exceed the account’s limit. For example, you can split 100 CP codes in total among all contracts associated with an account having a 100 CP code limit. Note that water mark limit may also refer to the maximum number of CP codes or reporting groups allowed for a contract if the contract’s limit overrides its account limit. An overridden contract’s limit is a separate limit that isn’t affected by the account’s limit constraint. To increase the account or contract limit, contact your account representative. See the Water mark limit object.
Water mark examples
Example 1:
In the first example, neither of the contracts overrides their account limit. This means that you can add 100 CP codes in total to the contracts under this account. In this case, you’re left with 30 CP codes to share between the contracts.
Have a look at the account’s and contract’s water mark limits:
Account limit | Contract1 limit | Contract2 limit |
---|---|---|
100 | 100 | 100 |
Have a look at the number of CP codes added to the associated contracts and the account’s capacity:
CP codes per contract1 | CP codes per contract2 | Account capacity |
---|---|---|
60 | 10 | 30 |
Example 2:
In the second example, one of the contracts overrides its account limit. As a result of the override, this contract’s limit is separate from the account’s limit and doesn’t affect its count. This means that you can add 100 CP codes in total to the contracts that share the account’s limit and up to 200 CP codes to the contract that overrides the account’s limit. In this case, you’re left with 10 CP codes that you can share between the contracts constrained by the account’s limit (Contract1 and Contract2), and 50 CP codes that you can add to the overridden contract (Contract3).
Have a look at the account’s and contract’s water mark limits:
Account limit | Contract1 limit | Contract2 limit | Contract3 limit |
---|---|---|---|
100 | 100 | 100 | 200 |
Have a look at the number of CP codes added to the associated contracts, account’s capacity, and overridden contract’s capacity:
CP codes per contract1 | CP codes per contract2 | CP codes per contract3 | Account capacity | Overridden contract capacity |
---|---|---|---|---|
70 | 20 | 150 | 10 | 50 |
Resources
This section provides details on the API’s various operations.
API summary
Download the RAML descriptors for this API.
Operation | Method | Endpoint |
---|---|---|
List CP codes | GET | /cprg/ |
List details of a CP code | GET | /cprg/ |
Update a CP code | PUT | /cprg/ |
Get a water mark limit for CP codes | GET | /cprg/ |
List reporting groups | GET | /cprg/ |
Create a reporting group | POST | /cprg/ |
List details of a reporting group | GET | /cprg/ |
Update a reporting group | PUT | /cprg/ |
Delete a reporting group | DELETE | /cprg/ |
List products within a reporting group | GET | /cprg/ |
Get a water mark limit for reporting groups | GET | /cprg/ |
List CP codes
Lists detailed information about CP codes available within your account and contract paring.
GET /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
Optional query parameters | |||
contractId |
String | 1-ABC382 |
Identifies the contract to filter data by. |
cpcodeName |
String | Adaptive Media Delivery |
The name of the CP code to filter data by. |
groupId |
String | 12345 |
Identifies the reporting group to filter data by. |
productId |
String | AdaptiveMediaDelivery::AdaptiveMediaDelivery |
Identifies the product or service to filter data by. |
Status 200
application/json
Object type: CpCode
Download schema: get-all-cpcodes-response.json
Response body:
{
"cpcodes": [
{
"cpcodeId": 123456,
"cpcodeName": "CPC XYZ",
"purgeable": true,
"accountId": "act_1-1TGTG",
"defaultTimezone": "GMT 0 (Greenwich Mean Time)",
"type": "Regular",
"overrideTimezone": {
"timezoneId": "0",
"timezoneValue": "GMT 0 (Greenwich Mean Time)"
},
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_004W"
},
"contracts": [
{
"contractId": "ctr_004W",
"status": "ongoing"
}
],
"products": [
{
"productId": "AdvSite::Reporter",
"productName": "Monitor site advance"
}
]
},
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME",
"purgeable": true,
"accountId": "act_1-1TGTG",
"defaultTimezone": "GMT 0 (Greenwich Mean Time)",
"type": "Regular",
"overrideTimezone": {
"timezoneId": "0",
"timezoneValue": "GMT 0 (Greenwich Mean Time)"
},
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_004W"
},
"contracts": [
{
"contractId": "ctr_004W",
"status": "ongoing"
}
],
"products": [
{
"productId": "Dev::Cloud",
"productName": "Cloud development CD"
}
]
}
]
}
List details of a CP code
Lists detailed information about a specific CP code, including its type, name, time zone, and the account it’s assigned to. It also lists the access control group that the CP code belongs to and the contracts and products assigned to this CP code.
GET /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
cpcodeId |
Integer | 678263 |
The identifier for the CP code. |
Status 200
application/json
Object type: CpCode
Download schema: cpcode.json
Response body:
{
"cpcodeId": 123456,
"cpcodeName": "CPC XYZ",
"purgeable": true,
"accountId": "act_1-1TGTG",
"defaultTimezone": "GMT 0 (Greenwich Mean Time)",
"type": "Regular",
"overrideTimezone": {
"timezoneId": "0",
"timezoneValue": "GMT 0 (Greenwich Mean Time)"
},
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_004W"
},
"contracts": [
{
"contractId": "ctr_004W",
"status": "ongoing"
}
],
"products": [
{
"productId": "AdvSite::Reporter",
"productName": "Monitor site advance"
}
]
}
List CP codes and store the appropriate
cpcodeId
.Make a GET request to
/cprg/v1/cpcodes/{cpcodeId}
.
Update a CP code
Edits a specific CP code. You should only edit a CP code’s name, time zone, and purgeable member.
PUT /cprg/
Sample: /cprg/
Content-Type: application/json
Object type: CpCode
Download schema: update-cpcode-request.json
Request body:
{
"cpcodeId": 123456,
"cpcodeName": "CPC XYZ",
"contracts": [
{
"contractId": "ctr_004W"
}
],
"products": [
{
"productId": "PPPL::ABC"
},
{
"productId": "AdvSite::Reporter"
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
cpcodeId |
Integer | 678263 |
The identifier for the CP code. |
Status 200
application/json
Object type: CpCode
Download schema: cpcode.json
Response body:
{
"cpcodeId": 123456,
"cpcodeName": "CPC XYZ",
"purgeable": true,
"accountId": "act_1-1TGTG",
"defaultTimezone": "GMT 0 (Greenwich Mean Time)",
"type": "Regular",
"overrideTimezone": {
"timezoneId": "0",
"timezoneValue": "GMT 0 (Greenwich Mean Time)"
},
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_004W"
},
"contracts": [
{
"contractId": "ctr_004W",
"status": "ongoing"
}
],
"products": [
{
"productId": "Core::Analyzer",
"productName": "Core utility JL"
}
]
}
List CP codes and store the appropriate
cpcodeId
.Get the details of the CP code by making a GET request to
/cprg/v1/cpcodes/{cpcodeId}
.Prepare a PUT request based on the CP code members table.
Update the CP code’s members. You should only update the
cpcodeName
,purgeable
, andoverrideTimezone
members.Make a PUT request to
/cprg/v1/cpcodes/{cpcodeId}
.
Get a water mark limit for CP codes
Returns a water mark limit for CP codes for the account associated within a specific contract.
GET /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
contractId |
String | 1-ABC123 |
Identifies the contract for which you want to check a water mark limit. |
Status 200
application/json
Object type: WatermarkLimit
Download schema: watermark-limits.json
Response body:
{
"limit": 5000,
"currentCapacity": 3500,
"limitType": "account"
}
List contracts and store the appropriate
contractId
.Make a GET request to
/cprg/v1/cpcodes/contracts/{contractId}/watermark-limits
.
List reporting groups
Lists detailed information about reporting groups available within your account and contract paring.
GET /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
Optional query parameters | |||
contractId |
String | 1-ABC382 |
Identifies the contract to filter data by. |
cpcodeId |
String | 34567 |
Identifies the CP code to filter data by. |
groupId |
String | 12345 |
Identifies the reporting group to filter data by. |
reportingGroupName |
String | MyReportingGroup |
The name of the reporting group to filter data by. |
Status 200
application/json
Object type: ReportingGroup
Download schema: get-all-reporting-groups-response.json
Response body:
{
"reporting-groups": [
{
"reportingGroupId": 101010,
"reportingGroupName": "Region XYZ",
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_1Q004"
},
"contracts": [
{
"contractId": "ctr_1Q004",
"cpcodes": [
{
"cpcodeId": 12345,
"cpcodeName": "CPC XYZ"
}
]
}
]
},
{
"reportingGroupId": 101011,
"reportingGroupName": "Region gLobal XYZ",
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_1Q0042"
},
"contracts": [
{
"contractId": "ctr_1Q004",
"cpcodes": [
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME"
},
{
"cpcodeId": 98765,
"cpcodeName": "CPC Global"
}
]
}
]
}
]
}
Create a reporting group
Creates a reporting group. The reporting group’s name must be unique within an account. The location
header in the response provides a relative path to the created reporting group.
POST /cprg/
Content-Type: application/json
Object type: ReportingGroup
Download schema: create-reporting-group-request.json
Request body:
{
"reportingGroupName": "Region XYZ",
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_1Q004"
},
"contracts": [
{
"contractId": "ctr_1Q004",
"cpcodes": [
{
"cpcodeId": 12345,
"cpcodeName": "CPC XYZ"
},
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME"
}
]
}
]
}
Status 201
application/json
Headers:
Location: /cprg/v2/reporting-groups/1234
Object type: ReportingGroup
Download schema: reportinggroup.json
Response body:
{
"reportingGroupId": 101010,
"reportingGroupName": "Region XYZ",
"description": "Region XYZ",
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_004W"
},
"contracts": [
{
"contractId": "ctr_004W",
"cpcodes": [
{
"cpcodeId": 12345,
"cpcodeName": "CPC XYZ"
},
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME"
}
]
}
]
}
List contracts and store the appropriate
contractId
.List CP codes and store the appropriate
cpcodeId
values.List groups and store the appropriate
groupId
.Prepare a POST request based on the reporting group members table.
Make a POST request to
/cprg/v1/reporting-groups
.
List details of a reporting group
Lists detailed information about a specific reporting group, including its name and the access control group that it belongs to. It also lists the contracts and CP codes assigned to the reporting group.
GET /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
reportingGroupId |
Integer | 23456 |
Identifies the reporting group. |
Status 200
application/json
Object type: ReportingGroup
Download schema: reportinggroup.json
Response body:
{
"reportingGroupId": 101010,
"reportingGroupName": "Region XYZ",
"description": "Region XYZ",
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_004W"
},
"contracts": [
{
"contractId": "ctr_004W",
"cpcodes": [
{
"cpcodeId": 12345,
"cpcodeName": "CPC XYZ"
},
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME"
}
]
}
]
}
List reporting groups and store the appropriate
reportingGroupId
.Make a GET request to
/cprg/v1/reporting-groups/{reportingGroupId}
.
Update a reporting group
Edits a specific reporting group. You should only edit a reporting group’s name and assigned CP codes.
PUT /cprg/
Sample: /cprg/
Content-Type: application/json
Object type: ReportingGroup
Download schema: update-reporting-group-request.json
Request body:
{
"reportingGroupId": 101010,
"reportingGroupName": "Region XYZ",
"description": "Region XYZ",
"contracts": [
{
"contractId": "ctr_1Q004",
"cpcodes": [
{
"cpcodeId": 12345,
"cpcodeName": "CPC XYZ"
},
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME"
}
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
reportingGroupId |
Integer | 23456 |
Identifies the reporting group. |
Status 200
application/json
Object type: ReportingGroup
Download schema: reportinggroup.json
Response body:
{
"reporting-group": {
"reportingGroupId": 101010,
"reportingGroupName": "Region XYZ",
"description": "Region XYZ",
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_1Q004"
},
"contracts": [
{
"contractId": "ctr_1Q004",
"cpcodes": [
{
"cpcodeId": 12345,
"cpcodeName": "CPC XYZ"
},
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME"
}
]
}
]
}
}
List reporting groups and store the appropriate
reportingGroupId
.Get the details of the reporting group by making a GET request to
/cprg/v1/reporting-groups/{reportingGroupId}
.Prepare a PUT request based on the reporting group members table.
Update the reporting group’s members. You should only update the
reportingGroupName
andcpcodes
members.Make a PUT request to
cprg/v1/reporting-groups/{reportingGroupId}
.
Delete a reporting group
Deletes a specific reporting group.
DELETE /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
reportingGroupId |
Integer | 23456 |
Identifies the reporting group. |
Status 201
List products within a reporting group
Lists products and services assigned to a specific reporting group.
GET /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
reportingGroupId |
Integer | 23456 |
Identifies the reporting group. |
Status 200
application/json
Object type: ReportingGroupProducts
Download schema: get-reporting-group-product-response.json
Response body:
{
"products": [
{
"productId": "PPPL::ABC",
"productName": "Performance PPL ABC "
},
{
"productId": "Core::Analyzer",
"productName": "Core utility JL"
},
{
"productId": "Dev::Cloud",
"productName": "Cloud development CD"
},
{
"productId": "AdvSite::Reporter",
"productName": "Monitor site advance"
}
]
}
List reporting groups and store the appropriate
reportingGroupId
.Make a GET request to
/cprg/v1/reporting-groups/{reportingGroupId}/products
.
Get a water mark limit for reporting groups
Returns a water mark limit for reporting groups available within a specific contract.
GET /cprg/
Sample: /cprg/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
contractId |
String | 1-ABC123 |
Identifies the contract for which you want to check a water mark limit. |
Status 200
application/json
Object type: WatermarkLimit
Download schema: watermark-limits.json
Response body:
{
"limit": 100,
"currentCapacity": 25,
"limitType": "account"
}
List contracts to and store the appropriate
contractId
.Make a GET request to
/cprg/v1/reporting-groups/contracts/{contractId}/watermark-limits
.
Data
This section provides details for each type of data object the API exchanges.
Download the JSON schemas for this API.
This section’s data schema tables list membership requirements as follows:
✓ | Member is required in requests, or always present in responses, even if its value is empty or null . |
○ | Member is optional, and may be omitted in some cases. |
✗ | Member is out of scope, and irrelevant to the specified interaction context. If you include the member in that context, it either triggers an error, or is ignored. |
CpCode
Contains the request members that you can specify when updating a CP code. You should only modify a CP code’s name, time zone, and purgeable member. Modifying other members results in a 400 error response and causes the request to fail.
Download schema:
update-cpcode-request.json
, cpcode.json
Sample PUT request:
{
"cpcodeId": 123456,
"cpcodeName": "CPC XYZ",
"contracts": [
{
"contractId": "ctr_004W"
}
],
"products": [
{
"productId": "PPPL::ABC"
},
{
"productId": "AdvSite::Reporter"
}
]
}
CpCode members
Member | Type | PUT | GET | Description | ||||
---|---|---|---|---|---|---|---|---|
CpCode : Contains the request members that you can specify when updating a CP code. You should only modify a CP code’s name, time zone, and purgeable member. Modifying other members results in a 400 error response and causes the request to fail. |
||||||||
accountId |
String | ✗ | ○ | The identifier for an account assigned to the CP code. | ||||
contracts |
Cp |
✓ | ✓ | Provides detailed information about the contracts assigned to the CP code. | ||||
cpcodeId |
Integer | ✓ | ✓ | Read-only. The identifier for the CP code. | ||||
cpcodeName |
String | ✓ | ✓ | The descriptive label for the CP code. | ||||
defaultTimezone |
String | ✗ | ○ | Read-only. The default GMT time zone assigned to the CP code. | ||||
overrideTimezone |
Cp |
○ | ○ | The GMT time zone that overrides the default time zone assigned to the CP code. Only a few legacy reports override the default time zone for the time axis. Most reports, and all new ones, use the user’s own time zone for the time axis. | ||||
products |
Cp |
✓ | ✓ | The products and services assigned to the CP code. | ||||
purgeable |
Boolean | ○ | ○ | Whether you can purge the content cached by the CP code. | ||||
type |
String | ✗ | ○ | The type of CP code. | ||||
CpCode.contracts[] : Provides detailed information about the contracts assigned to the CP code. |
||||||||
contractId |
String | ✓ | ✓ | Read-only. The identifier for a contract. | ||||
status |
String | ○ | ○ | Read-only. The status of a contract. | ||||
CpCode.overrideTimezone : The GMT time zone that overrides the default time zone assigned to the CP code. Only a few legacy reports override the default time zone for the time axis. Most reports, and all new ones, use the user’s own time zone for the time axis. |
||||||||
timezoneId |
String | ✓ | ✓ | The identifier for the GMT time zone. | ||||
timezoneValue |
String | ○ | ○ | The offset value for the GMT time zone. | ||||
CpCode.products[] : The products and services assigned to the CP code. |
||||||||
productId |
String | ✓ | ✓ | Read-only. The identifier for a product or service. | ||||
productName |
String | ○ | ○ | Read-only. The descriptive label for a product or service. |
ReportingGroup
Provides the request members that you can specify when creating a reporting group.
Download schema:
create-reporting-group-request.json
, update-reporting-group-request.json
, reportinggroup.json
Sample POST request:
{
"reportingGroupName": "Region XYZ",
"accessGroup": {
"groupId": 9760,
"contractId": "ctr_1Q004"
},
"contracts": [
{
"contractId": "ctr_1Q004",
"cpcodes": [
{
"cpcodeId": 12345,
"cpcodeName": "CPC XYZ"
},
{
"cpcodeId": 67890,
"cpcodeName": "CPC SME"
}
]
}
]
}
ReportingGroup members
Member | Type | POST | PUT | GET | Description | |||
---|---|---|---|---|---|---|---|---|
ReportingGroup : Provides the request members that you can specify when creating a reporting group. |
||||||||
accessGroup |
Reporting |
✓ | ✗ | ✓ | A group that controls access to specific CP codes. | |||
contracts |
Reporting |
✓ | ✓ | ✓ | A collection of contracts assigned to the reporting group. | |||
reportingGroupId |
Integer | ✗ | ✓ | ✓ | Read-only. The identifier for the reporting group. | |||
reporting |
String | ✓ | ✓ | ✓ | The descriptive label for the reporting group. | |||
ReportingGroup.accessGroup : A group that controls access to specific CP codes. |
||||||||
contractId |
String | ✓ | ✗ | ○ | The identifier for the contract assigned to the access control group. | |||
groupId |
Integer | ✓ | ✗ | ○ | The identifier for the access control group. | |||
ReportingGroup.contracts[] : A collection of contracts assigned to the reporting group. |
||||||||
contractId |
String | ✓ | ✓ | ✓ | Read-only. The identifier for a contract assigned to the reporting group. | |||
cpcodes |
Reporting |
✓ | ✓ | ✓ | A collection of CP codes assigned to the reporting group. | |||
ReportingGroup.contracts[].cpcodes[] : A collection of CP codes assigned to the reporting group. |
||||||||
cpcodeId |
Integer | ✓ | ✓ | ✓ | The identifier for a CP code. | |||
cpcodeName |
String | ○ | ○ | ○ | The descriptive label for a CP code. |
ReportingGroupProducts
Provides information about products and services assigned to a specific reporting group.
Download schema:
get-reporting-group-product-response.json
Sample GET response:
{
"products": [
{
"productId": "PPPL::ABC",
"productName": "Performance PPL ABC "
},
{
"productId": "Core::Analyzer",
"productName": "Core utility JL"
},
{
"productId": "Dev::Cloud",
"productName": "Cloud development CD"
},
{
"productId": "AdvSite::Reporter",
"productName": "Monitor site advance"
}
]
}
ReportingGroupProducts members
Member | Type | Required | Description |
---|---|---|---|
ReportingGroupProducts : Provides information about products and services assigned to a specific reporting group. |
|||
products |
Reporting |
○ | A collection of products and services assigned to the reporting group. |
ReportingGroupProducts.products[] : A collection of products and services assigned to the reporting group. |
|||
productId |
String | ○ | The identifier for a product or service. |
productName |
String | ○ | The descriptive label for a product or service. |
WatermarkLimit
Provides information about water mark limits for CP codes or reporting groups available within a specific contract.
Download schema:
watermark-limits.json
Sample GET response:
{
"limit": 5000,
"currentCapacity": 3500,
"limitType": "account"
}
WatermarkLimit members
Member | Type | Required | Description |
---|---|---|---|
WatermarkLimit : Provides information about water mark limits for CP codes or reporting groups available within a specific contract. |
|||
currentCapacity |
Integer | ○ | The current number of CP codes or reporting groups. |
limit |
Integer | ○ | The number of allowed CP codes or reporting groups. |
limitType |
String | ○ | Identifies whether the limit applies to an account or a contract. See Water mark limit. |
Errors
This section provides details on the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.
Error responses
When you encounter an error, the CP Code and Reporting Groups API responds with HTTP Problem objects that provide details useful for debugging, as in this example.
{
"code": "bad.request",
"title": "Bad Request",
"incidentId": "dc2f405e-29d3-4845-a4ac-2f6b4a732aca",
"details": [
{
"code": "invalid.data",
"message": "Group name is mandatory"
}
]
}
HTTP status codes
This section lists the full range of response codes the API may generate.
Code | Description |
---|---|
200 | The operation was successful. |
201 | Resource successfully created. |
202 | Resource successfully accepted. |
301 | The requested item has permanently moved to the link provided. |
302 | The requested item is temporarily available at the link provided. |
400 | Bad request. |
401 | Authentication failure. |
403 | Access is forbidden. |
404 | Resource not found. |
405 | Method not supported. |
408 | Request timeout. |
410 | Requested resource is no longer available. |
411 | Content-length header not specified. |
413 | Request body exceeds maximum allowable size. |
415 | Unsupported media type. |
500 | Internal server error. |
502 | Platform timeout error. |
503 | Too many requests. Service is temporarily unavailable. |