

# Portal


Represents a portal.

## URI


`/v2/portals/portalId`

## HTTP methods


### GET


**Operation ID:** `GetPortal`

Gets a portal.


**Path parameters**  

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


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | GetPortalResponseContent | 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:** `DeletePortal`

Deletes a portal.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| portalId | String | True | The portal 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 | 
| 429 | LimitExceededExceptionResponseContent | The client is sending more than the allowed number of requests per unit of time. | 

### PATCH


**Operation ID:** `UpdatePortal`

Updates a portal.


**Path parameters**  

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


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | UpdatePortalResponseContent | 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. | 
| 409 | ConflictExceptionResponseContent | The resource already exists. | 
| 429 | LimitExceededExceptionResponseContent | The client is sending more than the allowed number of requests per unit of time. | 

## Schemas


### Request bodies


#### PATCH schema
PATCH

```
{
  "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"
}
```

### Response bodies


#### GetPortalResponseContent schema
GetPortalResponseContent

```
{
  "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
}
```

#### UpdatePortalResponseContent schema
UpdatePortalResponseContent

```
{
  "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
}
```

#### BadRequestExceptionResponseContent schema
BadRequestExceptionResponseContent

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

#### AccessDeniedExceptionResponseContent schema
AccessDeniedExceptionResponseContent

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

#### NotFoundExceptionResponseContent schema
NotFoundExceptionResponseContent

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

#### ConflictExceptionResponseContent schema
ConflictExceptionResponseContent

```
{
  "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-portalid-model-cognitoconfig) | False | The Amazon Cognito configuration. | 
| none | [None](#portals-portalid-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. | 

### ConflictExceptionResponseContent


The resource identifier.


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

### 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-portalid-model-acmmanaged) | False | Represents a domain name and certificate for a portal. | 
| none | [None](#portals-portalid-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. | 

### GetPortalResponseContent


Gets a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| authorization | [Authorization](#portals-portalid-model-authorization) | True | The authorization for the portal. | 
| endpointConfiguration | [EndpointConfigurationResponse](#portals-portalid-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 was last modified. | 
| lastPublished | stringFormat: date-time | False | The timestamp when the portal was last published. | 
| lastPublishedDescription | stringMinLength: 0MaxLength: 1024 | False | The publish description used when the portal was last published. | 
| portalArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the portal. | 
| portalContent | [PortalContent](#portals-portalid-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-portalid-model-preview) | False | Represents the preview endpoint and the any possible error messages during preview generation. | 
| publishStatus | [PublishStatus](#portals-portalid-model-publishstatus) | False | The publish status of a portal. | 
| rumAppMonitorName | stringMinLength: 0MaxLength: 255 | False | The CloudWatch RUM app monitor name. | 
| statusException | [StatusException](#portals-portalid-model-statusexception) | False | The status exception information. | 
| tags | [Tags](#portals-portalid-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. | 

### None


The none option.

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

### 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-portalid-model-portaltheme) | True | The theme for the portal. | 

### PortalTheme


Defines the theme for a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| customColors | [CustomColors](#portals-portalid-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-portalid-model-previewstatus) | True | The status of the preview. | 
| previewUrl | string | False | The URL of the preview. | 
| statusException | [StatusException](#portals-portalid-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 |  | 

### UpdatePortalRequestContent


Updates a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| authorization | [Authorization](#portals-portalid-model-authorization) | False | The authorization of the portal. | 
| endpointConfiguration | [EndpointConfigurationRequest](#portals-portalid-model-endpointconfigurationrequest) | False | Represents an endpoint configuration. | 
| includedPortalProductArns | Array of type stringMinLength: 20MaxLength: 2048 | False | The ARNs of the portal products included in the portal. | 
| logoUri | stringMinLength: 0MaxLength: 1092 | False | The logo URI. | 
| portalContent | [PortalContent](#portals-portalid-model-portalcontent) | False | Contains the content that is visible to portal consumers including the themes, display names, and description. | 
| rumAppMonitorName | stringMinLength: 0MaxLength: 255 | False | The CloudWatch RUM app monitor name. | 

### UpdatePortalResponseContent


Updates a portal.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| authorization | [Authorization](#portals-portalid-model-authorization) | True | The authorization for the portal. | 
| endpointConfiguration | [EndpointConfigurationResponse](#portals-portalid-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 was last modified. | 
| lastPublished | stringFormat: date-time | False | The timestamp when the portal was last published. | 
| lastPublishedDescription | stringMinLength: 0MaxLength: 1024 | False | The description associated with the last time the portal was published. | 
| portalArn | stringMinLength: 20MaxLength: 2048 | True | The ARN of the portal. | 
| portalContent | [PortalContent](#portals-portalid-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-portalid-model-preview) | False | Represents the preview endpoint and the any possible error messages during preview generation. | 
| publishStatus | [PublishStatus](#portals-portalid-model-publishstatus) | False | The publishStatus. | 
| rumAppMonitorName | stringMinLength: 0MaxLength: 255 | False | The CloudWatch RUM app monitor name. | 
| statusException | [StatusException](#portals-portalid-model-statusexception) | False | The status exception information. | 
| tags | [Tags](#portals-portalid-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:

### GetPortal

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

### DeletePortal

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

### UpdatePortal

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