Amazon Appflow API
Amazon Appflow API
AmazonAppFlow
Amazon's trademarks and trade dress may not be used in connection with any product or service
that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any
manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are
the property of their respective owners, who may or may not be affiliated with, connected to, or
sponsored by Amazon.
AmazonAppFlow API Reference
Table of Contents
Welcome ........................................................................................................................................... 1
Actions .............................................................................................................................................. 2
CancelFlowExecutions .................................................................................................................................. 3
Request Syntax ........................................................................................................................................ 3
URI Request Parameters ........................................................................................................................ 3
Request Body ........................................................................................................................................... 4
Response Syntax ...................................................................................................................................... 4
Response Elements ................................................................................................................................. 5
Errors .......................................................................................................................................................... 5
See Also ..................................................................................................................................................... 6
CreateConnectorProfile ............................................................................................................................... 7
Request Syntax ........................................................................................................................................ 7
URI Request Parameters ...................................................................................................................... 13
Request Body ......................................................................................................................................... 13
Response Syntax ................................................................................................................................... 15
Response Elements ............................................................................................................................... 16
Errors ....................................................................................................................................................... 16
Examples ................................................................................................................................................. 17
See Also .................................................................................................................................................. 22
CreateFlow ................................................................................................................................................... 24
Request Syntax ...................................................................................................................................... 24
URI Request Parameters ...................................................................................................................... 30
Request Body ......................................................................................................................................... 30
Response Syntax ................................................................................................................................... 33
Response Elements ............................................................................................................................... 34
Errors ....................................................................................................................................................... 34
Examples ................................................................................................................................................. 35
See Also .................................................................................................................................................. 44
DeleteConnectorProfile ............................................................................................................................. 45
Request Syntax ...................................................................................................................................... 45
URI Request Parameters ...................................................................................................................... 45
Request Body ......................................................................................................................................... 45
Response Syntax ................................................................................................................................... 46
Response Elements ............................................................................................................................... 46
Errors ....................................................................................................................................................... 46
Examples ................................................................................................................................................. 46
See Also .................................................................................................................................................. 47
DeleteFlow ................................................................................................................................................... 48
Request Syntax ...................................................................................................................................... 48
URI Request Parameters ...................................................................................................................... 48
Request Body ......................................................................................................................................... 48
Response Syntax ................................................................................................................................... 49
Response Elements ............................................................................................................................... 49
Errors ....................................................................................................................................................... 49
Examples ................................................................................................................................................. 49
See Also .................................................................................................................................................. 50
DescribeConnector ..................................................................................................................................... 52
Request Syntax ...................................................................................................................................... 52
URI Request Parameters ...................................................................................................................... 52
Request Body ......................................................................................................................................... 52
Response Syntax ................................................................................................................................... 53
Response Elements ............................................................................................................................... 56
Errors ....................................................................................................................................................... 56
Examples ................................................................................................................................................. 57
See Also .................................................................................................................................................. 60
DescribeConnectorEntity .......................................................................................................................... 61
Request Syntax ...................................................................................................................................... 61
URI Request Parameters ...................................................................................................................... 61
Request Body ......................................................................................................................................... 61
Response Syntax ................................................................................................................................... 62
Response Elements ............................................................................................................................... 63
Errors ....................................................................................................................................................... 64
Examples ................................................................................................................................................. 65
See Also ................................................................................................................................................ 106
DescribeConnectorProfiles ..................................................................................................................... 107
Request Syntax .................................................................................................................................... 107
URI Request Parameters ................................................................................................................... 107
Request Body ....................................................................................................................................... 107
Response Syntax ................................................................................................................................. 109
Response Elements ............................................................................................................................ 111
Welcome
Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed
information about the Amazon AppFlow API operations, data types, and errors.
Amazon AppFlow is a fully managed integration service that enables you to securely transfer data
between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow,
and Amazon Web Services like Amazon S3 and Amazon Redshift.
Use the following links to get started on the Amazon AppFlow API:
If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User
Guide.
Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include
applicable OAuth attributes (such as auth-code and redirecturi) with the connector-
specific ConnectorProfileProperties when creating a new connector profile using Amazon
AppFlow API operations. For example, Salesforce users can refer to the Authorize Apps with OAuth
documentation.
Actions
The following actions are supported:
• CancelFlowExecutions
• CreateConnectorProfile
• CreateFlow
• DeleteConnectorProfile
• DeleteFlow
• DescribeConnector
• DescribeConnectorEntity
• DescribeConnectorProfiles
• DescribeConnectors
• DescribeFlow
• DescribeFlowExecutionRecords
• ListConnectorEntities
• ListConnectors
• ListFlows
• ListTagsForResource
• RegisterConnector
• ResetConnectorMetadataCache
• StartFlow
• StopFlow
• TagResource
• UnregisterConnector
• UntagResource
• UpdateConnectorProfile
• UpdateConnectorRegistration
• UpdateFlow
CancelFlowExecutions
Cancels active runs for a flow.
You can cancel all of the active runs for a flow, or you can cancel specific runs by providing their
IDs.
You can cancel a flow run only when the run is in progress. You can't cancel a run that has already
completed or failed. You also can't cancel a run that's scheduled to occur but hasn't started yet. To
prevent a scheduled run, you can deactivate the flow with the StopFlow action.
When you send your request, the status for each run becomes CancelStarted. When the
cancellation completes, the status becomes Canceled.
Note
When you cancel a run, you still incur charges for any data that the run already processed
before the cancellation. If the run had already written some data to the flow destination,
then that data remains in the destination. If you configured the flow to use a batch API
(such as the Salesforce Bulk API 2.0), then the run will finish reading or writing its entire
batch of data after the cancellation. For these operations, the data processing charges for
Amazon AppFlow apply. For the pricing information, see Amazon AppFlow pricing.
Request Syntax
{
"executionIds": [ "string" ],
"flowName": "string"
}
Request Body
executionIds
The ID of each active run to cancel. These runs must belong to the flow you specify in your
request.
If you omit this parameter, your request ends all active runs that belong to the flow.
Pattern: \S+
Required: No
flowName
The name of a flow with active runs that you want to cancel.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"invalidExecutions": [ "string" ]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
invalidExecutions
The IDs of runs that Amazon AppFlow couldn't cancel. These runs might be ineligible for
canceling because they haven't started yet or have already completed.
Pattern: \S+
Errors
For information about the errors that are common to all actions, see Common Error Types.
AccessDeniedException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
API calls have exceeded the maximum allowed API request rate per account and per Region.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CreateConnectorProfile
Creates a new connector profile associated with your AWS account. There is a soft quota of 100
connector profiles per AWS account. If you need more connector profiles than this quota allows,
you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support
channel. In each connector profile that you create, you can provide the credentials and properties
for only one connector.
Request Syntax
{
"clientToken": "string",
"connectionMode": "string",
"connectorLabel": "string",
"connectorProfileConfig": {
"connectorProfileCredentials": {
"Amplitude": {
"apiKey": "string",
"secretKey": "string"
},
"CustomConnector": {
"apiKey": {
"apiKey": "string",
"apiSecretKey": "string"
},
"authenticationType": "string",
"basic": {
"password": "string",
"username": "string"
},
"custom": {
"credentialsMap": {
"string" : "string"
},
"customAuthenticationType": "string"
},
"oauth2": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
}
},
"Datadog": {
"apiKey": "string",
"applicationKey": "string"
},
"Dynatrace": {
"apiToken": "string"
},
"GoogleAnalytics": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"Honeycode": {
"accessToken": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"InforNexus": {
"accessKeyId": "string",
"datakey": "string",
"secretAccessKey": "string",
"userId": "string"
},
"Marketo": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
}
},
"Pardot": {
"accessToken": "string",
"clientCredentialsArn": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"Redshift": {
"password": "string",
"username": "string"
},
"Salesforce": {
"accessToken": "string",
"clientCredentialsArn": "string",
"jwtToken": "string",
"oAuth2GrantType": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"SAPOData": {
"basicAuthCredentials": {
"password": "string",
"username": "string"
},
"oAuthCredentials": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
}
},
"ServiceNow": {
"oAuth2Credentials": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"password": "string",
"username": "string"
},
"Singular": {
"apiKey": "string"
},
"Slack": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
}
},
"Snowflake": {
"password": "string",
"username": "string"
},
"Trendmicro": {
"apiSecretKey": "string"
},
"Veeva": {
"password": "string",
"username": "string"
},
"Zendesk": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
}
}
},
"connectorProfileProperties": {
"Amplitude": {
},
"CustomConnector": {
"oAuth2Properties": {
"oAuth2GrantType": "string",
"tokenUrl": "string",
"tokenUrlCustomProperties": {
"string" : "string"
}
},
"profileProperties": {
"string" : "string"
}
},
"Datadog": {
"instanceUrl": "string"
},
"Dynatrace": {
"instanceUrl": "string"
},
"GoogleAnalytics": {
},
"Honeycode": {
},
"InforNexus": {
"instanceUrl": "string"
},
"Marketo": {
"instanceUrl": "string"
},
"Pardot": {
"businessUnitId": "string",
"instanceUrl": "string",
"isSandboxEnvironment": boolean
},
"Redshift": {
"bucketName": "string",
"bucketPrefix": "string",
"clusterIdentifier": "string",
"dataApiRoleArn": "string",
"databaseName": "string",
"databaseUrl": "string",
"isRedshiftServerless": boolean,
"roleArn": "string",
"workgroupName": "string"
},
"Salesforce": {
"instanceUrl": "string",
"isSandboxEnvironment": boolean,
"usePrivateLinkForMetadataAndAuthorization": boolean
},
"SAPOData": {
"applicationHostUrl": "string",
"applicationServicePath": "string",
"clientNumber": "string",
"disableSSO": boolean,
"logonLanguage": "string",
"oAuthProperties": {
"authCodeUrl": "string",
"oAuthScopes": [ "string" ],
"tokenUrl": "string"
},
"portNumber": number,
"privateLinkServiceName": "string"
},
"ServiceNow": {
"instanceUrl": "string"
},
"Singular": {
},
"Slack": {
"instanceUrl": "string"
},
"Snowflake": {
"accountName": "string",
"bucketName": "string",
"bucketPrefix": "string",
"privateLinkServiceName": "string",
"region": "string",
"stage": "string",
"warehouse": "string"
},
"Trendmicro": {
},
"Veeva": {
"instanceUrl": "string"
},
"Zendesk": {
"instanceUrl": "string"
}
}
},
"connectorProfileName": "string",
"connectorType": "string",
"kmsArn": "string"
}
Request Body
clientToken
If you omit a clientToken value, the AWS SDK that you are using inserts a value for you. This
way, the SDK can safely retry requests multiple times after a network error. You must provide
your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If
you use a different value for clientToken, Amazon AppFlow considers it a new call to
CreateConnectorProfile. The token is active for 8 hours.
Type: String
Pattern: [ -~]+
Required: No
connectionMode
Indicates the connection mode and specifies whether it is public or private. Private flows
use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public
internet.
Type: String
Required: Yes
connectorLabel
The label of the connector. The label is unique for each ConnectorRegistration in your AWS
account. Only needed if calling for CUSTOMCONNECTOR connector type/.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
connectorProfileConfig
Required: Yes
connectorProfileName
The name of the connector profile. The name is unique for each ConnectorProfile in your
AWS account.
Type: String
Pattern: [\w/!@#+=.-]+
Required: Yes
connectorType
Type: String
Required: Yes
kmsArn
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for
encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key.
If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS
key.
Type: String
Pattern: arn:aws:kms:.*:[0-9]+:.*
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorProfileArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorProfileArn
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The request would cause a service quota (such as the number of flows) to be exceeded.
ValidationException
Examples
CustomConnector
This example shows a sample request for the CreateConnectorProfile API (without OAuth)
and a sample response.
Sample Request
{
"connectorProfileName": "Connector_Profile_Name_Value",
"kmsArn": null,
"connectorType": "CUSTOMCONNECTOR",
"connectorLabel": "MyCustomConnector",
"connectionMode": "Public",
"connectorProfileConfig":
{
"connectorProfileProperties":
{
"salesforce":
{
"instanceUrl": "InstanceUrl_value",
"isSandboxEnvironment": false
}
},
"connectorProfileCredentials":
{
"salesforce":
{
"accessToken": "<AccessToken>",
"refreshToken": "<RefreshToken>",
"oauthRequest":
{
"authCode": null,
"redirectUri": null
}
}
}
}
}
Sample Response
{
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
Connector_Profile_Name"
}
This example shows a sample request for the CreateConnectorProfile API (without OAuth)
and a sample response.
Sample Request
{
"connectorProfileName": "Connector_Profile_Name_Value",
"kmsArn": null,
"connectorType": "Salesforce",
"connectorLabel": "Salesforce",
"connectionMode": "Public",
"connectorProfileConfig": {
"connectorProfileProperties": {
"salesforce": {
"instanceUrl": "InstanceUrl_value",
"isSandboxEnvironment": false
}
},
"connectorProfileCredentials": {
"salesforce": {
"accessToken": "<AccessToken>",
"refreshToken": "<RefreshToken>",
"oauthRequest": {
"authCode": null,
"redirectUri": null
}
}
}
}
}
Sample Response
{
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
Connector_Profile_Name"
}
Sample Request
{
"connectorProfileName": "connector-profile-name_value",
"kmsArn": null,
"connectorType": "Salesforce",
"connectionMode": "Public",
"connectorProfileConfig": {
"connectorProfileProperties": {
"salesforce": {
"isSandboxEnvironment": false
}
},
"connectorProfileCredentials": {
"salesforce": {
"oauthRequest": {
"authCode": "<AuthCode>",
"redirectUri": "redirectUri"
}
}
}
}
}
Sample Response
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
connector-profile-name"
}
Zendesk
This example shows a sample request and response for the CreateConnectorProfile API using
Zendesk.
Sample Request
{
"connectorProfileName": "connector-profile-name",
"connectorType": "Zendesk",
"connectionMode": "Public",
"connectorProfileConfig": {
"connectorProfileProperties": {
"zendesk": {
"instanceUrl": "Zendesk_Url"
}
},
"connectorProfileCredentials": {
"zendesk": {
"clientId": "aws_integration_to_zendesk",
"clientSecret": "<ClientSecret>",
"accessToken": "<AccessToken>",
"oauthRequest": {
"authCode": null,
"redirectUri": null
}
}
}
}
}
Sample Response
{
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
connector-profile-name"
}
Google Analytics
This example shows a sample request and response for the CreateConnectorProfile API using
Google Analytics.
Sample Request
{
"connectorProfileName": "connector-profile-name",
"connectorType": "Googleanalytics",
"connectionMode": "Public",
"connectorProfileConfig": {
"connectorProfileProperties": {
"googleAnalytics": {}
},
"connectorProfileCredentials": {
"googleAnalytics": {
"clientId": "<ClientId>",
"clientSecret": "<ClientSecret>",
"accessToken": "<AccessToken>",
"refreshToken": "<RefreshToken>",
"oauthRequest": {
"authCode": null,
"redirectUri": null
}
}
}
}
}
{
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
connector-profile-name"
}
Marketo
This example shows a sample request and response for the CreateConnectorProfile API using
Marketo.
Sample Request
{
"connectorProfileName": "Connector-profile-new",
"connectorType": "Marketo",
"connectionMode": "Public",
"connectorProfileConfig": {
"connectorProfileProperties": {
"marketo": {
"instanceUrl": "Marketo_Url"
}
},
"connectorProfileCredentials": {
"marketo": {
"clientId": "<ClientId>>",
"clientSecret": "<ClientSecret>",
"accessToken": "<AccessToken>",
"oauthRequest": {
"authCode": null,
"redirectUri": null
}
}
}
}
}
Sample Response
{
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
Connector-profile-new"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CreateFlow
Enables your application to create a new flow using Amazon AppFlow. You must create a connector
profile before calling this API. Please note that the Request Syntax below shows syntax for
multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon
AppFlow does not currently support flows to multiple destinations at once.
Request Syntax
{
"clientToken": "string",
"description": "string",
"destinationFlowConfigList": [
{
"apiVersion": "string",
"connectorProfileName": "string",
"connectorType": "string",
"destinationConnectorProperties": {
"CustomConnector": {
"customProperties": {
"string" : "string"
},
"entityName": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"writeOperationType": "string"
},
"CustomerProfiles": {
"domainName": "string",
"objectTypeName": "string"
},
"EventBridge": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"Honeycode": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"LookoutMetrics": {
},
"Marketo": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"Redshift": {
"bucketPrefix": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"intermediateBucketName": "string",
"object": "string"
},
"S3": {
"bucketName": "string",
"bucketPrefix": "string",
"s3OutputFormatConfig": {
"aggregationConfig": {
"aggregationType": "string",
"targetFileSize": number
},
"fileType": "string",
"prefixConfig": {
"pathPrefixHierarchy": [ "string" ],
"prefixFormat": "string",
"prefixType": "string"
},
"preserveSourceDataTyping": boolean
}
},
"Salesforce": {
"dataTransferApi": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"object": "string",
"writeOperationType": "string"
},
"SAPOData": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"objectPath": "string",
"successResponseHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string"
},
"writeOperationType": "string"
},
"Snowflake": {
"bucketPrefix": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"intermediateBucketName": "string",
"object": "string"
},
"Upsolver": {
"bucketName": "string",
"bucketPrefix": "string",
"s3OutputFormatConfig": {
"aggregationConfig": {
"aggregationType": "string",
"targetFileSize": number
},
"fileType": "string",
"prefixConfig": {
"pathPrefixHierarchy": [ "string" ],
"prefixFormat": "string",
"prefixType": "string"
}
}
},
"Zendesk": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"object": "string",
"writeOperationType": "string"
}
}
}
],
"flowName": "string",
"kmsArn": "string",
"metadataCatalogConfig": {
"glueDataCatalog": {
"databaseName": "string",
"roleArn": "string",
"tablePrefix": "string"
}
},
"sourceFlowConfig": {
"apiVersion": "string",
"connectorProfileName": "string",
"connectorType": "string",
"incrementalPullConfig": {
"datetimeTypeFieldName": "string"
},
"sourceConnectorProperties": {
"Amplitude": {
"object": "string"
},
"CustomConnector": {
"customProperties": {
"string" : "string"
},
"dataTransferApi": {
"Name": "string",
"Type": "string"
},
"entityName": "string"
},
"Datadog": {
"object": "string"
},
"Dynatrace": {
"object": "string"
},
"GoogleAnalytics": {
"object": "string"
},
"InforNexus": {
"object": "string"
},
"Marketo": {
"object": "string"
},
"Pardot": {
"object": "string"
},
"S3": {
"bucketName": "string",
"bucketPrefix": "string",
"s3InputFormatConfig": {
"s3InputFileType": "string"
}
},
"Salesforce": {
"dataTransferApi": "string",
"enableDynamicFieldUpdate": boolean,
"includeDeletedRecords": boolean,
"object": "string"
},
"SAPOData": {
"objectPath": "string",
"paginationConfig": {
"maxPageSize": number
},
"parallelismConfig": {
"maxParallelism": number
}
},
"ServiceNow": {
"object": "string"
},
"Singular": {
"object": "string"
},
"Slack": {
"object": "string"
},
"Trendmicro": {
"object": "string"
},
"Veeva": {
"documentType": "string",
"includeAllVersions": boolean,
"includeRenditions": boolean,
"includeSourceFiles": boolean,
"object": "string"
},
"Zendesk": {
"object": "string"
}
}
},
"tags": {
"string" : "string"
},
"tasks": [
{
"connectorOperator": {
"Amplitude": "string",
"CustomConnector": "string",
"Datadog": "string",
"Dynatrace": "string",
"GoogleAnalytics": "string",
"InforNexus": "string",
"Marketo": "string",
"Pardot": "string",
"S3": "string",
"Salesforce": "string",
"SAPOData": "string",
"ServiceNow": "string",
"Singular": "string",
"Slack": "string",
"Trendmicro": "string",
"Veeva": "string",
"Zendesk": "string"
},
"destinationField": "string",
"sourceFields": [ "string" ],
"taskProperties": {
"string" : "string"
},
"taskType": "string"
}
],
"triggerConfig": {
"triggerProperties": {
"Scheduled": {
"dataPullMode": "string",
"firstExecutionFrom": number,
"flowErrorDeactivationThreshold": number,
"scheduleEndTime": number,
"scheduleExpression": "string",
"scheduleOffset": number,
"scheduleStartTime": number,
"timezone": "string"
}
},
"triggerType": "string"
}
}
Request Body
clientToken
If you omit a clientToken value, the AWS SDK that you are using inserts a value for you. This
way, the SDK can safely retry requests multiple times after a network error. You must provide
your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If you use a
different value for clientToken, Amazon AppFlow considers it a new call to CreateFlow. The
token is active for 8 hours.
Type: String
Pattern: [ -~]+
Required: No
description
Type: String
Pattern: [\w!@#\-.?,\s]*
Required: No
destinationFlowConfigList
The configuration that controls how Amazon AppFlow places data in the destination connector.
Required: Yes
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
kmsArn
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for
encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key.
If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS
key.
Type: String
Pattern: arn:aws:kms:.*:[0-9]+:.*
Required: No
metadataCatalogConfig
Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's
transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it
stores metadata in a data catalog.
Required: No
sourceFlowConfig
The configuration that controls how Amazon AppFlow retrieves data from the source connector.
Required: Yes
tags
The tags used to organize, track, or control access for your flow.
Required: No
tasks
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
Required: Yes
triggerConfig
The trigger settings that determine how and when the flow runs.
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"flowArn": "string",
"flowStatus": "string"
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
flowArn
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
flowStatus
Type: String
Errors
For information about the errors that are common to all actions, see Common Error Types.
AccessDeniedException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
ConnectorAuthenticationException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
The request would cause a service quota (such as the number of flows) to be exceeded.
Examples
Salesforce
This example shows a sample request for the CreateFlow API using Salesforce. If you see the
error shown in the second sample, it is because of an expired access or refresh token. Retrieve a
new access or refresh token to proceed.
Sample Request
{
"flowName": "testFlowSaleforce",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "Scheduled",
"triggerProperties": {
"scheduledTriggerProperties" : {
"scheduleExpression" : "rate(1minutes)"
}
}
},
"sourceFlowConfig": {
"connectorType": "Salesforce",
"connectorLabel":"MyCustomConnector",
"connectorProfileName": "Connector_Profile_Name",
"sourceConnectorProperties": {
"salesforce": {
"object": "account"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorLabel":"MyCustomConnector",
"destinationConnectorProperties": {
"s3": {
"bucketName": "BucketName",
"bucketKey": "BucketKey"
}
}
}
],
"tasks": [
{
"sourceFields": [
"CreatedDate"
],
"taskProperties": {
},
"destinationField": "CreatedDate",
"taskType": "Map"
},
{
"destinationField": "LastActivityDate",
"sourceFields": [
"LastActivityDate"
],
"taskProperties": {
},
"taskType": "Map"
}
]
}
{
"message": "Error while authenticating to connector"
}
Zendesk
This example shows a sample request for the CreateFlow API using Zendesk.
Sample Request
{
"useDefaultEncryption": false,
"flowName": "testFlowZendesk",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "Scheduled",
"triggerProperties": {
"scheduledTriggerProperties" : {
"scheduleExpression" : "rate(1minutes)"
}
}
},
"sourceFlowConfig": {
"connectorType": "Zendesk",
"connectorProfileName": "connector-profile-name",
"sourceConnectorProperties": {
"zendesk": {
"object": "tickets"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorProfileName": "Test",
"destinationConnectorProperties": {
"s3": {
"bucketName": "BucketName",
"bucketKey": "BucketKey"
}
}
}
],
"tasks": [
{
"destinationField": "url",
"sourceFields": [
"url"
],
"taskProperties": {
"SOURCE_DATA_TYPE": "integer"
},
"taskType": "Map"
}
]
}
Google Analytics
This example shows a sample request for the CreateFlow API using Google Analytics.
Sample Request
{
"useDefaultEncryption": false,
"flowName": "testFlowGAnalytics",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "Scheduled",
"triggerProperties": {
"scheduledTriggerProperties" : {
"scheduleExpression" : "rate(1minutes)"
}
}
},
"sourceFlowConfig": {
"connectorType": "Googleanalytics",
"connectorProfileName": "connector-profile-name",
"sourceConnectorProperties": {
"googleanalytics": {
"object": "ObjectID"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorProfileName": "Test",
"destinationConnectorProperties": {
"s3": {
"bucketName": "BucketName",
"bucketKey": "BucketKey"
}
}
}
],
"tasks": [
{
"destinationField": "url",
"sourceFields": [
"url"
],
"taskProperties": {
"SOURCE_DATA_TYPE": "integer"
},
"taskType": "Map"
}
]
}
Marketo
This example shows a sample request for the CreateFlow API using Marketo.
Sample Request
{
"flowName": "testMarketo",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "Scheduled",
"triggerProperties": {
"scheduledTriggerProperties" : {
"scheduleExpression" : "rate(1minutes)"
}
}
},
"sourceFlowConfig": {
"connectorType": "Marketo",
"connectorProfileName": "Connector-profile-new",
"sourceConnectorProperties": {
"marketo": {
"object": "leads"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorProfileName": "Test",
"destinationConnectorProperties": {
"s3": {
"bucketName": "BucketName",
"bucketKey": "BucketKey"
}
}
}
],
"tasks": [
{
"connectorOperator": {
"marketo":"BETWEEN"
},
"sourceFields": [
"updatedAt"
],
"taskProperties": {
"DATA_TYPE": "datetime",
"LOWER_BOUND": "Lower_Bound_value",
"UPPER_BOUND": "Upper_Bound_value"
},
"taskType": "Filter"
},
{
"destinationField": "company",
"sourceFields": [
"company"
],
"taskProperties": {
"SOURCE_DATA_TYPE": "string"
},
"taskType": "Map"
}
]
}
Connection credentials
This Java example shows credentials associated with a connection. In this case, the example uses
OAuth. These credentials are stored in secrets manager after the profile is created.
Connection properties
This Java example shows other properties associated with a connection to Salesforce.
To create a flow, you must first create a connector profile. This Java example shows information
about connecting to Salesforce.
[Link](new
CreateConnectorProfileRequest().withConnectorProfileConfig(
new
ConnectorProfileConfig().withConnectorProfileCredentials(credentials)
.withConnectorProfileProperties(properties))
.withConnectorProfileName(salesforceProfileName)
.withConnectorType([Link])
.withConnectionMode([Link]));
This Java example shows properties for a source connection. Account is the object in
Salesforce that we want to retrieve. You can find a list of all supported objects by using the
listConnectorEntity API. The ConnectorProfileName is the connector profile, the creation
of which is seen in the previous example.
This Java example shows properties for a destination connection. Note that many AWS connectors
such as Amazon S3 don't require a connector profile. Amazon AppFlow accesses S3 buckets
through a bucket resource policy, therefore a connector profile isn't needed.
Tasks
Tasks describe what to do with the data once it has been retrieved, but before it is sent to the
destination. Most connectors require a projection task. A projection task describes what fields
should be retrieved from the source object. Fields that can be retrieved can be discovered by
making a call to the DescribeConnectorEntity API.
Mapping task
Most flows also require at least one mapping task. Mapping tasks map a source field to a
destination field. This Java example shows the mapping between the retrieved field, Id, to a new
field, AccountId.
[Link](new
CreateFlowRequest().withFlowName(salesforceFlowName)
.withTriggerConfig(new
TriggerConfig().withTriggerType([Link]))
.withSourceFlowConfig(sourceFlowConfig)
.withDestinationFlowConfigList(destinationFlowConfig)
.withTasks(projectionTask, idMappingTask, createdMappingTask));
Sample imports
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].S3DestinationProperties;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DeleteConnectorProfile
Enables you to delete an existing connector profile.
Request Syntax
{
"connectorProfileName": "string",
"forceDelete": boolean
}
Request Body
connectorProfileName
The name of the connector profile. The name is unique for each ConnectorProfile in your
account.
Type: String
Pattern: [\w/!@#+=.-]+
Required: Yes
forceDelete
Indicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one
or more flows.
Type: Boolean
Required: No
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
Marketo
This example shows a sample request and response for the CreateConnectorProfile API using
Marketo. If forceDelete is false, and there are flows associated, you will see a message similar to
that shown in the third sample.
Sample Request
{
"connectorProfileName": "testMarketoProfile",
"forceDelete": "true"
}
Sample Response
{
"deleted": true,
"flowNames": null
}
{
"message": "Conflict executing request: Connector profile: testMarketoProfile is
associated with one or more flows. If you still want to *delete* it, *then* make
*delete* request *with* forceDelete flag *as* true. *Some* of the associated flows
are: [myTestFlow1]"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DeleteFlow
Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow
validates the request by checking the flow configuration and status. You can delete flows one at a
time.
Request Syntax
{
"flowName": "string",
"forceDelete": boolean
}
Request Body
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
forceDelete
Indicates whether Amazon AppFlow should delete the flow, even if it is currently in use.
Type: Boolean
Required: No
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
This example shows an active scheduled flow with forceDelete false. The result is that a conflict
exception is thrown.
Sample Request
{
"flowName": "flowName_value"
}
Sample Response
{
"message": "Conflict executing request: Flow is in active state, please set
forceDelete to true or deactivate the flow: flowName_value"
}
This example shows an active scheduled flow with forceDelete true. The result is that the flow is
deleted successfully.
Sample Request
{
"flowName": "flowName_value",
"forceDelete": true
}
Sample Response
{}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DescribeConnector
Describes the given custom connector registered in your AWS account. This API can be used for
custom connectors that are registered in your account and also for Amazon authored connectors.
Request Syntax
{
"connectorLabel": "string",
"connectorType": "string"
}
Request Body
The request accepts the following data in JSON format.
connectorLabel
The label of the connector. The label is unique for each ConnectorRegistration in your AWS
account. Only needed if calling for CUSTOMCONNECTOR connector type/.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
connectorType
Type: String
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorConfiguration": {
"authenticationConfig": {
"customAuthConfigs": [
{
"authParameters": [
{
"connectorSuppliedValues": [ "string" ],
"description": "string",
"isRequired": boolean,
"isSensitiveField": boolean,
"key": "string",
"label": "string"
}
],
"customAuthenticationType": "string"
}
],
"isApiKeyAuthSupported": boolean,
"isBasicAuthSupported": boolean,
"isCustomAuthSupported": boolean,
"isOAuth2Supported": boolean,
"oAuth2Defaults": {
"authCodeUrls": [ "string" ],
"oauth2CustomProperties": [
{
"connectorSuppliedValues": [ "string" ],
"description": "string",
"isRequired": boolean,
"isSensitiveField": boolean,
"key": "string",
"label": "string",
"type": "string"
}
],
"oauth2GrantTypesSupported": [ "string" ],
"oauthScopes": [ "string" ],
"tokenUrls": [ "string" ]
}
},
"canUseAsDestination": boolean,
"canUseAsSource": boolean,
"connectorArn": "string",
"connectorDescription": "string",
"connectorLabel": "string",
"connectorMetadata": {
"Amplitude": {
},
"CustomerProfiles": {
},
"Datadog": {
},
"Dynatrace": {
},
"EventBridge": {
},
"GoogleAnalytics": {
"oAuthScopes": [ "string" ]
},
"Honeycode": {
"oAuthScopes": [ "string" ]
},
"InforNexus": {
},
"Marketo": {
},
"Pardot": {
},
"Redshift": {
},
"S3": {
},
"Salesforce": {
"dataTransferApis": [ "string" ],
"oauth2GrantTypesSupported": [ "string" ],
"oAuthScopes": [ "string" ]
},
"SAPOData": {
},
"ServiceNow": {
},
"Singular": {
},
"Slack": {
"oAuthScopes": [ "string" ]
},
"Snowflake": {
"supportedRegions": [ "string" ]
},
"Trendmicro": {
},
"Upsolver": {
},
"Veeva": {
},
"Zendesk": {
"oAuthScopes": [ "string" ]
}
},
"connectorModes": [ "string" ],
"connectorName": "string",
"connectorOwner": "string",
"connectorProvisioningConfig": {
"lambda": {
"lambdaArn": "string"
}
},
"connectorProvisioningType": "string",
"connectorRuntimeSettings": [
{
"connectorSuppliedValueOptions": [ "string" ],
"dataType": "string",
"description": "string",
"isRequired": boolean,
"key": "string",
"label": "string",
"scope": "string"
}
],
"connectorType": "string",
"connectorVersion": "string",
"isPrivateLinkEnabled": boolean,
"isPrivateLinkEndpointUrlRequired": boolean,
"logoURL": "string",
"registeredAt": number,
"registeredBy": "string",
"supportedApiVersions": [ "string" ],
"supportedDataTransferApis": [
{
"Name": "string",
"Type": "string"
}
],
"supportedDataTransferTypes": [ "string" ],
"supportedDestinationConnectors": [ "string" ],
"supportedOperators": [ "string" ],
"supportedSchedulingFrequencies": [ "string" ],
"supportedTriggerTypes": [ "string" ],
"supportedWriteOperations": [ "string" ]
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorConfiguration
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
This example shows a sample request for the DescribeConnector API and a sample response.
Sample Request
{
"connectorType": "connectorType",
"connectorLabel": "connectorLabel"
}
Sample Response
{
"connectorConfiguration":
{
"authenticationConfig": null,
"canUseAsDestination": true,
"canUseAsSource": true,
"connectorArn": null,
"connectorDescription": "Salesforce",
"connectorLabel": null,
"connectorMetadata":
{
"Amplitude": null,
"AppIntegrations": null,
"CustomerProfiles": null,
"Datadog": null,
"Dynatrace": null,
"EventBridge": null,
"GoogleAnalytics": null,
"Honeycode": null,
"InforNexus": null,
"Locke": null,
"Marketo": null,
"Pardot": null,
"Redshift": null,
"S3": null,
"SAPOData": null,
"Salesforce":
{
"oAuthScopes":
[
"api",
"refresh_token",
"id"
]
},
"ServiceNow": null,
"Singular": null,
"Slack": null,
"Snowflake": null,
"Trendmicro": null,
"Upsolver": null,
"Veeva": null,
"Zendesk": null
},
"connectorModes": null,
"connectorName": null,
"connectorOwner": null,
"connectorProvisioningConfig": null,
"connectorProvisioningType": null,
"connectorRuntimeSettings": null,
"connectorType": "SALESFORCE",
"connectorVersion": null,
"isPrivateLinkEnabled": true,
"isPrivateLinkEndpointUrlRequired": false,
"logoURL": "insert-logo-here",
"registeredAt": null,
"registeredBy": null,
"supportedApiVersions": null,
"supportedDestinationConnectors":
[
"S3",
"Snowflake",
"Redshift",
"Salesforce",
"EventBridge",
"LookoutMetrics",
"Locke",
"Honeycode",
"Upsolver",
"CustomerProfiles",
"Zendesk",
"Marketo",
"CustomConnector"
],
"supportedOperators": null,
"supportedSchedulingFrequencies":
[
"BYMINUTE",
"HOURLY",
"DAILY",
"WEEKLY",
"MONTHLY",
"ONCE"
],
"supportedTriggerTypes":
[
"Scheduled",
"OnDemand",
"Event"
],
"supportedWriteOperations": null
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DescribeConnectorEntity
Provides details regarding the entity used with the connector, with a description of the data model
for each field in that entity.
Request Syntax
{
"apiVersion": "string",
"connectorEntityName": "string",
"connectorProfileName": "string",
"connectorType": "string"
}
Request Body
The request accepts the following data in JSON format.
apiVersion
Type: String
Pattern: \S+
Required: No
connectorEntityName
Type: String
Pattern: \S+
Required: Yes
connectorProfileName
The name of the connector profile. The name is unique for each ConnectorProfile in the
AWS account.
Type: String
Pattern: [\w/!@#+=.-]+
Required: No
connectorType
Type: String
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorEntityFields": [
{
"customProperties": {
"string" : "string"
},
"defaultValue": "string",
"description": "string",
"destinationProperties": {
"isCreatable": boolean,
"isDefaultedOnCreate": boolean,
"isNullable": boolean,
"isUpdatable": boolean,
"isUpsertable": boolean,
"supportedWriteOperations": [ "string" ]
},
"identifier": "string",
"isDeprecated": boolean,
"isPrimaryKey": boolean,
"label": "string",
"parentIdentifier": "string",
"sourceProperties": {
"isQueryable": boolean,
"isRetrievable": boolean,
"isTimestampFieldForIncrementalQueries": boolean
},
"supportedFieldTypeDetails": {
"v1": {
"fieldLengthRange": {
"maximum": number,
"minimum": number
},
"fieldType": "string",
"fieldValueRange": {
"maximum": number,
"minimum": number
},
"filterOperators": [ "string" ],
"supportedDateFormat": "string",
"supportedValues": [ "string" ],
"valueRegexPattern": "string"
}
}
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorEntityFields
Describes the fields for that connector entity. For example, for an account entity, the fields
would be account name, account ID, and so on.
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConnectorAuthenticationException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
DescribeConnectorEntity example
This example shows a sample request and response for the DescribeConnectorEntity API
Sample Request
{
"connectorEntityName": "tickets",
"connectorProfileName": "connector_profile_name",
"connectorType": "Zendesk"
}
Sample Response
{
"connectorEntityFields": [
{
"description": "Account ID",
"destinationProperties": {
"isCreatable": false,
"isNullable": false,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": [
"UPDATE",
"UPSERT"
]
},
"identifier": "Id",
"label": "Account ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "id",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Deleted",
"destinationProperties": {
"isCreatable": false,
"isNullable": false,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "IsDeleted",
"label": "Deleted",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "boolean",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": [
"true",
"false"
]
}
}
},
{
"description": "Master Record ID",
"destinationProperties": {
"isCreatable": false,
"isNullable": true,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "MasterRecordId",
"label": "Master Record ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "reference",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Name",
"destinationProperties": {
"isCreatable": true,
"isNullable": false,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Name",
"label": "Account Name",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Type",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Type",
"label": "Account Type",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Parent Account ID",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ParentId",
"label": "Parent Account ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "reference",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing Street",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingStreet",
"label": "Billing Street",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "textarea",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing City",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingCity",
"label": "Billing City",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing State/Province",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingState",
"label": "Billing State/Province",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing Zip/Postal Code",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingPostalCode",
"label": "Billing Zip/Postal Code",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing Country",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingCountry",
"label": "Billing Country",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing Latitude",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingLatitude",
"label": "Billing Latitude",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "double",
"filterOperators": [
"NOT_EQUAL_TO",
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing Longitude",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingLongitude",
"label": "Billing Longitude",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "double",
"filterOperators": [
"NOT_EQUAL_TO",
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Billing Geocode Accuracy",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "BillingGeocodeAccuracy",
"label": "Billing Geocode Accuracy",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
],
"supportedValues": []
}
}
},
{
"description": "Shipping City",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ShippingCity",
"label": "Shipping City",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Shipping State/Province",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ShippingState",
"label": "Shipping State/Province",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Shipping Zip/Postal Code",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ShippingPostalCode",
"label": "Shipping Zip/Postal Code",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Shipping Country",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ShippingCountry",
"label": "Shipping Country",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Shipping Latitude",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ShippingLatitude",
"label": "Shipping Latitude",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "double",
"filterOperators": [
"NOT_EQUAL_TO",
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Shipping Longitude",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ShippingLongitude",
"label": "Shipping Longitude",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "double",
"filterOperators": [
"NOT_EQUAL_TO",
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Shipping Geocode Accuracy",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "ShippingGeocodeAccuracy",
"label": "Shipping Geocode Accuracy",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Shipping Address",
"destinationProperties": {
"isCreatable": false,
"isNullable": true,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "ShippingAddress",
"label": "Shipping Address",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "address",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Phone",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Phone",
"label": "Account Phone",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "phone",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Fax",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Fax",
"label": "Account Fax",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "phone",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Number",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "AccountNumber",
"label": "Account Number",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Website",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Website",
"label": "Website",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "url",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Photo URL",
"destinationProperties": {
"isCreatable": false,
"isNullable": true,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "PhotoUrl",
"label": "Photo URL",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "url",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "SIC Code",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Sic",
"label": "SIC Code",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Industry",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Industry",
"label": "Industry",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Annual Revenue",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "AnnualRevenue",
"label": "Annual Revenue",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "currency",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Employees",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "NumberOfEmployees",
"label": "Employees",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "int",
"filterOperators": [
"NOT_EQUAL_TO",
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Ownership",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Ownership",
"label": "Ownership",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Ticker Symbol",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "TickerSymbol",
"label": "Ticker Symbol",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Description",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Description",
"label": "Account Description",
"sourceProperties": {
"isQueryable": false,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "textarea",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Rating",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Rating",
"label": "Account Rating",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Site",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Site",
"label": "Account Site",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Owner ID",
"destinationProperties": {
"isCreatable": true,
"isNullable": false,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "OwnerId",
"label": "Owner ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "reference",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Created Date",
"destinationProperties": {
"isCreatable": false,
"isNullable": false,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "CreatedDate",
"label": "Created Date",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "datetime",
"filterOperators": [
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"BETWEEN"
],
"supportedValues": []
}
}
},
{
"description": "Created By ID",
"destinationProperties": {
"isCreatable": false,
"isNullable": false,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "CreatedById",
"label": "Created By ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "reference",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Last Modified Date",
"destinationProperties": {
"isCreatable": false,
"isNullable": false,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "LastModifiedDate",
"label": "Last Modified Date",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "datetime",
"filterOperators": [
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"BETWEEN"
],
"supportedValues": []
}
}
},
{
"description": "Last Modified By ID",
"destinationProperties": {
"isCreatable": false,
"isNullable": false,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "LastModifiedById",
"label": "Last Modified By ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "reference",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "System Modstamp",
"destinationProperties": {
"isCreatable": false,
"isNullable": false,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "SystemModstamp",
"label": "System Modstamp",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "datetime",
"filterOperators": [
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"BETWEEN"
],
"supportedValues": []
}
}
},
{
"description": "Last Activity",
"destinationProperties": {
"isCreatable": false,
"isNullable": true,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "LastActivityDate",
"label": "Last Activity",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "date",
"filterOperators": [
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"BETWEEN"
],
"supportedValues": []
}
}
},
{
"description": "Last Viewed Date",
"destinationProperties": {
"isCreatable": false,
"isNullable": true,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "LastViewedDate",
"label": "Last Viewed Date",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "datetime",
"filterOperators": [
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"BETWEEN"
],
"supportedValues": []
}
}
},
{
"description": "Last Referenced Date",
"destinationProperties": {
"isCreatable": false,
"isNullable": true,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "LastReferencedDate",
"label": "Last Referenced Date",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "datetime",
"filterOperators": [
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"BETWEEN"
],
"supportedValues": []
}
}
},
{
"description": "[Link] Key",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Jigsaw",
"label": "[Link] Key",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Jigsaw Company ID",
"destinationProperties": {
"isCreatable": false,
"isNullable": true,
"isUpdatable": false,
"isUpsertable": false,
"supportedWriteOperations": []
},
"identifier": "JigsawCompanyId",
"label": "Jigsaw Company ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Clean Status",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "CleanStatus",
"label": "Clean Status",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Account Source",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "AccountSource",
"label": "Account Source",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "D-U-N-S Number",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "DunsNumber",
"label": "D-U-N-S Number",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Tradestyle",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Tradestyle",
"label": "Tradestyle",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "NAICS Code",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "NaicsCode",
"label": "NAICS Code",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "NAICS Description",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "NaicsDesc",
"label": "NAICS Description",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Year Started",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "YearStarted",
"label": "Year Started",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "SIC Description",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "SicDesc",
"label": "SIC Description",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "D&B Company ID",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "DandbCompanyId",
"label": "D&B Company ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "reference",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Operating Hour ID",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "OperatingHoursId",
"label": "Operating Hour ID",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "reference",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Customer Priority",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "CustomerPriority__c",
"label": "Customer Priority",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "SLA",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "SLA__c",
"label": "SLA",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Active",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "Active__c",
"label": "Active",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Number of Locations",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "NumberofLocations__c",
"label": "Number of Locations",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "double",
"filterOperators": [
"NOT_EQUAL_TO",
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "Upsell Opportunity",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "UpsellOpportunity__c",
"label": "Upsell Opportunity",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "picklist",
"filterOperators": [
"EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "SLA Serial Number",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "SLASerialNumber__c",
"label": "SLA Serial Number",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
},
{
"description": "SLA Expiration Date",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": []
},
"identifier": "SLAExpirationDate__c",
"label": "SLA Expiration Date",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "date",
"filterOperators": [
"EQUAL_TO",
"LESS_THAN",
"LESS_THAN_OR_EQUAL_TO",
"GREATER_THAN",
"GREATER_THAN_OR_EQUAL_TO",
"BETWEEN"
],
"supportedValues": []
}
}
},
{
"description": "extId",
"destinationProperties": {
"isCreatable": true,
"isNullable": true,
"isUpdatable": true,
"isUpsertable": true,
"supportedWriteOperations": [
"UPSERT"
]
},
"identifier": "extId__c",
"label": "extId",
"sourceProperties": {
"isQueryable": true,
"isRetrievable": true
},
"supportedFieldTypeDetails": {
"v1": {
"fieldType": "string",
"filterOperators": [
"CONTAINS",
"EQUAL_TO",
"NOT_EQUAL_TO"
],
"supportedValues": []
}
}
}
]
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DescribeConnectorProfiles
Returns a list of connector-profile details matching the provided connector-profile
names and connector-types. Both input lists are optional, and you can use them to filter the
result.
If no names or connector-types are provided, returns all connector profiles in a paginated form.
If there is no match, this operation returns an empty list.
Request Syntax
{
"connectorLabel": "string",
"connectorProfileNames": [ "string" ],
"connectorType": "string",
"maxResults": number,
"nextToken": "string"
}
Request Body
The request accepts the following data in JSON format.
connectorLabel
The name of the connector. The name is unique for each ConnectorRegistration in your
AWS account. Only needed if calling for CUSTOMCONNECTOR connector type/.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
connectorProfileNames
The name of the connector profile. The name is unique for each ConnectorProfile in the
AWS account.
Pattern: [\w/!@#+=.-]+
Required: No
connectorType
Type: String
Required: No
maxResults
Specifies the maximum number of items that should be returned in the result set. The default
for maxResults is 20 (for all paginated API operations).
Type: Integer
Required: No
nextToken
Type: String
Pattern: \S+
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorProfileDetails": [
{
"connectionMode": "string",
"connectorLabel": "string",
"connectorProfileArn": "string",
"connectorProfileName": "string",
"connectorProfileProperties": {
"Amplitude": {
},
"CustomConnector": {
"oAuth2Properties": {
"oAuth2GrantType": "string",
"tokenUrl": "string",
"tokenUrlCustomProperties": {
"string" : "string"
}
},
"profileProperties": {
"string" : "string"
}
},
"Datadog": {
"instanceUrl": "string"
},
"Dynatrace": {
"instanceUrl": "string"
},
"GoogleAnalytics": {
},
"Honeycode": {
},
"InforNexus": {
"instanceUrl": "string"
},
"Marketo": {
"instanceUrl": "string"
},
"Pardot": {
"businessUnitId": "string",
"instanceUrl": "string",
"isSandboxEnvironment": boolean
},
"Redshift": {
"bucketName": "string",
"bucketPrefix": "string",
"clusterIdentifier": "string",
"dataApiRoleArn": "string",
"databaseName": "string",
"databaseUrl": "string",
"isRedshiftServerless": boolean,
"roleArn": "string",
"workgroupName": "string"
},
"Salesforce": {
"instanceUrl": "string",
"isSandboxEnvironment": boolean,
"usePrivateLinkForMetadataAndAuthorization": boolean
},
"SAPOData": {
"applicationHostUrl": "string",
"applicationServicePath": "string",
"clientNumber": "string",
"disableSSO": boolean,
"logonLanguage": "string",
"oAuthProperties": {
"authCodeUrl": "string",
"oAuthScopes": [ "string" ],
"tokenUrl": "string"
},
"portNumber": number,
"privateLinkServiceName": "string"
},
"ServiceNow": {
"instanceUrl": "string"
},
"Singular": {
},
"Slack": {
"instanceUrl": "string"
},
"Snowflake": {
"accountName": "string",
"bucketName": "string",
"bucketPrefix": "string",
"privateLinkServiceName": "string",
"region": "string",
"stage": "string",
"warehouse": "string"
},
"Trendmicro": {
},
"Veeva": {
"instanceUrl": "string"
},
"Zendesk": {
"instanceUrl": "string"
}
},
"connectorType": "string",
"createdAt": number,
"credentialsArn": "string",
"lastUpdatedAt": number,
"privateConnectionProvisioningState": {
"failureCause": "string",
"failureMessage": "string",
"status": "string"
}
}
],
"nextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorProfileDetails
Returns information about the connector profiles associated with the flow.
The pagination token for the next page of data. If nextToken=null, this means that all
records have been fetched.
Type: String
Pattern: \S+
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
Examples
DescribeConnectorProfiles example
This example shows a sample request and response for the DescribeConnectorProfiles API.
Sample Request
{
"connectorProfileNames": ["OldMarketoProfile","non-existing-name"],
"connectorTypes": ["Marketo","Salesforce"]
}
Sample Response
{
"connectorProfileDetails": [
{
"arn": "arn:aws:appflow:region:<AccountId>:connectorprofile/OldMarketoProfile",
"configuration": {
"api_version": "v1",
"connection_mode": "Public",
"credentials_arn": "arn:aws:secretsmanager:region:<AccountId>:secret:<secret>",
"instanceUrl": "MarketoUrl"
},
"connectionMode": "Public",
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
OldMarketoProfile",
"connectorProfileName": "OldMarketoProfile",
"connectorProfileProps": {
"Amplitude": null,
"Datadog": null,
"Dynatrace": null,
"GoogleAnalytics": null,
"InforNexus": null,
"Marketo": {
"apiVersion": "v1",
"instanceUrl": "MarketoUrl"
},
"Redshift": null,
"Salesforce": null,
"ServiceNow": null,
"Singular": null,
"Slack": null,
"Snowflake": null,
"Trendmicro": null,
"Veeva": null,
"Zendesk": null
},
"connectorType": "Marketo",
"createdAt": "created_at_value",
"credentialsArn": "arn:aws:secretsmanager:region:<AccountId>:secret:<secret>",
"label": "OldMarketoProfile",
"lastUpdated": "lastupdated_value",
"lastUpdatedAt": "lastupdated_at_value"
}
],
"nextToken": null
}
DescribeConnectorProfiles example
This example shows a sample request and response for the DescribeConnectorProfiles API.
Sample Request
{
"connectorProfileNames": ["OldMarketoProfile", "non-existing-name"],
"connectorTypes": ["Marketo", "Salesforce", "CustomConnector"],
"connectorLabel": "MyCustomConnectorLabel"
}
Sample Response
{
"connectorProfileDetails": [
{
"arn": "arn:aws:appflow:region:<AccountId>:connectorprofile/OldMarketoProfile",
"configuration":
{
"api_version": "v1",
"connection_mode": "Public",
"credentials_arn": "arn:aws:secretsmanager:region:<AccountId>:secret:<secret>",
"instanceUrl": "MarketoUrl"
},
"connectionMode": "Public",
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
OldMarketoProfile",
"connectorProfileName": "OldMarketoProfile",
"connectorProfileProps":
{
"Amplitude": null,
"Datadog": null,
"Dynatrace": null,
"GoogleAnalytics": null,
"InforNexus": null,
"Marketo":
{
"apiVersion": "v1",
"instanceUrl": "MarketoUrl"
},
"Redshift": null,
"Salesforce": null,
"ServiceNow": null,
"Singular": null,
"Slack": null,
"Snowflake": null,
"Trendmicro": null,
"Veeva": null,
"Zendesk": null
},
"connectorType": "Marketo",
"createdAt": "2022-02-22T15:31:41.467000-08:00",
"credentialsArn": "arn:aws:secretsmanager:region:<AccountId>:secret:<secret>",
"label": "OldMarketoProfile",
"lastUpdatedAt": "2022-02-22T15:31:41.467000-08:00"
}
],
"nextToken": null
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DescribeConnectors
Describes the connectors vended by Amazon AppFlow for specified connector types. If you don't
specify a connector type, this operation describes all connectors vended by Amazon AppFlow. If
there are more connectors than can be returned in one page, the response contains a nextToken
object, which can be be passed in to the next call to the DescribeConnectors API operation to
retrieve the next page.
Request Syntax
{
"connectorTypes": [ "string" ],
"maxResults": number,
"nextToken": "string"
}
Request Body
The request accepts the following data in JSON format.
connectorTypes
Required: No
maxResults
The maximum number of items that should be returned in the result set. The default is 20.
Type: Integer
Required: No
nextToken
Type: String
Pattern: \S+
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorConfigurations": {
"string" : {
"authenticationConfig": {
"customAuthConfigs": [
{
"authParameters": [
{
"connectorSuppliedValues": [ "string" ],
"description": "string",
"isRequired": boolean,
"isSensitiveField": boolean,
"key": "string",
"label": "string"
}
],
"customAuthenticationType": "string"
}
],
"isApiKeyAuthSupported": boolean,
"isBasicAuthSupported": boolean,
"isCustomAuthSupported": boolean,
"isOAuth2Supported": boolean,
"oAuth2Defaults": {
"authCodeUrls": [ "string" ],
"oauth2CustomProperties": [
{
"connectorSuppliedValues": [ "string" ],
"description": "string",
"isRequired": boolean,
"isSensitiveField": boolean,
"key": "string",
"label": "string",
"type": "string"
}
],
"oauth2GrantTypesSupported": [ "string" ],
"oauthScopes": [ "string" ],
"tokenUrls": [ "string" ]
}
},
"canUseAsDestination": boolean,
"canUseAsSource": boolean,
"connectorArn": "string",
"connectorDescription": "string",
"connectorLabel": "string",
"connectorMetadata": {
"Amplitude": {
},
"CustomerProfiles": {
},
"Datadog": {
},
"Dynatrace": {
},
"EventBridge": {
},
"GoogleAnalytics": {
"oAuthScopes": [ "string" ]
},
"Honeycode": {
"oAuthScopes": [ "string" ]
},
"InforNexus": {
},
"Marketo": {
},
"Pardot": {
},
"Redshift": {
},
"S3": {
},
"Salesforce": {
"dataTransferApis": [ "string" ],
"oauth2GrantTypesSupported": [ "string" ],
"oAuthScopes": [ "string" ]
},
"SAPOData": {
},
"ServiceNow": {
},
"Singular": {
},
"Slack": {
"oAuthScopes": [ "string" ]
},
"Snowflake": {
"supportedRegions": [ "string" ]
},
"Trendmicro": {
},
"Upsolver": {
},
"Veeva": {
},
"Zendesk": {
"oAuthScopes": [ "string" ]
}
},
"connectorModes": [ "string" ],
"connectorName": "string",
"connectorOwner": "string",
"connectorProvisioningConfig": {
"lambda": {
"lambdaArn": "string"
}
},
"connectorProvisioningType": "string",
"connectorRuntimeSettings": [
{
"connectorSuppliedValueOptions": [ "string" ],
"dataType": "string",
"description": "string",
"isRequired": boolean,
"key": "string",
"label": "string",
"scope": "string"
}
],
"connectorType": "string",
"connectorVersion": "string",
"isPrivateLinkEnabled": boolean,
"isPrivateLinkEndpointUrlRequired": boolean,
"logoURL": "string",
"registeredAt": number,
"registeredBy": "string",
"supportedApiVersions": [ "string" ],
"supportedDataTransferApis": [
{
"Name": "string",
"Type": "string"
}
],
"supportedDataTransferTypes": [ "string" ],
"supportedDestinationConnectors": [ "string" ],
"supportedOperators": [ "string" ],
"supportedSchedulingFrequencies": [ "string" ],
"supportedTriggerTypes": [ "string" ],
"supportedWriteOperations": [ "string" ]
}
},
"connectors": [
{
"applicationType": "string",
"connectorDescription": "string",
"connectorLabel": "string",
"connectorModes": [ "string" ],
"connectorName": "string",
"connectorOwner": "string",
"connectorProvisioningType": "string",
"connectorType": "string",
"connectorVersion": "string",
"registeredAt": number,
"registeredBy": "string",
"supportedDataTransferTypes": [ "string" ]
}
],
"nextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorConfigurations
Type: String
Pattern: \S+
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
Examples
DescribeConnectors example
This example shows a sample request and response for the DescribeConnectors API using
Marketo and Salesforce. The second sample shows how to proceed if you receive nextToken.
Sample Request
{
"connectorTypes": ["Marketo","Salesforce"]
}
{
"connectorTypes": ["Marketo","Salesforce"],
"nextToken": "nextToken_value"
}
Sample Response
{
"connectorConfigurations": {
"Marketo": {
"canUseAsDestination": false,
"canUseAsSource": true,
"compatibleConnectors": [
"S3",
"Snowflake",
"Salesforce",
"Redshift"
],
"connectorMetadata": {
"Amplitude": null,
"Datadog": null,
"Dynatrace": null,
"GoogleAnalytics": null,
"InforNexus": null,
"Marketo": {},
"Redshift": null,
"S3": null,
"Salesforce": null,
"ServiceNow": null,
"Singular": null,
"Slack": null,
"Snowflake": null,
"Trendmicro": null,
"Veeva": null,
"Zendesk": null
},
"connectorSpecificConfiguration": {
"api_version": "v1"
},
"credentialKeys": [
"accessToken",
"clientId",
"clientSecret"
],
"displayName": "Marketo",
"hasLogoImage": false,
"isPrivateLinkEnabled": false,
"isPrivateLinkEndpointUrlRequired": false,
"privateLinkEndpointServiceUrl": null,
"supportedDestinationConnectors": [
"S3",
"Snowflake",
"Salesforce",
"Redshift"
],
"supportedFrequencies": [
"Hour",
"Day",
"Week",
"Month",
"Once"
],
"supportedRegions": null,
"supportedSchedulingFrequencies": [
"Hour",
"Day",
"Week",
"Month",
"Once"
],
"supportedTriggerTypes": [
"Scheduled",
"OnDemand"
],
"supportedTriggers": [
"Scheduled",
"OnDemand"
]
},
"Salesforce": {
"canUseAsDestination": true,
"canUseAsSource": true,
"compatibleConnectors": [
"S3",
"Snowflake",
"Redshift",
"Salesforce"
],
"connectorMetadata": {
"Amplitude": null,
"Datadog": null,
"Dynatrace": null,
"GoogleAnalytics": null,
"InforNexus": null,
"Marketo": null,
"Redshift": null,
"S3": null,
"Salesforce": {
"authScopes": [
"api",
"refresh_token",
"id"
]
},
"ServiceNow": null,
"Singular": null,
"Slack": null,
"Snowflake": null,
"Trendmicro": null,
"Veeva": null,
"Zendesk": null
},
"connectorSpecificConfiguration": {
"api_version": "v47.0",
"auth_scopes": "[api, refresh_token, id]",
"bulk_api_path": "services/data",
"query_api_path": "query",
"sobject_api_path": "sobjects"
},
"credentialKeys": [
"accessToken",
"refreshToken",
"clientId",
"clientSecret"
],
"displayName": "Salesforce",
"hasLogoImage": false,
"isPrivateLinkEnabled": false,
"isPrivateLinkEndpointUrlRequired": false,
"privateLinkEndpointServiceUrl": null,
"supportedDestinationConnectors": [
"S3",
"Snowflake",
"Redshift",
"Salesforce"
],
"supportedFrequencies": [
"Minute",
"Hour",
"Day",
"Week",
"Month",
"Once"
],
"supportedRegions": null,
"supportedSchedulingFrequencies": [
"Minute",
"Hour",
"Day",
"Week",
"Month",
"Once"
],
"supportedTriggerTypes": [
"Scheduled",
"OnDemand",
"Event"
],
"supportedTriggers": [
"Scheduled",
"OnDemand",
"Event"
]
}
},
"nextToken": null,
"pageToken": null
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DescribeFlow
Provides a description of the specified flow.
Request Syntax
{
"flowName": "string"
}
Request Body
The request accepts the following data in JSON format.
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"createdAt": number,
"createdBy": "string",
"description": "string",
"destinationFlowConfigList": [
{
"apiVersion": "string",
"connectorProfileName": "string",
"connectorType": "string",
"destinationConnectorProperties": {
"CustomConnector": {
"customProperties": {
"string" : "string"
},
"entityName": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"writeOperationType": "string"
},
"CustomerProfiles": {
"domainName": "string",
"objectTypeName": "string"
},
"EventBridge": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"Honeycode": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"LookoutMetrics": {
},
"Marketo": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"Redshift": {
"bucketPrefix": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"intermediateBucketName": "string",
"object": "string"
},
"S3": {
"bucketName": "string",
"bucketPrefix": "string",
"s3OutputFormatConfig": {
"aggregationConfig": {
"aggregationType": "string",
"targetFileSize": number
},
"fileType": "string",
"prefixConfig": {
"pathPrefixHierarchy": [ "string" ],
"prefixFormat": "string",
"prefixType": "string"
},
"preserveSourceDataTyping": boolean
}
},
"Salesforce": {
"dataTransferApi": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"object": "string",
"writeOperationType": "string"
},
"SAPOData": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"objectPath": "string",
"successResponseHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string"
},
"writeOperationType": "string"
},
"Snowflake": {
"bucketPrefix": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"intermediateBucketName": "string",
"object": "string"
},
"Upsolver": {
"bucketName": "string",
"bucketPrefix": "string",
"s3OutputFormatConfig": {
"aggregationConfig": {
"aggregationType": "string",
"targetFileSize": number
},
"fileType": "string",
"prefixConfig": {
"pathPrefixHierarchy": [ "string" ],
"prefixFormat": "string",
"prefixType": "string"
}
}
},
"Zendesk": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"object": "string",
"writeOperationType": "string"
}
}
}
],
"flowArn": "string",
"flowName": "string",
"flowStatus": "string",
"flowStatusMessage": "string",
"kmsArn": "string",
"lastRunExecutionDetails": {
"mostRecentExecutionMessage": "string",
"mostRecentExecutionStatus": "string",
"mostRecentExecutionTime": number
},
"lastRunMetadataCatalogDetails": [
{
"catalogType": "string",
"partitionRegistrationOutput": {
"message": "string",
"result": "string",
"status": "string"
},
"tableName": "string",
"tableRegistrationOutput": {
"message": "string",
"result": "string",
"status": "string"
}
}
],
"lastUpdatedAt": number,
"lastUpdatedBy": "string",
"metadataCatalogConfig": {
"glueDataCatalog": {
"databaseName": "string",
"roleArn": "string",
"tablePrefix": "string"
}
},
"schemaVersion": number,
"sourceFlowConfig": {
"apiVersion": "string",
"connectorProfileName": "string",
"connectorType": "string",
"incrementalPullConfig": {
"datetimeTypeFieldName": "string"
},
"sourceConnectorProperties": {
"Amplitude": {
"object": "string"
},
"CustomConnector": {
"customProperties": {
"string" : "string"
},
"dataTransferApi": {
"Name": "string",
"Type": "string"
},
"entityName": "string"
},
"Datadog": {
"object": "string"
},
"Dynatrace": {
"object": "string"
},
"GoogleAnalytics": {
"object": "string"
},
"InforNexus": {
"object": "string"
},
"Marketo": {
"object": "string"
},
"Pardot": {
"object": "string"
},
"S3": {
"bucketName": "string",
"bucketPrefix": "string",
"s3InputFormatConfig": {
"s3InputFileType": "string"
}
},
"Salesforce": {
"dataTransferApi": "string",
"enableDynamicFieldUpdate": boolean,
"includeDeletedRecords": boolean,
"object": "string"
},
"SAPOData": {
"objectPath": "string",
"paginationConfig": {
"maxPageSize": number
},
"parallelismConfig": {
"maxParallelism": number
}
},
"ServiceNow": {
"object": "string"
},
"Singular": {
"object": "string"
},
"Slack": {
"object": "string"
},
"Trendmicro": {
"object": "string"
},
"Veeva": {
"documentType": "string",
"includeAllVersions": boolean,
"includeRenditions": boolean,
"includeSourceFiles": boolean,
"object": "string"
},
"Zendesk": {
"object": "string"
}
}
},
"tags": {
"string" : "string"
},
"tasks": [
{
"connectorOperator": {
"Amplitude": "string",
"CustomConnector": "string",
"Datadog": "string",
"Dynatrace": "string",
"GoogleAnalytics": "string",
"InforNexus": "string",
"Marketo": "string",
"Pardot": "string",
"S3": "string",
"Salesforce": "string",
"SAPOData": "string",
"ServiceNow": "string",
"Singular": "string",
"Slack": "string",
"Trendmicro": "string",
"Veeva": "string",
"Zendesk": "string"
},
"destinationField": "string",
"sourceFields": [ "string" ],
"taskProperties": {
"string" : "string"
},
"taskType": "string"
}
],
"triggerConfig": {
"triggerProperties": {
"Scheduled": {
"dataPullMode": "string",
"firstExecutionFrom": number,
"flowErrorDeactivationThreshold": number,
"scheduleEndTime": number,
"scheduleExpression": "string",
"scheduleOffset": number,
"scheduleStartTime": number,
"timezone": "string"
}
},
"triggerType": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
createdAt
Type: Timestamp
createdBy
Type: String
Pattern: \S+
description
Type: String
Pattern: [\w!@#\-.?,\s]*
destinationFlowConfigList
The configuration that controls how Amazon AppFlow transfers data to the destination
connector.
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
flowStatus
Type: String
Contains an error message if the flow status is in a suspended or error state. This applies only to
scheduled or event-triggered flows.
Type: String
Pattern: [\s\w/!@#+=.-]*
kmsArn
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for
encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key.
If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS
key.
Type: String
Pattern: arn:aws:kms:.*:[0-9]+:.*
lastRunExecutionDetails
Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow
used for the associated flow run.
Type: Timestamp
lastUpdatedBy
Specifies the user name of the account that performed the most recent update.
Type: String
Pattern: \S+
metadataCatalogConfig
Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's
transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it
stores metadata in a data catalog.
The version number of your data schema. Amazon AppFlow assigns this version number. The
version number increases by one when you change any of the following settings in your flow
configuration:
• Source-to-destination field mappings
• Field data types
• Partition keys
Type: Long
sourceFlowConfig
The configuration that controls how Amazon AppFlow retrieves data from the source connector.
The tags used to organize, track, or control access for your flow.
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
The trigger settings that determine how and when the flow runs.
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
DescribeFlow example
This example shows a sample request and response for the DescribeFlow API.
Sample Request
{
"flowName": "name"
}
Sample Response
{
"createdAt": "2022-02-22T15:31:41.467000-08:00",
"createdBy": "user",
"description": null,
"destinationFlowConfigList": [
{
"aggregationConfig": null,
"connectorProfileName": "connector_profile_name",
"connectorType": "S3",
"destinationConnectorProps":
{
"Redshift": null,
"S3":
{
"bucketKey": null,
"bucketName": "salesforceaccountflowbucket"
},
"Salesforce": null,
"Snowflake": null
}
}
],
"flowArn": "flow_arn_value",
"flowName": "test_flow_ondemand_10",
"flowStatus": "Active",
"flowStatusMessage": null,
"kmsArn": null,
"lastRunExecutionDetails": null,
"lastUpdatedAt": "2022-02-22T15:31:41.467000-08:00",
"lastUpdatedBy": "user",
"sourceFlowConfig":
{
"connectorProfileName": "connectorProfileName",
"connectorType": "Salesforce",
"sourceConnectorProps":
{
"Amplitude": null,
"Datadog": null,
"Dynatrace": null,
"GoogleAnalytics": null,
"InforNexus": null,
"Marketo": null,
"Redshift": null,
"S3": null,
"Salesforce":
{
"object": "Account"
},
"ServiceNow": null,
"Singular": null,
"Slack": null,
"Snowflake": null,
"Trendmicro": null,
"Veeva": null,
"Zendesk": null
}
},
"tags":
{
"internalId": "Internal_Id_value",
"resourceArn": "resource_arn_value"
},
"tasks": [
{
"connectorOperator": null,
"destinationField": "Id",
"operator": "NO_OP",
"sourceFields": ["Id"],
"taskProperties":
{
"DESTINATION_DATA_TYPE": "id",
"SOURCE_DATA_TYPE": "id"
},
"taskType": "Mapping"
},
{
"connectorOperator": null,
"destinationField": "Name",
"operator": "NO_OP",
"sourceFields": ["Name"],
"taskProperties":
{
"DESTINATION_DATA_TYPE": "string",
"SOURCE_DATA_TYPE": "string"
},
"taskType": "Mapping"
},
{
"connectorOperator": null,
"destinationField": null,
"operator": "PROJECTION",
"sourceFields": ["Id","Name"],
"taskProperties":
{},
"taskType": "Filtering"
}
],
"triggerConfig":
{
"triggerProps":
{
"ScheduledTriggerProps": null
},
"triggerType": "OnDemand"
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DescribeFlowExecutionRecords
Fetches the execution history of the flow.
Request Syntax
{
"flowName": "string",
"maxResults": number,
"nextToken": "string"
}
Request Body
The request accepts the following data in JSON format.
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
maxResults
Specifies the maximum number of items that should be returned in the result set. The default
for maxResults is 20 (for all paginated API operations).
Type: Integer
Required: No
nextToken
Type: String
Pattern: \S+
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"flowExecutions": [
{
"dataPullEndTime": number,
"dataPullStartTime": number,
"executionId": "string",
"executionResult": {
"bytesProcessed": number,
"bytesWritten": number,
"errorInfo": {
"executionMessage": "string",
"putFailuresCount": number
},
"maxPageSize": number,
"numParallelProcesses": number,
"recordsProcessed": number
},
"executionStatus": "string",
"lastUpdatedAt": number,
"metadataCatalogDetails": [
{
"catalogType": "string",
"partitionRegistrationOutput": {
"message": "string",
"result": "string",
"status": "string"
},
"tableName": "string",
"tableRegistrationOutput": {
"message": "string",
"result": "string",
"status": "string"
}
}
],
"startedAt": number
}
],
"nextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
flowExecutions
Type: String
Pattern: \S+
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
DescribeFlowExecutionRecords examples
This example shows sample requests and responses for the DescribeFlowExecutionRecords
API.
Sample Request
{
"flowName": "name",
"maxResults": 1
}
Sample Response
{
"flowExecutionList": [
{
"executionId": "Execution_ID",
"executionMessage": "Request failed with Trendmicro Status Code 404: , RequestId:
RequestId_value",
"executionMetadata":
{
"bytesProcessed": 234,
"bytesWritten": 0,
"numFailures": 878,
"numFilteredRecords": 0,
"numPutFailures": 978978,
"reason": null,
"recordsProcessed": 23342,
"terminateFlow": false
},
"executionResult":
{
"bytesProcessed": 234,
"bytesWritten": 0,
"errorInfo":
{
"executionMessage": "Request failed with Trendmicro Status Code 404: ,
RequestId: RequestId_value",
"putFailuresCount": 978978
},
"recordsProcessed": 23342
},
"executionStartTime": "2022-02-22T15:31:41.467000-08:00",
"executionStatus": "Error",
"lastUpdatedAt": "2022-02-22T15:31:41.467000-08:00",
"startedAt": "2022-02-22T15:31:41.467000-08:00"
}
],
"nextToken": "next_token_value"
}
Sample Request
{
"flowName": "test-new-create",
"maxResults": 1,
"nextToken": "next_token_value"
}
Sample Response
{
"flowExecutionList": [
{
"executionId": "execution_id_value",
"executionMessage": "Request failed with Trendmicro Status Code 404: , RequestId:
RequestId_value",
"executionMetadata": {
"bytesProcessed": 234,
"bytesWritten": 0,
"numFailures": 0,
"numFilteredRecords": 0,
"numPutFailures": 0,
"reason": null,
"recordsProcessed": 23342,
"terminateFlow": false
},
"executionResult": {
"bytesProcessed": 234,
"bytesWritten": 0,
"errorInfo": null,
"recordsProcessed": 23342
},
"executionStartTime": "execution_start_time_value",
"executionStatus": "Successful",
"lastUpdatedAt": "lastupdated_at_value",
"lastUpdatedTime": "lastupdated_time_value",
"startedAt": "started_at_value"
}
],
"nextToken": "next_token_value"
}
Sample Request
{
"flowName": "name",
"maxResults": 1,
"nextToken": "next_token_value"
}
Sample Response
{
"flowExecutionList": [
{
"executionId": "execution_id_value-delete",
"executionMessage": "Request failed with Trendmicro Status Code 404: , RequestId:
RequestId_value",
"executionMetadata": {
"bytesProcessed": 0,
"bytesWritten": 0,
"numFailures": 0,
"numFilteredRecords": 0,
"numPutFailures": 0,
"reason": null,
"recordsProcessed": 0,
"terminateFlow": false
},
"executionResult": {
"bytesProcessed": 0,
"bytesWritten": 0,
"errorInfo": {
"executionMessage": "Request failed with Trendmicro Status Code 404: ,
RequestId: RequestId_value",
"putFailuresCount": 0
},
"recordsProcessed": 0
},
"executionStartTime": "execution_start_time_value",
"executionStatus": "Error",
"lastUpdatedAt": "lastupdated_at_value",
"lastUpdatedTime": "lastupdated_time_value",
"startedAt": "started_at_value"
}
],
"nextToken": "next_token_value"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ListConnectorEntities
Returns the list of available connector entities supported by Amazon AppFlow. For example, you
can query Salesforce for Account and Opportunity entities, or query ServiceNow for the Incident
entity.
Request Syntax
{
"apiVersion": "string",
"connectorProfileName": "string",
"connectorType": "string",
"entitiesPath": "string",
"maxResults": number,
"nextToken": "string"
}
Request Body
apiVersion
Type: String
Pattern: \S+
Required: No
connectorProfileName
The name of the connector profile. The name is unique for each ConnectorProfile in the
AWS account, and is used to query the downstream connector.
Type: String
Pattern: [\w/!@#+=.-]+
Required: No
connectorType
Type: String
Required: No
entitiesPath
Type: String
Pattern: [\s\w/!@#+=,.-]*
Required: No
maxResults
The maximum number of items that the operation returns in the response.
Type: Integer
Required: No
nextToken
A token that was provided by your prior ListConnectorEntities operation if the response
was too big for the page size. You specify this token to get the next page of results in paginated
response.
Type: String
Pattern: \S+
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorEntityMap": {
"string" : [
{
"hasNestedEntities": boolean,
"label": "string",
"name": "string"
}
]
},
"nextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorEntityMap
The response of ListConnectorEntities lists entities grouped by category. This map's key
represents the group name, and its value contains the list of entities belonging to that group.
A token that you specify in your next ListConnectorEntities operation to get the next
page of results in paginated response. The ListConnectorEntities operation provides this
token if the response is too big for the page size.
Type: String
Pattern: \S+
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConnectorAuthenticationException
An internal service error occurred during the processing of your request. Try again later.
ResourceNotFoundException
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
ListConnectorEntities example
This example shows sample requests and a sample response for the ListConnectorEntities
API. The second sample request shows a request without the optional connectorType).
Sample Request
{
"connectorType": "Slack",
"connectorProfileName": "vmSlackProfile"
}
Sample Request
{
"connectorProfileName": "vmSlackProfile"
}
Sample Response
{
"connectorEntityMap":
{
"Objects":
[
{"hasNestedEntities": true,
"label": "Conversations","name": "conversations"}
]
}
}
Sample Request
{
"connectorProfileName": "vmSlackProfile",
"connectorType": "Slack",
"entitiesPath": "conversations"
}
Sample Response
{
"connectorEntityMap":
{
"Channels": [
{
"hasNestedEntities": false,
"label": "new-to-slack",
"name": "conversations/CQCFDC534"
},
{
"hasNestedEntities": false,
"label": "advising",
"name": "conversations/CQDSNS2AX"
},
{
"hasNestedEntities": false,
"label": "general",
"name": "conversations/CQTFBK48N"
},
{
"hasNestedEntities": false,
"label": "random",
"name": "conversations/CQTFBK6CE"
},
{
"hasNestedEntities": false,
"label": "investing",
"name": "conversations/CQTFBKDT8"
},
{
"hasNestedEntities": false,
"label": "memories",
"name": "conversations/CS44VCEC9"
},
{
"hasNestedEntities": false,
"label": "home-of-nyc",
"name": "conversations/CV84P3D7A"
},
{
"hasNestedEntities": false,
"label": "marketing",
"name": "conversations/C012DDQRU95"
},
{
"hasNestedEntities": false,
"label": "home-of-phi",
"name": "conversations/C012DTFRBL7"
},
{
"hasNestedEntities": false,
"label": "home-of-philadelphia",
"name": "conversations/C012N003VU6"
},
{
"hasNestedEntities": false,
"label": "lol",
"name": "conversations/C012NJTMZEJ"
},
{
"hasNestedEntities": false,
"label": "home-of-atlanta",
"name": "conversations/C012P2739BQ"
},
{
"hasNestedEntities": false,
"label": "it-support",
"name": "conversations/C012SRQMLRH"
},
{
"hasNestedEntities": false,
"label": "home-of-nashville",
"name": "conversations/C012U9TM5DZ"
},
{
"hasNestedEntities": false,
"label": "home-of-texas",
"name": "conversations/C012VHLB63X"
},
{
"hasNestedEntities": false,
"label": "data",
"name": "conversations/C012Z3VMA7N"
},
{
"hasNestedEntities": false,
"label": "home-of-san-francisco",
"name": "conversations/C01308U07HA"
},
{
"hasNestedEntities": false,
"label": "slack-feedback",
"name": "conversations/C0131PCV93N"
},
{
"hasNestedEntities": false,
"label": "home-of-seattle",
"name": "conversations/C0136MRRQHX"
},
{
"hasNestedEntities": false,
"label": "operations",
"name": "conversations/C0136QPJ1KK"
},
{
"hasNestedEntities": false,
"label": "product",
"name": "conversations/C0137S730KT"
},
{
"hasNestedEntities": false,
"label": "dev",
"name": "conversations/C013HUHSRGQ"
},
{
"hasNestedEntities": false,
"label": "infra",
"name": "conversations/C013KP5TQ2J"
},
{
"hasNestedEntities": false,
"label": "pets",
"name": "conversations/C013NTC2L0G"
},
{
"hasNestedEntities": false,
"label": "founders",
"name": "conversations/C014M9JBWCU"
}
]
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ListConnectors
Returns the list of all registered custom connectors in your AWS account. This API lists only custom
connectors registered in this account, not the AWS authored connectors.
Request Syntax
{
"maxResults": number,
"nextToken": "string"
}
Request Body
The request accepts the following data in JSON format.
maxResults
Specifies the maximum number of items that should be returned in the result set. The default
for maxResults is 20 (for all paginated API operations).
Type: Integer
Required: No
nextToken
Type: String
Pattern: \S+
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectors": [
{
"applicationType": "string",
"connectorDescription": "string",
"connectorLabel": "string",
"connectorModes": [ "string" ],
"connectorName": "string",
"connectorOwner": "string",
"connectorProvisioningType": "string",
"connectorType": "string",
"connectorVersion": "string",
"registeredAt": number,
"registeredBy": "string",
"supportedDataTransferTypes": [ "string" ]
}
],
"nextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectors
The pagination token for the next page of data. If nextToken=null, this means that all records
have been fetched.
Type: String
Pattern: \S+
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
Examples
Listing connectors
This example shows a sample request for the ListConnector API and a sample response.
Sample Request
{
"maxResults": 1,
"nextToken": "nextToken_value"
}
Sample Response
{
"connectors":
[
{
"connectorArn": "Arn of connector1",
"connectorDescription": "Some Sample Connector1",
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ListFlows
Lists all of the flows associated with your account.
Request Syntax
{
"maxResults": number,
"nextToken": "string"
}
Request Body
The request accepts the following data in JSON format.
maxResults
Specifies the maximum number of items that should be returned in the result set.
Type: Integer
Required: No
nextToken
Type: String
Pattern: \S+
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"flows": [
{
"createdAt": number,
"createdBy": "string",
"description": "string",
"destinationConnectorLabel": "string",
"destinationConnectorType": "string",
"flowArn": "string",
"flowName": "string",
"flowStatus": "string",
"lastRunExecutionDetails": {
"mostRecentExecutionMessage": "string",
"mostRecentExecutionStatus": "string",
"mostRecentExecutionTime": number
},
"lastUpdatedAt": number,
"lastUpdatedBy": "string",
"sourceConnectorLabel": "string",
"sourceConnectorType": "string",
"tags": {
"string" : "string"
},
"triggerType": "string"
}
],
"nextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
flows
Type: String
Pattern: \S+
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
Examples
ListFlows examples
This example shows a sample request for the ListFlows API. In the second sample, note that
MaxResults will show a number between 1 and 100.
Sample Request
{
"flowList": [
{
"createdAt": "created_time_value",
"createdBy": "arn:aws:iam::<AccountId>:user/BetaTestUser",
"description": "test flow 1 description",
"destinationConnectorType": "S3",
"destinationConnectorLabel": "MyCustomDestinationConnector",
"flowArn": "arn:aws:appflow:region:<AccountId>:flow/test-flow-1",
"flowName": "test-flow-1",
"flowStatus": "Active",
"lastRunExecutionDetails":
{
"mostRecentExecutionMessage": "Successfully ran the flow",
"mostRecentExecutionStatus": "Successful",
"mostRecentExecutionTime": "execution_time_value"
},
"lastUpdatedAt": "lastupdated_time_value",
"lastUpdatedBy": "arn:aws:iam::<AccountId>:user/BetaTestUser",
"sourceConnectorType": "Salesforce",
"sourceConnectorLabel": "MyCustomSourceConnector",
"tags":
{
"internalId": "<InternalId>",
"resourceArn": "arn:aws:appflow:region:<AccountId>:flow/test-flow-1"
},
"triggerType": "OnDemand"
}
],
"nextToken": "next_token_value"
}
{
"maxResults": 1
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ListTagsForResource
Retrieves the tags that are associated with a specified flow.
Request Syntax
resourceArn
Pattern: arn:aws:.*:.*:[0-9]+:.*
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"tags": {
"string" : "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
tags
The tags used to organize, track, or control access for your flow.
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
ResourceNotFoundException
The resource specified in the request (such as the source or destination connector profile) is not
found.
ValidationException
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
RegisterConnector
Registers a new custom connector with your AWS account. Before you can register the connector,
you must deploy the associated AWS lambda function in your account.
Request Syntax
{
"clientToken": "string",
"connectorLabel": "string",
"connectorProvisioningConfig": {
"lambda": {
"lambdaArn": "string"
}
},
"connectorProvisioningType": "string",
"description": "string"
}
Request Body
clientToken
If you omit a clientToken value, the AWS SDK that you are using inserts a value for you. This
way, the SDK can safely retry requests multiple times after a network error. You must provide
your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If
you use a different value for clientToken, Amazon AppFlow considers it a new call to
RegisterConnector. The token is active for 8 hours.
Type: String
Pattern: [ -~]+
Required: No
connectorLabel
The name of the connector. The name is unique for each ConnectorRegistration in your
AWS account.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
connectorProvisioningConfig
The provisioning type of the connector. Currently the only supported value is LAMBDA.
Required: No
connectorProvisioningType
The provisioning type of the connector. Currently the only supported value is LAMBDA.
Type: String
Required: No
description
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorArn
Type: String
Pattern: arn:aws:.*:.*:[0-9]+:.*
Errors
For information about the errors that are common to all actions, see Common Error Types.
AccessDeniedException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
The request would cause a service quota (such as the number of flows) to be exceeded.
API calls have exceeded the maximum allowed API request rate per account and per Region.
Examples
Registering a connector
This example shows a sample request for the RegisterConnector API and a sample response.
Sample Request
{
"connectorLabel": "Connector_Label_Value",
"connectorProvisioningType": "LAMBDA",
"connectorProvisioningConfig":
{
"lambda":
{
"lambdaArn": "lambda arn"
}
}
}
Sample Response
{
"connectorArn": "arn:aws:appflow:region:<AccountId>:connector/Connector_Label"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ResetConnectorMetadataCache
Resets metadata about your connector entities that Amazon AppFlow stored in its cache. Use this
action when you want Amazon AppFlow to return the latest information about the data that you
have in a source application.
Amazon AppFlow returns metadata about your entities when you use the ListConnectorEntities or
DescribeConnectorEntities actions. Following these actions, Amazon AppFlow caches the metadata
to reduce the number of API requests that it must send to the source application. Amazon AppFlow
automatically resets the cache once every hour, but you can use this action when you want to get
the latest metadata right away.
Request Syntax
{
"apiVersion": "string",
"connectorEntityName": "string",
"connectorProfileName": "string",
"connectorType": "string",
"entitiesPath": "string"
}
Request Body
The request accepts the following data in JSON format.
apiVersion
The API version that you specified in the connector profile that you’re resetting cached
metadata for. You must use this parameter only if the connector supports multiple API versions
or if the connector type is CustomConnector.
To look up how many versions a connector supports, use the DescribeConnectors action. In the
response, find the value that Amazon AppFlow returns for the connectorVersion parameter.
To look up the connector type, use the DescribeConnectorProfiles action. In the response, find
the value that Amazon AppFlow returns for the connectorType parameter.
To look up the API version that you specified in a connector profile, use the
DescribeConnectorProfiles action.
Type: String
Pattern: \S+
Required: No
connectorEntityName
Use this parameter if you want to reset cached metadata about the details for an individual
entity.
If you don't include this parameter in your request, Amazon AppFlow only resets cached
metadata about entity names, not entity details.
Type: String
Pattern: \S+
Required: No
connectorProfileName
The name of the connector profile that you want to reset cached metadata for.
You can omit this parameter if you're resetting the cache for any of the following connectors:
Amazon Connect, Amazon EventBridge, Amazon Lookout for Metrics, Amazon S3, or Upsolver.
If you're resetting the cache for any other connector, you must include this parameter in your
request.
Type: String
Pattern: [\w/!@#+=.-]+
Required: No
connectorType
You must include this parameter in your request if you're resetting the cache for any of the
following connectors: Amazon Connect, Amazon EventBridge, Amazon Lookout for Metrics,
Amazon S3, or Upsolver. If you're resetting the cache for any other connector, you can omit this
parameter from your request.
Type: String
Required: No
entitiesPath
Use this parameter only if you’re resetting the cached metadata about a nested entity. Only
some connectors support nested entities. A nested entity is one that has another entity as a
parent. To use this parameter, specify the name of the parent entity.
Type: String
Pattern: [\s\w/!@#+=,.-]*
Required: No
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
Reset cache of entity names
The following example shows the request body for a call to reset the cached metadata for entity
names.
Sample Request
{
"apiVersion": "v1.0",
"connectorProfileName": "MyCustomConnector"
}
Sample Response
{}
The following example shows the request body for a call to reset the cached metadata about the
details for a specific entity.
Sample Request
{
"apiVersion": "v1.0",
"connectorProfileName": "MyCustomConnector",
"connectorEntityName": "EntityName"
}
Sample Response
{}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
StartFlow
Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For
schedule and event-triggered flows, this operation activates the flow.
Request Syntax
{
"clientToken": "string",
"flowName": "string"
}
Request Body
The request accepts the following data in JSON format.
clientToken
If you omit a clientToken value, the AWS SDK that you are using inserts a value for you. This
way, the SDK can safely retry requests multiple times after a network error. You must provide
your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs for flows that
run on a schedule or based on an event. However, the error doesn't occur for flows that run on
demand. You set the conditions that initiate your flow for the triggerConfig parameter.
If you use a different value for clientToken, Amazon AppFlow considers it a new call to
StartFlow. The token is active for 8 hours.
Type: String
Pattern: [ -~]+
Required: No
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"executionId": "string",
"flowArn": "string",
"flowStatus": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
executionId
Returns the internal execution ID of an on-demand flow when the flow is started. For scheduled
or event-triggered flows, this value is null.
Type: String
Pattern: \S+
flowArn
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
flowStatus
Type: String
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
ServiceQuotaExceededException
The request would cause a service quota (such as the number of flows) to be exceeded.
Examples
StartFlow example
This example shows a sample request and response for the StartFlow API.
Sample Request
{
"flowName": "name"
}
Sample Response
{
"flowArn": "arn:aws:appflow:region:<AccountId>:flow/test_flow_ondemand_1",
"flowStatus": "Active"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
StopFlow
Deactivates the existing flow. For on-demand flows, this operation returns an
unsupportedOperationException error message. For schedule and event-triggered flows, this
operation deactivates the flow.
Request Syntax
{
"flowName": "string"
}
Request Body
The request accepts the following data in JSON format.
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"flowArn": "string",
"flowStatus": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
flowArn
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
flowStatus
Type: String
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
StopFlow example
This example shows a sample request and response for the StopFlow API.
Sample Request
{
"flowName": "name"
}
Sample Response
{
"flowArn": "arn:aws:appflow:region:<AccountId>:flow/test_flow_ondemand_1",
"flowStatus": "Suspended"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
TagResource
Applies a tag to the specified flow.
Request Syntax
{
"tags": {
"string" : "string"
}
}
resourceArn
The Amazon Resource Name (ARN) of the flow that you want to tag.
Pattern: arn:aws:.*:.*:[0-9]+:.*
Required: Yes
Request Body
tags
The tags used to organize, track, or control access for your flow.
Required: Yes
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UnregisterConnector
Unregisters the custom connector registered in your account that matches the connector label
provided in the request.
Request Syntax
{
"connectorLabel": "string",
"forceDelete": boolean
}
Request Body
connectorLabel
The label of the connector. The label is unique for each ConnectorRegistration in your AWS
account.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
forceDelete
Indicates whether Amazon AppFlow should unregister the connector, even if it is currently in
use in one or more connector profiles. The default value is false.
Type: Boolean
Required: No
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
Unregister connectors
This example shows a sample request for the UnregisterConnector API and a sample response.
Sample Request
{
"connectorLabel": "MySampleCustomConnector",
"forceDelete": true
}
{
"message": "Conflict executing request: Connector: MySampleCustomConnector is
associated with one or more connector profiles. If you still want to *delete*
it, *then* make *delete* request *with* forceDelete flag *as* true. *Some* of the
associated connector profiles are: [myTestProfile1, myTestProfile2]"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UntagResource
Removes a tag from the specified flow.
Request Syntax
resourceArn
The Amazon Resource Name (ARN) of the flow that you want to untag.
Pattern: arn:aws:.*:.*:[0-9]+:.*
Required: Yes
tagKeys
The tag keys associated with the tag that you want to remove from your flow.
Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Error Types.
InternalServerException
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UpdateConnectorProfile
Updates a given connector profile associated with your account.
Request Syntax
{
"clientToken": "string",
"connectionMode": "string",
"connectorProfileConfig": {
"connectorProfileCredentials": {
"Amplitude": {
"apiKey": "string",
"secretKey": "string"
},
"CustomConnector": {
"apiKey": {
"apiKey": "string",
"apiSecretKey": "string"
},
"authenticationType": "string",
"basic": {
"password": "string",
"username": "string"
},
"custom": {
"credentialsMap": {
"string" : "string"
},
"customAuthenticationType": "string"
},
"oauth2": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
}
},
"Datadog": {
"apiKey": "string",
"applicationKey": "string"
},
"Dynatrace": {
"apiToken": "string"
},
"GoogleAnalytics": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"Honeycode": {
"accessToken": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"InforNexus": {
"accessKeyId": "string",
"datakey": "string",
"secretAccessKey": "string",
"userId": "string"
},
"Marketo": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
}
},
"Pardot": {
"accessToken": "string",
"clientCredentialsArn": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"Redshift": {
"password": "string",
"username": "string"
},
"Salesforce": {
"accessToken": "string",
"clientCredentialsArn": "string",
"jwtToken": "string",
"oAuth2GrantType": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"SAPOData": {
"basicAuthCredentials": {
"password": "string",
"username": "string"
},
"oAuthCredentials": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
}
},
"ServiceNow": {
"oAuth2Credentials": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
},
"refreshToken": "string"
},
"password": "string",
"username": "string"
},
"Singular": {
"apiKey": "string"
},
"Slack": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
}
},
"Snowflake": {
"password": "string",
"username": "string"
},
"Trendmicro": {
"apiSecretKey": "string"
},
"Veeva": {
"password": "string",
"username": "string"
},
"Zendesk": {
"accessToken": "string",
"clientId": "string",
"clientSecret": "string",
"oAuthRequest": {
"authCode": "string",
"redirectUri": "string"
}
}
},
"connectorProfileProperties": {
"Amplitude": {
},
"CustomConnector": {
"oAuth2Properties": {
"oAuth2GrantType": "string",
"tokenUrl": "string",
"tokenUrlCustomProperties": {
"string" : "string"
}
},
"profileProperties": {
"string" : "string"
}
},
"Datadog": {
"instanceUrl": "string"
},
"Dynatrace": {
"instanceUrl": "string"
},
"GoogleAnalytics": {
},
"Honeycode": {
},
"InforNexus": {
"instanceUrl": "string"
},
"Marketo": {
"instanceUrl": "string"
},
"Pardot": {
"businessUnitId": "string",
"instanceUrl": "string",
"isSandboxEnvironment": boolean
},
"Redshift": {
"bucketName": "string",
"bucketPrefix": "string",
"clusterIdentifier": "string",
"dataApiRoleArn": "string",
"databaseName": "string",
"databaseUrl": "string",
"isRedshiftServerless": boolean,
"roleArn": "string",
"workgroupName": "string"
},
"Salesforce": {
"instanceUrl": "string",
"isSandboxEnvironment": boolean,
"usePrivateLinkForMetadataAndAuthorization": boolean
},
"SAPOData": {
"applicationHostUrl": "string",
"applicationServicePath": "string",
"clientNumber": "string",
"disableSSO": boolean,
"logonLanguage": "string",
"oAuthProperties": {
"authCodeUrl": "string",
"oAuthScopes": [ "string" ],
"tokenUrl": "string"
},
"portNumber": number,
"privateLinkServiceName": "string"
},
"ServiceNow": {
"instanceUrl": "string"
},
"Singular": {
},
"Slack": {
"instanceUrl": "string"
},
"Snowflake": {
"accountName": "string",
"bucketName": "string",
"bucketPrefix": "string",
"privateLinkServiceName": "string",
"region": "string",
"stage": "string",
"warehouse": "string"
},
"Trendmicro": {
},
"Veeva": {
"instanceUrl": "string"
},
"Zendesk": {
"instanceUrl": "string"
}
}
},
"connectorProfileName": "string"
}
Request Body
The request accepts the following data in JSON format.
clientToken
If you omit a clientToken value, the AWS SDK that you are using inserts a value for you. This
way, the SDK can safely retry requests multiple times after a network error. You must provide
your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If
you use a different value for clientToken, Amazon AppFlow considers it a new call to
UpdateConnectorProfile. The token is active for 8 hours.
Type: String
Pattern: [ -~]+
Required: No
connectionMode
Type: String
Required: Yes
connectorProfileConfig
Required: Yes
connectorProfileName
The name of the connector profile and is unique for each ConnectorProfile in the AWS
account.
Type: String
Pattern: [\w/!@#+=.-]+
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorProfileArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorProfileArn
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
Errors
For information about the errors that are common to all actions, see Common Error Types.
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
Examples
This example shows a sample request and response for the UpdateConnectorProfile API using
Salesforce.
Sample Request
{
"connectorProfileName": "Connector_Profile_Name_value",
"kmsArn": null,
"connectorType": "Salesforce",
"connectionMode": "Public",
"connectorProfileConfig":
{
"connectorProfileProperties":
{
"salesforce":
{
"instanceUrl": "Instance_url_value",
"isSandboxEnvironment": false
}
},
"connectorProfileCredentials":
{
"salesforce":
{
"accessToken": "<AccessToken>",
"refreshToken": "<RefreshToken>",
"oauthRequest":
{
"authCode": null,
"redirectUri": null
}
}
}
}
}
Sample Response
{
"connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/
Connector_Profile_Name"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UpdateConnectorRegistration
Updates a custom connector that you've previously registered. This operation updates the
connector with one of the following:
• The latest version of the AWS Lambda function that's assigned to the connector
Request Syntax
{
"clientToken": "string",
"connectorLabel": "string",
"connectorProvisioningConfig": {
"lambda": {
"lambdaArn": "string"
}
},
"description": "string"
}
Request Body
clientToken
If you omit a clientToken value, the AWS SDK that you are using inserts a value for you. This
way, the SDK can safely retry requests multiple times after a network error. You must provide
your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If
you use a different value for clientToken, Amazon AppFlow considers it a new call to
UpdateConnectorRegistration. The token is active for 8 hours.
Type: String
Pattern: [ -~]+
Required: No
connectorLabel
The name of the connector. The name is unique for each connector registration in your AWS
account.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
connectorProvisioningConfig
Required: No
description
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"connectorArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
connectorArn
Type: String
Pattern: arn:aws:.*:.*:[0-9]+:.*
Errors
For information about the errors that are common to all actions, see Common Error Types.
AccessDeniedException
ConflictException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
The request would cause a service quota (such as the number of flows) to be exceeded.
API calls have exceeded the maximum allowed API request rate per account and per Region.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UpdateFlow
Updates an existing flow.
Request Syntax
{
"clientToken": "string",
"description": "string",
"destinationFlowConfigList": [
{
"apiVersion": "string",
"connectorProfileName": "string",
"connectorType": "string",
"destinationConnectorProperties": {
"CustomConnector": {
"customProperties": {
"string" : "string"
},
"entityName": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"writeOperationType": "string"
},
"CustomerProfiles": {
"domainName": "string",
"objectTypeName": "string"
},
"EventBridge": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"Honeycode": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"LookoutMetrics": {
},
"Marketo": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"object": "string"
},
"Redshift": {
"bucketPrefix": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"intermediateBucketName": "string",
"object": "string"
},
"S3": {
"bucketName": "string",
"bucketPrefix": "string",
"s3OutputFormatConfig": {
"aggregationConfig": {
"aggregationType": "string",
"targetFileSize": number
},
"fileType": "string",
"prefixConfig": {
"pathPrefixHierarchy": [ "string" ],
"prefixFormat": "string",
"prefixType": "string"
},
"preserveSourceDataTyping": boolean
}
},
"Salesforce": {
"dataTransferApi": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"object": "string",
"writeOperationType": "string"
},
"SAPOData": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"objectPath": "string",
"successResponseHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string"
},
"writeOperationType": "string"
},
"Snowflake": {
"bucketPrefix": "string",
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"intermediateBucketName": "string",
"object": "string"
},
"Upsolver": {
"bucketName": "string",
"bucketPrefix": "string",
"s3OutputFormatConfig": {
"aggregationConfig": {
"aggregationType": "string",
"targetFileSize": number
},
"fileType": "string",
"prefixConfig": {
"pathPrefixHierarchy": [ "string" ],
"prefixFormat": "string",
"prefixType": "string"
}
}
},
"Zendesk": {
"errorHandlingConfig": {
"bucketName": "string",
"bucketPrefix": "string",
"failOnFirstDestinationError": boolean
},
"idFieldNames": [ "string" ],
"object": "string",
"writeOperationType": "string"
}
}
}
],
"flowName": "string",
"metadataCatalogConfig": {
"glueDataCatalog": {
"databaseName": "string",
"roleArn": "string",
"tablePrefix": "string"
}
},
"sourceFlowConfig": {
"apiVersion": "string",
"connectorProfileName": "string",
"connectorType": "string",
"incrementalPullConfig": {
"datetimeTypeFieldName": "string"
},
"sourceConnectorProperties": {
"Amplitude": {
"object": "string"
},
"CustomConnector": {
"customProperties": {
"string" : "string"
},
"dataTransferApi": {
"Name": "string",
"Type": "string"
},
"entityName": "string"
},
"Datadog": {
"object": "string"
},
"Dynatrace": {
"object": "string"
},
"GoogleAnalytics": {
"object": "string"
},
"InforNexus": {
"object": "string"
},
"Marketo": {
"object": "string"
},
"Pardot": {
"object": "string"
},
"S3": {
"bucketName": "string",
"bucketPrefix": "string",
"s3InputFormatConfig": {
"s3InputFileType": "string"
}
},
"Salesforce": {
"dataTransferApi": "string",
"enableDynamicFieldUpdate": boolean,
"includeDeletedRecords": boolean,
"object": "string"
},
"SAPOData": {
"objectPath": "string",
"paginationConfig": {
"maxPageSize": number
},
"parallelismConfig": {
"maxParallelism": number
}
},
"ServiceNow": {
"object": "string"
},
"Singular": {
"object": "string"
},
"Slack": {
"object": "string"
},
"Trendmicro": {
"object": "string"
},
"Veeva": {
"documentType": "string",
"includeAllVersions": boolean,
"includeRenditions": boolean,
"includeSourceFiles": boolean,
"object": "string"
},
"Zendesk": {
"object": "string"
}
}
},
"tasks": [
{
"connectorOperator": {
"Amplitude": "string",
"CustomConnector": "string",
"Datadog": "string",
"Dynatrace": "string",
"GoogleAnalytics": "string",
"InforNexus": "string",
"Marketo": "string",
"Pardot": "string",
"S3": "string",
"Salesforce": "string",
"SAPOData": "string",
"ServiceNow": "string",
"Singular": "string",
"Slack": "string",
"Trendmicro": "string",
"Veeva": "string",
"Zendesk": "string"
},
"destinationField": "string",
"sourceFields": [ "string" ],
"taskProperties": {
"string" : "string"
},
"taskType": "string"
}
],
"triggerConfig": {
"triggerProperties": {
"Scheduled": {
"dataPullMode": "string",
"firstExecutionFrom": number,
"flowErrorDeactivationThreshold": number,
"scheduleEndTime": number,
"scheduleExpression": "string",
"scheduleOffset": number,
"scheduleStartTime": number,
"timezone": "string"
}
},
"triggerType": "string"
}
}
Request Body
clientToken
If you omit a clientToken value, the AWS SDK that you are using inserts a value for you. This
way, the SDK can safely retry requests multiple times after a network error. You must provide
your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If you use a
different value for clientToken, Amazon AppFlow considers it a new call to UpdateFlow. The
token is active for 8 hours.
Type: String
Pattern: [ -~]+
Required: No
description
Type: String
Pattern: [\w!@#\-.?,\s]*
Required: No
destinationFlowConfigList
The configuration that controls how Amazon AppFlow transfers data to the destination
connector.
Required: Yes
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: Yes
metadataCatalogConfig
Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's
transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it
stores metadata in a data catalog.
Required: No
sourceFlowConfig
Contains information about the configuration of the source connector used in the flow.
Required: Yes
tasks
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
Required: Yes
triggerConfig
The trigger settings that determine how and when the flow runs.
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"flowStatus": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
flowStatus
Type: String
Errors
For information about the errors that are common to all actions, see Common Error Types.
AccessDeniedException
There was a conflict when processing the request (for example, a flow with the given name
already exists within the account. Check for conflicting resource names and try again.
An internal service error occurred during the processing of your request. Try again later.
The resource specified in the request (such as the source or destination connector profile) is not
found.
The request would cause a service quota (such as the number of flows) to be exceeded.
Examples
Salesforce
This example shows a sample request for the UpdateFlow API using Salesforce.
Sample Request
{
"flowName": "testFlow-newpayload",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "OnDemand"
},
"sourceFlowConfig": {
"connectorType": "Salesforce",
"connectorProfileName": "Connector_Profile_Name",
"sourceConnectorProperties": {
"salesforce": {
"object": "account"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorProfileName": "Test",
"destinationConnectorProperties": {
"s3": {
"bucketName": "Bucket_Name_value",
"bucketKey": "Bucket_Name_value"
}
}
}
],
"tasks": [
{
"sourceFields": ["CreatedDate"],
"taskProperties": {},
"destinationField": "CreatedDate",
"taskType": "Map"
},
{
"destinationField": "LastActivityDate",
"sourceFields": ["LastActivityDate"],
"taskProperties": {},
"taskType": "Map"
}
]
}
Zendesk
This example shows a sample request for the UpdateFlow API using Zendesk.
Sample Request
{
"useDefaultEncryption": false,
"flowName": "testFlowZendesk",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "OnDemand"
},
"sourceFlowConfig": {
"connectorType": "Zendesk",
"connectorProfileName": "connector-profile-name",
"sourceConnectorProperties": {
"zendesk": {
"object": "tickets"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorProfileName": "Test",
"destinationConnectorProperties": {
"s3": {
"bucketName": "Bucket_Name_Value",
"bucketKey": "Bucket_Name_Value"
}
}
}
],
"tasks": [
{
"destinationField": "url",
"sourceFields": ["url"],
"taskProperties": {
"SOURCE_DATA_TYPE": "integer"
},
"taskType": "Map"
}
]
}
Google Analytics
This example shows a sample request for the UpdateFlow API using Google Analytics.
Sample Request
{
"useDefaultEncryption": false,
"flowName": "testFlowGAnalytics",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "OnDemand"
},
"sourceFlowConfig": {
"connectorType": "Googleanalytics",
"connectorProfileName": "connector-profile-name",
"sourceConnectorProperties": {
"googleanalytics": {
"object": "Object_ID"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorProfileName": "Test",
"destinationConnectorProperties": {
"s3": {
"bucketName": "Bucket_Name_Value",
"bucketKey": "Bucket_Name_Value"
}
}
}
],
"tasks": [
{
"destinationField": "url",
"sourceFields": ["url"],
"taskProperties": {
"SOURCE_DATA_TYPE": "integer"
},
"taskType": "Map"
}
]
}
Marketo
This example shows a sample request for the UpdateFlow API using Marketo.
Sample Request
{
"flowName": "testMarketo",
"description": "TestFlow",
"triggerConfig": {
"triggerType": "OnDemand"
},
"sourceFlowConfig": {
"connectorType": "Marketo",
"connectorProfileName": "Connector-profile-new",
"sourceConnectorProperties": {
"marketo": {
"object": "leads"
}
}
},
"destinationFlowConfigList": [
{
"connectorType": "S3",
"connectorProfileName": "Test",
"destinationConnectorProperties": {
"s3": {
"bucketName": "Bucket_Name_Value",
"bucketKey": "Bucket_Name_Value"
}
}
}
],
"tasks": [
{
"connectorOperator": {
"marketo":"BETWEEN"
},
"sourceFields": [
"updatedAt"
],
"taskProperties": {
"DATA_TYPE": "datetime",
"LOWER_BOUND": "Lower_Bound_value",
"UPPER_BOUND": "Upper_Bound_value"
},
"taskType": "Filter"
},
{
"destinationField": "company",
"sourceFields": [
"company"
],
"taskProperties": {
"SOURCE_DATA_TYPE": "string"
},
"taskType": "Map"
}
]
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
Data Types
The Amazon Appflow API contains several data types that various actions use. This section
describes each data type in detail.
Note
The order of each element in a data type structure is not guaranteed. Applications should
not assume a particular order.
• AggregationConfig
• AmplitudeConnectorProfileCredentials
• AmplitudeConnectorProfileProperties
• AmplitudeMetadata
• AmplitudeSourceProperties
• ApiKeyCredentials
• AuthenticationConfig
• AuthParameter
• BasicAuthCredentials
• ConnectorConfiguration
• ConnectorDetail
• ConnectorEntity
• ConnectorEntityField
• ConnectorMetadata
• ConnectorOAuthRequest
• ConnectorOperator
• ConnectorProfile
• ConnectorProfileConfig
• ConnectorProfileCredentials
• ConnectorProfileProperties
• ConnectorProvisioningConfig
• ConnectorRuntimeSetting
• CustomAuthConfig
• CustomAuthCredentials
• CustomConnectorDestinationProperties
• CustomConnectorProfileCredentials
• CustomConnectorProfileProperties
• CustomConnectorSourceProperties
• CustomerProfilesDestinationProperties
• CustomerProfilesMetadata
• DatadogConnectorProfileCredentials
• DatadogConnectorProfileProperties
• DatadogMetadata
• DatadogSourceProperties
• DataTransferApi
• DestinationConnectorProperties
• DestinationFieldProperties
• DestinationFlowConfig
• DynatraceConnectorProfileCredentials
• DynatraceConnectorProfileProperties
• DynatraceMetadata
• DynatraceSourceProperties
• ErrorHandlingConfig
• ErrorInfo
• EventBridgeDestinationProperties
• EventBridgeMetadata
• ExecutionDetails
• ExecutionRecord
• ExecutionResult
• FieldTypeDetails
• FlowDefinition
• GlueDataCatalogConfig
• GoogleAnalyticsConnectorProfileCredentials
• GoogleAnalyticsConnectorProfileProperties
• GoogleAnalyticsMetadata
• GoogleAnalyticsSourceProperties
• HoneycodeConnectorProfileCredentials
• HoneycodeConnectorProfileProperties
• HoneycodeDestinationProperties
• HoneycodeMetadata
• IncrementalPullConfig
• InforNexusConnectorProfileCredentials
• InforNexusConnectorProfileProperties
• InforNexusMetadata
• InforNexusSourceProperties
• LambdaConnectorProvisioningConfig
• LookoutMetricsDestinationProperties
• MarketoConnectorProfileCredentials
• MarketoConnectorProfileProperties
• MarketoDestinationProperties
• MarketoMetadata
• MarketoSourceProperties
• MetadataCatalogConfig
• MetadataCatalogDetail
• OAuth2Credentials
• OAuth2CustomParameter
• OAuth2Defaults
• OAuth2Properties
• OAuthCredentials
• OAuthProperties
• PardotConnectorProfileCredentials
• PardotConnectorProfileProperties
• PardotMetadata
• PardotSourceProperties
• PrefixConfig
• PrivateConnectionProvisioningState
• Range
• RedshiftConnectorProfileCredentials
• RedshiftConnectorProfileProperties
• RedshiftDestinationProperties
• RedshiftMetadata
• RegistrationOutput
• S3DestinationProperties
• S3InputFormatConfig
• S3Metadata
• S3OutputFormatConfig
• S3SourceProperties
• SalesforceConnectorProfileCredentials
• SalesforceConnectorProfileProperties
• SalesforceDestinationProperties
• SalesforceMetadata
• SalesforceSourceProperties
• SAPODataConnectorProfileCredentials
• SAPODataConnectorProfileProperties
• SAPODataDestinationProperties
• SAPODataMetadata
• SAPODataPaginationConfig
• SAPODataParallelismConfig
• SAPODataSourceProperties
• ScheduledTriggerProperties
• ServiceNowConnectorProfileCredentials
• ServiceNowConnectorProfileProperties
• ServiceNowMetadata
• ServiceNowSourceProperties
• SingularConnectorProfileCredentials
• SingularConnectorProfileProperties
• SingularMetadata
• SingularSourceProperties
• SlackConnectorProfileCredentials
• SlackConnectorProfileProperties
• SlackMetadata
• SlackSourceProperties
• SnowflakeConnectorProfileCredentials
• SnowflakeConnectorProfileProperties
• SnowflakeDestinationProperties
• SnowflakeMetadata
• SourceConnectorProperties
• SourceFieldProperties
• SourceFlowConfig
• SuccessResponseHandlingConfig
• SupportedFieldTypeDetails
• Task
• TrendmicroConnectorProfileCredentials
• TrendmicroConnectorProfileProperties
• TrendmicroMetadata
• TrendmicroSourceProperties
• TriggerConfig
• TriggerProperties
• UpsolverDestinationProperties
• UpsolverMetadata
• UpsolverS3OutputFormatConfig
• VeevaConnectorProfileCredentials
• VeevaConnectorProfileProperties
• VeevaMetadata
• VeevaSourceProperties
• ZendeskConnectorProfileCredentials
• ZendeskConnectorProfileProperties
• ZendeskDestinationProperties
• ZendeskMetadata
• ZendeskSourceProperties
AggregationConfig
The aggregation settings that you can use to customize the output format of your flow data.
Contents
aggregationType
Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them
unaggregated.
Type: String
Required: No
targetFileSize
The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow
destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The
actual file sizes might differ from this target based on the number and size of the records that
each file contains.
Type: Long
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
AmplitudeConnectorProfileCredentials
The connector-specific credentials required when using Amplitude.
Contents
apiKey
Type: String
Pattern: \S+
Required: Yes
secretKey
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
AmplitudeConnectorProfileProperties
The connector-specific profile properties required when using Amplitude.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
AmplitudeMetadata
The connector metadata specific to Amplitude.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
AmplitudeSourceProperties
The properties that are applied when Amplitude is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ApiKeyCredentials
The API key credentials required for API key authentication.
Contents
apiKey
Type: String
Pattern: \S+
Required: Yes
apiSecretKey
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
AuthenticationConfig
Contains information about the authentication config that the connector supports.
Contents
customAuthConfigs
Required: No
isApiKeyAuthSupported
Type: Boolean
Required: No
isBasicAuthSupported
Type: Boolean
Required: No
isCustomAuthSupported
Type: Boolean
Required: No
isOAuth2Supported
Type: Boolean
Required: No
oAuth2Defaults
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
AuthParameter
Information about required authentication parameters.
Contents
connectorSuppliedValues
Contains default values for this authentication parameter that are supplied by the connector.
Pattern: \S+
Required: No
description
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
isRequired
Type: Boolean
Required: No
isSensitiveField
Type: Boolean
Required: No
key
Type: String
Pattern: \S+
Required: No
label
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
BasicAuthCredentials
The basic auth credentials required for basic authentication.
Contents
password
Type: String
Pattern: .*
Required: Yes
username
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorConfiguration
The configuration settings related to a given connector.
Contents
authenticationConfig
Required: No
canUseAsDestination
Type: Boolean
Required: No
canUseAsSource
Type: Boolean
Required: No
connectorArn
Type: String
Pattern: arn:aws:.*:.*:[0-9]+:.*
Required: No
connectorDescription
Type: String
Pattern: [\w!@#\-.?,\s]*
Required: No
connectorLabel
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
connectorMetadata
Required: No
connectorModes
Pattern: \S+
Required: No
connectorName
Type: String
Pattern: .*
Required: No
connectorOwner
Type: String
Pattern: .*
Required: No
connectorProvisioningConfig
Required: No
connectorProvisioningType
Type: String
Required: No
connectorRuntimeSettings
Required: No
connectorType
Type: String
Required: No
connectorVersion
Type: String
Pattern: \S+
Required: No
isPrivateLinkEnabled
Type: Boolean
Required: No
isPrivateLinkEndpointUrlRequired
Type: Boolean
Required: No
logoURL
Type: String
Pattern: ^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/
%=~_|]
Required: No
registeredAt
Type: Timestamp
Required: No
registeredBy
Type: String
Pattern: \S+
Required: No
supportedApiVersions
Pattern: \S+
Required: No
supportedDataTransferApis
The APIs of the connector application that Amazon AppFlow can use to transfer your data.
Required: No
supportedDataTransferTypes
RECORD
Structured records.
FILE
Required: No
supportedDestinationConnectors
Required: No
supportedOperators
Required: No
supportedSchedulingFrequencies
Required: No
supportedTriggerTypes
Required: No
supportedWriteOperations
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorDetail
Information about the registered connector.
Contents
applicationType
Type: String
Pattern: \S+
Required: No
connectorDescription
Type: String
Pattern: [\w!@#\-.?,\s]*
Required: No
connectorLabel
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
connectorModes
Pattern: \S+
Required: No
connectorName
Type: String
Pattern: .*
Required: No
connectorOwner
Type: String
Pattern: .*
Required: No
connectorProvisioningType
Type: String
Required: No
connectorType
Type: String
Required: No
connectorVersion
Type: String
Pattern: \S+
Required: No
registeredAt
Type: Timestamp
Required: No
registeredBy
Type: String
Pattern: \S+
Required: No
supportedDataTransferTypes
Structured records.
FILE
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorEntity
The high-level entity that can be queried in Amazon AppFlow. For example, a Salesforce entity
might be an Account or Opportunity, whereas a ServiceNow entity might be an Incident.
Contents
name
Type: String
Pattern: \S+
Required: Yes
hasNestedEntities
Specifies whether the connector entity is a parent or a category and has more
entities nested underneath it. If another call is made with entitiesPath =
"the_current_entity_name_with_hasNestedEntities_true", then it returns the
nested entities underneath it. This provides a way to retrieve all supported entities in a recursive
fashion.
Type: Boolean
Required: No
label
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorEntityField
Describes the data model of a connector field. For example, for an account entity, the fields would
be account name, account ID, and so on.
Contents
identifier
Type: String
Pattern: \S+
Required: Yes
customProperties
Required: No
defaultValue
Type: String
Pattern: .*
Required: No
description
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
destinationProperties
The properties applied to a field when the connector is being used as a destination.
Required: No
isDeprecated
Type: Boolean
Required: No
isPrimaryKey
Booelan value that indicates whether this field can be used as a primary key.
Type: Boolean
Required: No
label
Type: String
Pattern: .*
Required: No
parentIdentifier
Type: String
Pattern: \S+
Required: No
sourceProperties
The properties that can be applied to a field when the connector is being used as a source.
Required: No
supportedFieldTypeDetails
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorMetadata
A structure to specify connector-specific metadata such as oAuthScopes, supportedRegions,
privateLinkServiceUrl, and so on.
Contents
Amplitude
Required: No
CustomerProfiles
Required: No
Datadog
Required: No
Dynatrace
Required: No
EventBridge
Required: No
GoogleAnalytics
Required: No
Honeycode
Required: No
InforNexus
Required: No
Marketo
Required: No
Pardot
Required: No
Redshift
Required: No
S3
Required: No
Salesforce
Required: No
SAPOData
Required: No
ServiceNow
Required: No
Singular
Required: No
Slack
Required: No
Snowflake
Required: No
Trendmicro
Required: No
Upsolver
Required: No
Veeva
Required: No
Zendesk
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorOAuthRequest
Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google
Analytics, Marketo, Zendesk, and Slack.
Contents
authCode
The code provided by the connector when it has been authenticated via the connected app.
Type: String
Pattern: \S+
Required: No
redirectUri
The URL to which the authentication server redirects the browser after authorization has been
granted.
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorOperator
The operation to be performed on the provided source fields.
Contents
Amplitude
Type: String
Required: No
CustomConnector
Type: String
Required: No
Datadog
Type: String
Required: No
Dynatrace
Type: String
Required: No
GoogleAnalytics
Type: String
Required: No
InforNexus
Type: String
Required: No
Marketo
Type: String
Required: No
Pardot
Type: String
Required: No
S3
Type: String
Required: No
Salesforce
Type: String
Required: No
SAPOData
Type: String
Required: No
ServiceNow
Type: String
Required: No
Singular
Type: String
Required: No
Slack
Type: String
Required: No
Trendmicro
Type: String
Required: No
Veeva
Type: String
Required: No
Zendesk
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorProfile
Describes an instance of a connector. This includes the provided name, credentials ARN,
connection-mode, and so on. To keep the API intuitive and extensible, the fields that are common
to all types of connector profiles are explicitly specified at the top level. The rest of the connector-
specific properties are available via the connectorProfileProperties field.
Contents
connectionMode
Type: String
Required: No
connectorLabel
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
connectorProfileArn
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
Required: No
connectorProfileName
The name of the connector profile. The name is unique for each ConnectorProfile in the
AWS account.
Type: String
Pattern: [\w/!@#+=.-]+
Required: No
connectorProfileProperties
Required: No
connectorType
Type: String
Required: No
createdAt
Type: Timestamp
Required: No
credentialsArn
Type: String
Pattern: arn:aws:.*:.*:[0-9]+:.*
Required: No
lastUpdatedAt
Type: Timestamp
Required: No
privateConnectionProvisioningState
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorProfileConfig
Defines the connector-specific configuration and credentials for the connector profile.
Contents
connectorProfileProperties
Required: Yes
connectorProfileCredentials
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorProfileCredentials
The connector-specific credentials required by a connector.
Contents
Amplitude
Required: No
CustomConnector
The connector-specific profile credentials that are required when using the custom connector.
Required: No
Datadog
Required: No
Dynatrace
Required: No
GoogleAnalytics
Required: No
Honeycode
Required: No
InforNexus
Required: No
Marketo
Required: No
Pardot
Required: No
Redshift
Required: No
Salesforce
Required: No
SAPOData
Required: No
ServiceNow
Required: No
Singular
Required: No
Slack
Required: No
Snowflake
Required: No
Trendmicro
Required: No
Veeva
Required: No
Zendesk
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorProfileProperties
The connector-specific profile properties required by each connector.
Contents
Amplitude
Required: No
CustomConnector
Required: No
Datadog
Required: No
Dynatrace
Required: No
GoogleAnalytics
Required: No
Honeycode
Required: No
InforNexus
Required: No
Marketo
Required: No
Pardot
Required: No
Redshift
Required: No
Salesforce
Required: No
SAPOData
Required: No
ServiceNow
Required: No
Singular
Required: No
Slack
Required: No
Snowflake
Required: No
Trendmicro
Required: No
Veeva
Required: No
Zendesk
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorProvisioningConfig
Contains information about the configuration of the connector being registered.
Contents
lambda
Contains information about the configuration of the lambda which is being registered as the
connector.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ConnectorRuntimeSetting
Contains information about the connector runtime settings that are required for flow execution.
Contents
connectorSuppliedValueOptions
Contains default values for the connector runtime setting that are supplied by the connector.
Pattern: \S+
Required: No
dataType
Type: String
Pattern: \S+
Required: No
description
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
isRequired
Type: Boolean
Required: No
key
Type: String
Pattern: \S+
Required: No
label
Type: String
Pattern: .*
Required: No
scope
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomAuthConfig
Configuration information required for custom authentication.
Contents
authParameters
Required: No
customAuthenticationType
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomAuthCredentials
The custom credentials required for custom authentication.
Contents
customAuthenticationType
Type: String
Pattern: \S+
Required: Yes
credentialsMap
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomConnectorDestinationProperties
The properties that are applied when the custom connector is being used as a destination.
Contents
entityName
Type: String
Pattern: \S+
Required: Yes
customProperties
The custom properties that are specific to the connector when it's used as a destination in the
flow.
Required: No
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in the
custom connector as destination.
Required: No
idFieldNames
The name of the field that Amazon AppFlow uses as an ID when performing a write operation
such as update, delete, or upsert.
Pattern: \S+
Required: No
writeOperationType
Specifies the type of write operation to be performed in the custom connector when it's used as
destination.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomConnectorProfileCredentials
The connector-specific profile credentials that are required when using the custom connector.
Contents
authenticationType
The authentication type that the custom connector uses for authenticating while creating a
connector profile.
Type: String
Required: Yes
apiKey
Required: No
basic
The basic credentials that are required for the authentication of the user.
Required: No
custom
If the connector uses the custom authentication mechanism, this holds the required credentials.
Required: No
oauth2
The OAuth 2.0 credentials required for the authentication of the user.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomConnectorProfileProperties
The profile properties required by the custom connector.
Contents
oAuth2Properties
Required: No
profileProperties
A map of properties that are required to create a profile for the custom connector.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomConnectorSourceProperties
The properties that are applied when the custom connector is being used as a source.
Contents
entityName
Type: String
Pattern: \S+
Required: Yes
customProperties
Custom properties that are required to use the custom connector as a source.
Required: No
dataTransferApi
The API of the connector application that Amazon AppFlow uses to transfer your data.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomerProfilesDestinationProperties
The properties that are applied when Amazon Connect Customer Profiles is used as a destination.
Contents
domainName
Type: String
Pattern: \S+
Required: Yes
objectTypeName
The object specified in the Amazon Connect Customer Profiles flow destination.
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
CustomerProfilesMetadata
The connector metadata specific to Amazon Connect Customer Profiles.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DatadogConnectorProfileCredentials
The connector-specific credentials required by Datadog.
Contents
apiKey
Type: String
Pattern: \S+
Required: Yes
applicationKey
Application keys, in conjunction with your API key, give you full access to Datadog’s
programmatic API. Application keys are associated with the user account that created them. The
application key is used to log all requests made to the API.
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DatadogConnectorProfileProperties
The connector-specific profile properties required by Datadog.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DatadogMetadata
The connector metadata specific to Datadog.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DatadogSourceProperties
The properties that are applied when Datadog is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DataTransferApi
The API of the connector application that Amazon AppFlow uses to transfer your data.
Contents
Name
Type: String
Pattern: [\w/-]+
Required: No
Type
AUTOMATIC
The default. Optimizes a flow for datasets that fluctuate in size from small to large. For
each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the
amount of data that the run transfers.
SYNC
A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.
ASYNC
An asynchronous API. This type of API optimizes a flow for large datasets.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DestinationConnectorProperties
This stores the information that is required to query a particular connector.
Contents
CustomConnector
Required: No
CustomerProfiles
Required: No
EventBridge
Required: No
Honeycode
Required: No
LookoutMetrics
Required: No
Marketo
Required: No
Redshift
Required: No
S3
Required: No
Salesforce
Required: No
SAPOData
Required: No
Snowflake
Required: No
Upsolver
Required: No
Zendesk
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DestinationFieldProperties
The properties that can be applied to a field when connector is being used as a destination.
Contents
isCreatable
Type: Boolean
Required: No
isDefaultedOnCreate
Specifies whether the field can use the default value during a Create operation.
Type: Boolean
Required: No
isNullable
Type: Boolean
Required: No
isUpdatable
Specifies whether the field can be updated during an UPDATE or UPSERT write operation.
Type: Boolean
Required: No
isUpsertable
Specifies if the flow run can either insert new rows in the destination field if they do not already
exist, or update them if they do.
Type: Boolean
Required: No
supportedWriteOperations
A list of supported write operations. For each write operation listed, this field can be used in
idFieldNames when that write operation is present as a destination option.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DestinationFlowConfig
Contains information about the configuration of destination connectors present in the flow.
Contents
connectorType
Type: String
Required: Yes
destinationConnectorProperties
Required: Yes
apiVersion
Type: String
Pattern: \S+
Required: No
connectorProfileName
The name of the connector profile. This name must be unique for each connector profile in the
AWS account.
Type: String
Pattern: [\w/!@#+=.-]+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DynatraceConnectorProfileCredentials
The connector-specific profile credentials required by Dynatrace.
Contents
apiToken
The API tokens used by Dynatrace API to authenticate various API calls.
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DynatraceConnectorProfileProperties
The connector-specific profile properties required by Dynatrace.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DynatraceMetadata
The connector metadata specific to Dynatrace.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
DynatraceSourceProperties
The properties that are applied when Dynatrace is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ErrorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in
the destination. For example, this setting would determine if the flow should fail after one
insertion error, or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig is a part of the destination connector details.
Contents
bucketName
Type: String
Pattern: \S+
Required: No
bucketPrefix
Type: String
Pattern: .*
Required: No
failOnFirstDestinationError
Specifies if the flow should fail after the first instance of a failure when attempting to place
data in the destination.
Type: Boolean
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ErrorInfo
Provides details in the event of a failed flow, including the failure count and the related error
messages.
Contents
executionMessage
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
putFailuresCount
Type: Long
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
EventBridgeDestinationProperties
The properties that are applied when Amazon EventBridge is being used as a destination.
Contents
object
Type: String
Pattern: \S+
Required: Yes
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in
the destination. For example, this setting would determine if the flow should fail after one
insertion error, or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig is a part of the destination connector details.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
EventBridgeMetadata
The connector metadata specific to Amazon EventBridge.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ExecutionDetails
Describes the details of the flow run, including the timestamp, status, and message.
Contents
mostRecentExecutionMessage
Type: String
Pattern: [\w!@#\-.?,\s]*
Required: No
mostRecentExecutionStatus
Type: String
Required: No
mostRecentExecutionTime
Type: Timestamp
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ExecutionRecord
Specifies information about the past flow run instances for a given flow.
Contents
dataPullEndTime
The timestamp that indicates the last new or updated record to be transferred in the flow run.
Type: Timestamp
Required: No
dataPullStartTime
The timestamp that determines the first new or updated record to be transferred in the flow
run.
Type: Timestamp
Required: No
executionId
Type: String
Pattern: \S+
Required: No
executionResult
Required: No
executionStatus
Specifies the flow run status and whether it is in progress, has completed successfully, or has
failed.
Type: String
Required: No
lastUpdatedAt
Type: Timestamp
Required: No
metadataCatalogDetails
Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow
used for the associated flow run.
Required: No
startedAt
Type: Timestamp
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ExecutionResult
Specifies the end result of the flow run.
Contents
bytesProcessed
Type: Long
Required: No
bytesWritten
Type: Long
Required: No
errorInfo
Required: No
maxPageSize
The maximum number of records that Amazon AppFlow receives in each page of the response
from your SAP application.
Type: Long
Required: No
numParallelProcesses
The number of processes that Amazon AppFlow ran at the same time when it retrieved your
data.
Type: Long
Required: No
recordsProcessed
Type: Long
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
FieldTypeDetails
Contains details regarding the supported field type and the operators that can be applied for
filtering.
Contents
fieldType
Type: String
Required: Yes
filterOperators
Required: Yes
fieldLengthRange
Required: No
fieldValueRange
Required: No
supportedDateFormat
Type: String
Pattern: .*
Required: No
supportedValues
The list of values that a field can contain. For example, a Boolean fieldType can have two
values: "true" and "false".
Pattern: \S+
Required: No
valueRegexPattern
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
FlowDefinition
The properties of the flow, such as its source, destination, trigger type, and so on.
Contents
createdAt
Type: Timestamp
Required: No
createdBy
Type: String
Pattern: \S+
Required: No
description
Type: String
Pattern: [\w!@#\-.?,\s]*
Required: No
destinationConnectorLabel
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
destinationConnectorType
Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on.
Type: String
Required: No
flowArn
Type: String
Pattern: arn:aws:appflow:.*:[0-9]+:.*
Required: No
flowName
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
flowStatus
Type: String
Required: No
lastRunExecutionDetails
Required: No
lastUpdatedAt
Type: Timestamp
Required: No
lastUpdatedBy
Specifies the account user name that most recently updated the flow.
Type: String
Pattern: \S+
Required: No
sourceConnectorLabel
Type: String
Pattern: [a-zA-Z0-9][\w!@#.-]+
Required: No
sourceConnectorType
Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on.
Type: String
Required: No
tags
The tags used to organize, track, or control access for your flow.
Required: No
triggerType
Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
GlueDataCatalogConfig
Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the AWS
Glue Data Catalog. When Amazon AppFlow catalogs your data, it stores metadata in Data Catalog
tables. This metadata represents the data that's transferred by the flow that you configure with
these settings.
Note
You can configure a flow with these settings only when the flow destination is Amazon S3.
Contents
databaseName
The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow
creates in your AWS account. These tables contain metadata for the data that's transferred by
the flow that you configure with this parameter.
Note
When you configure a new flow with this parameter, you must specify an existing
database.
Type: String
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
Required: Yes
roleArn
The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions
it needs to create Data Catalog tables, databases, and partitions.
For an example IAM policy that has the required permissions, see Identity-based policy
examples for Amazon AppFlow.
Type: String
Pattern: arn:aws:iam:.*:[0-9]+:.*
Required: Yes
tablePrefix
A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you
configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table
name.
Type: String
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
GoogleAnalyticsConnectorProfileCredentials
The connector-specific profile credentials required by Google Analytics.
Contents
clientId
Type: String
Pattern: \S+
Required: Yes
clientSecret
The client secret used by the OAuth client to authenticate to the authorization server.
Type: String
Pattern: \S+
Required: Yes
accessToken
Type: String
Pattern: \S+
Required: No
oAuthRequest
The OAuth requirement needed to request security tokens from the connector endpoint.
Required: No
refreshToken
The credentials used to acquire new access tokens. This is required only for OAuth2 access
tokens, and is not required for OAuth1 access tokens.
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
GoogleAnalyticsConnectorProfileProperties
The connector-specific profile properties required by Google Analytics.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
GoogleAnalyticsMetadata
The connector metadata specific to Google Analytics.
Contents
oAuthScopes
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
GoogleAnalyticsSourceProperties
The properties that are applied when Google Analytics is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
HoneycodeConnectorProfileCredentials
The connector-specific credentials required when using Amazon Honeycode.
Contents
accessToken
Type: String
Pattern: \S+
Required: No
oAuthRequest
Used by select connectors for which the OAuth workflow is supported, such as Salesforce,
Google Analytics, Marketo, Zendesk, and Slack.
Required: No
refreshToken
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
HoneycodeConnectorProfileProperties
The connector-specific properties required when using Amazon Honeycode.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
HoneycodeDestinationProperties
The properties that are applied when Amazon Honeycode is used as a destination.
Contents
object
Type: String
Pattern: \S+
Required: Yes
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in
the destination. For example, this setting would determine if the flow should fail after one
insertion error, or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig is a part of the destination connector details.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
HoneycodeMetadata
The connector metadata specific to Amazon Honeycode.
Contents
oAuthScopes
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
IncrementalPullConfig
Specifies the configuration used when importing incremental records from the source.
Contents
datetimeTypeFieldName
A field that specifies the date time or timestamp field as the criteria to use when importing
incremental records from the source.
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
InforNexusConnectorProfileCredentials
The connector-specific profile credentials required by Infor Nexus.
Contents
accessKeyId
Type: String
Pattern: \S+
Required: Yes
datakey
Type: String
Pattern: \S+
Required: Yes
secretAccessKey
Type: String
Pattern: \S+
Required: Yes
userId
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
InforNexusConnectorProfileProperties
The connector-specific profile properties required by Infor Nexus.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
InforNexusMetadata
The connector metadata specific to Infor Nexus.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
InforNexusSourceProperties
The properties that are applied when Infor Nexus is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
LambdaConnectorProvisioningConfig
Contains information about the configuration of the lambda which is being registered as the
connector.
Contents
lambdaArn
Type: String
Pattern: arn:aws:.*:.*:[0-9]+:.*
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
LookoutMetricsDestinationProperties
The properties that are applied when Amazon Lookout for Metrics is used as a destination.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
MarketoConnectorProfileCredentials
The connector-specific profile credentials required by Marketo.
Contents
clientId
Type: String
Pattern: \S+
Required: Yes
clientSecret
The client secret used by the OAuth client to authenticate to the authorization server.
Type: String
Pattern: \S+
Required: Yes
accessToken
Type: String
Pattern: \S+
Required: No
oAuthRequest
The OAuth requirement needed to request security tokens from the connector endpoint.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
MarketoConnectorProfileProperties
The connector-specific profile properties required when using Marketo.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
MarketoDestinationProperties
The properties that Amazon AppFlow applies when you use Marketo as a flow destination.
Contents
object
Type: String
Pattern: \S+
Required: Yes
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in
the destination. For example, this setting would determine if the flow should fail after one
insertion error, or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig is a part of the destination connector details.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
MarketoMetadata
The connector metadata specific to Marketo.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
MarketoSourceProperties
The properties that are applied when Marketo is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
MetadataCatalogConfig
Specifies the configuration that Amazon AppFlow uses when it catalogs your data. When Amazon
AppFlow catalogs your data, it stores metadata in a data catalog.
Contents
glueDataCatalog
Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the AWS
Glue Data Catalog.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
MetadataCatalogDetail
Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used
for the associated flow run.
Contents
catalogType
The type of metadata catalog that Amazon AppFlow used for the associated flow run. This
parameter returns the following value:
GLUE
The metadata catalog is provided by the AWS Glue Data Catalog. AWS Glue includes the
AWS Glue Data Catalog as a component.
Type: String
Required: No
partitionRegistrationOutput
Describes the status of the attempt from Amazon AppFlow to register the data partitions with
the metadata catalog. The data partitions organize the flow output into a hierarchical path,
such as a folder path in an S3 bucket. Amazon AppFlow creates the partitions (if they don't
already exist) based on your flow configuration.
Required: No
tableName
The name of the table that stores the metadata for the associated flow run. The table stores
metadata that represents the data that the flow transferred. Amazon AppFlow stores the table
in the metadata catalog.
Type: String
Pattern: .*
Required: No
tableRegistrationOutput
Describes the status of the attempt from Amazon AppFlow to register the metadata table with
the metadata catalog. Amazon AppFlow creates or updates this table for the associated flow
run.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
OAuth2Credentials
The OAuth 2.0 credentials required for OAuth 2.0 authentication.
Contents
accessToken
Type: String
Pattern: \S+
Required: No
clientId
Type: String
Pattern: \S+
Required: No
clientSecret
The client secret used by the OAuth client to authenticate to the authorization server.
Type: String
Pattern: \S+
Required: No
oAuthRequest
Used by select connectors for which the OAuth workflow is supported, such as Salesforce,
Google Analytics, Marketo, Zendesk, and Slack.
Required: No
refreshToken
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
OAuth2CustomParameter
Custom parameter required for OAuth 2.0 authentication.
Contents
connectorSuppliedValues
Contains default values for this authentication parameter that are supplied by the connector.
Pattern: \S+
Required: No
description
A description about the custom parameter used for OAuth 2.0 authentication.
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
isRequired
Indicates whether the custom parameter for OAuth 2.0 authentication is required.
Type: Boolean
Required: No
isSensitiveField
Type: Boolean
Required: No
key
The key of the custom parameter required for OAuth 2.0 authentication.
Type: String
Pattern: \S+
Required: No
label
The label of the custom parameter used for OAuth 2.0 authentication.
Type: String
Pattern: .*
Required: No
type
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
OAuth2Defaults
Contains the default values required for OAuth 2.0 authentication.
Contents
authCodeUrls
Auth code URLs that can be used for OAuth 2.0 authentication.
Pattern: ^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
Required: No
oauth2CustomProperties
Required: No
oauth2GrantTypesSupported
Required: No
oauthScopes
Pattern: \S+
Required: No
tokenUrls
Pattern: ^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
OAuth2Properties
The OAuth 2.0 properties required for OAuth 2.0 authentication.
Contents
oAuth2GrantType
The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.
Type: String
Required: Yes
tokenUrl
Type: String
Pattern: ^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
Required: Yes
tokenUrlCustomProperties
Associates your token URL with a map of properties that you define. Use this parameter to
provide any additional details that the connector requires to authenticate your request.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
OAuthCredentials
The OAuth credentials required for OAuth type authentication.
Contents
clientId
Type: String
Pattern: \S+
Required: Yes
clientSecret
The client secret used by the OAuth client to authenticate to the authorization server.
Type: String
Pattern: \S+
Required: Yes
accessToken
Type: String
Pattern: \S+
Required: No
oAuthRequest
The OAuth requirement needed to request security tokens from the connector endpoint.
Required: No
refreshToken
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
OAuthProperties
The OAuth properties required for OAuth type authentication.
Contents
authCodeUrl
The authorization code url required to redirect to SAP Login Page to fetch authorization code
for OAuth type authentication.
Type: String
Pattern: ^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
Required: Yes
oAuthScopes
Pattern: \S+
Required: Yes
tokenUrl
The token url required to fetch access/refresh tokens using authorization code and also to
refresh expired access token using refresh token.
Type: String
Pattern: ^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
PardotConnectorProfileCredentials
The connector-specific profile credentials required when using Salesforce Pardot.
Contents
accessToken
Type: String
Pattern: \S+
Required: No
clientCredentialsArn
The secret manager ARN, which contains the client ID and client secret of the connected app.
Type: String
Pattern: arn:aws:secretsmanager:.*:[0-9]+:.*
Required: No
oAuthRequest
Used by select connectors for which the OAuth workflow is supported, such as Salesforce,
Google Analytics, Marketo, Zendesk, and Slack.
Required: No
refreshToken
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
PardotConnectorProfileProperties
The connector-specific profile properties required when using Salesforce Pardot.
Contents
businessUnitId
Type: String
Pattern: \S+
Required: No
instanceUrl
Type: String
Pattern: \S+
Required: No
isSandboxEnvironment
Type: Boolean
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
PardotMetadata
The connector metadata specific to Salesforce Pardot.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
PardotSourceProperties
The properties that are applied when Salesforce Pardot is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
PrefixConfig
Specifies elements that Amazon AppFlow includes in the file and folder names in the flow
destination.
Contents
pathPrefixHierarchy
Specifies whether the destination file path includes either or both of the following elements:
EXECUTION_ID
The version number of your data schema. Amazon AppFlow assigns this version number. The
version number increases by one when you change any of the following settings in your flow
configuration:
• Source-to-destination field mappings
• Field data types
• Partition keys
Required: No
prefixFormat
Determines the level of granularity for the date and time that's included in the prefix.
Type: String
Required: No
prefixType
Determines the format of the prefix, and whether it applies to the file name, file path, or both.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
PrivateConnectionProvisioningState
Specifies the private connection provisioning state.
Contents
failureCause
Type: String
Required: No
failureMessage
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: No
status
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
Range
The range of values that the property supports.
Contents
maximum
Type: Double
Required: No
minimum
Type: Double
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
RedshiftConnectorProfileCredentials
The connector-specific profile credentials required when using Amazon Redshift.
Contents
password
Type: String
Pattern: .*
Required: No
username
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
RedshiftConnectorProfileProperties
The connector-specific profile properties when using Amazon Redshift.
Contents
bucketName
Type: String
Pattern: \S+
Required: Yes
roleArn
The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift read-only access
to Amazon S3. For more information, and for the polices that you attach to this role, see Allow
Amazon Redshift to access your Amazon AppFlow data in Amazon S3.
Type: String
Pattern: arn:aws:iam:.*:[0-9]+:.*
Required: Yes
bucketPrefix
The object key for the destination bucket in which Amazon AppFlow places the files.
Type: String
Pattern: .*
Required: No
clusterIdentifier
Type: String
Pattern: \S+
Required: No
dataApiRoleArn
The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your
Amazon Redshift database through the Data API. For more information, and for the polices that
you attach to this role, see Allow Amazon AppFlow to access Amazon Redshift databases with
the Data API.
Type: String
Pattern: arn:aws:iam:.*:[0-9]+:.*
Required: No
databaseName
Type: String
Pattern: \S+
Required: No
databaseUrl
Type: String
Pattern: \S+
Required: No
isRedshiftServerless
Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless
data warehouse.
Type: Boolean
Required: No
workgroupName
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
RedshiftDestinationProperties
The properties that are applied when Amazon Redshift is being used as a destination.
Contents
intermediateBucketName
The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.
Type: String
Pattern: \S+
Required: Yes
object
Type: String
Pattern: \S+
Required: Yes
bucketPrefix
The object key for the bucket in which Amazon AppFlow places the destination files.
Type: String
Pattern: .*
Required: No
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in the
Amazon Redshift destination. For example, this setting would determine if the flow should fail
after one insertion error, or continue and attempt to insert every record regardless of the initial
failure. ErrorHandlingConfig is a part of the destination connector details.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
RedshiftMetadata
The connector metadata specific to Amazon Redshift.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
RegistrationOutput
Describes the status of an attempt from Amazon AppFlow to register a resource.
When you run a flow that you've configured to use a metadata catalog, Amazon AppFlow registers
a metadata table and data partitions with that catalog. This operation provides the status of that
registration attempt. The operation also indicates how many related resources Amazon AppFlow
created or updated.
Contents
message
Explains the status of the registration attempt from Amazon AppFlow. If the attempt fails, the
message explains why.
Type: String
Pattern: .*
Required: No
result
Indicates the number of resources that Amazon AppFlow created or updated. Possible resources
include metadata tables and data partitions.
Type: String
Pattern: .*
Required: No
status
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
S3DestinationProperties
The properties that are applied when Amazon S3 is used as a destination.
Contents
bucketName
The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
Type: String
Pattern: \S+
Required: Yes
bucketPrefix
The object key for the destination bucket in which Amazon AppFlow places the files.
Type: String
Pattern: .*
Required: No
s3OutputFormatConfig
The configuration that determines how Amazon AppFlow should format the flow output data
when Amazon S3 is used as the destination.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
S3InputFormatConfig
When you use Amazon S3 as the source, the configuration format that you provide the flow input
data.
Contents
s3InputFileType
The file type that Amazon AppFlow gets from your Amazon S3 bucket.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
S3Metadata
The connector metadata specific to Amazon S3.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
S3OutputFormatConfig
The configuration that determines how Amazon AppFlow should format the flow output data
when Amazon S3 is used as the destination.
Contents
aggregationConfig
The aggregation settings that you can use to customize the output format of your flow data.
Required: No
fileType
Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.
Type: String
Required: No
prefixConfig
Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3
bucket. You can name folders according to the flow frequency and date.
Required: No
preserveSourceDataTyping
If your file output format is Parquet, use this parameter to set whether Amazon AppFlow
preserves the data types in your source data when it writes the output to Amazon S3.
• true: Amazon AppFlow preserves the data types when it writes to Amazon S3. For example,
an integer or 1 in your source data is still an integer in your output.
• false: Amazon AppFlow converts all of the source data into strings when it writes to
Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the
output.
Type: Boolean
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
S3SourceProperties
The properties that are applied when Amazon S3 is being used as the flow source.
Contents
bucketName
The Amazon S3 bucket name where the source files are stored.
Type: String
Pattern: \S+
Required: Yes
bucketPrefix
The object key for the Amazon S3 bucket in which the source files are stored.
Type: String
Pattern: .*
Required: No
s3InputFormatConfig
When you use Amazon S3 as the source, the configuration format that you provide the flow
input data.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SalesforceConnectorProfileCredentials
The connector-specific profile credentials required when using Salesforce.
Contents
accessToken
Type: String
Pattern: \S+
Required: No
clientCredentialsArn
The secret manager ARN, which contains the client ID and client secret of the connected app.
Type: String
Pattern: arn:aws:secretsmanager:.*:[0-9]+:.*
Required: No
jwtToken
A JSON web token (JWT) that authorizes Amazon AppFlow to access your Salesforce records.
Type: String
Pattern: ^([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_\-\+\/=]*)
Required: No
oAuth2GrantType
Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests an access token
from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your
Salesforce records.
Amazon AppFlow passes an authorization code when it requests the access token from
Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in
to your Salesforce account and authorize Amazon AppFlow to access your records.
JWT_BEARER
Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from
Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to
your Salesforce account. When you use this grant type, you don't need to log in to your
Salesforce account to authorize Amazon AppFlow to access your records.
Note
The CLIENT_CREDENTIALS value is not supported for Salesforce.
Type: String
Required: No
oAuthRequest
The OAuth requirement needed to request security tokens from the connector endpoint.
Required: No
refreshToken
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SalesforceConnectorProfileProperties
The connector-specific profile properties required when using Salesforce.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: No
isSandboxEnvironment
Type: Boolean
Required: No
usePrivateLinkForMetadataAndAuthorization
If the connection mode for the connector profile is private, this parameter sets whether Amazon
AppFlow uses the private network to send metadata and authorization calls to Salesforce.
Amazon AppFlow sends private calls through AWS PrivateLink. These calls travel through AWS
infrastructure without being exposed to the public internet.
Amazon AppFlow sends all calls to Salesforce over the private network.
The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls
over the public internet.
Type: Boolean
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SalesforceDestinationProperties
The properties that are applied when Salesforce is being used as a destination.
Contents
object
Type: String
Pattern: \S+
Required: Yes
dataTransferApi
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to
Salesforce.
AUTOMATIC
The default. Amazon AppFlow selects which API to use based on the number of records that
your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon
AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon
AppFlow uses Salesforce Bulk API 2.0.
Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the
API automatically, be aware that, for recurring flows, the data output might vary from one
flow run to the next. For example, if a flow runs daily, it might use REST API on one day to
transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records.
For each of these flow runs, the respective Salesforce API formats the data differently. Some
of the differences include how dates are formatted and null values are represented. Also,
Bulk API 2.0 doesn't transfer Salesforce compound fields.
By choosing this option, you optimize flow performance for both small and large data
transfers, but the tradeoff is inconsistent formatting in the output.
BULKV2
Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data
transfers, and it's optimal for large sets of data. By choosing this option, you ensure that
your flow writes consistent output, but you optimize performance only for large data
transfers.
Note that Bulk API 2.0 does not transfer Salesforce compound fields.
REST_SYNC
Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that
your flow writes consistent output, but you decrease performance for large data transfers
that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary
large set of data, it might fail with a timed out error.
Type: String
Required: No
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in the
Salesforce destination. For example, this setting would determine if the flow should fail after
one insertion error, or continue and attempt to insert every record regardless of the initial
failure. ErrorHandlingConfig is a part of the destination connector details.
Required: No
idFieldNames
The name of the field that Amazon AppFlow uses as an ID when performing a write operation
such as update or delete.
Pattern: \S+
Required: No
writeOperationType
This specifies the type of write operation to be performed in Salesforce. When the value is
UPSERT, then idFieldNames is required.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SalesforceMetadata
The connector metadata specific to Salesforce.
Contents
dataTransferApis
The Salesforce APIs that you can have Amazon AppFlow use when your flows transfers data to
or from Salesforce.
Required: No
oauth2GrantTypesSupported
The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an access token
from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your
Salesforce records.
AUTHORIZATION_CODE
Amazon AppFlow passes an authorization code when it requests the access token from
Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in
to your Salesforce account and authorize Amazon AppFlow to access your records.
JWT_BEARER
Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from
Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to
your Salesforce account. When you use this grant type, you don't need to log in to your
Salesforce account to authorize Amazon AppFlow to access your records.
Note
The CLIENT_CREDENTIALS value is not supported for Salesforce.
Required: No
oAuthScopes
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SalesforceSourceProperties
The properties that are applied when Salesforce is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
dataTransferApi
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from
Salesforce.
AUTOMATIC
The default. Amazon AppFlow selects which API to use based on the number of records that
your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records,
Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more,
Amazon AppFlow uses Salesforce Bulk API 2.0.
Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the
API automatically, be aware that, for recurring flows, the data output might vary from
one flow run to the next. For example, if a flow runs daily, it might use REST API on one
day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer
1,100,000 records. For each of these flow runs, the respective Salesforce API formats the
data differently. Some of the differences include how dates are formatted and null values
are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.
By choosing this option, you optimize flow performance for both small and large data
transfers, but the tradeoff is inconsistent formatting in the output.
BULKV2
Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data
transfers, and it's optimal for large sets of data. By choosing this option, you ensure that
your flow writes consistent output, but you optimize performance only for large data
transfers.
Note that Bulk API 2.0 does not transfer Salesforce compound fields.
REST_SYNC
Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that
your flow writes consistent output, but you decrease performance for large data transfers
that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary
large set of data, it might fail wituh a timed out error.
Type: String
Required: No
enableDynamicFieldUpdate
The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects
while running a flow.
Type: Boolean
Required: No
includeDeletedRecords
Indicates whether Amazon AppFlow includes deleted files in the flow run.
Type: Boolean
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SAPODataConnectorProfileCredentials
The connector-specific profile credentials required when using SAPOData.
Contents
basicAuthCredentials
Required: No
oAuthCredentials
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SAPODataConnectorProfileProperties
The connector-specific profile properties required when using SAPOData.
Contents
applicationHostUrl
Type: String
Pattern: ^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
Required: Yes
applicationServicePath
Type: String
Pattern: \S+
Required: Yes
clientNumber
Type: String
Pattern: ^\d{3}$
Required: Yes
portNumber
Type: Integer
Required: Yes
disableSSO
If you set this parameter to true, Amazon AppFlow bypasses the single sign-on (SSO) settings
in your SAP account when it accesses your SAP OData instance.
Whether you need this option depends on the types of credentials that you applied to your SAP
OData connection profile. If your profile uses basic authentication credentials, SAP SSO can
prevent Amazon AppFlow from connecting to your account with your username and password.
In this case, bypassing SSO makes it possible for Amazon AppFlow to connect successfully.
However, if your profile uses OAuth credentials, this parameter has no affect.
Type: Boolean
Required: No
logonLanguage
Type: String
Pattern: ^[a-zA-Z0-9_]*$
Required: No
oAuthProperties
Required: No
privateLinkServiceName
The SAPOData Private Link service name to be used for private data transfers.
Type: String
Pattern: ^$|[Link].[\w/!:@#.\-]+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SAPODataDestinationProperties
The properties that are applied when using SAPOData as a flow destination
Contents
objectPath
Type: String
Pattern: \S+
Required: Yes
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in
the destination. For example, this setting would determine if the flow should fail after one
insertion error, or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig is a part of the destination connector details.
Required: No
idFieldNames
A list of field names that can be used as an ID field when performing a write operation.
Pattern: \S+
Required: No
successResponseHandlingConfig
Determines how Amazon AppFlow handles the success response that it gets from the connector
after placing data.
For example, this setting would determine where to write the response from a destination
connector upon a successful insert operation.
Required: No
writeOperationType
The possible write operations in the destination connector. When this value is not provided, this
defaults to the INSERT operation.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SAPODataMetadata
The connector metadata specific to SAPOData.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SAPODataPaginationConfig
Sets the page size for each concurrent process that transfers OData records from your SAP instance.
A concurrent process is query that retrieves a batch of records as part of a flow run. Amazon
AppFlow can run multiple concurrent processes in parallel to transfer data faster.
Contents
maxPageSize
The maximum number of records that Amazon AppFlow receives in each page of the response
from your SAP application. For transfers of OData records, the maximum page size is 3,000. For
transfers of data that comes from an ODP provider, the maximum page size is 10,000.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SAPODataParallelismConfig
Sets the number of concurrent processes that transfer OData records from your SAP instance. A
concurrent process is query that retrieves a batch of records as part of a flow run. Amazon AppFlow
can run multiple concurrent processes in parallel to transfer data faster.
Contents
maxParallelism
The maximum number of processes that Amazon AppFlow runs at the same time when it
retrieves your data from your SAP application.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SAPODataSourceProperties
The properties that are applied when using SAPOData as a flow source.
Contents
objectPath
Type: String
Pattern: \S+
Required: No
paginationConfig
Sets the page size for each concurrent process that transfers OData records from your SAP
instance.
Required: No
parallelismConfig
Sets the number of concurrent processes that transfers OData records from your SAP instance.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ScheduledTriggerProperties
Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently,
these settings only apply to the Scheduled trigger type.
Contents
scheduleExpression
The scheduling expression that determines the rate at which the schedule will run, for example
rate(5minutes).
Type: String
Pattern: .*
Required: Yes
dataPullMode
Specifies whether a scheduled flow has an incremental data transfer or a complete data
transfer for each flow run.
Type: String
Required: No
firstExecutionFrom
Specifies the date range for the records to import from the connector in the first flow run.
Type: Timestamp
Required: No
flowErrorDeactivationThreshold
Defines how many times a scheduled flow fails consecutively before Amazon AppFlow
deactivates it.
Type: Integer
Required: No
scheduleEndTime
The time at which the scheduled flow ends. The time is formatted as a timestamp that follows
the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00.
Type: Timestamp
Required: No
scheduleOffset
Specifies the optional offset that is added to the time interval for a schedule-triggered flow.
Type: Long
Required: No
scheduleStartTime
The time at which the scheduled flow starts. The time is formatted as a timestamp that follows
the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00.
Type: Timestamp
Required: No
timezone
Specifies the time zone used when referring to the dates and times of a scheduled flow, such as
America/New_York. This time zone is only a descriptive label. It doesn't affect how Amazon
AppFlow interprets the timestamps that you specify to schedule the flow.
If you want to schedule a flow by using times in a particular time zone, indicate the time zone
as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York
timezone are -04:00 EDT and -05:00 EST.
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ServiceNowConnectorProfileCredentials
The connector-specific profile credentials required when using ServiceNow.
Contents
oAuth2Credentials
Required: No
password
Type: String
Pattern: .*
Required: No
username
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ServiceNowConnectorProfileProperties
The connector-specific profile properties required when using ServiceNow.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ServiceNowMetadata
The connector metadata specific to ServiceNow.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ServiceNowSourceProperties
The properties that are applied when ServiceNow is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SingularConnectorProfileCredentials
The connector-specific profile credentials required when using Singular.
Contents
apiKey
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SingularConnectorProfileProperties
The connector-specific profile properties required when using Singular.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SingularMetadata
The connector metadata specific to Singular.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SingularSourceProperties
The properties that are applied when Singular is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SlackConnectorProfileCredentials
The connector-specific profile credentials required when using Slack.
Contents
clientId
Type: String
Pattern: \S+
Required: Yes
clientSecret
The client secret used by the OAuth client to authenticate to the authorization server.
Type: String
Pattern: \S+
Required: Yes
accessToken
Type: String
Pattern: \S+
Required: No
oAuthRequest
The OAuth requirement needed to request security tokens from the connector endpoint.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SlackConnectorProfileProperties
The connector-specific profile properties required when using Slack.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SlackMetadata
The connector metadata specific to Slack.
Contents
oAuthScopes
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SlackSourceProperties
The properties that are applied when Slack is being used as a source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SnowflakeConnectorProfileCredentials
The connector-specific profile credentials required when using Snowflake.
Contents
password
Type: String
Pattern: .*
Required: Yes
username
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SnowflakeConnectorProfileProperties
The connector-specific profile properties required when using Snowflake.
Contents
bucketName
Type: String
Pattern: \S+
Required: Yes
stage
The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in
the Snowflake account. This is written in the following format: < Database>< Schema><Stage
Name>.
Type: String
Pattern: \S+
Required: Yes
warehouse
Type: String
Pattern: [\s\w/!@#+=.-]*
Required: Yes
accountName
Type: String
Pattern: \S+
Required: No
bucketPrefix
The bucket path that refers to the Amazon S3 bucket associated with Snowflake.
Type: String
Pattern: .*
Required: No
privateLinkServiceName
The Snowflake Private Link service name to be used for private data transfers.
Type: String
Pattern: ^$|[Link].[\w/!:@#.\-]+
Required: No
region
Type: String
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SnowflakeDestinationProperties
The properties that are applied when Snowflake is being used as a destination.
Contents
intermediateBucketName
The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.
Type: String
Pattern: \S+
Required: Yes
object
Type: String
Pattern: \S+
Required: Yes
bucketPrefix
The object key for the destination bucket in which Amazon AppFlow places the files.
Type: String
Pattern: .*
Required: No
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in the
Snowflake destination. For example, this setting would determine if the flow should fail after
one insertion error, or continue and attempt to insert every record regardless of the initial
failure. ErrorHandlingConfig is a part of the destination connector details.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SnowflakeMetadata
The connector metadata specific to Snowflake.
Contents
supportedRegions
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SourceConnectorProperties
Specifies the information that is required to query a particular connector.
Contents
Amplitude
Required: No
CustomConnector
The properties that are applied when the custom connector is being used as a source.
Required: No
Datadog
Required: No
Dynatrace
Required: No
GoogleAnalytics
Required: No
InforNexus
Required: No
Marketo
Required: No
Pardot
Required: No
S3
Required: No
Salesforce
Required: No
SAPOData
The properties that are applied when using SAPOData as a flow source.
Required: No
ServiceNow
Required: No
Singular
Required: No
Slack
Required: No
Trendmicro
Required: No
Veeva
Required: No
Zendesk
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SourceFieldProperties
The properties that can be applied to a field when the connector is being used as a source.
Contents
isQueryable
Type: Boolean
Required: No
isRetrievable
Type: Boolean
Required: No
isTimestampFieldForIncrementalQueries
Type: Boolean
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SourceFlowConfig
Contains information about the configuration of the source connector used in the flow.
Contents
connectorType
Type: String
Required: Yes
sourceConnectorProperties
Required: Yes
apiVersion
The API version of the connector when it's used as a source in the flow.
Type: String
Pattern: \S+
Required: No
connectorProfileName
The name of the connector profile. This name must be unique for each connector profile in the
AWS account.
Type: String
Pattern: [\w/!@#+=.-]+
Required: No
incrementalPullConfig
Defines the configuration for a scheduled incremental data pull. If a valid configuration is
provided, the fields specified in the configuration are used when querying for the incremental
data pull.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SuccessResponseHandlingConfig
Determines how Amazon AppFlow handles the success response that it gets from the connector
after placing data.
For example, this setting would determine where to write the response from the destination
connector upon a successful insert operation.
Contents
bucketName
Type: String
Pattern: \S+
Required: No
bucketPrefix
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
SupportedFieldTypeDetails
Contains details regarding all the supported FieldTypes and their corresponding
filterOperators and supportedValues.
Contents
v1
The initial supported version for fieldType. If this is later changed to a different version, v2
will be introduced.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
Task
A class for modeling different type of tasks. Task implementation varies based on the TaskType.
Contents
sourceFields
Pattern: .*
Required: Yes
taskType
Type: String
Required: Yes
connectorOperator
Required: No
destinationField
A field in a destination connector, or a field value against which Amazon AppFlow validates a
source field.
Type: String
Pattern: .*
Required: No
taskProperties
A map used to store task-related information. The execution service looks for particular
information based on the TaskType.
Value Pattern: .+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
TrendmicroConnectorProfileCredentials
The connector-specific profile credentials required when using Trend Micro.
Contents
apiSecretKey
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
TrendmicroConnectorProfileProperties
The connector-specific profile properties required when using Trend Micro.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
TrendmicroMetadata
The connector metadata specific to Trend Micro.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
TrendmicroSourceProperties
The properties that are applied when using Trend Micro as a flow source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
TriggerConfig
The trigger settings that determine how and when Amazon AppFlow runs the specified flow.
Contents
triggerType
Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.
Type: String
Required: Yes
triggerProperties
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
TriggerProperties
Specifies the configuration details that control the trigger for a flow. Currently, these settings only
apply to the Scheduled trigger type.
Contents
Scheduled
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UpsolverDestinationProperties
The properties that are applied when Upsolver is used as a destination.
Contents
bucketName
The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
Type: String
Pattern: ^(upsolver-appflow)\S*
Required: Yes
s3OutputFormatConfig
The configuration that determines how data is formatted when Upsolver is used as the flow
destination.
Required: Yes
bucketPrefix
The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow
places the files.
Type: String
Pattern: .*
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UpsolverMetadata
The connector metadata specific to Upsolver.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
UpsolverS3OutputFormatConfig
The configuration that determines how Amazon AppFlow formats the flow output data when
Upsolver is used as the destination.
Contents
prefixConfig
Specifies elements that Amazon AppFlow includes in the file and folder names in the flow
destination.
Required: Yes
aggregationConfig
The aggregation settings that you can use to customize the output format of your flow data.
Required: No
fileType
Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
VeevaConnectorProfileCredentials
The connector-specific profile credentials required when using Veeva.
Contents
password
Type: String
Pattern: .*
Required: Yes
username
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
VeevaConnectorProfileProperties
The connector-specific profile properties required when using Veeva.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
VeevaMetadata
The connector metadata specific to Veeva.
Contents
The members of this exception structure are context-dependent.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
VeevaSourceProperties
The properties that are applied when using Veeva as a flow source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
documentType
Type: String
Pattern: [\s\w_-]+
Required: No
includeAllVersions
Boolean value to include All Versions of files in Veeva document extract flow.
Type: Boolean
Required: No
includeRenditions
Type: Boolean
Required: No
includeSourceFiles
Type: Boolean
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ZendeskConnectorProfileCredentials
The connector-specific profile credentials required when using Zendesk.
Contents
clientId
Type: String
Pattern: \S+
Required: Yes
clientSecret
The client secret used by the OAuth client to authenticate to the authorization server.
Type: String
Pattern: \S+
Required: Yes
accessToken
Type: String
Pattern: \S+
Required: No
oAuthRequest
The OAuth requirement needed to request security tokens from the connector endpoint.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ZendeskConnectorProfileProperties
The connector-specific profile properties required when using Zendesk.
Contents
instanceUrl
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ZendeskDestinationProperties
The properties that are applied when Zendesk is used as a destination.
Contents
object
Type: String
Pattern: \S+
Required: Yes
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in
the destination. For example, this setting would determine if the flow should fail after one
insertion error, or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig is a part of the destination connector details.
Required: No
idFieldNames
A list of field names that can be used as an ID field when performing a write operation.
Pattern: \S+
Required: No
writeOperationType
The possible write operations in the destination connector. When this value is not provided, this
defaults to the INSERT operation.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ZendeskMetadata
The connector metadata specific to Zendesk.
Contents
oAuthScopes
Pattern: \S+
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
ZendeskSourceProperties
The properties that are applied when using Zendesk as a flow source.
Contents
object
Type: String
Pattern: \S+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the
following:
Common Parameters
The following list contains the parameters that all actions use for signing Signature Version 4
requests with a query string. Any action-specific parameters are listed in the topic for that action.
For more information about Signature Version 4, see Signing AWS API requests in the IAM User
Guide.
X-Amz-Algorithm
The hash algorithm that you used to create the request signature.
Condition: Specify this parameter when you include authentication information in a query
string instead of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-Credential
The credential scope value, which is a string that includes your access key, the date, the region
you are targeting, the service you are requesting, and a termination string ("aws4_request").
The value is expressed in the following format: access_key/YYYYMMDD/region/service/
aws4_request.
For more information, see Create a signed AWS API request in the IAM User Guide.
Condition: Specify this parameter when you include authentication information in a query
string instead of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-Date
The date that is used to create the signature. The format must be ISO 8601 basic format
(YYYYMMDD'T'HHMMSS'Z'). For example, the following date time is a valid X-Amz-Date value:
20120325T120000Z.
Condition: X-Amz-Date is optional for all requests; it can be used to override the date used for
signing requests. If the Date header is specified in the ISO 8601 basic format, X-Amz-Date is not
required. When X-Amz-Date is used, it always overrides the value of the Date header. For more
information, see Elements of an AWS API request signature in the IAM User Guide.
Type: string
Required: Conditional
X-Amz-Security-Token
The temporary security token that was obtained through a call to AWS Security Token Service
(AWS STS). For a list of services that support temporary security credentials from AWS STS, see
AWS services that work with IAM in the IAM User Guide.
Condition: If you're using temporary security credentials from AWS STS, you must include the
security token.
Type: string
Required: Conditional
X-Amz-Signature
Specifies the hex-encoded signature that was calculated from the string to sign and the derived
signing key.
Condition: Specify this parameter when you include authentication information in a query
string instead of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-SignedHeaders
Specifies all the HTTP headers that were included as part of the canonical request. For more
information about specifying signed headers, see Create a signed AWS API request in the IAM
User Guide.
Condition: Specify this parameter when you include authentication information in a query
string instead of in the HTTP authorization header.
Type: string
Required: Conditional
AccessDeniedException
You don't have permission to perform this action. Verify that your IAM policy includes the
required permissions.
The security token included in the request has expired. Request a new security token and try
again.
The request signature doesn't conform to AWS standards. Verify that you're using valid AWS
credentials and that your request is properly formatted. If you're using an SDK, ensure it's up to
date.
The request can't be processed right now because of an internal server issue. Try again later. If
the problem persists, contact AWS Support.
The request body can't be processed. This typically happens when the request body can't be
decompressed using the specified content encoding algorithm. Verify that the content encoding
header matches the compression format used.
NotAuthorized
You don't have permissions to perform this action. Verify that your IAM policy includes the
required permissions.
Your AWS account needs a subscription for this service. Verify that you've enabled the service in
your account.
The request was aborted before a response could be returned. This typically happens when the
client closes the connection.
The request entity is too large. Reduce the size of the request body and try again.
The request timed out. The server didn't receive the complete request within the expected time
frame. Try again.
Your request rate is too high. The AWS SDKs automatically retry requests that receive this
exception. Reduce the frequency of requests.
UnknownOperationException
The action or operation isn't recognized. Verify that the action name is spelled correctly and
that it's supported by the API version you're using.
The X.509 certificate or AWS access key ID you provided doesn't exist in our records. Verify that
you're using valid credentials and that they haven't expired.
The input doesn't meet the required format or constraints. Check that all required parameters
are included and that values are valid.