Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Object types
Relationship types
Last updated Mar 3, 2026

External message has child external message

The Teamwork Graph API is available through Forge's Early Access Program (EAP).

EAPs are offered to selected users for testing and feedback purposes. These features are unsupported and are subject to change without notice.

You must only install apps that call the Teamwork Graph API in test organizations. Apps calling the Teamwork Graph API require the read:graph:jiraor read:graph:confluence scope, which provides access to Teamwork Graph data across your entire organization. While apps still respect end-user permissions, this scope may grant access to sensitive information. For safety, only install these apps in organizations with test data unless you have an approved path to production.

Additionally, this EAP has significant limitations. To review the full list of limitations, see Limitations and considerations.

You must be part of this EAP in order to use the Teamwork Graph API. Express interest in joining through this form.

The ExternalMessageHasChildExternalMessage relationship represents the hierarchical link between messages, where one message is a reply or thread response to another. It allows you to:

  • Retrieve child messages (replies) to a specific parent message
  • Find the parent message of a specific message reply
  • Build and traverse message threads and conversations

Relationship type: Canonical

From object typesTo object types
External message - ati:cloud:graph:messageExternal message - ati:cloud:graph:message

Cypher

We recommend sending parameterized Cypher queries as below instead of embedding the parameters directly in the query string. This approach will help ensure better performance.

GraphQL

1
2
query ExternalMessageHasChildExternalMessage_CypherQuery($cypherQuery: String!, $params: CypherRequestParams) {
  cypherQuery(query: $cypherQuery, params: $params) {
    edges {
      node {
        columns {
          value {
            ... on CypherQueryResultNode {
              id
              data {
                __typename
                ... on ExternalMessage {
                  id
                }
              }
            }
          }
        }
      }
    }
  }
}

Params

1
2
{
  "cypherQuery": "MATCH (message:ExternalMessage {ari: $id})-[:external_message_has_child_external_message]->(message_1:ExternalMessage) RETURN message_1",
  "params": {
    "id": "$id"
  }
}

Rate this page: