{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-appflow/refs/heads/main/json-schema/appflow-describe-flow-response-schema.json", "title": "DescribeFlowResponse", "description": "DescribeFlowResponse schema from Amazon AppFlow API", "type": "object", "properties": { "flowArn": { "type": "string", "example": "arn:aws:appflow:us-east-1:123456789012:flow/my-salesforce-to-s3-flow", "description": "The flow's Amazon Resource Name (ARN)." }, "description": { "type": "string", "example": "Transfer Salesforce accounts to S3 daily", "description": "A description of the flow." }, "flowName": { "type": "string", "example": "my-salesforce-to-s3-flow", "description": "The specified name of the flow." }, "kmsArn": { "type": "string", "example": "arn:aws:kms:us-east-1:123456789012:key/mrk-1234abcd", "description": "The ARN of the AWS KMS key." }, "flowStatus": { "type": "string", "enum": [ "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended" ], "example": "Active", "description": "Indicates the current status of the flow." }, "flowStatusMessage": { "type": "string", "example": "", "description": "Contains an error message if the flow status is in a suspended or error state." }, "sourceFlowConfig": { "type": "object", "properties": { "connectorType": { "type": "string", "example": "Salesforce", "description": "The type of connector used as a source." }, "apiVersion": { "type": "string", "example": "v55.0", "description": "The API version of the connector used in the source." }, "connectorProfileName": { "type": "string", "example": "my-salesforce-profile", "description": "The name of the connector profile. Required for all connectors except Amplitude, Datadog, Dynatrace, GoogleAnalytics, Marketo, SAPOData, Salesforce, ServiceNow, Singular, Slack, Trendmicro, and Veeva." }, "sourceConnectorProperties": { "type": "object", "example": { "Salesforce": { "object": "Account" } }, "description": "Specifies the information that is required to query a particular source connector." }, "incrementalPullConfig": { "type": "object", "properties": { "datetimeTypeFieldName": { "type": "string", "example": "LastModifiedDate", "description": "A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source." } }, "description": "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": [ "connectorType", "sourceConnectorProperties" ] }, "destinationFlowConfigList": { "type": "array", "items": {} }, "lastRunExecutionDetails": { "type": "object", "properties": { "mostRecentExecutionMessage": { "type": "string", "example": "Successfully ran the flow", "description": "Describes the details of the most recent flow run." }, "mostRecentExecutionTime": { "type": "integer", "format": "int64", "example": 1718153700000, "description": "Specifies the time of the most recent flow run." }, "mostRecentExecutionStatus": { "type": "string", "enum": [ "InProgress", "Successful", "Error", "CancelStarted", "Canceled" ], "example": "Successful", "description": "Specifies the status of the most recent flow run." } } }, "triggerConfig": { "type": "object", "properties": { "triggerType": { "type": "string", "enum": [ "Scheduled", "Event", "OnDemand" ], "example": "Scheduled", "description": "Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event." }, "triggerProperties": { "type": "object", "properties": { "Scheduled": {} }, "description": "Specifies the configuration details of a schedule-triggered flow as defined by the user." } }, "required": [ "triggerType" ] }, "tasks": { "type": "array", "items": {} }, "createdAt": { "type": "integer", "format": "int64", "example": 1718153645993, "description": "Specifies when the flow was created." }, "lastUpdatedAt": { "type": "integer", "format": "int64", "example": 1718153645993, "description": "Specifies when the flow was last updated." }, "createdBy": { "type": "string", "example": "arn:aws:iam::123456789012:user/admin", "description": "The ARN of the user who created the flow." }, "lastUpdatedBy": { "type": "string", "example": "arn:aws:iam::123456789012:user/admin", "description": "Specifies the account user name that most recently updated the flow." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "example": { "environment": "production" } }, "metadataCatalogConfig": { "type": "object", "properties": { "glueDataCatalog": { "type": "object", "properties": { "roleArn": { "type": "string", "example": "arn:aws:iam::123456789012:role/AppFlowGlueRole", "description": "The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions." }, "databaseName": { "type": "string", "example": "appflow-catalog-db", "description": "The name of an existing Glue Data Catalog database." }, "tablePrefix": { "type": "string", "example": "sf_", "description": "A naming prefix for each Data Catalog table that Amazon AppFlow creates." } }, "description": "Specifies the configuration that Amazon AppFlow uses when it catalogs data with the Glue Data Catalog." } } }, "lastRunMetadataCatalogDetails": { "type": "array", "items": { "type": "object" } } } }