

# Portal product


Represents a portal product.

## URI


`/v2/portalproducts/portalProductId`

## HTTP methods


### GET


**Operation ID:** `GetPortalProduct`

Gets a portal product.


**Path parameters**  

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


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| resourceOwnerAccountId | String | False | The account ID of the resource owner of the portal product. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | GetPortalProductResponseContent | 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. | 

### DELETE


**Operation ID:** `DeletePortalProduct`

Deletes a portal product.


**Path parameters**  

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


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 204 | None | The request has succeeded, and there is no additional content to send in the response payload body. | 
| 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. | 

### PATCH


**Operation ID:** `UpdatePortalProduct`

Updates the portal product.


**Path parameters**  

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


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | UpdatePortalProductResponseContent | 200 response | 
| 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


#### PATCH schema
PATCH

```
{
  "displayName": "string",
  "displayOrder": {
    "productPageArns": [
      "string"
    ],
    "contents": [
      {
        "sectionName": "string",
        "productRestEndpointPageArns": [
          "string"
        ]
      }
    ],
    "overviewPageArn": "string"
  },
  "description": "string"
}
```

### Response bodies


#### GetPortalProductResponseContent schema
GetPortalProductResponseContent

```
{
  "displayName": "string",
  "displayOrder": {
    "productPageArns": [
      "string"
    ],
    "contents": [
      {
        "sectionName": "string",
        "productRestEndpointPageArns": [
          "string"
        ]
      }
    ],
    "overviewPageArn": "string"
  },
  "description": "string",
  "portalProductId": "string",
  "portalProductArn": "string",
  "lastModified": "string",
  "tags": {
  }
}
```

#### UpdatePortalProductResponseContent schema
UpdatePortalProductResponseContent

```
{
  "displayName": "string",
  "displayOrder": {
    "productPageArns": [
      "string"
    ],
    "contents": [
      {
        "sectionName": "string",
        "productRestEndpointPageArns": [
          "string"
        ]
      }
    ],
    "overviewPageArn": "string"
  },
  "description": "string",
  "portalProductId": "string",
  "portalProductArn": "string",
  "lastModified": "string",
  "tags": {
  }
}
```

#### 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. | 

### DisplayOrder


The display order.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| contents | Array of type [Section](#portalproducts-portalproductid-model-section) | False | Represents a list of sections which include section name and list of product REST endpoints for a product. | 
| overviewPageArn | stringMinLength: 20MaxLength: 2048 | False | The ARN of the overview page. | 
| productPageArns | Array of type stringMinLength: 20MaxLength: 2048 | False | The product page ARNs. | 

### GetPortalProductResponseContent


Gets a portal product.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| description | stringMinLength: 0MaxLength: 1024 | True | The description of a portal product. | 
| displayName | stringMinLength: 1MaxLength: 255 | True | The display name. | 
| displayOrder | [DisplayOrder](#portalproducts-portalproductid-model-displayorder) | True | The display order. | 
| lastModified | stringFormat: date-time | True | The timestamp when the portal product was last modified. | 
| portalProductArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the portal product. | 
| portalProductId | stringPattern: `^[a-z0-9]+$`MinLength: 10MaxLength: 30 | True | The portal product identifier. | 
| tags | [Tags](#portalproducts-portalproductid-model-tags) | False | The collection of tags. Each tag element is associated with a given resource. | 

### 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. | 

### 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. | 

### Section


Contains the section name and list of product REST endpoints for a product.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| productRestEndpointPageArns | Array of type stringMinLength: 20MaxLength: 2048 | True | The ARNs of the product REST endpoint pages in a portal product. | 
| sectionName | string | True | The section name. | 

### Tags


Represents a collection of tags associated with the resource.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| `*` | string | False |  | 

### UpdatePortalProductRequestContent


Updates a portal product.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| description | stringMinLength: 0MaxLength: 1024 | False | The description. | 
| displayName | stringMinLength: 1MaxLength: 255 | False | The displayName. | 
| displayOrder | [DisplayOrder](#portalproducts-portalproductid-model-displayorder) | False | The display order. | 

### UpdatePortalProductResponseContent


Updates a portal product.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| description | stringMinLength: 0MaxLength: 1024 | False | The description of the portal product. | 
| displayName | stringMinLength: 1MaxLength: 255 | True | The display name of a portal product. | 
| displayOrder | [DisplayOrder](#portalproducts-portalproductid-model-displayorder) | False | The display order that the portal products will appear in a portal. | 
| lastModified | stringFormat: date-time | True | The timestamp when the portal product was last modified. | 
| portalProductArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the portal product. | 
| portalProductId | stringPattern: `^[a-z0-9]+$`MinLength: 10MaxLength: 30 | True | The portal product identifier. | 
| tags | [Tags](#portalproducts-portalproductid-model-tags) | False | The collection of tags. Each tag element is associated with a given resource. | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### GetPortalProduct

+ [AWS Command Line Interface V2](/goto/cli2/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for Python](/goto/boto3/apigatewayv2-2018-11-29/GetPortalProduct)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/apigatewayv2-2018-11-29/GetPortalProduct)

### DeletePortalProduct

+ [AWS Command Line Interface V2](/goto/cli2/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for Python](/goto/boto3/apigatewayv2-2018-11-29/DeletePortalProduct)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/apigatewayv2-2018-11-29/DeletePortalProduct)

### UpdatePortalProduct

+ [AWS Command Line Interface V2](/goto/cli2/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for Python](/goto/boto3/apigatewayv2-2018-11-29/UpdatePortalProduct)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/apigatewayv2-2018-11-29/UpdatePortalProduct)