

# AppFabric for productivity APIs (preview)
<a name="productivity-apis"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

This section provides the API operations, data types, and common errors for the AWS AppFabric productivity features.

**Note**  
For all other AppFabric APIs, see the [AWS AppFabric API Reference](https://docs.aws.amazon.com/appfabric/latest/api/).

**Topics**
+ [API actions for AppFabric for productivity (preview)](productivity-actions.md)
+ [API data types for AppFabric for productivity (preview)](productivity-data-types.md)
+ [Common API errors for AppFabric for productivity (preview)](productivity-common-errors.md)

# API actions for AppFabric for productivity (preview)
<a name="productivity-actions"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

The following actions are supported for the AppFabric for productivity features.

For all other AppFabric API actions, see the [AWS AppFabric API Actions](https://docs.aws.amazon.com/appfabric/latest/api/API_Operations.html).

**Topics**
+ [Authorize](API_Authorize.md)
+ [CreateAppClient](API_CreateAppClient.md)
+ [DeleteAppClient](API_DeleteAppClient.md)
+ [GetAppClient](API_GetAppClient.md)
+ [ListActionableInsights](API_ListActionableInsights.md)
+ [ListAppClients](API_ListAppClients.md)
+ [ListMeetingInsights](API_ListMeetingInsights.md)
+ [PutFeedback](API_PutFeedback.md)
+ [Token](API_Token.md)
+ [UpdateAppClient](API_UpdateAppClient.md)

# Authorize
<a name="API_Authorize"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Authorizes an AppClient.

**Topics**
+ [Request body](#API_Authorize_request)

## Request body
<a name="API_Authorize_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **app\$1client\$1id**  |  The ID of the AppClient to authorize.  | 
|  **redirect\$1uri**  |  The URI to redirect end users to after authorization.  | 
|  **state**  |  A unique value to maintain the state between the request and callback.  | 

# CreateAppClient
<a name="API_CreateAppClient"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Creates an AppClient.

**Topics**
+ [Request body](#API_CreateAppClient_request)
+ [Response elements](#API_CreateAppClient_response)

## Request body
<a name="API_CreateAppClient_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **appName**  |  The name of the app. Type: String Length Constraints: Minimum length of 1. Maximum length of 255. Required: Yes  | 
|  **clientToken**  |  Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a [UUID type of value](https://wikipedia.org/wiki/Universally_unique_identifier). If you don't provide this value, then AWS generates a random one for you. If you retry the operation with the same `ClientToken`, but with different parameters, the retry fails with an `IdempotentParameterMismatch` error. Type: String Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: No  | 
|  **customerManagedKeyIdentifier**  |  The ARN of the customer managed key generated by AWS Key Management Service. The key is used to encrypt the data. If no key is specified, then an AWS managed key is used. A map of the key-value pairs of the tag or tags to assign to the resource. For more information about AWS owned keys and customer managed keys, see [Customer keys and AWS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt) in the *AWS Key Management Service Developer Guide*. Type: String Length Constraints: Minimum length of 1. Maximum length of 1011. Pattern: `arn:.+$\|^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: No  | 
|  **description**  |  A description for the app. Type: String Required: Yes  | 
|  **iconUrl**  |  The URL to the icon or logo for the AppClient. Type: String Required: No  | 
|  **redirectUrls**  |  The URI to redirect end users to after authorization. You can add up to 5 redirectUrls. For example, `https://localhost:8080`. Type: Array of strings Array Members: Minimum number of 1 item. Maximum number of 5 items. Length Constraints: Minimum length of 1. Maximum length of 2048. Pattern: `(http\|https):\/\/[-a-zA-Z0-9_:.\/]+` Required: Yes  | 
|  **starterUserEmails**  |  Starter email addresses for users who are allowed access to receive insights until the AppClient is verified. Type: Array of strings Array Members: Fixed number of 1 item. Length Constraints: Minimum length of 0. Maximum length of 320. Pattern: `[a-zA-Z0-9.!#$%&’*+/=?^_`{\|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*` Required: Yes  | 
|  **tags**  |  A map of the key-value pairs of the tag or tags to assign to the resource. Type: Array of Tag objects Array Members: Minimum number of 0 items. Maximum number of 50 items. Required: No  | 

## Response elements
<a name="API_CreateAppClient_response"></a>

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.


| Parameter | Description | 
| --- | --- | 
|  **appClientSummary**  |  Contains a summary of the AppClient. Type: [AppClientSummary](API_AppClientSummary.md) object  | 

# DeleteAppClient
<a name="API_DeleteAppClient"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Deletes an application client.

**Topics**
+ [Request body](#API_DeleteAppClient_request)
+ [Response elements](#API_DeleteAppClient_response)

## Request body
<a name="API_DeleteAppClient_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **appClientIdentifier**  |  The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the AppClient to use for the request. Length Constraints: Minimum length of 1. Maximum length of 1011. Pattern: `arn:.+$\|^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: Yes  | 

## Response elements
<a name="API_DeleteAppClient_response"></a>

If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.

# GetAppClient
<a name="API_GetAppClient"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Returns information about an AppClient.

**Topics**
+ [Request body](#API_GetAppClient_request)
+ [Response elements](#API_GetAppClient_response)

## Request body
<a name="API_GetAppClient_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **appClientIdentifier**  |  The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the AppClient to use for the request. Length Constraints: Minimum length of 1. Maximum length of 1011. Pattern: `arn:.+$\|^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: Yes  | 

## Response elements
<a name="API_GetAppClient_response"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


| Parameter | Description | 
| --- | --- | 
|  **appClient**  |  Contains information about an AppClient. Type: [AppClient](API_AppClient.md) object  | 

# ListActionableInsights
<a name="API_ListActionableInsights"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Lists the most important actionable email messages, tasks, and other updates.

**Topics**
+ [Request body](#API_ListActionableInsights_request)
+ [Response elements](#API_ListActionableInsights_response)

## Request body
<a name="API_ListActionableInsights_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **nextToken**  |  If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken error*.  | 

## Response elements
<a name="API_ListActionableInsights_response"></a>

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.


| Parameter | Description | 
| --- | --- | 
|  **ActionableInsightsList**  |  Lists the actionable insights, including a title, description, actions, and created timestamp. For more information, see [ActionableInsights](API_ActionableInsights.md).  | 
|  **nextToken**  |  If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken error*. Type: String  | 

# ListAppClients
<a name="API_ListAppClients"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Returns a list of all AppClients.

**Topics**
+ [Request body](#API_ListAppClients_request)
+ [Response elements](#API_ListAppClients_response)

## Request body
<a name="API_ListAppClients_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **maxResults**  |  The maximum number of results that are returned per call. You can use `nextToken` to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum. Valid Range: Minimum value of 1. Maximum value of 100.  | 
|  **nextToken**  |  If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken error*.  | 

## Response elements
<a name="API_ListAppClients_response"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


| Parameter | Description | 
| --- | --- | 
|  **appClientList**  |  Contains a list of AppClient results. Type: Array of [AppClientSummary](API_AppClientSummary.md) objects  | 
|  **nextToken**  |  If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken error*. Type: String  | 

# ListMeetingInsights
<a name="API_ListMeetingInsights"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Lists the most important actionable calendar events.

**Topics**
+ [Request body](#API_ListMeetingInsights_request)
+ [Response elements](#API_ListMeetingInsights_response)

## Request body
<a name="API_ListMeetingInsights_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **nextToken**  |  If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken error*.  | 

## Response elements
<a name="API_ListMeetingInsights_response"></a>

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.


| Parameter | Description | 
| --- | --- | 
|  **MeetingInsightList**  |  Lists the actionable meeting insights. For more information, see [MeetingInsights](API_MeetingInsights.md).  | 
|  **nextToken**  |  If `nextToken` is returned, there are more results available. The value of `nextToken` is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an *HTTP 400 InvalidToken error*. Type: String  | 

# PutFeedback
<a name="API_PutFeedback"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Allows users to submit feedback for a given insight or action.

**Topics**
+ [Request body](#API_PutFeedback_request)
+ [Response elements](#API_PutFeedback_response)

## Request body
<a name="API_PutFeedback_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **id**  |  The ID of the object for which feedback is being submitted. This can be either the InsightId or the ActionId.  | 
|  **feedbackFor**  |  The insight type for which the feedback is being submitted. Possible values: `ACTIONABLE_INSIGHT \| MEETING_INSIGHT \| ACTION`  | 
|  **feedbackRating**  |  Feedback Rating from `1` to `5`. Higher rating the better.  | 

## Response elements
<a name="API_PutFeedback_response"></a>

If the action is successful, the service sends back an HTTP 201 response with an empty HTTP body.

# Token
<a name="API_Token"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Contains information that allows AppClients to exchange an authorization code for an access token.

**Topics**
+ [Request body](#API_Token_request)
+ [Response elements](#API_Token_response)

## Request body
<a name="API_Token_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **code**  |  The authorization code received from the authorization endpoint. Type: String Length Constraints: Minimum length of 1. Maximum length of 2048. Required: No  | 
|  **grant\$1type**  |  The grant type for the token. Must be either `authorization_code` or `refresh_token`. Type: String Required: Yes  | 
|  **app\$1client\$1id**  |  The ID of the AppClient. Type: String Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: Yes  | 
|  **redirect\$1uri**  |  The redirect URI passed to the authorization endpoint. Type: String Required: No  | 
|  **refresh\$1token**  |  The refresh token received from the initial token request. Type: String Length Constraints: Minimum length of 1. Maximum length of 4096. Required: No  | 

## Response elements
<a name="API_Token_response"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


| Parameter | Description | 
| --- | --- | 
|  **appfabric\$1user\$1id**  |  The ID of the user for the token. This is returned only for requests that use the `authorization_code` grant type. Type: String  | 
|  **expires\$1in**  |  The number of seconds until the token expires. Type: Long  | 
|  **refresh\$1token**  |  The refresh token to use for a subsequent request. Type: String Length Constraints: Minimum length of 1. Maximum length of 2048.  | 
|  **token**  |  The access token. Type: String Length Constraints: Minimum length of 1. Maximum length of 2048.  | 
|  **token\$1type**  |  The token type. Type: String  | 

# UpdateAppClient
<a name="API_UpdateAppClient"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Updates an AppClient.

**Topics**
+ [Request body](#API_UpdateAppClient_request)
+ [Response elements](#API_UpdateAppClient_response)

## Request body
<a name="API_UpdateAppClient_request"></a>

The request accepts the following data in JSON format.


| Parameter | Description | 
| --- | --- | 
|  **appClientIdentifier**  |  The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the AppClient to use for the request. Length Constraints: Minimum length of 1. Maximum length of 1011. Pattern: `arn:.+$\|^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: Yes  | 
|  **redirectUrls**  |  The URI to redirect end users to after authorization. You can add up to 5 redirectUrls. For example, `https://localhost:8080`. Type: Array of strings Array Members: Minimum number of 1 item. Maximum number of 5 items. Length Constraints: Minimum length of 1. Maximum length of 2048. Pattern: `(http\|https):\/\/[-a-zA-Z0-9_:.\/]+`   | 

## Response elements
<a name="API_UpdateAppClient_response"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


| Parameter | Description | 
| --- | --- | 
|  **appClient**  |  Contains information about an AppClient. Type: [AppClient](API_AppClient.md) object  | 

# API data types for AppFabric for productivity (preview)
<a name="productivity-data-types"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

The AppFabric API contains several data types that various actions use. This section describes the data types for the AppFabric for productivity features in detail.

For all other AppFabric API data types, see the [AWS AppFabric API Data Types](https://docs.aws.amazon.com/appfabric/latest/api/API_Types.html).

**Important**  
The order of each element in a data type structure is not guaranteed. Applications should not assume a particular order.

**Topics**
+ [ActionableInsights](API_ActionableInsights.md)
+ [AppClient](API_AppClient.md)
+ [AppClientSummary](API_AppClientSummary.md)
+ [MeetingInsights](API_MeetingInsights.md)
+ [VerificationDetails](API_VerificationDetails.md)

# ActionableInsights
<a name="API_ActionableInsights"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Contains a summary of important and suitable actions for a user based on emails, calendar invites, messages, and tasks from their app portfolio. Users can see proactive insights from across their applications to help them best orient their day. These insights provide justification on why a user should care about the insight summary along with references, such as embedded links, to individual apps and artifacts that generated the insight.


| Parameter | Description | 
| --- | --- | 
|  **insightId**  |  The unique id for the generated insight.  | 
|  **insightContent**  |  This returns a summary of the insight and embedded links to artifacts used to generate the insight. This would be an HTML content containing embedded links (`<a>` tags).  | 
|  **insightTitle**  |  The title of the generated insight.  | 
|  **createdAt**  |  When the insight was generated.  | 
|  **actions**  |  A list of actions recommend for the generated insight. The action object contains the following parameters: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/appfabric/latest/adminguide/API_ActionableInsights.html)  | 

# AppClient
<a name="API_AppClient"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Contains information about an AppClient.

**Topics**


| Parameter | Description | 
| --- | --- | 
|  **appName**  |  The name of the application. Type: String Required: Yes  | 
|  **arn**  |  The Amazon Resource Name (ARN) of the AppClient. Type: String Length Constraints: Minimum length of 1. Maximum length of 1011. Pattern: `arn:.+` Required: Yes  | 
|  **description**  |  A description for the application. Type: String Required: Yes  | 
|  **iconUrl**  |  The URL to the icon or logo for the AppClient. Type: String Required: No  | 
|  **redirectUrls**  |  The allowed redirect URLs for the AppClient. Type: Array of strings Array Members: Minimum number of 1 item. Maximum number of 5 items. Length Constraints: Minimum length of 1. Maximum length of 2048. Pattern: `(http\|https):\/\/[-a-zA-Z0-9_:.\/]+` Required: Yes  | 
|  **starterUserEmails**  |  Starter email addresses for users who are allowed access to receive insights until the AppClient is verified. Type: Array of strings Array Members: Fixed number of 1 item. Length Constraints: Minimum length of 0. Maximum length of 320. Pattern: `[a-zA-Z0-9.!#$%&’*+/=?^_`{\|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*` Required: Yes  | 
|  **verificationDetails**  |  Contains the status and reason for the AppClient verification. Type: [VerificationDetails](API_VerificationDetails.md) object Required: Yes  | 
|  **customerManagedKeyArn**  |  The Amazon Resource Name (ARN) of the customer managed key generated by AWS Key Management Service for the AppClient. Type: String Length Constraints: Minimum length of 1. Maximum length of 1011. Pattern: `arn:.+` Required: No  | 
|  **appClientId**  |  The ID of the AppClient. Meant to be used in o-auth flows for the app-client. Type: String Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: No  | 

# AppClientSummary
<a name="API_AppClientSummary"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Contains information about an AppClient.

**Topics**


| Parameter | Description | 
| --- | --- | 
|  **arn**  |  The Amazon Resource Name (ARN) of the AppClient. Type: String Length Constraints: Minimum length of 1. Maximum length of 1011. Pattern: `arn:.+` Required: Yes  | 
|  **verificationStatus**  |  The AppClient verification status. Type: String Valid Values: `pending_verification \| verified \| rejected` Required: Yes  | 
|  **appClientId**  |  The ID of the AppClient. Meant to be used in o-auth flows for the app-client. Type: String Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` Required: No  | 

# MeetingInsights
<a name="API_MeetingInsights"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Contains a summary of the top 3 meetings along with meeting purpose, related cross-app artifacts, and activities from tasks, emails, messages, and calendar events.


| Parameter | Description | 
| --- | --- | 
|  **insightId**  |  The unique id for the generated insight.  | 
|  **insightContent**  |  The description of the insight highlighting the details in a string format. As in, why is this insight important.  | 
|  **insightTitle**  |  The title of the generated insight.  | 
|  **createdAt**  |  When the insight was generated.  | 
|  **calendarEvent**  |  The important calendar event or meeting that the user should focus on. Calendar Event object: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/appfabric/latest/adminguide/API_MeetingInsights.html)  | 
|  **resources**  |  The list containing the other resources related to the generate the insight. Resource object: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/appfabric/latest/adminguide/API_MeetingInsights.html)  | 
|  **nextToken**  |  The pagination token to fetch the next set of insights. It’s an optional field which if returned null means there are no more insights to load.  | 

# VerificationDetails
<a name="API_VerificationDetails"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

Contains the status and reason for the AppClient verification.

**Topics**


| Parameter | Description | 
| --- | --- | 
|  **verificationStatus**  |  The AppClient verification status. Type: String Valid Values: `pending_verification \| verified \| rejected` Required: Yes  | 
|  **statusReason**  |  The AppClient verification status reason. Type: String Length Constraints: Minimum length of 1. Maximum length of 1024. Required: No  | 

# Common API errors for AppFabric for productivity (preview)
<a name="productivity-common-errors"></a>


|  | 
| --- |
| The AWS AppFabric for productivity feature is in preview and is subject to change. | 

This section lists the errors common to the API actions for the AWS AppFabric productivity features.

For all other AppFabric common API errors, see [Troubleshoot AppClients in AppFabric for productivity](ahead-app-dev-errors.md) and [AWS AppFabric API common errors](https://docs.aws.amazon.com/appfabric/latest/api/CommonErrors.html) in the *AWS AppFabric API Reference*.


| Exception name | Description | 
| --- | --- | 
|  **TokenException**  |  The token request is not valid. HTTP Status Code: 400  | 