NOTE: Some aspects of this product are in Beta. The hybrid installation options are GA. To join the Beta program, reach out to your Apigee representative.

REST Resource: organizations.environments.apis.revisions.debugsessions.data

Resource: DebugSessionTransaction

A transaction contains all of the debug information of the entire message flow of an API call processed by the runtime plane. The information is collected and recorded at critical points of the message flow in the runtime apiproxy.

JSON representation
{
  "completed": boolean,
  "point": [
    {
      object (Point)
    }
  ]
}
Fields
completed

boolean

Flag indicating whether a transaction is completed or not

point[]

object (Point)

List of debug data collected by runtime plane at various defined points in the flow.

Point

Point is a group of information collected by runtime plane at critical points of the message flow of the processed API request. This is a list of supported point IDs, categorized to three major buckets. For each category, debug points that we are currently supporting are listed below: - Flow status debug points: StateChange FlowInfo Condition Execution DebugMask Error - Flow control debug points: FlowCallout Paused Resumed FlowReturn BreakFlow Error - Runtime debug points: ScriptExecutor FlowCalloutStepDefinition CustomTarget StepDefinition Oauth2ServicePoint RaiseFault NodeJS

The detail information of the given debug point is stored in a list of results.

JSON representation
{
  "id": string,
  "results": [
    {
      object (Result)
    }
  ]
}
Fields
id

string

Name of a step in the transaction.

results[]

object (Result)

List of results extracted from a given debug point.

Result

Result is short for "action result", could be different types identified by "actionResult" field. Supported types: 1. DebugInfo : generic debug info collected by runtime recorded as a list of properties. For example, the contents could be virtual host info, state change result, or execution metadata. Required fields : properties, timestamp

  1. RequestMessage: information of a http request. Contains headers, request URI and http methods type.Required fields : headers, uri, verb

  2. ResponseMessage: information of a http response. Contains headers, reason phrase and http status code. Required fields : headers, reasonPhrase, statusCode

  3. ErrorMessage: information of a http error message. Contains detail error message, reason phrase and status code. Required fields : content, headers, reasonPhrase, statusCode

  4. VariableAccess: a list of variable access actions, can be Get, Set and Remove. Required fields : accessList

JSON representation
{
  "ActionResult": string,
  "properties": {
    object (Properties)
  },
  "timestamp": string,
  "headers": [
    {
      object (Property)
    }
  ],
  "uRI": string,
  "verb": string,
  "accessList": [
    {
      object (Access)
    }
  ],
  "reasonPhrase": string,
  "statusCode": string,
  "content": string
}
Fields
ActionResult

string

Type of the action result. Can be one of the five: DebugInfo, RequestMessage, ResponseMessage, ErrorMessage, VariableAccess

properties

object (Properties)

Name value pairs used for DebugInfo ActionResult.

timestamp

string

Timestamp of when the result is recorded. Its format is dd-mm-yy hh:mm:ss:xxx. For example, "timestamp" : "12-08-19 00:31:59:960"

headers[]

object (Property)

A list of HTTP headers. for example, '"headers" : [ { "name" : "Content-Length", "value" : "83" }, { "name" : "Content-Type", "value" : "application/json" } ]'

uRI

string

The relative path of the api proxy. for example, "uRI" : "/iloveapis"

verb

string

HTTP method verb

accessList[]

object (Access)

A list of variable access actions agaist the api proxy. Supported values: Get, Set, Remove.

reasonPhrase

string

HTTP response phrase

statusCode

string

HTTP response code

content

string

Error message content. for example, "content" : "{"fault":{"faultstring":"API timed out","detail":{"errorcode":"flow.APITimedOut"}}}"

Access

JSON representation
{

  // Union field action can be only one of the following:
  "Get": {
    object (Get)
  },
  "Set": {
    object (Set)
  },
  "Remove": {
    object (Remove)
  }
  // End of list of possible types for union field action.
}
Fields

Union field action.

action can be only one of the following:

Get

object (Get)

Set

object (Set)

Remove

object (Remove)

Get

Get action. For example, "Get" : { "name" : "target.name", "value" : "default" }

JSON representation
{
  "name": string,
  "value": string
}
Fields
name

string

value

string

Set

Set action. For example, "Set" : { "name" : "target.name", "success" : true, "value" : "default" }

JSON representation
{
  "name": string,
  "success": boolean,
  "value": string
}
Fields
name

string

success

boolean

value

string

Remove

Remove action. For example, "Remove" : { "name" : "target.name", "success" : true }

JSON representation
{
  "name": string,
  "success": boolean
}
Fields
name

string

success

boolean

Methods

get

Gets the debug data from a transaction.

list

Lists the transaction IDs from a debug session.