{
  "info": {
    "title": "ATT APIs based on TMF674 (v4.0.0) - Geographic Site",
    "version": "4.0.0",
    "description": ""
  },
  "tags": [
    {
      "name": "geographicSite"
    }
  ],
  "paths": {
    "/healthz": {
      "get": {
        "summary": "Health Check",
        "security": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": "Application up and running"
              }
            },
            "description": "Success"
          }
        },
        "x-page-slug": "674-get-health",
        "description": "Health Check"
      }
    },
    "/geographicSite": {
      "get": {
        "tags": [
          "geographicSite"
        ],
        "summary": "Inquire market service areas",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/lib_MarketServiceArea"
                  }
                }
              }
            },
            "headers": {
              "X-Total-Count": {
                "schema": {
                  "type": "integer"
                },
                "required": true,
                "description": "Total number of items matching criteria"
              },
              "X-Result-Count": {
                "schema": {
                  "type": "integer"
                },
                "required": true,
                "description": "Actual number of items returned in the response body"
              },
              "Content-Length": {
                "schema": {
                  "type": "integer"
                },
                "required": false,
                "description": "Matches the count of bytes in the response body so the client can know whether it has read the correct number of bytes."
              },
              "x-att-CorrelationId": {
                "schema": {
                  "type": "string"
                },
                "required": false,
                "description": "Echoes back the value provided in the request by the client, only if one was provided by the client."
              },
              "x-att-TransactionId": {
                "schema": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
                },
                "required": true,
                "description": "A GUID which uniquely identifies a message returned by the server. This must not be re-used. Each downstream system used during the business transaction or process flow will have their own, unique identifier."
              },
              "x-att-ConversationId": {
                "schema": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
                },
                "required": true,
                "description": "Echoes back the same value provided in the request by the client, if one was provided by the client. Otherwise, the server will generate a GUID and provide that to the client."
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                },
                "example": {
                  "code": "400",
                  "@type": "",
                  "reason": "Required header 'X-ATT-ConversationId' not specified",
                  "status": "400-BAD_REQUEST-TMF689",
                  "message": "Required header 'X-ATT-ConversationId' not specified",
                  "@baseType": "",
                  "referenceError": "",
                  "@schemaLocation": ""
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                },
                "example": {
                  "code": "401",
                  "@type": "",
                  "reason": "Unauthorized",
                  "status": "401-UNAUTHORIZED-TMF689",
                  "message": "Unauthorized",
                  "@baseType": "",
                  "referenceError": "",
                  "@schemaLocation": ""
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                },
                "example": {
                  "code": "403",
                  "@type": "",
                  "reason": "Forbidden",
                  "status": "403-FORBIDDEN-TMF689",
                  "message": "Forbidden",
                  "@baseType": "",
                  "referenceError": "",
                  "@schemaLocation": ""
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                },
                "example": {
                  "code": "404",
                  "@type": "",
                  "reason": "Requested resource no found.",
                  "status": "404-NOT_FOUND-TMF689",
                  "message": "Requested resource no found.",
                  "@baseType": "",
                  "referenceError": "",
                  "@schemaLocation": ""
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                },
                "example": {
                  "code": "405",
                  "@type": "",
                  "reason": "HTTP Method get not allowed",
                  "status": "405-METHOD_NOT_ALLOWED-TMF689",
                  "message": "HTTP Method get not allowed",
                  "@baseType": "",
                  "referenceError": "",
                  "@schemaLocation": ""
                }
              }
            },
            "description": "Method Not allowed"
          },
          "406": {
            "$ref": "#/components/responses/trait_error-responses_406"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                }
              }
            },
            "description": "Conflict"
          },
          "415": {
            "$ref": "#/components/responses/trait_error-responses_415"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                },
                "example": {
                  "code": "500",
                  "@type": "",
                  "reason": "Internal Server Error",
                  "status": "500-INTERNAL SERVER_ERROR-TMF689",
                  "message": "Internal Server Error",
                  "@baseType": "",
                  "referenceError": "",
                  "@schemaLocation": ""
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "$ref": "#/components/responses/trait_jwt_503"
          }
        },
        "parameters": [
          {
            "name": "queryString",
            "required": true,
            "in": "query",
            "explode": true,
            "style": "form",
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/qp_SearchByZipCode"
                },
                {
                  "$ref": "#/components/schemas/qp_SearchByInternationalPostalCode"
                },
                {
                  "$ref": "#/components/schemas/qp_SearchByCityState"
                },
                {
                  "$ref": "#/components/schemas/qp_SearchByMarketCode"
                },
                {
                  "$ref": "#/components/schemas/qp_SearchBySubscriberNumber"
                }
              ]
            }
          },
          {
            "$ref": "#/components/parameters/trait_jwt_Authorization"
          },
          {
            "$ref": "#/components/parameters/trait_headers_Accept"
          },
          {
            "$ref": "#/components/parameters/trait_headers_X-ATT-CorrelationId"
          }
        ],
        "description": "This operation lists or finds Market Service Area entities. (TMF 674)",
        "operationId": "listGeographicSite",
        "x-page-slug": "market-service-areas"
      }
    }
  },
  "openapi": "3.0.3",
  "components": {
    "links": {},
    "schemas": {
      "lib_Error": {
        "type": "object",
        "required": [
          "code",
          "reason",
          "message",
          "status",
          "referenceError",
          "@baseType",
          "@schemaLocation",
          "@type"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Application relevant detail, defined in the API or a common list."
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name."
          },
          "reason": {
            "type": "string",
            "description": "Explanation of the reason for the error which can be shown to a client user."
          },
          "status": {
            "type": "string",
            "description": "HTTP Error code extension"
          },
          "message": {
            "type": "string",
            "description": "More details and corrective actions related to the error which can be shown to a client user."
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class."
          },
          "referenceError": {
            "type": "string",
            "description": "URI of documentation describing the error."
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        },
        "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)"
      },
      "guid_GUID": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
      },
      "lib_Market": {
        "type": "object",
        "description": "Market qualifiers definition"
      },
      "lib_PlaceRef": {
        "type": "object",
        "required": [
          "id",
          "href",
          "name",
          "@baseType",
          "@schemaLocation",
          "@type",
          "@referredType"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        },
        "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered."
      },
      "lib_Location": {
        "type": "object",
        "required": [
          "market"
        ],
        "properties": {
          "market": {
            "$ref": "#/components/schemas/lib_Market"
          }
        },
        "description": "Market locations belonging to current site"
      },
      "lib_EntityRef": {
        "type": "object",
        "required": [
          "id",
          "href",
          "name",
          "@baseType",
          "@schemaLocation",
          "@type",
          "@referredType"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        },
        "description": "Entity reference schema to be use for all entityRef class."
      },
      "lib_TimePeriod": {
        "type": "object",
        "required": [
          "endDateTime",
          "startDateTime"
        ],
        "properties": {
          "endDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "End of the time period, using IETC-RFC-3339 format"
          },
          "startDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end"
          }
        },
        "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both"
      },
      "lib_HourPeriod": {
        "type": "object",
        "required": [
          "endHour",
          "startHour",
          "@baseType",
          "@schemaLocation",
          "@type"
        ],
        "properties": {
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "endHour": {
            "type": "string",
            "description": "The time when the status ends applying"
          },
          "startHour": {
            "type": "string",
            "description": "The time when the status starts applying"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_RelatedParty": {
        "type": "object",
        "required": [
          "id",
          "href",
          "name",
          "role",
          "@baseType",
          "@schemaLocation",
          "@type",
          "@referredType"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of a related entity."
          },
          "href": {
            "type": "string",
            "description": "Reference of the related entity."
          },
          "name": {
            "type": "string",
            "description": "Name of the related entity."
          },
          "role": {
            "type": "string",
            "description": "Role played by the related party"
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        },
        "description": "Related Entity reference. A related party defines party or party role linked to a specific entity."
      },
      "lib_CalendarPeriod": {
        "type": "object",
        "required": [
          "day",
          "status",
          "timeZone",
          "hourPeriod",
          "@baseType",
          "@schemaLocation",
          "@type"
        ],
        "properties": {
          "day": {
            "type": "string",
            "description": "Day where the calendar status applies (e.g.: monday, mon-to-fri, weekdays, weekend, all week, ...)"
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "status": {
            "type": "string",
            "description": "Indication of the availability of the site (e.g.: open)"
          },
          "timeZone": {
            "type": "string",
            "description": "Indication of the timezone applicable to the calendar information (e.g.: Paris, GMT+1)"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_GeographicSite": {
        "type": "object",
        "required": [
          "id",
          "href",
          "code",
          "description",
          "name",
          "status",
          "calendar",
          "place",
          "@baseType",
          "@schemaLocation",
          "@type"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the place"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the place"
          },
          "code": {
            "type": "string",
            "description": "A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]"
          },
          "name": {
            "type": "string",
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "status": {
            "type": "string",
            "description": "The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "description": {
            "type": "string",
            "description": "Text describing additional information regarding the site"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "qp_SearchByZipCode": {
        "type": "object",
        "required": [
          "zipCode",
          "category"
        ],
        "properties": {
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 10000,
            "description": "Use to limit results entries in response payload."
          },
          "@type": {
            "type": "string",
            "enum": [
              "MarketServiceArea"
            ],
            "description": "Set to string MarketServiceArea"
          },
          "zipCode": {
            "type": "string",
            "pattern": "^\\d{5}$",
            "minLength": 5,
            "maxLength": 5,
            "description": "USA domestic zip code."
          },
          "category": {
            "type": "string",
            "enum": [
              "Activation",
              "Portin",
              "AutoAssign"
            ],
            "description": "The type of action the market and/or service area is being requested for. Values are Activation or Portin. Select Portin if porting in a number from another carrier. AutoAssign enum shoould only be used by Jasper."
          },
          "marketType": {
            "type": "string",
            "enum": [
              "TLG",
              "CPW",
              "Both"
            ]
          }
        }
      },
      "lib_PlaceRefOrValue": {
        "type": "object",
        "required": [
          "id",
          "href",
          "name",
          "city",
          "state",
          "country",
          "@baseType",
          "@schemaLocation",
          "@type",
          "@referredType"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the place"
          },
          "href": {
            "type": "string",
            "description": "Unique reference of the place"
          },
          "name": {
            "type": "string",
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
          },
          "city": {
            "type": "string",
            "description": "City name; e.g.: COLUMBIA"
          },
          "state": {
            "type": "string",
            "description": "State name abbreviation; e.g: SC as defined by ISO 3166-2 alpha-2 standard"
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "International country code abbreviation; e.g: US, IT, FR as defined by ISO 3166-1 alpha-2 standard"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        },
        "description": "A  place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the PlaceRefOrValue class itself"
      },
      "qp_SearchByCityState": {
        "type": "object",
        "required": [
          "city",
          "state",
          "category"
        ],
        "properties": {
          "city": {
            "type": "string",
            "description": "The city name must be spelled correctly. There is no 'closest match' capability."
          },
          "state": {
            "type": "string",
            "description": "The state abbreviation. See Use Cases documentation to know supported states."
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 10000,
            "description": "Use to limit results entries in response payload."
          },
          "@type": {
            "type": "string",
            "enum": [
              "MarketServiceArea"
            ],
            "description": "Set to string MarketServiceArea"
          },
          "category": {
            "type": "string",
            "enum": [
              "Activation",
              "Portin",
              "AutoAssign"
            ],
            "description": "The type of action the market and/or service area is being requested for. Values are Activation or Portin. Select Portin if porting in a number from another carrier. AutoAssign enum shoould only be used by Jasper."
          },
          "marketType": {
            "type": "string",
            "enum": [
              "TLG",
              "CPW",
              "Both"
            ]
          }
        }
      },
      "lib_MarketServiceArea": {
        "allOf": [
          {
            "$ref": "#/components/schemas/lib_GeographicSite"
          },
          {
            "type": "object",
            "properties": {
              "marketCode": {
                "type": "string"
              },
              "subMarketCode": {
                "type": "string"
              },
              "matchType": {
                "description": "The relationship of the service area to the location (zipcode, city/state, market) entered.  E=Exact Match; C=Closest Match",
                "type": "string",
                "enum": [
                  "E",
                  "C"
                ]
              },
              "technology": {
                "type": "array",
                "items": {
                  "description": "The available technology for this service area",
                  "type": "string"
                }
              },
              "distance": {
                "description": "The service area distance",
                "type": "string"
              },
              "legacyWirelineFootprint": {
                "description": "The legacy wireline footprint specified by zipcode (if available).",
                "type": "string"
              },
              "isLocal": {
                "description": "The service area is a local call from the Local Calling Area number supplied in the request",
                "type": "string"
              },
              "localMarketType": {
                "description": "The local market type which can be either TLG or CPW",
                "type": "string"
              },
              "name": {
                "description": "The name of the service area.",
                "type": "string"
              },
              "domain": {
                "type": "string",
                "enum": [
                  "Activation",
                  "Portin",
                  "AutoAssign"
                ]
              },
              "npa": {
                "description": "Specified NPA for SubscriberNumber searches",
                "type": "string"
              },
              "NumberBlockNPA": {
                "type": "array",
                "items": {
                  "description": "The available number blocks for this service area.  Only the npa value will be returned.  Nxx and line will not.",
                  "type": "string"
                }
              },
              "zipCodeInfo": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "countyInfo": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "internationalPostalCodeInfo": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "marketCode",
              "subMarketCode",
              "matchType",
              "technology",
              "distance",
              "legacyWirelineFootprint",
              "isLocal",
              "localMarketType",
              "name",
              "domain",
              "npa",
              "AdditionalMarketInfo",
              "NumberBlockNPA",
              "zipCodeInfo",
              "countyInfo",
              "internationalPostalCodeInfo",
              "place",
              "relatedParty"
            ]
          }
        ]
      },
      "lib_EventSubscription": {
        "type": "object",
        "required": [
          "id",
          "callback",
          "query"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the listener"
          },
          "query": {
            "type": "string",
            "description": "additional data to be passed"
          },
          "callback": {
            "type": "string",
            "description": "The callback being registered."
          }
        },
        "description": "Sets the communication endpoint address the service instance must use to deliver notification information"
      },
      "qp_SearchByMarketCode": {
        "type": "object",
        "required": [
          "marketCode",
          "category"
        ],
        "properties": {
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 10000,
            "description": "Use to limit results entries in response payload."
          },
          "@type": {
            "type": "string",
            "enum": [
              "MarketServiceArea"
            ],
            "description": "Set to string MarketServiceArea"
          },
          "category": {
            "type": "string",
            "enum": [
              "Activation",
              "Portin",
              "AutoAssign"
            ],
            "description": "The type of action the market and/or service area is being requested for. Values are Activation or Portin. Select Portin if porting in a number from another carrier. AutoAssign enum shoould only be used by Jasper."
          },
          "marketCode": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "description": "Market code."
          }
        }
      },
      "lib_GeographicSite_Create": {
        "type": "object",
        "required": [
          "code",
          "description",
          "name",
          "status",
          "@baseType",
          "@schemaLocation",
          "@type"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]"
          },
          "name": {
            "type": "string",
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "status": {
            "type": "string",
            "description": "The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "description": {
            "type": "string",
            "description": "Text describing additional information regarding the site"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        },
        "description": "\nSkipped properties: id,href"
      },
      "lib_GeographicSite_Update": {
        "type": "object",
        "required": [
          "code",
          "description",
          "name",
          "status",
          "@baseType",
          "@schemaLocation",
          "@type"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]"
          },
          "name": {
            "type": "string",
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "status": {
            "type": "string",
            "description": "The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "description": {
            "type": "string",
            "description": "Text describing additional information regarding the site"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        },
        "description": "\nSkipped properties: id,href"
      },
      "lib_EventSubscriptionInput": {
        "type": "object",
        "required": [
          "callback",
          "query"
        ],
        "properties": {
          "query": {
            "type": "string",
            "description": "additional data to be passed"
          },
          "callback": {
            "type": "string",
            "description": "The callback being registered."
          }
        },
        "description": "Sets the communication endpoint address the service instance must use to deliver notification information"
      },
      "qp_SearchBySubscriberNumber": {
        "type": "object",
        "required": [
          "npa",
          "category"
        ],
        "properties": {
          "npa": {
            "type": "string",
            "pattern": "^\\d{3}$",
            "minLength": 3,
            "maxLength": 3,
            "description": "NPA"
          },
          "nxx": {
            "type": "string",
            "pattern": "^\\d{3}$",
            "minLength": 3,
            "maxLength": 3,
            "description": "NXX"
          },
          "line": {
            "type": "string",
            "pattern": "^\\d{4}$",
            "minLength": 4,
            "maxLength": 4,
            "description": "Line"
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 10000,
            "description": "Use to limit results entries in response payload."
          },
          "@type": {
            "type": "string",
            "enum": [
              "MarketServiceArea"
            ],
            "description": "Set to string MarketServiceArea"
          },
          "category": {
            "type": "string",
            "enum": [
              "Activation",
              "Portin",
              "AutoAssign"
            ],
            "description": "The type of action the market and/or service area is being requested for. Values are Activation or Portin. Select Portin if porting in a number from another carrier. AutoAssign enum shoould only be used by Jasper."
          },
          "marketType": {
            "type": "string",
            "enum": [
              "TLG",
              "CPW",
              "Both"
            ]
          }
        }
      },
      "lib_GeographicSiteDeleteEvent": {
        "type": "object",
        "required": [
          "id",
          "href",
          "eventId",
          "eventTime",
          "eventType",
          "correlationId",
          "domain",
          "title",
          "description",
          "priority",
          "timeOcurred",
          "event"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the Process flow"
          },
          "href": {
            "type": "string",
            "description": "Reference of the ProcessFlow"
          },
          "title": {
            "type": "string",
            "description": "The title of the event."
          },
          "event": {
            "$ref": "#/components/schemas/lib_GeographicSiteDeleteEventPayload"
          },
          "domain": {
            "type": "string",
            "description": "The domain of the event."
          },
          "eventId": {
            "type": "string",
            "description": "The identifier of the notification."
          },
          "priority": {
            "type": "string",
            "description": "A priority."
          },
          "eventTime": {
            "type": "string",
            "format": "date-time",
            "description": "Time of the event occurrence."
          },
          "eventType": {
            "type": "string",
            "description": "The type of the notification."
          },
          "description": {
            "type": "string",
            "description": "An explnatory of the event."
          },
          "timeOcurred": {
            "type": "string",
            "format": "date-time",
            "description": "The time the event occured."
          },
          "correlationId": {
            "type": "string",
            "description": "The correlation id for this event."
          }
        },
        "description": "The notification data structure"
      },
      "lib_GeographicSiteCreateEvent": {
        "type": "object",
        "required": [
          "id",
          "href",
          "eventId",
          "eventTime",
          "eventType",
          "correlationId",
          "domain",
          "title",
          "description",
          "priority",
          "timeOcurred",
          "event"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the Process flow"
          },
          "href": {
            "type": "string",
            "description": "Reference of the ProcessFlow"
          },
          "title": {
            "type": "string",
            "description": "The title of the event."
          },
          "event": {
            "$ref": "#/components/schemas/lib_GeographicSiteCreateEventPayload"
          },
          "domain": {
            "type": "string",
            "description": "The domain of the event."
          },
          "eventId": {
            "type": "string",
            "description": "The identifier of the notification."
          },
          "priority": {
            "type": "string",
            "description": "A priority."
          },
          "eventTime": {
            "type": "string",
            "format": "date-time",
            "description": "Time of the event occurrence."
          },
          "eventType": {
            "type": "string",
            "description": "The type of the notification."
          },
          "description": {
            "type": "string",
            "description": "An explnatory of the event."
          },
          "timeOcurred": {
            "type": "string",
            "format": "date-time",
            "description": "The time the event occured."
          },
          "correlationId": {
            "type": "string",
            "description": "The correlation id for this event."
          }
        },
        "description": "The notification data structure"
      },
      "lib_GeographicSiteRelationship": {
        "type": "object",
        "required": [
          "id",
          "href",
          "relationshipType",
          "role",
          "validFor",
          "@baseType",
          "@schemaLocation",
          "@type"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the related site entity within the server"
          },
          "href": {
            "type": "string",
            "description": "Reference of the related geographic site"
          },
          "role": {
            "type": "string",
            "description": "Role of the related site in the relationship"
          },
          "@type": {
            "type": "string",
            "description": "When sub-classing, this defines the sub-class entity name"
          },
          "validFor": {
            "$ref": "#/components/schemas/lib_TimePeriod"
          },
          "@baseType": {
            "type": "string",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "relationshipType": {
            "type": "string",
            "description": "Type of relationship"
          }
        }
      },
      "qp_SearchByInternationalPostalCode": {
        "type": "object",
        "required": [
          "internationalPostalCode",
          "category"
        ],
        "properties": {
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 10000,
            "description": "Use to limit results entries in response payload."
          },
          "@type": {
            "type": "string",
            "enum": [
              "MarketServiceArea"
            ],
            "description": "Set to string MarketServiceArea"
          },
          "category": {
            "type": "string",
            "enum": [
              "Activation",
              "Portin",
              "AutoAssign"
            ],
            "description": "The type of action the market and/or service area is being requested for. Values are Activation or Portin. Select Portin if porting in a number from another carrier. AutoAssign enum shoould only be used by Jasper."
          },
          "marketType": {
            "type": "string",
            "enum": [
              "TLG",
              "CPW",
              "Both"
            ],
            "description": "Market type can assume values TLG or CPW or Both. Default is Both."
          },
          "internationalPostalCode": {
            "type": "string",
            "pattern": "([A-Z0-9 ]){5,10}",
            "minLength": 5,
            "maxLength": 10,
            "description": "International postal code. Defined by Universal Postal Union (standardized in ISO 19160-4:2023)."
          }
        }
      },
      "lib_GeographicSiteStatusChangeEvent": {
        "type": "object",
        "required": [
          "id",
          "href",
          "eventId",
          "eventTime",
          "eventType",
          "correlationId",
          "domain",
          "title",
          "description",
          "priority",
          "timeOcurred",
          "event"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the Process flow"
          },
          "href": {
            "type": "string",
            "description": "Reference of the ProcessFlow"
          },
          "title": {
            "type": "string",
            "description": "The title of the event."
          },
          "event": {
            "$ref": "#/components/schemas/lib_GeographicSiteStatusChangeEventPayload"
          },
          "domain": {
            "type": "string",
            "description": "The domain of the event."
          },
          "eventId": {
            "type": "string",
            "description": "The identifier of the notification."
          },
          "priority": {
            "type": "string",
            "description": "A priority."
          },
          "eventTime": {
            "type": "string",
            "format": "date-time",
            "description": "Time of the event occurrence."
          },
          "eventType": {
            "type": "string",
            "description": "The type of the notification."
          },
          "description": {
            "type": "string",
            "description": "An explnatory of the event."
          },
          "timeOcurred": {
            "type": "string",
            "format": "date-time",
            "description": "The time the event occured."
          },
          "correlationId": {
            "type": "string",
            "description": "The correlation id for this event."
          }
        },
        "description": "The notification data structure"
      },
      "lib_GeographicSiteCreateEventPayload": {
        "type": "object",
        "required": [
          "geographicSite"
        ],
        "properties": {
          "geographicSite": {
            "$ref": "#/components/schemas/lib_GeographicSite"
          }
        },
        "description": "The event data structure"
      },
      "lib_GeographicSiteDeleteEventPayload": {
        "type": "object",
        "required": [
          "geographicSite"
        ],
        "properties": {
          "geographicSite": {
            "$ref": "#/components/schemas/lib_GeographicSite"
          }
        },
        "description": "The event data structure"
      },
      "lib_GeographicSiteStatusChangeEventPayload": {
        "type": "object",
        "required": [
          "geographicSite"
        ],
        "properties": {
          "geographicSite": {
            "$ref": "#/components/schemas/lib_GeographicSite"
          }
        },
        "description": "The event data structure"
      },
      "lib_GeographicSiteAttributeValueChangeEvent": {
        "type": "object",
        "required": [
          "eventId",
          "eventTime",
          "eventType",
          "correlationId",
          "domain",
          "title",
          "description",
          "priority",
          "timeOcurred",
          "fieldPath",
          "event"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the event."
          },
          "event": {
            "$ref": "#/components/schemas/lib_GeographicSiteAttributeValueChangeEventPayload"
          },
          "domain": {
            "type": "string",
            "description": "The domain of the event."
          },
          "eventId": {
            "type": "string",
            "description": "The identifier of the notification."
          },
          "priority": {
            "type": "string",
            "description": "A priority."
          },
          "eventTime": {
            "type": "string",
            "format": "date-time",
            "description": "Time of the event occurrence."
          },
          "eventType": {
            "type": "string",
            "description": "The type of the notification."
          },
          "fieldPath": {
            "type": "string",
            "description": "The path identifying the object field concerned by this notification."
          },
          "description": {
            "type": "string",
            "description": "An explnatory of the event."
          },
          "timeOcurred": {
            "type": "string",
            "format": "date-time",
            "description": "The time the event occured."
          },
          "correlationId": {
            "type": "string",
            "description": "The correlation id for this event."
          }
        },
        "description": "The notification data structure"
      },
      "lib_GeographicSiteAttributeValueChangeEventPayload": {
        "type": "object",
        "required": [
          "geographicSite"
        ],
        "properties": {
          "geographicSite": {
            "$ref": "#/components/schemas/lib_GeographicSite"
          }
        },
        "description": "The event data structure"
      }
    },
    "headers": {},
    "examples": {},
    "responses": {
      "trait_jwt_400": {
        "content": {
          "application/json": {
            "example": {
              "code": "400",
              "reason": "JWT Token is required",
              "status": "400-UNAUTHORIZED-TMF674",
              "message": "JWT Token is required"
            }
          }
        },
        "description": "JWT Token is required."
      },
      "trait_jwt_401": {
        "content": {
          "application/json": {
            "example": {
              "code": "401",
              "reason": "Invalid token",
              "status": "401-UNAUTHORIZED-TMF674",
              "message": "Invalid token"
            }
          }
        },
        "description": "Invalid token."
      },
      "trait_jwt_503": {
        "content": {
          "application/json": {
            "example": {
              "code": "503",
              "reason": "Internal Server Error",
              "status": "503-INTERNAL SERVER_ERROR-TMF689",
              "message": "Internal Server Error"
            }
          }
        },
        "description": "Error communicating with JWKS server."
      },
      "trait_error-responses_400": {
        "content": {
          "application/json": {
            "example": {
              "code": "400",
              "reason": "Required header 'X-ATT-ConversationId' not specified",
              "status": "400-BAD_REQUEST-TMF689",
              "message": "Required header 'X-ATT-ConversationId' not specified"
            }
          }
        },
        "description": "Bad request to the server."
      },
      "trait_error-responses_401": {
        "content": {
          "application/json": {
            "example": {
              "code": "401",
              "reason": "Unauthorized",
              "status": "401-UNAUTHORIZED-TMF689",
              "message": "Unauthorized"
            }
          }
        },
        "description": "Invalid credentials."
      },
      "trait_error-responses_403": {
        "content": {
          "application/json": {
            "example": {
              "code": "403",
              "reason": "Forbidden",
              "status": "403-FORBIDDEN-TMF689",
              "message": "Forbidden"
            }
          }
        },
        "description": "Issue with the credentials."
      },
      "trait_error-responses_404": {
        "content": {
          "application/json": {
            "example": {
              "code": "404",
              "reason": "Requested resource no found.",
              "status": "404-NOT_FOUND-TMF689",
              "message": "Requested resource no found."
            }
          }
        },
        "description": "Requested resource no found."
      },
      "trait_error-responses_405": {
        "content": {
          "application/json": {
            "example": {
              "code": "405",
              "reason": "HTTP Method get not allowed",
              "status": "405-METHOD_NOT_ALLOWED-TMF689",
              "message": "HTTP Method get not allowed"
            }
          }
        },
        "description": "Requested method not supported."
      },
      "trait_error-responses_406": {
        "content": {
          "application/json": {
            "example": {
              "code": "406",
              "error": "Not Acceptable",
              "reason": "Not Acceptable",
              "status": "406-UNACCEPTABLE-TMF689"
            }
          }
        },
        "description": "Unacceptable request body."
      },
      "trait_error-responses_415": {
        "content": {
          "application/json": {
            "example": {
              "code": "415",
              "reason": "Unsupported mediaType",
              "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF689",
              "message": "Unsupported mediaType"
            }
          }
        },
        "description": "Bad Content-Type header. Unsupported media type."
      },
      "trait_error-responses_500": {
        "content": {
          "application/json": {
            "example": {
              "code": "500",
              "reason": "Internal Server Error",
              "status": "500-INTERNAL SERVER_ERROR-TMF689",
              "message": "Internal Server Error"
            }
          }
        },
        "description": "Processing error for the request."
      }
    },
    "callbacks": {},
    "parameters": {
      "trait_headers_Accept": {
        "in": "header",
        "name": "Accept",
        "schema": {
          "type": "string",
          "default": "application/json"
        },
        "required": true,
        "description": "Specifies the media type as \"application/json\"."
      },
      "trait_jwt_Authorization": {
        "in": "header",
        "name": "Authorization",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "JWT Bearer Token. Token URL: https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-xxxxxx/oauth2/v2.0/token\nSee example below.\ncurl --location --request POST 'https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-xxxxx/oauth2/v2.0/token'\n--header 'Content-Type: application/x-www-form-urlencoded'\n--header 'Cookie: fpc=Aswi39iZZIlGtV66yM1qCANKExLGAQAAAOqRbtgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'\n--data-urlencode 'scope=api://testHarnessCustomersStage1/.default'\n--data-urlencode 'grant_type=client_credentials'\n--data-urlencode 'client_id=xxxxx'\n--data-urlencode 'client_secret=xxxxx.KOKc_V4h__csa3M'\n\nNote: client id/secret are not the right ones - contact API provider, via 'Request Access' button to get the correct one\n"
      },
      "trait_headers_Authorization": {
        "in": "header",
        "name": "Authorization",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Valid JSON Web Token."
      },
      "trait_headers_X-ATT-CorrelationId": {
        "in": "header",
        "name": "X-ATT-CorrelationId",
        "schema": {
          "type": "string"
        },
        "required": false,
        "description": "Recommended format is 32 hexadecimal characters GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)."
      }
    },
    "requestBodies": {},
    "securitySchemes": {}
  }
}