Amazon AppFlow · JSON Structure

Appflow Describe Flow Response Structure

DescribeFlowResponse schema from Amazon AppFlow API

Type: object Properties: 18
ConnectorsData FlowData IntegrationETLIntegrationSaaSData Transfer

Appflow Describe Flow Response Structure is a JSON Structure definition published by Amazon AppFlow, describing 18 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

flowArn description flowName kmsArn flowStatus flowStatusMessage sourceFlowConfig destinationFlowConfigList lastRunExecutionDetails triggerConfig tasks createdAt lastUpdatedAt createdBy lastUpdatedBy tags metadataCatalogConfig lastRunMetadataCatalogDetails

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

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