---
updatedAt: 2026-04-20T19:20:50.000Z
agentTools:
  siteIndex: https://techdocs.akamai.com/llms.txt
  projectIndex: https://techdocs.akamai.com/contract-api/llms.txt
---

# List products per reporting group

Get the IDs and names of the products associated with the reporting group for the time frame selected. To run this operation, your user account needs the CPCode Rep Group role. To add this role, use the [Identity and Access Management application](https://control.akamai.com/admin/?tab=CONFIGURE&type=context). When a request is successful, it may return either a 200 or a 300 response. The API returns a 200 (OK) response when the CP code reporting group is associated with only one contract. You'll receive a `300 Multiple Choices` response when the request returns a list of matching contracts because the CP code reporting group is associated with multiple contracts. To retrieve product information when you receive a 300 response code, make a new GET request to the hyperlinks provided in the response.

# OpenAPI definition

```json
{
  "externalDocs": {
    "description": "See documentation for Akamai's Contract API",
    "url": "https://techdocs.akamai.com/contract-api/reference"
  },
  "info": {
    "title": "Reporting groups",
    "version": "v1"
  },
  "openapi": "3.0.0",
  "paths": {
    "/reportingGroups/{reportingGroupId}/products/summaries": {
      "get": {
        "description": "Get the IDs and names of the products associated with the reporting group for the time frame selected. To run this operation, your user account needs the CPCode Rep Group role. To add this role, use the [Identity and Access Management application](https://control.akamai.com/admin/?tab=CONFIGURE&type=context). When a request is successful, it may return either a 200 or a 300 response. The API returns a 200 (OK) response when the CP code reporting group is associated with only one contract. You'll receive a `300 Multiple Choices` response when the request returns a list of matching contracts because the CP code reporting group is associated with multiple contracts. To retrieve product information when you receive a 300 response code, make a new GET request to the hyperlinks provided in the response.",
        "externalDocs": {
          "description": "See documentation for this operation in Akamai's Contract API",
          "url": "https://techdocs.akamai.com/contract-api/reference/get-group-products-summaries"
        },
        "operationId": "get-group-products-summaries",
        "parameters": [
          {
            "description": "The start date, in UTC, to use when looking for products associated with a contract. The search always begins at midnight (0:00) UTC of the specified date.  The default start date is 30 days prior to the current date.  For current contracts, you can select a date within the past 15 months of the current date. For expired contracts, you are limited to a date range of 30 days within the 15 month window.\n",
            "in": "query",
            "name": "from",
            "schema": {
              "example": "2020-01-31",
              "maxLength": 10,
              "minLength": 10,
              "pattern": "([0-9-])+",
              "type": "string"
            },
            "x-akamai": {
              "file-path": "parameters/from-query.yaml"
            }
          },
          {
            "description": "The end date, in UTC, to use when looking for products associated with a contract. The search always ends at 23:59:59 UTC of the specified date.  The default end date is the current date.\n",
            "in": "query",
            "name": "to",
            "schema": {
              "example": "2021-03-31",
              "maxLength": 10,
              "minLength": 10,
              "pattern": "([0-9-])+",
              "type": "string"
            },
            "x-akamai": {
              "file-path": "parameters/to-query.yaml"
            }
          },
          {
            "description": "Runs the operation from [another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys).\n",
            "in": "query",
            "name": "accountSwitchKey",
            "required": false,
            "schema": {
              "example": "1-5C0YLB:1-8BYUX",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "products": {
                    "contractId": "1-2FAKED",
                    "marketing-products": [
                      {
                        "marketingProductId": "B-3-96NY56",
                        "marketingProductName": "Access Control - All Streaming Delivery"
                      },
                      {
                        "marketingProductId": "B-3-A5ME5",
                        "marketingProductName": "Site and Visitor Intelligence"
                      },
                      {
                        "marketingProductId": "B-4-1O78TS",
                        "marketingProductName": "All Streaming Delivery"
                      }
                    ]
                  }
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "List of products.\n",
                  "properties": {
                    "products": {
                      "additionalProperties": false,
                      "description": "Object that lists the products associated with the contract specified.\n",
                      "properties": {
                        "contractId": {
                          "description": "The unique identifier for a contract.\n",
                          "minLength": 1,
                          "type": "string"
                        },
                        "marketing-products": {
                          "description": "The identifiers and names for each product included on a contract.\n",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "marketingProductId": {
                                "description": "The unique identifier for a product.\n",
                                "minLength": 1,
                                "type": "string"
                              },
                              "marketingProductName": {
                                "description": "The formal name of a product.\n",
                                "minLength": 1,
                                "type": "string"
                              }
                            },
                            "required": [
                              "marketingProductId",
                              "marketingProductName"
                            ],
                            "type": "object"
                          },
                          "minItems": 1,
                          "type": "array",
                          "uniqueItems": true
                        }
                      },
                      "required": [
                        "contractId",
                        "marketing-products"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "products"
                  ],
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/product-summaries-200.yaml"
                  }
                }
              }
            },
            "description": "The response provides a list of products. This response is returned when the CP code reporting group is associated with only one contract.\n"
          },
          "300": {
            "content": {
              "application/json": {
                "example": {
                  "contracts": [
                    {
                      "contractId": "3-MADEUP",
                      "href": "/contract-api/v1/contracts/3-MADEUP/products/summaries"
                    },
                    {
                      "contractId": "3-1EFAKE",
                      "href": "/contract-api/v1/contracts/3-1EFAKE/products/summaries"
                    },
                    {
                      "contractId": "3-XBOGUS",
                      "href": "/contract-api/v1/contracts/3-XBOGUS/products/summaries"
                    }
                  ]
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "List of contracts.\n",
                  "properties": {
                    "contracts": {
                      "description": "Array of contracts that the requesting user has access to.\n",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "contractId": {
                            "description": "The unique identifier for a contract.\n",
                            "minLength": 1,
                            "type": "string"
                          },
                          "href": {
                            "description": "The URL that accesses product information for the `contractId`.\n",
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "contractId",
                          "href"
                        ],
                        "type": "object"
                      },
                      "minItems": 1,
                      "type": "array",
                      "uniqueItems": true
                    }
                  },
                  "required": [
                    "contracts"
                  ],
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/contract-list-200.yaml"
                  }
                }
              }
            },
            "description": "The request returned a list of matching contracts because the CP code reporting group is associated with multiple contracts. To retrieve product information, make a new GET request to a specific contract ID using the API listed in the response.\n"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "example": {
                  "errors": [
                    {
                      "detail": "From date must be within 15 months in past from the current date",
                      "title": "from"
                    },
                    {
                      "detail": "To date must be on or before the current date",
                      "title": "to"
                    }
                  ],
                  "status": "400",
                  "title": "Erroneous data input.",
                  "type": "/contract-api/error-types/E400"
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "Specifies the errors.\n",
                  "properties": {
                    "errors": {
                      "description": "Objects indicating causes of failure.\n",
                      "items": {
                        "additionalProperties": false,
                        "description": "A further nested problem object.      \n",
                        "properties": {
                          "detail": {
                            "description": "More information about the error.\n",
                            "minLength": 1,
                            "type": "string"
                          },
                          "title": {
                            "description": "Title of the error.\n",
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "title",
                          "detail"
                        ],
                        "type": "object",
                        "x-akamai": {
                          "file-path": "schemas/error-nested.yaml"
                        }
                      },
                      "minItems": 1,
                      "type": "array",
                      "uniqueItems": true
                    },
                    "status": {
                      "description": "HTTP status code.\n",
                      "minLength": 1,
                      "type": "string"
                    },
                    "title": {
                      "description": "Title of the error.\n",
                      "minLength": 1,
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.\n",
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "status",
                    "title"
                  ],
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/error.yaml"
                  }
                }
              }
            },
            "description": "[Bad request](https://techdocs.akamai.com/contract-api/reference/400).\n",
            "x-akamai": {
              "file-path": "errors/400.yaml"
            }
          },
          "401": {
            "content": {
              "application/problem+json": {
                "example": {
                  "clientIp": "192.0.2.0",
                  "detail": "The signature does not match",
                  "instance": "https://akab-xxxxx-xxxxx.luna.akamaiapis.net/contract-api/v1/reportingGroups/identifiers",
                  "method": "GET",
                  "requestId": "933ed8a4",
                  "requestTime": "2023-02-26T17:41:25Z",
                  "serverIp": "203.0.113.0",
                  "status": 401,
                  "title": "Not authorized",
                  "type": "https://problems.luna.akamaiapis.net/-/pep-authn/deny"
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "Specifies the errors.\n",
                  "properties": {
                    "clientIp": {
                      "description": "IP address of the client.\n",
                      "type": "string"
                    },
                    "detail": {
                      "description": "More information about the error.\n",
                      "type": "string"
                    },
                    "instance": {
                      "description": "The URL for this error occurrence.\n",
                      "type": "string"
                    },
                    "method": {
                      "description": "HTTP method.\n",
                      "type": "string"
                    },
                    "requestId": {
                      "description": "Identifies the request.\n",
                      "type": "string"
                    },
                    "requestTime": {
                      "description": "Request date expressed as an ISO 8601 timestamp.\n",
                      "format": "date-time",
                      "type": "string"
                    },
                    "serverIp": {
                      "description": "IP address of the server.\n",
                      "type": "string"
                    },
                    "status": {
                      "description": "HTTP status code.\n",
                      "minimum": 1,
                      "type": "integer"
                    },
                    "title": {
                      "description": "Title of the error.\n",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.\n",
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "status",
                    "title"
                  ],
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/error-401-403.yaml"
                  }
                }
              }
            },
            "description": "[Unauthorized error](https://techdocs.akamai.com/contract-api/reference/401).\n",
            "x-akamai": {
              "file-path": "errors/401.yaml"
            }
          },
          "403": {
            "content": {
              "application/problem+json": {
                "example": {
                  "status": 403,
                  "title": "Forbidden resource",
                  "type": "/contract-api/v1/error-types/E403"
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "Specifies the errors.\n",
                  "properties": {
                    "clientIp": {
                      "description": "IP address of the client.\n",
                      "type": "string"
                    },
                    "detail": {
                      "description": "More information about the error.\n",
                      "type": "string"
                    },
                    "instance": {
                      "description": "The URL for this error occurrence.\n",
                      "type": "string"
                    },
                    "method": {
                      "description": "HTTP method.\n",
                      "type": "string"
                    },
                    "requestId": {
                      "description": "Identifies the request.\n",
                      "type": "string"
                    },
                    "requestTime": {
                      "description": "Request date expressed as an ISO 8601 timestamp.\n",
                      "format": "date-time",
                      "type": "string"
                    },
                    "serverIp": {
                      "description": "IP address of the server.\n",
                      "type": "string"
                    },
                    "status": {
                      "description": "HTTP status code.\n",
                      "minimum": 1,
                      "type": "integer"
                    },
                    "title": {
                      "description": "Title of the error.\n",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.\n",
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "status",
                    "title"
                  ],
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/error-401-403.yaml"
                  }
                }
              }
            },
            "description": "[Access is forbidden](https://techdocs.akamai.com/contract-api/reference/403).\n",
            "x-akamai": {
              "file-path": "errors/403.yaml"
            }
          },
          "404": {
            "content": {
              "application/problem+json": {
                "example": {
                  "status": "404",
                  "title": "Resource not found.",
                  "type": "/contract-api/error-types/E404"
                },
                "schema": {
                  "additionalProperties": false,
                  "description": "Specifies the errors.\n",
                  "properties": {
                    "errors": {
                      "description": "Objects indicating causes of failure.\n",
                      "items": {
                        "additionalProperties": false,
                        "description": "A further nested problem object.      \n",
                        "properties": {
                          "detail": {
                            "description": "More information about the error.\n",
                            "minLength": 1,
                            "type": "string"
                          },
                          "title": {
                            "description": "Title of the error.\n",
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "title",
                          "detail"
                        ],
                        "type": "object",
                        "x-akamai": {
                          "file-path": "schemas/error-nested.yaml"
                        }
                      },
                      "minItems": 1,
                      "type": "array",
                      "uniqueItems": true
                    },
                    "status": {
                      "description": "HTTP status code.\n",
                      "minLength": 1,
                      "type": "string"
                    },
                    "title": {
                      "description": "Title of the error.\n",
                      "minLength": 1,
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of error.\n",
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "status",
                    "title"
                  ],
                  "type": "object",
                  "x-akamai": {
                    "file-path": "schemas/error.yaml"
                  }
                }
              }
            },
            "description": "[Resource not found](https://techdocs.akamai.com/contract-api/reference/404).\n",
            "x-akamai": {
              "file-path": "errors/404.yaml"
            }
          }
        },
        "summary": "List products per reporting group",
        "tags": [
          "Products"
        ]
      },
      "parameters": [
        {
          "description": "The unique identifier for a Content Provider (CP) code reporting group.\n",
          "in": "path",
          "name": "reportingGroupId",
          "required": true,
          "schema": {
            "example": 1001,
            "type": "integer"
          },
          "x-akamai": {
            "file-path": "parameters/reportingGroupId-path.yaml"
          }
        }
      ]
    }
  },
  "servers": [
    {
      "url": "https://{hostname}/contract-api/v1"
    }
  ],
  "x-akamai": {
    "auth-type": "EDGE_GRID",
    "file-path": "reporting-groups.yaml"
  },
  "x-readme": {
    "samples-languages": [
      "curl",
      "python",
      "node"
    ],
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```