

# Portals


Represents a collection of portals.

## URI


`/v2/portals`

## HTTP methods


### GET


**Operation ID:** `ListPortals`

Lists portals.


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


**Responses**  

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

### POST


**Operation ID:** `CreatePortal`

Creates a portal.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 201 | CreatePortalResponseContent | 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 | 
| 429 | LimitExceededExceptionResponseContent | The client is sending more than the allowed number of requests per unit of time. | 

## Schemas


### Request bodies


#### POST schema
POST

```
{
  "authorization": {
    "cognitoConfig": {
      "userPoolArn": "string",
      "userPoolDomain": "string",
      "appClientId": "string"
    },
    "none": {
    }
  },
  "portalContent": {
    "displayName": "string",
    "description": "string",
    "theme": {
      "logoLastUploaded": "string",
      "customColors": {
        "errorValidationColor": "string",
        "headerColor": "string",
        "backgroundColor": "string",
        "accentColor": "string",
        "navigationColor": "string",
        "textColor": "string"
      }
    }
  },
  "endpointConfiguration": {
    "acmManaged": {
      "certificateArn": "string",
      "domainName": "string"
    },
    "none": {
    }
  },
  "logoUri": "string",
  "includedPortalProductArns": [
    "string"
  ],
  "rumAppMonitorName": "string",
  "tags": {
  }
}
```

### Response bodies


#### ListPortalsResponseContent schema
ListPortalsResponseContent

```
{
  "nextToken": "string",
  "items": [
    {
      "preview": {
        "previewUrl": "string",
        "statusException": {
          "exception": "string",
          "message": "string"
        },
        "previewStatus": enum
      },
      "statusException": {
        "exception": "string",
        "message": "string"
      },
      "portalArn": "string",
      "lastPublished": "string",
      "rumAppMonitorName": "string",
      "tags": {
      },
      "authorization": {
        "cognitoConfig": {
          "userPoolArn": "string",
          "userPoolDomain": "string",
          "appClientId": "string"
        },
        "none": {
        }
      },
      "portalId": "string",
      "endpointConfiguration": {
        "certificateArn": "string",
        "domainName": "string",
        "portalDefaultDomainName": "string",
        "portalDomainHostedZoneId": "string"
      },
      "portalContent": {
        "displayName": "string",
        "description": "string",
        "theme": {
          "logoLastUploaded": "string",
          "customColors": {
            "errorValidationColor": "string",
            "headerColor": "string",
            "backgroundColor": "string",
            "accentColor": "string",
            "navigationColor": "string",
            "textColor": "string"
          }
        }
      },
      "lastPublishedDescription": "string",
      "lastModified": "string",
      "includedPortalProductArns": [
        "string"
      ],
      "publishStatus": enum
    }
  ]
}
```

#### CreatePortalResponseContent schema
CreatePortalResponseContent

```
{
  "statusException": {
    "exception": "string",
    "message": "string"
  },
  "portalArn": "string",
  "lastPublished": "string",
  "rumAppMonitorName": "string",
  "tags": {
  },
  "authorization": {
    "cognitoConfig": {
      "userPoolArn": "string",
      "userPoolDomain": "string",
      "appClientId": "string"
    },
    "none": {
    }
  },
  "portalId": "string",
  "endpointConfiguration": {
    "certificateArn": "string",
    "domainName": "string",
    "portalDefaultDomainName": "string",
    "portalDomainHostedZoneId": "string"
  },
  "portalContent": {
    "displayName": "string",
    "description": "string",
    "theme": {
      "logoLastUploaded": "string",
      "customColors": {
        "errorValidationColor": "string",
        "headerColor": "string",
        "backgroundColor": "string",
        "accentColor": "string",
        "navigationColor": "string",
        "textColor": "string"
      }
    }
  },
  "lastPublishedDescription": "string",
  "lastModified": "string",
  "includedPortalProductArns": [
    "string"
  ],
  "publishStatus": enum
}
```

#### BadRequestExceptionResponseContent schema
BadRequestExceptionResponseContent

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

#### AccessDeniedExceptionResponseContent schema
AccessDeniedExceptionResponseContent

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

#### LimitExceededExceptionResponseContent schema
LimitExceededExceptionResponseContent

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

## Properties


### ACMManaged


Represents a domain name and certificate for a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| certificateArn | stringMinLength: 10MaxLength: 2048 | True | The certificate ARN. | 
| domainName | stringMinLength: 3MaxLength: 256 | True | The domain name. | 

### AccessDeniedExceptionResponseContent


The error message.


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

### Authorization


Represents an authorization configuration for a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| cognitoConfig | [CognitoConfig](#portals-model-cognitoconfig) | False | The Amazon Cognito configuration. | 
| none | [None](#portals-model-none) | False | Provide no authorization for your portal. This makes your portal publicly accesible on the web. | 

### BadRequestExceptionResponseContent


The response content for bad request exception.


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

### CognitoConfig


The configuration for using Amazon Cognito user pools to control access to your portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| appClientId | stringMinLength: 1MaxLength: 256 | True | The app client ID. | 
| userPoolArn | stringMinLength: 20MaxLength: 2048 | True | The user pool ARN. | 
| userPoolDomain | stringMinLength: 20MaxLength: 2048 | True | The user pool domain. | 

### CreatePortalRequestContent


Creates a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| authorization | [Authorization](#portals-model-authorization) | True | The authentication configuration for the portal. | 
| endpointConfiguration | [EndpointConfigurationRequest](#portals-model-endpointconfigurationrequest) | True | The domain configuration for the portal. Use a default domain provided by API Gateway or provide a fully-qualified domain name that you own. | 
| includedPortalProductArns | Array of type stringMinLength: 20MaxLength: 2048 | False | The ARNs of the portal products included in the portal. | 
| logoUri | stringMinLength: 0MaxLength: 1092 | False | The URI for the portal logo image that is displayed in the portal header. | 
| portalContent | [PortalContent](#portals-model-portalcontent) | True | The content of the portal. | 
| rumAppMonitorName | stringMinLength: 0MaxLength: 255 | False | The name of the Amazon CloudWatch RUM app monitor for the portal. | 
| tags | [Tags](#portals-model-tags) | False | The collection of tags. Each tag element is associated with a given resource. | 

### CreatePortalResponseContent


Creates a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| authorization | [Authorization](#portals-model-authorization) | True | The authorization for the portal. Supports Cognito-based user authentication or no authentication. | 
| endpointConfiguration | [EndpointConfigurationResponse](#portals-model-endpointconfigurationresponse) | True | The endpoint configuration. | 
| includedPortalProductArns | Array of type stringMinLength: 20MaxLength: 2048 | True | The ARNs of the portal products included in the portal. | 
| lastModified | stringFormat: date-time | True | The timestamp when the portal configuration was last modified. | 
| lastPublished | stringFormat: date-time | False | The timestamp when the portal was last published. | 
| lastPublishedDescription | stringMinLength: 0MaxLength: 1024 | False | A user-written description of the changes made in the last published version of the portal. | 
| portalArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the portal. | 
| portalContent | [PortalContent](#portals-model-portalcontent) | True | The name, description, and theme for the portal. | 
| portalId | stringPattern: `^[a-z0-9]+$`MinLength: 10MaxLength: 30 | True | The portal identifier. | 
| publishStatus | [PublishStatus](#portals-model-publishstatus) | False | The current publishing status of the portal. | 
| rumAppMonitorName | stringMinLength: 0MaxLength: 255 | False | The name of the Amazon CloudWatch RUM app monitor. | 
| statusException | [StatusException](#portals-model-statusexception) | False | Error information for failed portal operations. Contains details about any issues encountered during portal creation or publishing. | 
| tags | [Tags](#portals-model-tags) | False | The collection of tags. Each tag element is associated with a given resource. | 

### CustomColors


Represents custom colors for a published portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| accentColor | stringMinLength: 1MaxLength: 16 | True | Represents the accent color. | 
| backgroundColor | stringMinLength: 1MaxLength: 16 | True | Represents the background color. | 
| errorValidationColor | stringMinLength: 1MaxLength: 16 | True | The errorValidationColor. | 
| headerColor | stringMinLength: 1MaxLength: 16 | True | Represents the header color. | 
| navigationColor | stringMinLength: 1MaxLength: 16 | True | Represents the navigation color. | 
| textColor | stringMinLength: 1MaxLength: 16 | True | Represents the text color. | 

### EndpointConfigurationRequest


Represents an endpoint configuration.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| acmManaged | [ACMManaged](#portals-model-acmmanaged) | False | Represents a domain name and certificate for a portal. | 
| none | [None](#portals-model-none) | False | Use the default portal domain name that is generated and managed by API Gateway.  | 

### EndpointConfigurationResponse


Represents an endpoint configuration.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| certificateArn | stringMinLength: 10MaxLength: 2048 | False | The ARN of the ACM certificate. | 
| domainName | stringMinLength: 3MaxLength: 256 | False | The domain name. | 
| portalDefaultDomainName | stringMinLength: 3MaxLength: 256 | True | The portal default domain name. This domain name is generated and managed by API Gateway. | 
| portalDomainHostedZoneId | stringMinLength: 1MaxLength: 64 | True | The portal domain hosted zone identifier. | 

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

### ListPortalsResponseContent


Lists portals.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| items | Array of type [PortalSummary](#portals-model-portalsummary) | False | 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. | 

### None


The none option.

### PortalContent


Contains the content that is visible to portal consumers including the themes, display names, and description.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| description | stringMinLength: 0MaxLength: 1024 | False | A description of the portal. | 
| displayName | stringMinLength: 3MaxLength: 255 | True | The display name for the portal. | 
| theme | [PortalTheme](#portals-model-portaltheme) | True | The theme for the portal. | 

### PortalSummary


Represents a portal summary.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| authorization | [Authorization](#portals-model-authorization) | True | The authorization of the portal. | 
| endpointConfiguration | [EndpointConfigurationResponse](#portals-model-endpointconfigurationresponse) | True | The endpoint configuration of the portal. | 
| includedPortalProductArns | Array of type stringMinLength: 20MaxLength: 2048 | True | The ARNs of the portal products included in the portal. | 
| lastModified | stringFormat: date-time | True | The timestamp when the portal was last modified. | 
| lastPublished | stringFormat: date-time | False | The timestamp when the portal was last published. | 
| lastPublishedDescription | stringMinLength: 0MaxLength: 1024 | False | The description of the portal the last time it was published. | 
| portalArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the portal. | 
| portalContent | [PortalContent](#portals-model-portalcontent) | True | Contains the content that is visible to portal consumers including the themes, display names, and description. | 
| portalId | stringPattern: `^[a-z0-9]+$`MinLength: 10MaxLength: 30 | True | The portal identifier. | 
| preview | [Preview](#portals-model-preview) | False | Represents the preview endpoint and the any possible error messages during preview generation. | 
| publishStatus | [PublishStatus](#portals-model-publishstatus) | False | The publish status. | 
| rumAppMonitorName | stringMinLength: 0MaxLength: 255 | False | The CloudWatch RUM app monitor name. | 
| statusException | [StatusException](#portals-model-statusexception) | False | The status exception information. | 
| tags | [Tags](#portals-model-tags) | False | The collection of tags. Each tag element is associated with a given resource. | 

### PortalTheme


Defines the theme for a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| customColors | [CustomColors](#portals-model-customcolors) | True | Defines custom color values. | 
| logoLastUploaded | stringFormat: date-time | False | The timestamp when the logo was last uploaded. | 

### Preview


Contains the preview status and preview URL.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| previewStatus | [PreviewStatus](#portals-model-previewstatus) | True | The status of the preview. | 
| previewUrl | string | False | The URL of the preview. | 
| statusException | [StatusException](#portals-model-statusexception) | False | The status exception information. | 

### PreviewStatus


Represents the preview status.
+ `PREVIEW_IN_PROGRESS`
+ `PREVIEW_FAILED`
+ `PREVIEW_READY`

### PublishStatus


Represents a publish status.
+ `PUBLISHED`
+ `PUBLISH_IN_PROGRESS`
+ `PUBLISH_FAILED`
+ `DISABLED`

### StatusException


Represents a StatusException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| exception | stringMinLength: 1MaxLength: 256 | False | The exception. | 
| message | stringMinLength: 1MaxLength: 2048 | False | The error message. | 

### Tags


Represents a collection of tags associated with the resource.


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

## See also


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

### ListPortals

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

### CreatePortal

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