{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2016-04-12",
    "endpointPrefix": "xray",
    "protocol": "rest-json",
    "serviceFullName": "AWS X-Ray",
    "signatureVersion": "v4",
    "uid": "xray-2016-04-12"
  },
  "operations": {
    "BatchGetTraces": {
      "http": {
        "requestUri": "/Traces"
      },
      "input": {
        "type": "structure",
        "required": [
          "TraceIds"
        ],
        "members": {
          "TraceIds": {
            "shape": "S2"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Traces": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Duration": {
                  "type": "double"
                },
                "Segments": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "Id": {},
                      "Document": {}
                    }
                  }
                }
              }
            }
          },
          "UnprocessedTraceIds": {
            "type": "list",
            "member": {}
          },
          "NextToken": {}
        }
      }
    },
    "GetServiceGraph": {
      "http": {
        "requestUri": "/ServiceGraph"
      },
      "input": {
        "type": "structure",
        "required": [
          "StartTime",
          "EndTime"
        ],
        "members": {
          "StartTime": {
            "type": "timestamp"
          },
          "EndTime": {
            "type": "timestamp"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "StartTime": {
            "type": "timestamp"
          },
          "EndTime": {
            "type": "timestamp"
          },
          "Services": {
            "shape": "Sh"
          },
          "NextToken": {}
        }
      }
    },
    "GetTraceGraph": {
      "http": {
        "requestUri": "/TraceGraph"
      },
      "input": {
        "type": "structure",
        "required": [
          "TraceIds"
        ],
        "members": {
          "TraceIds": {
            "shape": "S2"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Services": {
            "shape": "Sh"
          },
          "NextToken": {}
        }
      }
    },
    "GetTraceSummaries": {
      "http": {
        "requestUri": "/TraceSummaries"
      },
      "input": {
        "type": "structure",
        "required": [
          "StartTime",
          "EndTime"
        ],
        "members": {
          "StartTime": {
            "type": "timestamp"
          },
          "EndTime": {
            "type": "timestamp"
          },
          "Sampling": {
            "type": "boolean"
          },
          "FilterExpression": {},
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "TraceSummaries": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Duration": {
                  "type": "double"
                },
                "ResponseTime": {
                  "type": "double"
                },
                "HasFault": {
                  "type": "boolean"
                },
                "HasError": {
                  "type": "boolean"
                },
                "HasThrottle": {
                  "type": "boolean"
                },
                "IsPartial": {
                  "type": "boolean"
                },
                "Http": {
                  "type": "structure",
                  "members": {
                    "HttpURL": {},
                    "HttpStatus": {
                      "type": "integer"
                    },
                    "HttpMethod": {},
                    "UserAgent": {},
                    "ClientIp": {}
                  }
                },
                "Annotations": {
                  "type": "map",
                  "key": {},
                  "value": {
                    "type": "list",
                    "member": {
                      "type": "structure",
                      "members": {
                        "AnnotationValue": {
                          "type": "structure",
                          "members": {
                            "NumberValue": {
                              "type": "double"
                            },
                            "BooleanValue": {
                              "type": "boolean"
                            },
                            "StringValue": {}
                          }
                        },
                        "ServiceIds": {
                          "shape": "S1d"
                        }
                      }
                    }
                  }
                },
                "Users": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "UserName": {},
                      "ServiceIds": {
                        "shape": "S1d"
                      }
                    }
                  }
                },
                "ServiceIds": {
                  "shape": "S1d"
                }
              }
            }
          },
          "ApproximateTime": {
            "type": "timestamp"
          },
          "TracesProcessedCount": {
            "type": "long"
          },
          "NextToken": {}
        }
      }
    },
    "PutTelemetryRecords": {
      "http": {
        "requestUri": "/TelemetryRecords"
      },
      "input": {
        "type": "structure",
        "required": [
          "TelemetryRecords"
        ],
        "members": {
          "TelemetryRecords": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Timestamp": {
                  "type": "timestamp"
                },
                "SegmentsReceivedCount": {
                  "type": "integer"
                },
                "SegmentsSentCount": {
                  "type": "integer"
                },
                "SegmentsSpilloverCount": {
                  "type": "integer"
                },
                "SegmentsRejectedCount": {
                  "type": "integer"
                },
                "BackendConnectionErrors": {
                  "type": "structure",
                  "members": {
                    "TimeoutCount": {
                      "type": "integer"
                    },
                    "ConnectionRefusedCount": {
                      "type": "integer"
                    },
                    "HTTPCode4XXCount": {
                      "type": "integer"
                    },
                    "HTTPCode5XXCount": {
                      "type": "integer"
                    },
                    "UnknownHostCount": {
                      "type": "integer"
                    },
                    "OtherCount": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "EC2InstanceId": {},
          "Hostname": {},
          "ResourceARN": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "PutTraceSegments": {
      "http": {
        "requestUri": "/TraceSegments"
      },
      "input": {
        "type": "structure",
        "required": [
          "TraceSegmentDocuments"
        ],
        "members": {
          "TraceSegmentDocuments": {
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "UnprocessedTraceSegments": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "ErrorCode": {},
                "Message": {}
              }
            }
          }
        }
      }
    }
  },
  "shapes": {
    "S2": {
      "type": "list",
      "member": {}
    },
    "Sh": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "ReferenceId": {
            "type": "integer"
          },
          "Name": {},
          "Names": {
            "shape": "Sk"
          },
          "Root": {
            "type": "boolean"
          },
          "AccountId": {},
          "Type": {},
          "State": {},
          "StartTime": {
            "type": "timestamp"
          },
          "EndTime": {
            "type": "timestamp"
          },
          "Edges": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ReferenceId": {
                  "type": "integer"
                },
                "StartTime": {
                  "type": "timestamp"
                },
                "EndTime": {
                  "type": "timestamp"
                },
                "SummaryStatistics": {
                  "type": "structure",
                  "members": {
                    "OkCount": {
                      "type": "long"
                    },
                    "ErrorStatistics": {
                      "shape": "Sq"
                    },
                    "FaultStatistics": {
                      "shape": "Sr"
                    },
                    "TotalCount": {
                      "type": "long"
                    },
                    "TotalResponseTime": {
                      "type": "double"
                    }
                  }
                },
                "ResponseTimeHistogram": {
                  "shape": "Ss"
                },
                "Aliases": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "Name": {},
                      "Names": {
                        "type": "list",
                        "member": {}
                      },
                      "Type": {}
                    }
                  }
                }
              }
            }
          },
          "SummaryStatistics": {
            "type": "structure",
            "members": {
              "OkCount": {
                "type": "long"
              },
              "ErrorStatistics": {
                "shape": "Sq"
              },
              "FaultStatistics": {
                "shape": "Sr"
              },
              "TotalCount": {
                "type": "long"
              },
              "TotalResponseTime": {
                "type": "double"
              }
            }
          },
          "DurationHistogram": {
            "shape": "Ss"
          }
        }
      }
    },
    "Sk": {
      "type": "list",
      "member": {}
    },
    "Sq": {
      "type": "structure",
      "members": {
        "ThrottleCount": {
          "type": "long"
        },
        "OtherCount": {
          "type": "long"
        },
        "TotalCount": {
          "type": "long"
        }
      }
    },
    "Sr": {
      "type": "structure",
      "members": {
        "OtherCount": {
          "type": "long"
        },
        "TotalCount": {
          "type": "long"
        }
      }
    },
    "Ss": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Value": {
            "type": "double"
          },
          "Count": {
            "type": "integer"
          }
        }
      }
    },
    "S1d": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Name": {},
          "Names": {
            "shape": "Sk"
          },
          "AccountId": {},
          "Type": {}
        }
      }
    }
  }
}