{
  "openapi": "3.0.0",
  "info": {
    "title": "tmf645-serviceQualification-mvnx",
    "description": "TMF645 Service Qualification API enables the client to check service technical eligibility in the context of the interaction.\nRequest a specific service eligibility providing as an input configured service. The service checkServiceQualification is used for this purpose. The requester will provide an array of service qualification item and expect to have a qualification result for each one of them. In the response, the API will provide qualification result but also eligibility unavailability reason (if any).Specification for TMF645 Service Qualification API for MVNx",
    "version": "4.0.0"
  },
  "paths": {
    "/healthz": {
      "get": {
        "description": "Health Check",
        "responses": {
          "200": {
            "description": "Success",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "application_name": "tmf645-serviceQualification-mvnx",
                    "message": "Application up and running"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/checkServiceQualification": {
      "post": {
        "operationId": "checkServiceQualification",
        "description": "Check service qualification details for a specified service based on address or zipcode. Returns details of the available wireless services. (TMF 645)",
        "summary": "Check service technical eligibility",
        "parameters": [
          {
            "name": "@type",
            "description": "Set qualifier in request",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "WirelessNetworkCoverageCheckServiceQualification"
              ]
            }
          },
          {
            "name": "Authorization",
            "description": "JWT Bearer Token. Token URL: https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token \r\n\r\n See example below.\r\n\r\n\ncurl --location --request POST 'https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token'  \r\n --header 'Content-Type: application/x-www-form-urlencoded'  \r\n --header 'Cookie: fpc=Aswi39iZZIlGtV66yM1qCANKExLGAQAAAOqRbtgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'  \r\n --data-urlencode 'scope=api://testHarnessCustomersStage1/.default'  \r\n --data-urlencode 'grant_type=client_credentials'  \r\n --data-urlencode 'client_id=6bb2748d-d916-4534-5148-ee8f598e1e00'  \r\n --data-urlencode 'client_secret=k_43YrZE2S2v9o6__e.KOKc_V4h__csa3M' \r\n\r\n Note: client id/secret are not the right ones - contact API provider, via 'Request Access' button to get the correct on",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "description": "Specifies the media type as \"application/json\".",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string",
              "default": "application/json"
            }
          },
          {
            "name": "X-ATT-CorrelationId",
            "description": "A GUID1 provided by the client that typically serves as a reference ID used to correlate client activity with transactions processed by the server. It is generally paired with the X-ATT-ConversationId to help with tracing and observability.",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-ATT-ClientId",
            "description": "A GUID1 derived from the JSON Web Token which represents the ClientId of the API Consumer who initiated the call flow at the Mule Gateway. This is used by downstream APIs to log data about the entity which initiated the call flow.",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "title": "checkServiceQualificationRequest",
                "description": "The checkServiceQualification to be created. For a given address or zipcode\ncheck, the only required fields are @type, which must have a value of \n\"WirelessNetworkCoverageCheckServiceQualification\", and serviceQualificationItems, which should\nbe a one-element array of type serviceQualificationItem.\n",
                "x-amf-examples": {
                  "AddressRequest": {
                    "serviceQualificationItem": [
                      {
                        "service": {
                          "id": "SVC-400",
                          "place": [
                            {
                              "@type": "ServiceAddress",
                              "streetNr": "575",
                              "streetNrSuffix": "B",
                              "streetName": "Marosgo",
                              "streetSuffix": "NE",
                              "streetType": "drive",
                              "streetDirPrefix": "string",
                              "subUnitType": "Apt",
                              "subUnitNumber": "101",
                              "city": "Atlanta",
                              "stateOrProvince": "GA",
                              "zipCode": "12345",
                              "country": "USA"
                            }
                          ],
                          "@type": "WirelessNetworkCoverageService"
                        }
                      }
                    ],
                    "@type": "WirelessNetworkCoverageCheckServiceQualification"
                  },
                  "ZipcodeRequest": {
                    "serviceQualificationItem": [
                      {
                        "service": {
                          "id": "SVC-400",
                          "place": [
                            {
                              "@type": "ServiceZipCode",
                              "zipCode": "12345"
                            }
                          ],
                          "@type": "WirelessNetworkCoverageService"
                        }
                      }
                    ],
                    "@type": "WirelessNetworkCoverageCheckServiceQualification"
                  },
                  "AddressAIARequest": {
                    "serviceQualificationItem": [
                      {
                        "service": {
                          "id": "SVC-500",
                          "place": [
                            {
                              "@type": "ServiceAddress",
                              "streetNr": "575",
                              "streetNrSuffix": "B",
                              "streetName": "Marosgo",
                              "streetSuffix": "NE",
                              "streetType": "drive",
                              "streetDirPrefix": "string",
                              "subUnitType": "Apt",
                              "subUnitNumber": "101",
                              "city": "Atlanta",
                              "stateOrProvince": "GA",
                              "zipCode": "12345",
                              "country": "USA"
                            }
                          ],
                          "@type": "WirelessNetworkCoverageService"
                        }
                      }
                    ],
                    "@type": "WirelessNetworkCoverageCheckServiceQualification"
                  }
                },
                "type": "object",
                "required": [
                  "serviceQualificationItem",
                  "@type"
                ],
                "properties": {
                  "serviceQualificationItem": {
                    "title": "serviceQualificationItem",
                    "description": "A list of service qualification items.",
                    "type": "array",
                    "maxItems": 1,
                    "minItems": 1,
                    "items": {
                      "$ref": "#/components/schemas/ServiceQualificationItemReq"
                    }
                  },
                  "@type": {
                    "title": "@type",
                    "description": "When sub-classing, this defines the sub-class entity name",
                    "type": "string",
                    "pattern": "^WirelessNetworkCoverageCheckServiceQualification$"
                  }
                }
              }
            }
          },
          "x-amf-mediaType": "application/json"
        },
        "responses": {
          "200": {
            "description": "Success -- the result of the service qualification will be found in the qualificationResult element of the response: \"qualified\" or \"unqualified\"",
            "x-amf-mediaType": "application/json;charset=utf-8",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "title": "checkServiceQualificationResponse",
                  "description": "",
                  "x-amf-examples": {
                    "AddressQualAIAResponse": {
                      "value": {
                        "id": "04a58f02-76db-4f22-9fe0-586df6cd5796",
                        "checkServiceQualificationDate": "2026-01-10T19:20:39.239Z",
                        "qualificationResult": "qualified",
                        "serviceQualificationItem": [
                          {
                            "id": "SQI-500",
                            "qualificationResult": "qualified",
                            "state": "done",
                            "service": {
                              "id": "SVC-500",
                              "name": "AIA Wholesale",
                              "serviceType": "AIA-W",
                              "feature": [
                                {
                                  "id": "FTR-700",
                                  "name": "AIA",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-800",
                                      "name": "SpecialSvc",
                                      "valueType": "string",
                                      "value": "MVNO"
                                    }
                                  ]
                                }
                              ],
                              "place": [
                                {
                                  "id": "AIA-W_9999NA",
                                  "@type": "ServiceAddress",
                                  "@baseType": "GeographicAddress",
                                  "streetNr": "575",
                                  "streetNrSuffix": "B",
                                  "streetName": "Marosgo",
                                  "streetSuffix": "NE",
                                  "streetType": "drive",
                                  "streetDirPrefix": "string",
                                  "subUnitType": "Apt",
                                  "subUnitNumber": "101",
                                  "city": "Atlanta",
                                  "stateOrProvince": "GA",
                                  "zipCode": "12345",
                                  "country": "USA",
                                  "qualifiedPlace": {
                                    "matchType": "ClosestAddress",
                                    "addrLine1": "575 B Morosgo Dr NE",
                                    "addrLine2": "Apt 101",
                                    "city": "Atlanta",
                                    "state": "GA",
                                    "country": "USA",
                                    "zipCode": "12345",
                                    "latitude": 33.82171,
                                    "longitude": -88.720175
                                  }
                                }
                              ],
                              "@type": "WirelessNetworkCoverageService",
                              "@baseType": "Service"
                            }
                          }
                        ],
                        "state": "done",
                        "@type": "WirelessNetworkCoverageCheckServiceQualification",
                        "@baseType": "CheckServiceQualification"
                      }
                    },
                    "AddressQualResponse": {
                      "value": {
                        "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                        "checkServiceQualificationDate": "2025-09-10T19:20:39.239Z",
                        "qualificationResult": "qualified",
                        "serviceQualificationItem": [
                          {
                            "id": "SQI-400",
                            "qualificationResult": "qualified",
                            "state": "done",
                            "service": {
                              "id": "SVC-400",
                              "name": "Wireless Network Coverage",
                              "serviceType": "WNC",
                              "feature": [
                                {
                                  "id": "FTR-500",
                                  "name": "5G",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1200",
                                      "name": "SignalStrength",
                                      "valueType": "string",
                                      "value": "Good"
                                    }
                                  ]
                                },
                                {
                                  "id": "FTR-400",
                                  "name": "4G LTE",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1200",
                                      "name": "SignalStrength",
                                      "valueType": "string",
                                      "value": "Best"
                                    }
                                  ]
                                }
                              ],
                              "place": [
                                {
                                  "id": "123",
                                  "@type": "ServiceAddress",
                                  "@baseType": "GeographicAddress",
                                  "streetNr": "575",
                                  "streetNrSuffix": "B",
                                  "streetName": "Marosgo",
                                  "streetSuffix": "NE",
                                  "streetType": "drive",
                                  "streetDirPrefix": "string",
                                  "subUnitType": "Apt",
                                  "subUnitNumber": "101",
                                  "city": "Atlanta",
                                  "stateOrProvince": "GA",
                                  "zipCode": "12345",
                                  "country": "USA",
                                  "qualifiedPlace": {
                                    "matchType": "ClosestAddress",
                                    "addrLine1": "575 B Morosgo Dr NE",
                                    "addrLine2": "Apt 101",
                                    "city": "Atlanta",
                                    "state": "GA",
                                    "country": "USA",
                                    "zipCode": "12345",
                                    "latitude": 33.82171,
                                    "longitude": -88.720175
                                  }
                                }
                              ],
                              "@type": "WirelessNetworkCoverageService",
                              "@baseType": "Service"
                            }
                          }
                        ],
                        "state": "done",
                        "@type": "WirelessNetworkCoverageCheckServiceQualification",
                        "@baseType": "CheckServiceQualification"
                      }
                    },
                    "ZipcodeQualResponse": {
                      "value": {
                        "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                        "checkServiceQualificationDate": "2025-09-10T19:20:39.239Z",
                        "qualificationResult": "qualified",
                        "serviceQualificationItem": [
                          {
                            "id": "SQI-400",
                            "qualificationResult": "qualified",
                            "state": "done",
                            "service": {
                              "id": "SVC-400",
                              "name": "Wireless Network Coverage",
                              "serviceType": "WNC",
                              "feature": [
                                {
                                  "id": "FTR-500",
                                  "name": "5G",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1000",
                                      "name": "OnNetCoverage",
                                      "valueType": "Number",
                                      "value": 80
                                    },
                                    {
                                      "id": "FCH-1100",
                                      "name": "PartnerCoverage",
                                      "valueType": "Number",
                                      "value": 10
                                    }
                                  ]
                                },
                                {
                                  "id": "FTR-400",
                                  "name": "4G LTE",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1000",
                                      "name": "OnNetCoverage",
                                      "valueType": "Number",
                                      "value": 10
                                    },
                                    {
                                      "id": "FCH-1100",
                                      "name": "PartnerCoverage",
                                      "valueType": "Number",
                                      "value": 20
                                    }
                                  ]
                                }
                              ],
                              "place": [
                                {
                                  "id": "123",
                                  "@type": "ServiceZipCode",
                                  "@baseType": "GeographicAddress",
                                  "zipCode": "12345"
                                }
                              ],
                              "@type": "WirelessNetworkCoverageService",
                              "@baseType": "Service"
                            }
                          }
                        ],
                        "state": "done",
                        "@type": "WirelessNetworkCoverageCheckServiceQualification",
                        "@baseType": "CheckServiceQualification"
                      }
                    },
                    "AddressUnQualAIAResponse": {
                      "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                      "checkServiceQualificationDate": "2026-01-10T19:20:39.239Z",
                      "qualificationResult": "unqualified",
                      "serviceQualificationItem": [
                        {
                          "id": "SQI-500",
                          "qualificationResult": "unqualified",
                          "state": "done",
                          "service": {
                            "id": "SVC-500",
                            "name": "AIA Wholesale",
                            "serviceType": "AIA-W",
                            "place": [
                              {
                                "id": "AIA-W_9999NA",
                                "@type": "ServiceAddress",
                                "@baseType": "GeographicAddress",
                                "streetNr": "574",
                                "streetNrSuffix": "B",
                                "streetName": "Morosgo",
                                "streetSuffix": "",
                                "streetType": "drive",
                                "streetDirPrefix": "string",
                                "subUnitType": "Apt",
                                "subUnitNumber": "101",
                                "city": "Atlanta",
                                "stateOrProvince": "GA",
                                "zipCode": "12345",
                                "country": "USA",
                                "qualifiedPlace": {
                                  "matchType": "ClosestStreet",
                                  "addrLine1": "575 B Morosgo Dr NE",
                                  "addrLine2": "Apt 101",
                                  "city": "Atlanta",
                                  "state": "GA",
                                  "country": "USA",
                                  "zipCode": "12345",
                                  "latitude": 33.82171,
                                  "longitude": -88.720175
                                }
                              }
                            ],
                            "@type": "WirelessNetworkCoverageService",
                            "@baseType": "Service"
                          },
                          "eligibilityUnavailabilityReason": [
                            {
                              "code": "AIA-W-200-3",
                              "label": "No Network Coverage for the Requested Service Location"
                            }
                          ]
                        }
                      ],
                      "state": "done",
                      "@type": "WirelessNetworkCoverageCheckServiceQualification",
                      "@baseType": "CheckServiceQualification"
                    },
                    "AddressUnQualResponse": {
                      "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                      "checkServiceQualificationDate": "2020-04-10T19:20:39.239Z",
                      "qualificationResult": "unqualified",
                      "serviceQualificationItem": [
                        {
                          "id": "SQI-400",
                          "qualificationResult": "unqualified",
                          "state": "done",
                          "service": {
                            "id": "SVC-400",
                            "name": "Wireless Network Coverage",
                            "serviceType": "WNC",
                            "place": [
                              {
                                "id": "123",
                                "@type": "ServiceAddress",
                                "@baseType": "GeographicAddress",
                                "streetNr": "574",
                                "streetNrSuffix": "B",
                                "streetName": "Morosgo",
                                "streetSuffix": "",
                                "streetType": "drive",
                                "streetDirPrefix": "string",
                                "subUnitType": "Apt",
                                "subUnitNumber": "101",
                                "city": "Atlanta",
                                "stateOrProvince": "GA",
                                "zipCode": "12345",
                                "country": "USA",
                                "qualifiedPlace": {
                                  "matchType": "ClosestStreet",
                                  "addrLine1": "575 B Morosgo Dr NE",
                                  "addrLine2": "Apt 101",
                                  "city": "Atlanta",
                                  "state": "GA",
                                  "country": "USA",
                                  "zipCode": "12345",
                                  "latitude": 33.82171,
                                  "longitude": -88.720175
                                }
                              }
                            ],
                            "@type": "WirelessNetworkCoverageService",
                            "@baseType": "Service"
                          },
                          "eligibilityUnavailabilityReason": [
                            {
                              "code": "WNC-200-3",
                              "label": "No available network Coverage for the Requested Service Location"
                            }
                          ]
                        }
                      ],
                      "state": "done",
                      "@type": "WirelessNetworkCoverageCheckServiceQualification",
                      "@baseType": "CheckServiceQualification"
                    }
                  },
                  "type": "object",
                  "required": [
                    "state",
                    "qualificationResult",
                    "id",
                    "serviceQualificationItem",
                    "checkServiceQualificationDate",
                    "@type",
                    "@baseType"
                  ],
                  "properties": {
                    "state": {
                      "title": "state",
                      "description": "Possible values for the state of a task",
                      "enum": [
                        "done"
                      ],
                      "type": "string"
                    },
                    "qualificationResult": {
                      "title": "qualificationResult",
                      "description": "Qualification result for this serviceQualification. It could be:  qualified (all qualification item are qualified),unqualified (At least one item unqualified)",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "id": {
                      "title": "id",
                      "description": "unique identifier",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "serviceQualificationItem": {
                      "title": "serviceQualificationItem",
                      "description": "A list of service qualification items.",
                      "type": "array",
                      "maxItems": 1,
                      "minItems": 1,
                      "items": {
                        "$ref": "#/components/schemas/ServiceQualificationItemRes"
                      }
                    },
                    "checkServiceQualificationDate": {
                      "title": "checkServiceQualificationDate",
                      "description": "Date when the serviceQualification was submitted",
                      "type": "string",
                      "format": "date-time"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name",
                      "type": "string",
                      "pattern": "^WirelessNetworkCoverageCheckServiceQualification$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class",
                      "type": "string",
                      "pattern": "^CheckServiceQualification$"
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "title": "checkServiceQualificationResponse",
                  "description": "",
                  "x-amf-examples": {
                    "AddressQualAIAResponse": {
                      "value": {
                        "id": "04a58f02-76db-4f22-9fe0-586df6cd5796",
                        "checkServiceQualificationDate": "2026-01-10T19:20:39.239Z",
                        "qualificationResult": "qualified",
                        "serviceQualificationItem": [
                          {
                            "id": "SQI-500",
                            "qualificationResult": "qualified",
                            "state": "done",
                            "service": {
                              "id": "SVC-500",
                              "name": "AIA Wholesale",
                              "serviceType": "AIA-W",
                              "feature": [
                                {
                                  "id": "FTR-700",
                                  "name": "AIA",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-800",
                                      "name": "SpecialSvc",
                                      "valueType": "string",
                                      "value": "MVNO"
                                    }
                                  ]
                                }
                              ],
                              "place": [
                                {
                                  "id": "AIA-W_9999NA",
                                  "@type": "ServiceAddress",
                                  "@baseType": "GeographicAddress",
                                  "streetNr": "575",
                                  "streetNrSuffix": "B",
                                  "streetName": "Marosgo",
                                  "streetSuffix": "NE",
                                  "streetType": "drive",
                                  "streetDirPrefix": "string",
                                  "subUnitType": "Apt",
                                  "subUnitNumber": "101",
                                  "city": "Atlanta",
                                  "stateOrProvince": "GA",
                                  "zipCode": "12345",
                                  "country": "USA",
                                  "qualifiedPlace": {
                                    "matchType": "ClosestAddress",
                                    "addrLine1": "575 B Morosgo Dr NE",
                                    "addrLine2": "Apt 101",
                                    "city": "Atlanta",
                                    "state": "GA",
                                    "country": "USA",
                                    "zipCode": "12345",
                                    "latitude": 33.82171,
                                    "longitude": -88.720175
                                  }
                                }
                              ],
                              "@type": "WirelessNetworkCoverageService",
                              "@baseType": "Service"
                            }
                          }
                        ],
                        "state": "done",
                        "@type": "WirelessNetworkCoverageCheckServiceQualification",
                        "@baseType": "CheckServiceQualification"
                      }
                    },
                    "AddressQualResponse": {
                      "value": {
                        "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                        "checkServiceQualificationDate": "2025-09-10T19:20:39.239Z",
                        "qualificationResult": "qualified",
                        "serviceQualificationItem": [
                          {
                            "id": "SQI-400",
                            "qualificationResult": "qualified",
                            "state": "done",
                            "service": {
                              "id": "SVC-400",
                              "name": "Wireless Network Coverage",
                              "serviceType": "WNC",
                              "feature": [
                                {
                                  "id": "FTR-500",
                                  "name": "5G",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1200",
                                      "name": "SignalStrength",
                                      "valueType": "string",
                                      "value": "Good"
                                    }
                                  ]
                                },
                                {
                                  "id": "FTR-400",
                                  "name": "4G LTE",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1200",
                                      "name": "SignalStrength",
                                      "valueType": "string",
                                      "value": "Best"
                                    }
                                  ]
                                }
                              ],
                              "place": [
                                {
                                  "id": "123",
                                  "@type": "ServiceAddress",
                                  "@baseType": "GeographicAddress",
                                  "streetNr": "575",
                                  "streetNrSuffix": "B",
                                  "streetName": "Marosgo",
                                  "streetSuffix": "NE",
                                  "streetType": "drive",
                                  "streetDirPrefix": "string",
                                  "subUnitType": "Apt",
                                  "subUnitNumber": "101",
                                  "city": "Atlanta",
                                  "stateOrProvince": "GA",
                                  "zipCode": "12345",
                                  "country": "USA",
                                  "qualifiedPlace": {
                                    "matchType": "ClosestAddress",
                                    "addrLine1": "575 B Morosgo Dr NE",
                                    "addrLine2": "Apt 101",
                                    "city": "Atlanta",
                                    "state": "GA",
                                    "country": "USA",
                                    "zipCode": "12345",
                                    "latitude": 33.82171,
                                    "longitude": -88.720175
                                  }
                                }
                              ],
                              "@type": "WirelessNetworkCoverageService",
                              "@baseType": "Service"
                            }
                          }
                        ],
                        "state": "done",
                        "@type": "WirelessNetworkCoverageCheckServiceQualification",
                        "@baseType": "CheckServiceQualification"
                      }
                    },
                    "ZipcodeQualResponse": {
                      "value": {
                        "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                        "checkServiceQualificationDate": "2025-09-10T19:20:39.239Z",
                        "qualificationResult": "qualified",
                        "serviceQualificationItem": [
                          {
                            "id": "SQI-400",
                            "qualificationResult": "qualified",
                            "state": "done",
                            "service": {
                              "id": "SVC-400",
                              "name": "Wireless Network Coverage",
                              "serviceType": "WNC",
                              "feature": [
                                {
                                  "id": "FTR-500",
                                  "name": "5G",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1000",
                                      "name": "OnNetCoverage",
                                      "valueType": "Number",
                                      "value": 80
                                    },
                                    {
                                      "id": "FCH-1100",
                                      "name": "PartnerCoverage",
                                      "valueType": "Number",
                                      "value": 10
                                    }
                                  ]
                                },
                                {
                                  "id": "FTR-400",
                                  "name": "4G LTE",
                                  "featureCharacteristic": [
                                    {
                                      "id": "FCH-1000",
                                      "name": "OnNetCoverage",
                                      "valueType": "Number",
                                      "value": 10
                                    },
                                    {
                                      "id": "FCH-1100",
                                      "name": "PartnerCoverage",
                                      "valueType": "Number",
                                      "value": 20
                                    }
                                  ]
                                }
                              ],
                              "place": [
                                {
                                  "id": "123",
                                  "@type": "ServiceZipCode",
                                  "@baseType": "GeographicAddress",
                                  "zipCode": "12345"
                                }
                              ],
                              "@type": "WirelessNetworkCoverageService",
                              "@baseType": "Service"
                            }
                          }
                        ],
                        "state": "done",
                        "@type": "WirelessNetworkCoverageCheckServiceQualification",
                        "@baseType": "CheckServiceQualification"
                      }
                    },
                    "AddressUnQualAIAResponse": {
                      "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                      "checkServiceQualificationDate": "2026-01-10T19:20:39.239Z",
                      "qualificationResult": "unqualified",
                      "serviceQualificationItem": [
                        {
                          "id": "SQI-500",
                          "qualificationResult": "unqualified",
                          "state": "done",
                          "service": {
                            "id": "SVC-500",
                            "name": "AIA Wholesale",
                            "serviceType": "AIA-W",
                            "place": [
                              {
                                "id": "AIA-W_9999NA",
                                "@type": "ServiceAddress",
                                "@baseType": "GeographicAddress",
                                "streetNr": "574",
                                "streetNrSuffix": "B",
                                "streetName": "Morosgo",
                                "streetSuffix": "",
                                "streetType": "drive",
                                "streetDirPrefix": "string",
                                "subUnitType": "Apt",
                                "subUnitNumber": "101",
                                "city": "Atlanta",
                                "stateOrProvince": "GA",
                                "zipCode": "12345",
                                "country": "USA",
                                "qualifiedPlace": {
                                  "matchType": "ClosestStreet",
                                  "addrLine1": "575 B Morosgo Dr NE",
                                  "addrLine2": "Apt 101",
                                  "city": "Atlanta",
                                  "state": "GA",
                                  "country": "USA",
                                  "zipCode": "12345",
                                  "latitude": 33.82171,
                                  "longitude": -88.720175
                                }
                              }
                            ],
                            "@type": "WirelessNetworkCoverageService",
                            "@baseType": "Service"
                          },
                          "eligibilityUnavailabilityReason": [
                            {
                              "code": "AIA-W-200-3",
                              "label": "No Network Coverage for the Requested Service Location"
                            }
                          ]
                        }
                      ],
                      "state": "done",
                      "@type": "WirelessNetworkCoverageCheckServiceQualification",
                      "@baseType": "CheckServiceQualification"
                    },
                    "AddressUnQualResponse": {
                      "id": "04a58f02-76db-4f22-9fe0-586df6cd5795",
                      "checkServiceQualificationDate": "2020-04-10T19:20:39.239Z",
                      "qualificationResult": "unqualified",
                      "serviceQualificationItem": [
                        {
                          "id": "SQI-400",
                          "qualificationResult": "unqualified",
                          "state": "done",
                          "service": {
                            "id": "SVC-400",
                            "name": "Wireless Network Coverage",
                            "serviceType": "WNC",
                            "place": [
                              {
                                "id": "123",
                                "@type": "ServiceAddress",
                                "@baseType": "GeographicAddress",
                                "streetNr": "574",
                                "streetNrSuffix": "B",
                                "streetName": "Morosgo",
                                "streetSuffix": "",
                                "streetType": "drive",
                                "streetDirPrefix": "string",
                                "subUnitType": "Apt",
                                "subUnitNumber": "101",
                                "city": "Atlanta",
                                "stateOrProvince": "GA",
                                "zipCode": "12345",
                                "country": "USA",
                                "qualifiedPlace": {
                                  "matchType": "ClosestStreet",
                                  "addrLine1": "575 B Morosgo Dr NE",
                                  "addrLine2": "Apt 101",
                                  "city": "Atlanta",
                                  "state": "GA",
                                  "country": "USA",
                                  "zipCode": "12345",
                                  "latitude": 33.82171,
                                  "longitude": -88.720175
                                }
                              }
                            ],
                            "@type": "WirelessNetworkCoverageService",
                            "@baseType": "Service"
                          },
                          "eligibilityUnavailabilityReason": [
                            {
                              "code": "WNC-200-3",
                              "label": "No available network Coverage for the Requested Service Location"
                            }
                          ]
                        }
                      ],
                      "state": "done",
                      "@type": "WirelessNetworkCoverageCheckServiceQualification",
                      "@baseType": "CheckServiceQualification"
                    }
                  },
                  "type": "object",
                  "required": [
                    "state",
                    "qualificationResult",
                    "id",
                    "serviceQualificationItem",
                    "checkServiceQualificationDate",
                    "@type",
                    "@baseType"
                  ],
                  "properties": {
                    "state": {
                      "title": "state",
                      "description": "Possible values for the state of a task",
                      "enum": [
                        "done"
                      ],
                      "type": "string"
                    },
                    "qualificationResult": {
                      "title": "qualificationResult",
                      "description": "Qualification result for this serviceQualification. It could be:  qualified (all qualification item are qualified),unqualified (At least one item unqualified)",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "id": {
                      "title": "id",
                      "description": "unique identifier",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "serviceQualificationItem": {
                      "title": "serviceQualificationItem",
                      "description": "A list of service qualification items.",
                      "type": "array",
                      "maxItems": 1,
                      "minItems": 1,
                      "items": {
                        "$ref": "#/components/schemas/ServiceQualificationItemRes"
                      }
                    },
                    "checkServiceQualificationDate": {
                      "title": "checkServiceQualificationDate",
                      "description": "Date when the serviceQualification was submitted",
                      "type": "string",
                      "format": "date-time"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name",
                      "type": "string",
                      "pattern": "^WirelessNetworkCoverageCheckServiceQualification$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class",
                      "type": "string",
                      "pattern": "^CheckServiceQualification$"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-amf-mediaType": "application/json",
            "x-amf-responsePayloads": [
              {
                "mediaType": "application/json;charset=utf-8",
                "schema": {
                  "title": "response",
                  "description": "",
                  "type": "object",
                  "required": [
                    "reason",
                    "code"
                  ],
                  "properties": {
                    "reason": {
                      "title": "reason",
                      "description": "Explanation of the reason for the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "code": {
                      "title": "code",
                      "description": "Application relevant detail, defined in the API or a common list.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "referenceError": {
                      "title": "referenceError",
                      "description": "URI of documentation describing the error.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "message": {
                      "title": "message",
                      "description": "More details and corrective actions related to the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "status": {
                      "title": "status",
                      "description": "HTTP Error code extension",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    }
                  }
                }
              }
            ],
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "400",
                    "reason": "Required header 'X-ATT-ConversationId' not specified",
                    "message": "Required header 'X-ATT-ConversationId' not specified",
                    "status": "400-BAD_REQUEST-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "400",
                    "reason": "Required header 'X-ATT-ConversationId' not specified",
                    "message": "Required header 'X-ATT-ConversationId' not specified",
                    "status": "400-BAD_REQUEST-TMF645"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "x-amf-mediaType": "application/json",
            "x-amf-responsePayloads": [
              {
                "mediaType": "application/json;charset=utf-8",
                "schema": {
                  "title": "response",
                  "description": "",
                  "type": "object",
                  "required": [
                    "reason",
                    "code"
                  ],
                  "properties": {
                    "reason": {
                      "title": "reason",
                      "description": "Explanation of the reason for the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "code": {
                      "title": "code",
                      "description": "Application relevant detail, defined in the API or a common list.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "referenceError": {
                      "title": "referenceError",
                      "description": "URI of documentation describing the error.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "message": {
                      "title": "message",
                      "description": "More details and corrective actions related to the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "status": {
                      "title": "status",
                      "description": "HTTP Error code extension",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    }
                  }
                }
              }
            ],
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "401",
                    "reason": "Unauthorized",
                    "message": "Unauthorized",
                    "status": "401-UNAUTHORIZED-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "401",
                    "reason": "Unauthorized",
                    "message": "Unauthorized",
                    "status": "401-UNAUTHORIZED-TMF645"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "x-amf-mediaType": "application/json",
            "x-amf-responsePayloads": [
              {
                "mediaType": "application/json;charset=utf-8",
                "schema": {
                  "title": "response",
                  "description": "",
                  "type": "object",
                  "required": [
                    "reason",
                    "code"
                  ],
                  "properties": {
                    "reason": {
                      "title": "reason",
                      "description": "Explanation of the reason for the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "code": {
                      "title": "code",
                      "description": "Application relevant detail, defined in the API or a common list.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "referenceError": {
                      "title": "referenceError",
                      "description": "URI of documentation describing the error.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "message": {
                      "title": "message",
                      "description": "More details and corrective actions related to the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "status": {
                      "title": "status",
                      "description": "HTTP Error code extension",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    }
                  }
                }
              }
            ],
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "403",
                    "reason": "Forbidden",
                    "message": "Forbidden",
                    "status": "403-FORBIDDEN-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "403",
                    "reason": "Forbidden",
                    "message": "Forbidden",
                    "status": "403-FORBIDDEN-TMF645"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Requested resource no found.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "404",
                    "reason": "/productOrder1/",
                    "message": "/productOrder1/",
                    "status": "404-NOT_FOUND-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "404",
                    "reason": "/productOrder1/",
                    "message": "/productOrder1/",
                    "status": "404-NOT_FOUND-TMF645"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "x-amf-mediaType": "application/json",
            "x-amf-responsePayloads": [
              {
                "mediaType": "application/json;charset=utf-8",
                "schema": {
                  "title": "response",
                  "description": "",
                  "type": "object",
                  "required": [
                    "reason",
                    "code"
                  ],
                  "properties": {
                    "reason": {
                      "title": "reason",
                      "description": "Explanation of the reason for the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "code": {
                      "title": "code",
                      "description": "Application relevant detail, defined in the API or a common list.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "referenceError": {
                      "title": "referenceError",
                      "description": "URI of documentation describing the error.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "message": {
                      "title": "message",
                      "description": "More details and corrective actions related to the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "status": {
                      "title": "status",
                      "description": "HTTP Error code extension",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    }
                  }
                }
              }
            ],
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "405",
                    "reason": "HTTP Method get not allowed for : /productOrder/",
                    "message": "HTTP Method get not allowed for : /productOrder/",
                    "status": "405-METHOD_NOT_ALLOWED-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "405",
                    "reason": "HTTP Method get not allowed for : /productOrder/",
                    "message": "HTTP Method get not allowed for : /productOrder/",
                    "status": "405-METHOD_NOT_ALLOWED-TMF645"
                  }
                }
              }
            }
          },
          "406": {
            "description": "Unacceptable request body.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "406",
                    "reason": "Not Acceptable",
                    "error": "Not Acceptable",
                    "status": "405-UNACCEPTABLE-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "406",
                    "reason": "Not Acceptable",
                    "error": "Not Acceptable",
                    "status": "405-UNACCEPTABLE-TMF645"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-amf-mediaType": "application/json;charset=utf-8",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "title": "response",
                  "description": "",
                  "type": "object",
                  "required": [
                    "reason",
                    "code"
                  ],
                  "properties": {
                    "reason": {
                      "title": "reason",
                      "description": "Explanation of the reason for the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "code": {
                      "title": "code",
                      "description": "Application relevant detail, defined in the API or a common list.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "referenceError": {
                      "title": "referenceError",
                      "description": "URI of documentation describing the error.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "message": {
                      "title": "message",
                      "description": "More details and corrective actions related to the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "status": {
                      "title": "status",
                      "description": "HTTP Error code extension",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "title": "response",
                  "description": "",
                  "type": "object",
                  "required": [
                    "reason",
                    "code"
                  ],
                  "properties": {
                    "reason": {
                      "title": "reason",
                      "description": "Explanation of the reason for the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "code": {
                      "title": "code",
                      "description": "Application relevant detail, defined in the API or a common list.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "referenceError": {
                      "title": "referenceError",
                      "description": "URI of documentation describing the error.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "message": {
                      "title": "message",
                      "description": "More details and corrective actions related to the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "status": {
                      "title": "status",
                      "description": "HTTP Error code extension",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    }
                  }
                }
              }
            }
          },
          "415": {
            "description": "Bad Content-Type header. Unsupported media type.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "415",
                    "reason": "Unsupported mediaType",
                    "message": "Unsupported mediaType",
                    "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "415",
                    "reason": "Unsupported mediaType",
                    "message": "Unsupported mediaType",
                    "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF645"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-amf-mediaType": "application/json",
            "x-amf-responsePayloads": [
              {
                "mediaType": "application/json;charset=utf-8",
                "schema": {
                  "title": "response",
                  "description": "",
                  "type": "object",
                  "required": [
                    "reason",
                    "code"
                  ],
                  "properties": {
                    "reason": {
                      "title": "reason",
                      "description": "Explanation of the reason for the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "code": {
                      "title": "code",
                      "description": "Application relevant detail, defined in the API or a common list.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "referenceError": {
                      "title": "referenceError",
                      "description": "URI of documentation describing the error.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@type": {
                      "title": "@type",
                      "description": "When sub-classing, this defines the sub-class entity name.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "message": {
                      "title": "message",
                      "description": "More details and corrective actions related to the error which can be shown to a client user.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "@baseType": {
                      "title": "@baseType",
                      "description": "When sub-classing, this defines the super-class.",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    },
                    "status": {
                      "title": "status",
                      "description": "HTTP Error code extension",
                      "type": "string",
                      "pattern": "^[?-~ -%'-;=]{0,200}$"
                    }
                  }
                }
              }
            ],
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "500",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "500-INTERNAL SERVER_ERROR-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "500",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "500-INTERNAL SERVER_ERROR-TMF645"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Error communicating with JWKS server.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "example": {
                    "code": "503",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "503-INTERNAL SERVER_ERROR-TMF645"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "example": {
                    "code": "503",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "503-INTERNAL SERVER_ERROR-TMF645"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ATT-Azure-AD-JWT-Token": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ATT-Azure-AD-JWT-Token": {
        "type": "oauth2",
        "description": "Get a JWT Token from AT&T's Azure AD",
        "x-amf-describedBy": {
          "headers": {
            "Authorization": {
              "description": "JWT Bearer Token",
              "type": "string"
            }
          },
          "responses": {
            "200": {
              "body": {
                "application/json": {
                  "description": "Dummy token below. Real token is much longer with more relevant info",
                  "properties": {
                    "token_type": {
                      "default": "Bearer",
                      "example": "Bearer",
                      "type": "string"
                    },
                    "expires_in": {
                      "example": 3599,
                      "type": "number",
                      "format": "int"
                    },
                    "ext_expires_in": {
                      "example": 3599,
                      "type": "number",
                      "format": "int"
                    },
                    "access_token": {
                      "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "type": "string"
                    }
                  }
                }
              }
            },
            "400": {
              "body": {
                "application/json": {
                  "description": "Only an example of 400 Error body",
                  "properties": {
                    "error": {
                      "example": "unauthorized_client",
                      "type": "string"
                    },
                    "error_description": {
                      "example": "AADSTS700016: Application with identifier '6bb2748d-d916-4534-9145-ee8f598d2e01' was not found in the directory 'e741d71c-c6b6-47b0-803c-0f3b32b07556'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.\\r\\nTrace ID: b82bea2f-5ee3-48a4-9774-4143176a6900\\r\\nCorrelation ID: b57403ef-e775-49f6-b40f-009ba759c301\\r\\nTimestamp: 2021-06-30 21:12:34Z",
                      "type": "string"
                    },
                    "error_codes": {
                      "items": {
                        "example": 700016,
                        "type": "number",
                        "format": "int"
                      }
                    },
                    "timestamp": {
                      "example": "2021-06-30 21:12:34Z",
                      "type": "string"
                    },
                    "trace_id": {
                      "example": "b82bea2f-5ee3-48a4-9774-4143176a6900",
                      "type": "string"
                    },
                    "correlation_id": {
                      "example": "b57403ef-e775-49f6-b40f-009ba759c301",
                      "type": "string"
                    },
                    "error_uri": {
                      "example": "https://login.microsoftonline.com/error?code=700016",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-amf-settings": {
          "authorizationGrants": [
            "client_credentials"
          ]
        },
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token",
            "scopes": {
              "*": ""
            }
          }
        }
      }
    },
    "schemas": {
      "ServiceQualificationItemReq": {
        "title": "ServiceQualificationItem",
        "description": "A ServiceQualificationItem relates to a specific resource being checked in a qualification operation.",
        "type": "object",
        "required": [
          "service"
        ],
        "properties": {
          "service": {
            "title": "service",
            "description": "Wireless Network Coverage Service",
            "type": "object",
            "required": [
              "id",
              "@type",
              "place"
            ],
            "properties": {
              "id": {
                "title": "id",
                "description": "unique identifier",
                "enum": [
                  "SVC-400",
                  "SVC-500"
                ],
                "type": "string"
              },
              "@type": {
                "title": "@type",
                "description": "When sub-classing, this defines the sub-class Extensible name",
                "type": "string",
                "pattern": "^WirelessNetworkCoverageService$"
              },
              "place": {
                "title": "place",
                "description": "Requested address for the service availability check",
                "type": "array",
                "maxItems": 1,
                "minItems": 1,
                "uniqueItems": true,
                "items": {
                  "x-amf-union": [
                    {
                      "$ref": "#/components/schemas/GeographicAddressReq"
                    },
                    {
                      "$ref": "#/components/schemas/GeographicZipcodeReq"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "ServiceQualificationItemRes": {
        "title": "ServiceQualificationItem",
        "description": "A ServiceQualificationItem relates to a specific resource being checked in a qualification operation.",
        "type": "object",
        "required": [
          "id",
          "qualificationResult",
          "state",
          "service"
        ],
        "properties": {
          "id": {
            "title": "id",
            "description": "unique identifier",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "qualificationResult": {
            "title": "qualificationResult",
            "description": "Qualification result for serviceQualification item. It could be: - qualified (requested service is available), - unqualified (requested service is not available)",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "state": {
            "title": "state",
            "description": "State of the serviceQualification item (done)",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "service": {
            "title": "service",
            "description": "Wireless Network Coverage Service",
            "type": "object",
            "required": [
              "id",
              "@type",
              "@baseType",
              "place"
            ],
            "properties": {
              "id": {
                "title": "id",
                "description": "unique identifier",
                "enum": [
                  "SVC-400",
                  "SVC-500"
                ],
                "type": "string"
              },
              "name": {
                "title": "name",
                "description": "name of service",
                "enum": [
                  "Wireless Network Coverage",
                  "AIA Wholesale"
                ],
                "type": "string"
              },
              "serviceType": {
                "title": "serviceType",
                "description": "Type of service",
                "enum": [
                  "WNC",
                  "AIA-W"
                ],
                "type": "string"
              },
              "@type": {
                "title": "@type",
                "description": "When sub-classing, this defines the sub-class Extensible name",
                "type": "string",
                "pattern": "^WirelessNetworkCoverageService$"
              },
              "@baseType": {
                "title": "@baseType",
                "description": "When sub-classing, this defines the super-class",
                "type": "string",
                "pattern": "^Service$"
              },
              "feature": {
                "title": "feature",
                "description": "Wireless Network Coverage Service",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FeatureRef"
                }
              },
              "place": {
                "title": "place",
                "description": "Requested address for the service availability check",
                "type": "array",
                "maxItems": 1,
                "minItems": 1,
                "uniqueItems": true,
                "items": {
                  "x-amf-union": [
                    {
                      "$ref": "#/components/schemas/GeographicAddressRes"
                    },
                    {
                      "$ref": "#/components/schemas/GeographicZipcodeRes"
                    }
                  ]
                }
              }
            }
          },
          "eligibilityUnavailabilityReason": {
            "title": "eligibilityUnavailabilityReason",
            "description": "A list of eligibility unavailability reasons (EligibilityUnavailabilityReason [*]). Reason for eligibility result if the serviceQualification result is no (meaning the service is not available).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceEligibilityUnavailabilityReason"
            }
          }
        }
      },
      "GeographicAddressReq": {
        "title": "GeographicAddressReq",
        "description": "Place reference. GeographicAddress defines the places where the services are available.",
        "type": "object",
        "additionalProperties": false,
        "discriminator": {
          "propertyName": "@type"
        },
        "x-amf-discriminatorValue": "ServiceAddress",
        "required": [
          "stateOrProvince",
          "streetName",
          "zipCode",
          "country",
          "streetNr",
          "@type",
          "city"
        ],
        "properties": {
          "stateOrProvince": {
            "title": "stateOrProvince",
            "description": "the State or Province that the address is in",
            "enum": [
              "AL",
              "AK",
              "AZ",
              "AR",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FL",
              "GA",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "OH",
              "OK",
              "OR",
              "PA",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY"
            ],
            "type": "string"
          },
          "streetNrSuffix": {
            "title": "streetNrSuffix",
            "description": "The first street number suffix",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetName": {
            "title": "streetName",
            "description": "Name of the street or other street type",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "streetSuffix": {
            "title": "streetSuffix",
            "description": "A modifier denoting a relative direction",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitType": {
            "title": "subUnitType",
            "description": "The type of subunit e.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "zipCode": {
            "title": "zipCode",
            "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail",
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "country": {
            "title": "country",
            "description": "Country that the address is in",
            "enum": [
              "USA"
            ],
            "type": "string"
          },
          "streetNr": {
            "title": "streetNr",
            "description": "Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "@type": {
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name",
            "enum": [
              "ServiceZipCode",
              "ServiceAddress"
            ],
            "type": "string"
          },
          "streetType": {
            "title": "streetType",
            "description": "alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "city": {
            "title": "city",
            "description": "City that the address is in",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "streetDirPrefix": {
            "title": "streetDirPrefix",
            "description": "A modifier denoting a relative direction",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitNumber": {
            "title": "subUnitNumber",
            "description": "The discriminator used for the subunit often just a simple number e.g. 5",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "GeographicZipcodeReq": {
        "title": "GeographicZipcodeReq",
        "description": "Place reference. GeographicAddress defines the places where the services are available.",
        "type": "object",
        "additionalProperties": false,
        "discriminator": {
          "propertyName": "@type"
        },
        "x-amf-discriminatorValue": "ServiceZipCode",
        "required": [
          "zipCode",
          "@type"
        ],
        "properties": {
          "zipCode": {
            "title": "zipCode",
            "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail",
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "@type": {
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name",
            "enum": [
              "ServiceZipCode",
              "ServiceAddress"
            ],
            "type": "string"
          }
        }
      },
      "FeatureRef": {
        "title": "FeatureRef",
        "description": "Feature reference. Feature defines the characteristics of each technology 4G LTE or 5G.",
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "Unique identifier of the Feature",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "title": "name",
            "description": "The type of technology - 4G LTE or 5G",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "featureCharacteristic": {
            "title": "featureCharacteristic",
            "description": "feature Characteristics",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureCharacteristicRef"
            }
          }
        }
      },
      "GeographicAddressRes": {
        "title": "GeographicAddressRes",
        "description": "Place reference. GeographicAddress defines the places where the services are available.",
        "type": "object",
        "additionalProperties": false,
        "discriminator": {
          "propertyName": "@type"
        },
        "x-amf-discriminatorValue": "ServiceAddress",
        "required": [
          "stateOrProvince",
          "streetName",
          "id",
          "country",
          "zipCode",
          "streetNr",
          "@type",
          "city",
          "@baseType"
        ],
        "properties": {
          "stateOrProvince": {
            "title": "stateOrProvince",
            "description": "the State or Province that the address is in",
            "enum": [
              "AL",
              "AK",
              "AZ",
              "AR",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FL",
              "GA",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "OH",
              "OK",
              "OR",
              "PA",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY"
            ],
            "type": "string"
          },
          "streetNrSuffix": {
            "title": "streetNrSuffix",
            "description": "The first street number suffix",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetName": {
            "title": "streetName",
            "description": "Name of the street or other street type",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "streetSuffix": {
            "title": "streetSuffix",
            "description": "A modifier denoting a relative direction",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitType": {
            "title": "subUnitType",
            "description": "The type of subunit e.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "title": "id",
            "description": "Unique identifier of the place",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "country": {
            "title": "country",
            "description": "Country that the address is in",
            "enum": [
              "USA"
            ],
            "type": "string"
          },
          "zipCode": {
            "title": "zipCode",
            "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail",
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "streetNr": {
            "title": "streetNr",
            "description": "Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "@type": {
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name",
            "enum": [
              "ServiceZipCode",
              "ServiceAddress"
            ],
            "type": "string"
          },
          "qualifiedPlace": {
            "title": "qualifiedPlace",
            "description": "Qualified address for the service availability check",
            "type": "object",
            "properties": {
              "matchType": {
                "title": "matchType",
                "description": "Exact, ClosestAddress- Closest address except street number corrected and ClosestStreet- Closest address with street number corrected.",
                "enum": [
                  "Exact",
                  "ClosestAddress",
                  "ClosestStreet"
                ],
                "type": "string"
              },
              "addrLine1": {
                "title": "addrLine1",
                "description": "address line1",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "addrLine2": {
                "title": "addrLine2",
                "description": "address line2",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "city": {
                "title": "city",
                "description": "city that the address is in",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "state": {
                "title": "state",
                "description": "the State or Province that the address is in",
                "enum": [
                  "AL",
                  "AK",
                  "AZ",
                  "AR",
                  "CA",
                  "CO",
                  "CT",
                  "DE",
                  "DC",
                  "FL",
                  "GA",
                  "HI",
                  "ID",
                  "IL",
                  "IN",
                  "IA",
                  "KS",
                  "KY",
                  "LA",
                  "ME",
                  "MD",
                  "MA",
                  "MI",
                  "MN",
                  "MS",
                  "MO",
                  "MT",
                  "NE",
                  "NV",
                  "NH",
                  "NJ",
                  "NM",
                  "NY",
                  "NC",
                  "ND",
                  "OH",
                  "OK",
                  "OR",
                  "PA",
                  "RI",
                  "SC",
                  "SD",
                  "TN",
                  "TX",
                  "UT",
                  "VT",
                  "VA",
                  "WA",
                  "WV",
                  "WI",
                  "WY"
                ],
                "type": "string"
              },
              "country": {
                "title": "country",
                "description": "Country that the address is in",
                "enum": [
                  "USA"
                ],
                "type": "string"
              },
              "zipCode": {
                "title": "zipCode",
                "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "latitude": {
                "title": "latitude",
                "description": "latitude",
                "type": "number"
              },
              "longitude": {
                "title": "longitude",
                "description": "longitude",
                "type": "number"
              }
            }
          },
          "streetType": {
            "title": "streetType",
            "description": "alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "city": {
            "title": "city",
            "description": "City that the address is in",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "refId": {
            "title": "refId",
            "description": "Unique identifier of the place",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetDirPrefix": {
            "title": "streetDirPrefix",
            "description": "A modifier denoting a relative direction",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitNumber": {
            "title": "subUnitNumber",
            "description": "The discriminator used for the subunit often just a simple number e.g. 5",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class",
            "type": "string",
            "pattern": "^GeographicAddress$"
          }
        }
      },
      "GeographicZipcodeRes": {
        "title": "GeographicZipcodeRes",
        "description": "Place reference. GeographicAddress defines the places where the services are available.",
        "type": "object",
        "additionalProperties": false,
        "discriminator": {
          "propertyName": "@type"
        },
        "x-amf-discriminatorValue": "ServiceZipCode",
        "required": [
          "id",
          "zipCode",
          "@type",
          "@baseType"
        ],
        "properties": {
          "id": {
            "title": "id",
            "description": "Unique identifier of the place",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "zipCode": {
            "title": "zipCode",
            "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail",
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "@type": {
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name",
            "enum": [
              "ServiceZipCode",
              "ServiceAddress"
            ],
            "type": "string"
          },
          "@baseType": {
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class",
            "type": "string",
            "pattern": "^GeographicAddress$"
          }
        }
      },
      "ServiceEligibilityUnavailabilityReason": {
        "title": "ServiceEligibilityUnavailabilityReason",
        "description": "Reason for eligibility result if the serviceQualification result is unqualified (meaning the service is not available)",
        "type": "object",
        "required": [
          "code",
          "label"
        ],
        "properties": {
          "code": {
            "title": "code",
            "description": "Unavailability reason code",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "label": {
            "title": "label",
            "description": "Unavailability reason label",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "FeatureCharacteristicRef": {
        "title": "FeatureCharacteristicRef",
        "description": "Feature Characteristic Reference. Feature defines the characteristics of each technology 4G LTE or 5G.",
        "type": "object",
        "properties": {
          "id": {
            "title": "id",
            "description": "Unique identifier of the Feature",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "title": "name",
            "description": "The name of feature characteristic",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "valueType": {
            "title": "valueType",
            "description": "The type of feature characteristic",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "value": {
            "title": "value",
            "description": "The value of feature characteristic",
            "x-amf-union": [
              {
                "$ref": "#/components/schemas/SafeString"
              },
              {
                "type": "number"
              }
            ]
          }
        }
      },
      "SafeString": {
        "description": "Objective is to limit the data provided to safeguard parameters.",
        "type": "string",
        "pattern": "^[?-~ -%'-;=]{0,200}$"
      }
    }
  }
}