Get Flow Details by Flow ID

GET Method

The Get Flow Details by Flow ID API allows you to retrieve the details of a specific flow using its unique identifier (Flow ID). By default, it will return the fields categories, id, name, status, and validation_error. You can request other fields by using the fields param in the request.

Prerequisites

  1. Before you get started, Create an API Key. To view the API Key and the SID, see View API Key and SID.
    A prerequisite for using Kaleyra WhatsApp APIs is to have an active WhatsApp plan on Kaleyra platform.
  2. To set up a WhatsApp account on Kaleyra platform, see Manual Signup
    and Embedded Signup.
  3. An active WhatsApp for Business API plan that includes:
    • A WhatsApp business number.
    • An associated profile with the business number.
    • A WhatsApp verified and approved profile.
    • A WABA ID onboarded on Kaleyra WhatsApp API V2.

Base URL

https://<api_domain>/v2/<SID>

API Domain and Value

api_domainValue
IN podapi.in.kaleyra.io
SG Podapi.kaleyra.io
EU Podapi.eu.kaleyra.io
NA podapi.na.kaleyra.ai

API request to get Flow Details by Flow ID

To get WhatsApp Flow Details by Flow ID, use the https://<api_domain>/v2/<sid>/whatsapp/<flow_id>'endpoint with the following request method.

Request Format

The following is the request format to get WhatsApp Flow Details by Flow ID:

curl --location GET 'https://<api_domain>/v2/<sid>/whatsapp/<flow_id>?fields=<fields>' \
--header 'api-key: <api-key>'

Sample Request Format

The following is the sample request format to get WhatsApp Flow Details by Flow ID:

curl --location GET 'https://api.in.kaleyra.io/v2/HXAP16XXXXXX97IN/whatsapp/11576XXXXXXXXXX0?fields=validation_errors%252Cjson_version%252Cdata_api_version%252Cendpoint_uri%252Cwhatsapp_business_account%252Capplication%252Chealth_status' \
--header 'api-key: Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3'

URL Parameters and Headers

Following is the list of parameters and headers to get WhatsApp Flow Details by Flow ID:

ParameterData TypeDescriptionExampleMandatory?
sidStringAccount SID (Security Identifier).HXAP16XXXXXX97INYes
flow_idStringThe unique ID for each flow.11576XXXXXXXXXX0Yes
api-keyStringAPI key generated from Kaleyra platform account.Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3Yes

Following is the list of values that can be used with the “field” query parameters to select which information of the WhatsApp Flow you want to be returned:

Values for the “fields” query parameter

Data Type

Description

Example of returned object when the given value is added to the “fields” query parameter

Mandatory?

validation_errors

JSON Object

A list of validation errors detected in the Flow.
Note: See the specific table for details.
All errors must be fixed before Flow can be published.

[{"error": "INVALID_PROPERTY_VALUE" ,"error_type": "FLOW_JSON_ERROR","message": "Invalid value found for property 'type'.","line_start": 10,"line_end": 10,"column_start": 21,"column_end": 34,"pointers": [{"line_start": 10,"line_end": 10,"column_start": 21,"column_end": 34,"path": "screens [0]. layout.children [0].type"}]}]

No

json_version

String

Specifies the version of the JSON schema used in the flow.
Note:
The json_version must be a value between 1.0 to 7.1. (Recommended) as per last update from Meta.
For more information, see Meta Changelog.

3.0

No

data_api_version

String

The version of the Data API specified by the developer in the Flow JSON asset uploaded. Only for Flows with an Endpoint.
Note: The data_api_version must be a value between 1.0 to 7.1.

3.0

No

endpoint_uri

String

The "endpoint_uri" is the specific URL on the client's server that WhatsApp sends requests to whenever certain events happen within the flow.

https://www.tatacommunications.com/

No

whatsapp_business_account

JSON Object

The WhatsApp Business Account (WABA) associated with the flow.
Note: See the specific table for details.

"whatsapp_business_account": {
"currency": "EUR",
"id": "121289XXXXXX655",
"message_template_namespace": "6418bd11_8f3c_41e2_9XXa_907697fXXXXX",
"name": "Kaleyra host",
"timezone_id": "74"
}

No

application

JSON Object

Defines the details about the application associated with the flow.
Note: See the specific table for details.

"application": {
"id": "app-1234XXXXX5",
"name": "My Sample App",
"link": "https://developers.facebook.com/apps/app-1234567XXX/"
}

No

health_status

JSON Object

This object contains information about the messaging health of various entities associated with the flow. The supported health_status is AVAILABLE, LIMITED or BLOCKED.
Note: See the specific table for details.

{
"can_send_message": "AVAILABLE",
"entities": [
{
"can_send_message": "AVAILABLE",
"entity_type": "FLOW",
"id": "156XXXXXXXXXXXXX"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "WABA",
"id": "295XXXXXXXXXXXX"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "BUSINESS",
"id": "109XXXXXXXXXXXX0"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "APP",
"id": "115XXXXXXXXXXXXX"
}
][
{
"can_send_message": "AVAILABLE",
"entity_type": "FLOW",
"id": "156XXXXXXXXXXXXX"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "WABA",
"id": "295XXXXXXXXXXXX"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "BUSINESS",
"id": "109XXXXXXXXXXXX0"
},
{
"can_send_message": "AVAILABLE",
"entity_type": "APP",
"id": "115XXXXXXXXXXXXX"
}
]
}

No


The following table describes the different attributes of the 'validation_error' JSON object.

ParameterData TypeDescriptionExample
errorStringShort error code that identifies the type of validation error."INVALID_PROPERTY_VALUE"
error_typeStringDefines the type of error."FLOW_JSON_ERROR"
messageStringProvides a brief description of the validation error."Invalid value found for property 'type'"
line_startIntegerIndicates the line number where the error starts in the JSON document.10
line_endIntegerIndicates the line number where the error ends.10
column_startIntegerIndicates the column number where the error starts on the line.21
column_endIntegerIndicates the column number where the error ends.34
pointersArray of objectsA list of JSON Pointer-like objects indicating the affected paths in the flow.[{"line_start": 10,"line_end": 10,"column_start": 21,"column_end": 34,"path": "screens[0].layout.children[0].type"}]

The following table describes the different attributes of the 'pointers' array object.

ParameterData TypeDescriptionExample
line_startIntegerIndicates the line where the pointer starts.10
line_endIntegerIndicates the line where the pointer ends.10
column_startIntegerIndicates the column where the pointer starts.21
column_endIntegerIndicates the column where the pointer ends.34
pathStringSpecifies where the error is in the Flow JSON."screens[0].layout.children[0].type"

The following table describes the different attributes of the ''whatsapp_business_account" JSON object.

Parameter

Data Type

Description

Example

currency

String

Currency code used for billing.
Supported types are INR, USD, EUR, and many more.

"EUR"

id

String

Unique identifier for the WhatsApp Business Account (WABA).

"21289XXXXXX655"

message_template_namespace

String

Namespace associated with the account’s message templates.

"6418bd11_8f3c_41e2_9XXa_907697fXXXXX"

name

String

Defines the display name of the WhatsApp Business Account.

"Kaleyra host"

time_zone_id

String

Timezone configured for the account.

74

The following table describes the different attributes of the ''application" JSON object.

ParameterData TypeDescriptionExampleMandatory?
idStringUnique identifier for the application."app-1234XXXXX5"Yes
nameStringName of the application."My Sample App"Yes
linkURLURL of the application.https://developers.facebook.com/apps/app-1234567XXX/"No

The following table describes the different attributes of the ''health_status" JSON object.

ParameterData TypeDescriptionExample
can_send_messageStringIndicates whether the flow is currently in a state where messages can be sent using it. Possible values are "AVAILABLE", "LIMITED", and "BLOCKED"."AVAILABLE"
entity_typeStringType of entity represented by this object."APP", “FLOW”, “WABA”, “BUSINESS”
idStringId of the entity (WABA id, Business id, App id, Flow Id)"115XXXXXXXXXXXXX"

Sample Success Response

The following is the success response with the Query Parameters:

{
    "application": {
        "id": "11576XXXXXXXXXX0",
        "link": "https://www.kaleyra.com/",
        "name": "WA Business APP"
    },
    "health_status": {
        "can_send_message": "AVAILABLE",
        "entities": [
            {
                "can_send_message": "AVAILABLE",
                "entity_type": "FLOW",
                "id": "156XXXXXXXXXXXXX"
            },
            {
                "can_send_message": "AVAILABLE",
                "entity_type": "WABA",
                "id": "295XXXXXXXXXXXX"
            },
            {
                "can_send_message": "AVAILABLE",
                "entity_type": "BUSINESS",
                "id": "109XXXXXXXXXXXX0"
            },
            {
                "can_send_message": "AVAILABLE",
                "entity_type": "APP",
                "id": "115XXXXXXXXXXXXX"
            }
        ]
    },
    "id": "612XXXXXXXXXXXX",
    "json_version": "3.0",
    "validation_errors": [],
    "whatsapp_business_account": {
        "currency": "INR",
        "id": "295XXXXXXXXXXXX",
        "message_template_namespace": "1c9639a3_37b1_4ca9_8b72_295eXXXXXXde",
        "name": "Kaleyra_ATU_STG",
        "timezone_id": "476"
    }
}

The following is the success response without the Query parameters:

{
    "categories": [
        "APPOINTMENT_BOOKING"
    ],
    "id": "1789XXXXXXXXXXXX",
    "name": "Demo Flow Stage 6",
    "status": "DRAFT",
    "validation_errors": []
}

Sample Failure Response

The following are the failure responses:

401 Unauthorized
{
    "code": "RBC001",
    "message": "Incorrect SID or API key.",
    "data": [],
    "error": {
        "error": "Incorrect SID or API key."
    }
}
400 Incorrect payload
{
    "code": "WA-400",
    "message": "Refer to correct payload format",
    "data": {},
    "error": {
        "payload": "Incorrect payload format"
    }
}
500 Internal Server Error
{
    "code": "WA-500",
    "message": "Please try again later",
    "data": {},
    "error": {
        "error": "Internal server error"
    }
}




© 2025 Kaleyra Inc. All rights reserved.
Trademarks, logos and service marks displayed on this site are registered and unregistered trademarks of Kaleyra Inc.