{
   "openapi": "3.0.3",
   "info": {
      "title": "AT&T Network Performance API",
      "description": "The Network Performance Monitoring API enables device-specific (User Endpoint) RAN (Radio Access Network) performance metrics to be made available to developers and applications from AT&T customers.\n\nTo read more about the API, please visit the [product documentation](https://developer.vonage.com/en/att-network-apis/network-performance/overview).\n\n> Please note that this API is not currently publicly available. If you wish to get access, please contact our sales or support team using [this form](https://www.vonage.com/communications-apis/contact-api/).\n",
      "termsOfService": "https://www.vonage.com/legal/communications-apis/terms-of-use/",
      "contact": {
         "name": "Vonage Developer Relations",
         "email": "devrel@vonage.com",
         "url": "https://developer.vonage.com/"
      },
      "license": {
         "name": "Apache 2.0",
         "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
      },
      "version": "4.0.0"
   },
   "externalDocs": {
      "description": "AT&T Network API Accelerator Program",
      "url": "https://developer.vonage.com/en/att-network-apis/overview"
   },
   "servers": [
      {
         "url": "https://networkperformance.gw.cloud.att.com/api/1.0"
      }
   ],
   "paths": {
      "/performanceMeasurement": {
         "parameters": [
            {
               "name": "fields",
               "description": "Comma-separated properties to be provided in the response.",
               "in": "query",
               "schema": {
                  "type": "string"
               }
            },
            {
               "name": "offset",
               "description": "Requested index for start of resources to be provided in the response.",
               "in": "query",
               "schema": {
                  "type": "integer"
               }
            },
            {
               "name": "limit",
               "description": "Requested number of resources to be provided in the response.",
               "in": "query",
               "schema": {
                  "type": "integer"
               }
            }
         ],
         "get": {
            "summary": "List or find PerformanceMeasurement objects",
            "description": "This operation will list or find PerformanceMeasurement entities.",
            "operationId": "listPerformanceMeasurement",
            "responses": {
               "200": {
                  "description": "Successful operation",
                  "headers": {
                     "X-Total-Count": {
                        "description": "Total number of items matching criteria.",
                        "schema": {
                           "type": "integer"
                        }
                     },
                     "X-Result-Count": {
                        "description": "Actual number of items returned in the response body.",
                        "schema": {
                           "type": "integer"
                        }
                     }
                  },
                  "content": {
                     "application/json": {
                        "schema": {
                           "type": "array",
                           "items": {
                              "$ref": "#/components/schemas/PerformanceMeasurement"
                           }
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request",
                  "$ref": "#/components/schemas/Error"
               },
               "401": {
                  "description": "Unauthorized",
                  "$ref": "#/components/schemas/Error"
               },
               "403": {
                  "description": "Forbidden",
                  "$ref": "#/components/schemas/Error"
               },
               "404": {
                  "description": "Not Found",
                  "$ref": "#/components/schemas/Error"
               },
               "405": {
                  "description": "Method Not Allowed",
                  "$ref": "#/components/schemas/Error"
               },
               "409": {
                  "description": "Conflict",
                  "$ref": "#/components/schemas/Error"
               },
               "500": {
                  "description": "Internal Server Error",
                  "$ref": "#/components/schemas/Error"
               }
            }
         }
      },
      "/performanceIndicatorSpecification": {
         "parameters": [
            {
               "name": "fields",
               "description": "Comma-separated properties to be provided in response.",
               "in": "query",
               "schema": {
                  "type": "string"
               }
            },
            {
               "name": "offset",
               "description": "Requested index for start of resources to be provided in response.",
               "in": "query",
               "schema": {
                  "type": "integer"
               }
            },
            {
               "name": "limit",
               "description": "Requested number of resources to be provided in response.",
               "in": "query",
               "schema": {
                  "type": "integer"
               }
            }
         ],
         "get": {
            "operationId": "listPerformanceIndicatorSpecification",
            "description": "This operation will list or find PerformanceIndicatorSpecification entities.",
            "summary": "List or find PerformanceIndicatorSpecification objects.",
            "responses": {
               "200": {
                  "description": "Success",
                  "headers": {
                     "X-Total-Count": {
                        "description": "Total number of items matching criteria.",
                        "schema": {
                           "type": "integer"
                        }
                     },
                     "X-Result-Count": {
                        "description": "Actual number of items returned in the response body.",
                        "schema": {
                           "type": "integer"
                        }
                     }
                  },
                  "x-amf-mediaType": "application/json;charset=utf-8",
                  "content": {
                     "application/json": {
                        "schema": {
                           "type": "array",
                           "items": {
                              "$ref": "#/components/schemas/PerformanceIndicatorSpecification"
                           }
                        }
                     }
                  }
               },
               "400": {
                  "description": "Bad Request",
                  "$ref": "#/components/schemas/Error"
               },
               "401": {
                  "description": "Unauthorized",
                  "$ref": "#/components/schemas/Error"
               },
               "403": {
                  "description": "Forbidden",
                  "$ref": "#/components/schemas/Error"
               },
               "404": {
                  "description": "Not Found",
                  "$ref": "#/components/schemas/Error"
               },
               "405": {
                  "description": "Method Not Allowed",
                  "$ref": "#/components/schemas/Error"
               },
               "409": {
                  "description": "Conflict",
                  "$ref": "#/components/schemas/Error"
               },
               "500": {
                  "description": "Internal Server Error",
                  "$ref": "#/components/schemas/Error"
               }
            }
         }
      }
   },
   "components": {
      "securitySchemes": {
         "three_legged_roaming": {
            "type": "oauth2",
            "description": "Three-legged OAuth 2.0 flows require the application to obtain End-User authorization and a token to access resources on behalf of the End-User. More information at <https://developer.vonage.com/concepts/guides/authentication>.\n\nAPI specs available at: <https://developer.vonage.com/api/camara/auth>.\n",
            "flows": {
               "authorizationCode": {
                  "authorizationUrl": "https://api-eu.vonage.com/oauth2/bc-authorize",
                  "tokenUrl": "https://api-eu.vonage.com/oauth2/token",
                  "scopes": {
                     "dpv:NotApplicable#device-status:roaming:read": "Get roaming status"
                  }
               }
            }
         },
         "three_legged_connectivity": {
            "type": "oauth2",
            "description": "Three-legged OAuth 2.0 flows require the application to obtain End-User authorization and a token to access resources on behalf of the End-User. More information at <https://developer.vonage.com/concepts/guides/authentication>.\n\nAPI specs available at: <https://developer.vonage.com/api/camara/auth>.\n",
            "flows": {
               "authorizationCode": {
                  "authorizationUrl": "https://api-eu.vonage.com/oauth2/bc-authorize",
                  "tokenUrl": "https://api-eu.vonage.com/oauth2/token",
                  "scopes": {
                     "dpv:NotApplicable#device-status:connectivity:read": "Get connectivity status"
                  }
               }
            }
         }
      },
      "schemas": {
         "PerformanceMeasurement": {
            "description": "A measurement of a performance indicator.",
            "type": "object",
            "properties": {
               "id": {
                  "description": "Unique identifier.",
                  "type": "string"
               },
               "href": {
                  "description": "Hyperlink reference.",
                  "type": "string"
               },
               "description": {
                  "description": "A free-text description of the performance measurement.",
                  "type": "string"
               },
               "indicatorCategory": {
                  "description": "A category of the measurement. (e.g. different SDOs may be using different categories)",
                  "type": "string"
               },
               "indicatorName": {
                  "description": "A word, term, or phrase by which a measurement is known and distinguished from other performance measurements.",
                  "type": "string"
               },
               "indicatorType": {
                  "description": "This attribute indicates different forms in which the measurement data can be captured. (please see details below)",
                  "type": "string"
               },
               "indicatorUnit": {
                  "description": "The unit of the measurement. (e.g. second, bytes, Celsius, etc.)",
                  "type": "string"
               },
               "observedValue": {
                  "description": "The measurement value.",
                  "type": "string"
               },
               "measurementCollectionJob": {
                  "$ref": "#/components/schemas/MeasurementCollectionJobRef"
               },
               "performanceIndicatorSpecification": {
                  "$ref": "#/components/schemas/PerformanceIndicatorSpecificationRef"
               },
               "reportingSystem": {
                  "$ref": "#/components/schemas/ResourceRef"
               },
               "sourceSystem": {
                  "$ref": "#/components/schemas/ResourceRef"
               },
               "validFor": {
                  "$ref": "#/components/schemas/TimePeriod"
               },
               "@baseType": {
                  "description": "When sub-classing, this defines the super-class.",
                  "type": "string"
               },
               "@schemaLocation": {
                  "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                  "type": "string"
               },
               "@type": {
                  "description": "When sub-classing, this defines the sub-class extensible name.",
                  "type": "string"
               }
            }
         },
         "PerformanceIndicatorSpecification": {
            "description": "PerformanceIndicatorSpecification holds the definition of the requested performance indicator including: name, value type, collection type, description and units.",
            "type": "object",
            "properties": {
               "id": {
                  "description": "A unique identifier for the PerformanceIndicatorSpecification.",
                  "type": "string"
               },
               "href": {
                  "description": "Hyperlink reference.",
                  "type": "string"
               },
               "derivationAlgorithm": {
                  "description": "A step-by-step procedure used to calculate the value of PerformanceIndicator.",
                  "type": "string"
               },
               "derivationMethod": {
                  "description": "For simple calculations, the method used to calculate the value of a PerformanceIndicator, such as average, minimum, maximum, sum and so forth.",
                  "type": "string"
               },
               "description": {
                  "description": "A narrative that explains in detail what the PerformanceIndicatorSpecification is.",
                  "type": "string"
               },
               "indicatorCategory": {
                  "description": "A grouping or set of PerformanceIndicatorSpecifications that are classified together because of common characteristics, such as technology specific, service specific, or technology/service independent.",
                  "type": "string"
               },
               "indicatorUnit": {
                  "description": "The unit by which the indicator is measured. For example, seconds, KBs, rate per second, etc.",
                  "type": "string"
               },
               "name": {
                  "description": "A word, term, or phrase by which a PerformanceIndicatorSpecification is known and distinguished from other PerformanceIndicatorSpecifications.",
                  "type": "string"
               },
               "perspective": {
                  "description": "The point of view for the PerformanceIndicatorSpecification, such as a single user instance or aggregation.",
                  "type": "string"
               },
               "collectionType": {
                  "$ref": "#/components/schemas/CollectionType"
               },
               "indicatorType": {
                  "$ref": "#/components/schemas/IndicatorType"
               },
               "performanceIndicatorSpecRelationship": {
                  "type": "array",
                  "items": {
                     "$ref": "#/components/schemas/PerformanceIndicatorSpecRelationship"
                  }
               },
               "validFor": {
                  "$ref": "#/components/schemas/TimePeriod"
               },
               "@baseType": {
                  "description": "When sub-classing, this defines the super-class.",
                  "type": "string"
               },
               "@schemaLocation": {
                  "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                  "type": "string"
               },
               "@type": {
                  "description": "When sub-classing, this defines the sub-class extensible name.",
                  "type": "string"
               }
            }
         },
         "MeasurementCollectionJobRef": {
            "type": "object",
            "required": [
               "id"
            ],
            "properties": {
               "id": {
                  "description": "Unique identifier.",
                  "type": "string"
               },
               "href": {
                  "description": "Hyperlink reference.",
                  "type": "string"
               },
               "name": {
                  "description": "Name of the related entity.",
                  "type": "string"
               },
               "@baseType": {
                  "description": "When sub-classing, this defines the super-class.",
                  "type": "string"
               },
               "@schemaLocation": {
                  "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                  "type": "string"
               },
               "@type": {
                  "description": "When sub-classing, this defines the sub-class extensible name.",
                  "type": "string"
               },
               "@referredType": {
                  "description": "The actual type of the target instance when needed for disambiguation.",
                  "type": "string"
               }
            }
         },
         "PerformanceIndicatorSpecificationRef": {
            "description": "PerformanceIndicatorSpecification reference is a detailed description of a tangible or intangible object made available externally in the form of a PerformanceIndicatorSpecification to customers or other parties playing a party role.",
            "type": "object",
            "required": [
               "id"
            ],
            "properties": {
               "id": {
                  "description": "Unique identifier.",
                  "type": "string"
               },
               "href": {
                  "description": "Hyperlink reference.",
                  "type": "string"
               },
               "name": {
                  "description": "Name of the related entity.",
                  "type": "string"
               },
               "version": {
                  "description": "Version of the performance indicator specification.",
                  "type": "string"
               },
               "@baseType": {
                  "description": "When sub-classing, this defines the super-class.",
                  "type": "string"
               },
               "@schemaLocation": {
                  "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                  "type": "string"
               },
               "@type": {
                  "description": "When sub-classing, this defines the sub-class extensible name.",
                  "type": "string"
               },
               "@referredType": {
                  "description": "The actual type of the target instance when needed for disambiguation.",
                  "type": "string"
               }
            }
         },
         "ResourceRef": {
            "type": "object",
            "required": [
               "id"
            ],
            "properties": {
               "id": {
                  "description": "Unique identifier.",
                  "type": "string"
               },
               "href": {
                  "description": "Hyperlink reference.",
                  "type": "string"
               },
               "name": {
                  "description": "Name of the related entity.",
                  "type": "string"
               },
               "@baseType": {
                  "description": "When sub-classing, this defines the super-class.",
                  "type": "string"
               },
               "@schemaLocation": {
                  "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                  "type": "string"
               },
               "@type": {
                  "description": "When sub-classing, this defines the sub-class extensible name.",
                  "type": "string"
               },
               "@referredType": {
                  "description": "The actual type of the target instance when needed for disambiguation.",
                  "type": "string"
               }
            }
         },
         "TimePeriod": {
            "description": "A period of time, either as a deadline (endDateTime only), a startDateTime only, or both.",
            "type": "object",
            "properties": {
               "endDateTime": {
                  "description": "End of the time period, using IETF RFC3339 format.",
                  "example": {
                     "strict": false,
                     "value": "1985-04-12T23:20:50.52Z"
                  },
                  "type": "string",
                  "format": "date-time"
               },
               "startDateTime": {
                  "description": "Start of the time period, using IETF RFC3339  format.",
                  "example": {
                     "strict": false,
                     "value": "1985-04-12T23:20:50.52Z"
                  },
                  "type": "string",
                  "format": "date-time"
               }
            }
         },
         "CollectionType": {
            "description": "This is enumeration for CollectionType state.",
            "enum": [
               "cumulative",
               "delta",
               "discrete_event",
               "gauge",
               "status_inspection"
            ],
            "type": "string"
         },
         "IndicatorType": {
            "description": "This is enumeration for Indicator type.",
            "enum": [
               "string",
               "int",
               "float",
               "double"
            ],
            "type": "string"
         },
         "PerformanceIndicatorSpecRelationship": {
            "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity.",
            "type": "object",
            "required": [
               "relationshipType",
               "validFor"
            ],
            "properties": {
               "id": {
                  "description": "Unique identifier of the target specification.",
                  "type": "string"
               },
               "href": {
                  "description": "Hyperlink reference to the target specification.",
                  "type": "string"
               },
               "name": {
                  "description": "Name of the targetcharacteristic",
                  "type": "string"
               },
               "relationshipType": {
                  "type": "string"
               },
               "role": {
                  "description": "The association role for this service specification.",
                  "type": "string"
               },
               "validFor": {
                  "$ref": "#/components/schemas/TimePeriod"
               },
               "@baseType": {
                  "description": "When sub-classing, this defines the super-class.",
                  "type": "string"
               },
               "@schemaLocation": {
                  "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                  "type": "string"
               },
               "@type": {
                  "description": "When sub-classing, this defines the sub-class extensible name.",
                  "type": "string"
               }
            }
         },
         "Error": {
            "description": "Used when an API throws an error, typically with a HTTP error response-code (3xx, 4xx, 5xx).",
            "type": "object",
            "required": [
               "code",
               "reason"
            ],
            "properties": {
               "code": {
                  "description": "Application relevant detail, defined in the API or a common list.",
                  "type": "string"
               },
               "reason": {
                  "description": "Explanation of the reason for the error which can be shown to a client user.",
                  "type": "string"
               },
               "message": {
                  "description": "More details and corrective actions related to the error which can be shown to a client user.",
                  "type": "string"
               },
               "status": {
                  "description": "HTTP error code extension.",
                  "type": "string"
               },
               "referenceError": {
                  "description": "URI of documentation describing the error.",
                  "type": "string"
               },
               "@baseType": {
                  "description": "When sub-classing, this defines the super-class.",
                  "type": "string"
               },
               "@schemaLocation": {
                  "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                  "type": "string"
               },
               "@type": {
                  "description": "When sub-classing, this defines the sub-class entity name.",
                  "type": "string"
               }
            }
         }
      }
   }
}