Contracts API

The Contracts API provides information about Akamai contracts as well as the products included in those contracts. With this API, you have the option of retrieving product information for a specified time frame by either contract ID or reporting group.

Who Should Use This API

Developers who need information about their organization’s Akamai contracts and the products associated with those contracts should use this API.

Contracts are important low-level objects on which other services depend. For example, you can use them in conjunction with the Billing Center or Invoicing APIs.

Getting Started

To get started with this API:

  • Review the Introduction section on {OPEN}. This section provides a general overview on the tasks you need to complete before using this API.

  • Go to the Akamai Technologies {OPEN} webpage on GitHub (https://github.com/akamai-open) and find the name of the EdgeGrid project for the language you are using. Most file names follow this format: AkamaiOPEN-edgegrid-_language_, like AkamaiOPEN-edgegrid-java.

  • In the Luna Control Center, authorize your client and download your credentials using the Manage APIs application. See Open API Provisioning for more information.

  • Configure your EdgeGrid client using your downloaded credentials. See Configure Your Client for more information and a Python example.

  • Test your configuration by running the List Contract IDs operation.

Concepts

The Contracts API provides information about Akamai contracts as well as the products included in those contracts. With this API, you have the option of retrieving product information by contract ID or reporting group ID for a specified time frame.

Contracts and reporting groups are important low-level objects on which other services depend. For example, you can use them in conjunction with the Billing Center or Invoicing APIs.

  • Contracts: When using this API, your level of access depends on the contracts for which your Luna Control Center username is associated. If your username is not associated with the contractId you select, then the request fails. To understand contracts, you need to understand how accounts work at Akamai. Akamai customers access all their services via an account key. While administrators may have access to more than one account, in general they provision all their web assets under a single account. Within an account, there are one or more contracts, each of which has a fixed term of service during which specified Akamai products and optional modules are active.

  • Child Contracts: A contract may include one or more child contracts (or subcontracts) that belong to the same account. If you perform a GET on a contractId that has child contracts, it will only list the products included on the parent contract. The API does not indicate the relationship between contracts. To retrieve only the products for the child contract, perform a GET on the child contract’s ID.

  • Reporting Groups: A reporting group is a logical grouping of multiple content provider (CP) codes that consolidates reporting for a contract. When using this API to retrieve information by reporting group, the request will fail if your username is not associated with the contract that the reporting group supports. Reporting groups are provisioned by Akamai. To request reporting groups or get more information, open a ticket under ‘Support’ on Luna Control Center or contact your account representative.

  • Content Provider (CP) Code: A content provider is an Akamai customer that serves traffic on the Akamai network. A CP code is a unique identifier assigned to each customer, used primarily in billing, reporting, and access control. A single contract may have multiple CP codes.