

# Product pages


Represents the collection of product pages for a portal product.

## URI


`/v2/portalproducts/portalProductId/productpages`

## HTTP methods


### GET


**Operation ID:** `ListProductPages`

Lists the product pages for a portal product.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| portalProductId | String | True | The portal product identifier. | 


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| nextToken | String | False | The next page of elements from this collection. Not valid for the last element of the collection. | 
| maxResults | String | False | The maximum number of elements to be returned for this resource. | 
| resourceOwnerAccountId | String | False | The account ID of the resource owner of the portal product. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | ListProductPagesResponseContent | Success | 
| 400 | BadRequestExceptionResponseContent | One of the parameters in the request is invalid. | 
| 403 | AccessDeniedExceptionResponseContent | 403 response | 
| 404 | NotFoundExceptionResponseContent | The resource specified in the request was not found. | 
| 429 | LimitExceededExceptionResponseContent | The client is sending more than the allowed number of requests per unit of time. | 

### POST


**Operation ID:** `CreateProductPage`

Creates a new product page for a portal product.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| portalProductId | String | True | The portal product identifier. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 201 | CreateProductPageResponseContent | The request has succeeded and has resulted in the creation of a resource. | 
| 400 | BadRequestExceptionResponseContent | One of the parameters in the request is invalid. | 
| 403 | AccessDeniedExceptionResponseContent | 403 response | 
| 404 | NotFoundExceptionResponseContent | The resource specified in the request was not found. | 
| 429 | LimitExceededExceptionResponseContent | The client is sending more than the allowed number of requests per unit of time. | 

## Schemas


### Request bodies


#### POST schema
POST

```
{
  "displayContent": {
    "title": "string",
    "body": "string"
  }
}
```

### Response bodies


#### ListProductPagesResponseContent schema
ListProductPagesResponseContent

```
{
  "nextToken": "string",
  "items": [
    {
      "pageTitle": "string",
      "productPageId": "string",
      "lastModified": "string",
      "productPageArn": "string"
    }
  ]
}
```

#### CreateProductPageResponseContent schema
CreateProductPageResponseContent

```
{
  "displayContent": {
    "title": "string",
    "body": "string"
  },
  "productPageId": "string",
  "lastModified": "string",
  "productPageArn": "string"
}
```

#### BadRequestExceptionResponseContent schema
BadRequestExceptionResponseContent

```
{
  "message": "string"
}
```

#### AccessDeniedExceptionResponseContent schema
AccessDeniedExceptionResponseContent

```
{
  "message": "string"
}
```

#### NotFoundExceptionResponseContent schema
NotFoundExceptionResponseContent

```
{
  "message": "string",
  "resourceType": "string"
}
```

#### LimitExceededExceptionResponseContent schema
LimitExceededExceptionResponseContent

```
{
  "message": "string",
  "limitType": "string"
}
```

## Properties


### AccessDeniedExceptionResponseContent


The error message.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | False | The message. | 

### BadRequestExceptionResponseContent


The response content for bad request exception.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | False | The message of the bad request exception response content. | 

### CreateProductPageRequestContent


Creates a product page.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| displayContent | [DisplayContent](#portalproducts-portalproductid-productpages-model-displaycontent) | True | The content of the product page. | 

### CreateProductPageResponseContent


Creates a product page.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| displayContent | [DisplayContent](#portalproducts-portalproductid-productpages-model-displaycontent) | False | The content of the product page. | 
| lastModified | stringFormat: date-time | True | The timestamp when the product page was last modified. | 
| productPageArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the product page. | 
| productPageId | stringPattern: `^[a-z0-9]+$`MinLength: 10MaxLength: 30 | True | The product page identifier. | 

### DisplayContent


The content of the product page.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| body | stringMinLength: 1MaxLength: 32768 | True | The body. | 
| title | stringMinLength: 1MaxLength: 255 | True | The title. | 

### LimitExceededExceptionResponseContent


The response content for limit exceeded exception.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| limitType | string | False | The limit type of the limit exceeded exception response content. | 
| message | string | False | The message of the limit exceeded exception response content. | 

### ListProductPagesResponseContent


Lists product pages.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| items | Array of type [ProductPageSummaryNoBody](#portalproducts-portalproductid-productpages-model-productpagesummarynobody) | True | The elements from this collection. | 
| nextToken | stringMinLength: 1MaxLength: 2048 | False | The next page of elements from this collection. Not valid for the last element of the collection. | 

### NotFoundExceptionResponseContent


The response content for not found exception.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | False | The message of the not found exception response content. | 
| resourceType | string | False | The resource type of the not found exception response content. | 

### ProductPageSummaryNoBody


Represents a product page summary without listing any page content.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| lastModified | stringFormat: date-time | True | The timestamp when the product page was last modified. | 
| pageTitle | stringMinLength: 1MaxLength: 255 | True | The page title. | 
| productPageArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the product page. | 
| productPageId | stringPattern: `^[a-z0-9]+$`MinLength: 10MaxLength: 30 | True | The product page identifier. | 