{
 "openapi": "3.0.1",
 "info": {
  "title": "Expeto API",
  "version": "v1",
  "description": "The Expeto API manages everything xControl manages: Customers, Accounts, Sites, Systems, Profiles\nand Mobile Assets. It is a REST API with hypermedia (HAL) responses, so every resource links to\nthe resources related to it.\n\n```bash\ncurl https://api.example.com/v1/sites \\\n  --header 'X-API-KEY: <apiKey>' \\\n  --header 'Accept: application/hal+json'\n```\n\n## Base URL\n\nSend every request over HTTPS to your deployment's API host, followed by the version:\n`https://api.example.com/v1/`. A `GET` on `/v1/` lists the resources your Account Role can reach.\n\nPaths name the collection, which is not always the resource's display name. Mobile Assets live at\n`/v1/subs` and Systems at `/v1/sys`.\n\n## Authentication\n\nPass an API token in the `X-API-KEY` header of every request.\n\n- **Who can create tokens.** `ADMIN` and `CUSTOMER_ADMIN` Accounts, for an Account that has the\n  **Add API Token** feature, which Expeto Support enables. Create one from the Account page in\n  xControl or with\n  [`POST /v1/accounts/command/createToken`](#/operations/accounts-create-an-api-token), for your\n  own Account or one of the same Customer or a child Customer.\n- **What a token can do.** Exactly what its Account Role allows; see [Roles](#roles). An Account\n  can hold several valid tokens at once.\n- **Copy the token when you create it.** The full value is shown once; afterwards only its last four\n  characters are.\n- **Expiry.** When a token expires within 30 days, responses carry the header\n  `X-API-KEY-EXPIRING: true`. An expired token is rejected everywhere.\n- **Revocation.** Delete a token with `DELETE /v1/account-feature-api-tokens/{id}`.\n\nA browser signed in to xControl is also authenticated by its session cookie, which is how\n**Send API Request** in this reference works when the docs and the API share a host.\n\n## Roles\n\nEach operation's title carries a badge for every Account Role: filled for the roles allowed to\ncall it, struck through for the roles that are refused with `403 Forbidden`.\n\n| Role | Scope |\n|---|---|\n| `SUPERUSER` | Reserved for Expeto. Allowed every operation. |\n| `ADMIN` | Network administration for all Customers and child Customers. |\n| `CUSTOMER_ADMIN` | Network administration for the Account's Customer and its child Customers. |\n| `READ_ONLY` | Monitoring, with no changes to the network, for the Account's Customer and its child Customers. |\n| `CUSTOMER_READ_ONLY` | The same operations as `READ_ONLY`. |\n\nThe badges are computed from xControl's permission rules, so they say whether the role may call\nthe operation at all. The data an allowed call returns or changes is still limited to the\nCustomers the Account can see, and some calls also need an Account feature, such as **Add API\nToken**.\n\n## Requests\n\n| Method | Effect |\n|---|---|\n| `GET` | Read a resource or list a collection. |\n| `POST` | Create a resource, or run a command under `/command`. |\n| `PUT` | Replace a resource. Attributes you omit are set to `null`. |\n| `PATCH` | Update only the attributes you send. |\n| `DELETE` | Delete a resource, or unlink a relationship. |\n\nSend request bodies as `Content-Type: application/json`. Timestamps are UTC, in ISO 8601 with a `Z`\nsuffix, in both requests and responses.\n\n## Relationships\n\nA resource's related resources are links, not embedded objects. `_links` in every response names\nthem, and you follow a link with a `GET`:\n\n```json\n{\n  \"name\": \"AcmeCorp\",\n  \"_links\": {\n    \"self\": { \"href\": \"https://api.example.com/v1/customers/123\" },\n    \"sites\": { \"href\": \"https://api.example.com/v1/customers/123/sites\" }\n  }\n}\n```\n\nTo set a relationship when you create or update a resource, pass the related resource's URI as the\nattribute's value, for example `\"customer\": \"https://api.example.com/v1/customers/123\"`.\n\n## Paging, sorting and projections\n\nCollections and searches are paged.\n\n| Parameter | Meaning | Default |\n|---|---|---|\n| `page` | Zero-based page number. | `0` |\n| `size` | Items per page. | `20` |\n| `sort` | `field,asc` or `field,desc`; repeat for several fields. | resource order |\n| `projection` | `brief`, `detail` or `deep`: how much of each item to return. `deep` includes related resources. | `detail` |\n\nThe response's `page` object reports `size`, `totalElements`, `totalPages` and `number`, and\n`_links` carries `first`, `prev`, `next` and `last`.\n\n## Searching\n\nSearches are `GET` requests under `/search`. Most resources offer `findByDeepSearch`, which takes a\n`searchString` of space-separated terms:\n\n- **A keyed term**, `key=value`, matches one attribute or extension, for example `customer=AcmeCorp`.\n  URL-encode the `=` as `%3D`.\n- **A bare term**, `value`, matches across the resource's main attributes and extensions. It is\n  quicker to write and less precise: `sam` matches a user called Sam and a Samsung device type.\n\nSeveral terms narrow the result. Each search lists the keyed terms it accepts.\n\nA term matches part of a value, ignoring case. Put a value in single quotes to match it exactly, or\nin double quotes to include spaces. To find an ID by name, use the name's key: `customer='AcmeCorp'`\nfinds the Customer named AcmeCorp with `customers/search/findByDeepSearch`, and\n`system='Default' customer='AcmeCorp'` finds that Customer's System named Default with\n`sys/search/findByDeepSearch`.\n\n## Errors\n\nErrors return a JSON body with the status, a short error name, a message, and an `incident`\nidentifier. Quote the incident identifier when you contact Expeto Support.\n\n```json\n{\n  \"status\": 403,\n  \"error\": \"AccessDenied\",\n  \"message\": \"The Security Framework denied access for this request. You are probably not allowed to access this resource.\",\n  \"path\": \"/v1/customers\",\n  \"timestamp\": 1626387747246,\n  \"incident\": \"40530304\"\n}\n```\n\n| Status | Meaning |\n|---|---|\n| `400 Bad Request` | The request is malformed. |\n| `401 Unauthorized` | No token, or an expired one. |\n| `403 Forbidden` | Your Account Role does not allow this resource or method. |\n| `404 Not Found` | The path or the resource does not exist. |\n| `405 Method Not Allowed` | The resource does not support this method. |\n| `406 Invalid Input` | A parameter is badly formatted or names something that does not exist. |\n| `409 Conflict` | The request conflicts with existing state, such as a duplicate name. |\n| `500 Internal Server Error` | An unexpected server error. Report the incident identifier. |\n| `503 Service Unavailable` | The server is temporarily unavailable. |\n",
  "contact": {
   "name": "Expeto Support",
   "email": "support@expeto.io"
  }
 },
 "servers": [
  {
   "url": "https://{host}",
   "description": "Your xControl API host",
   "variables": {
    "host": {
     "default": "api.example.com"
    }
   }
  }
 ],
 "security": [
  {
   "api-key": []
  }
 ],
 "x-role-order": [
  "SUPERUSER",
  "ADMIN",
  "CUSTOMER_ADMIN",
  "READ_ONLY",
  "CUSTOMER_READ_ONLY"
 ],
 "tags": [
  {
   "name": "Account Roles",
   "description": "The roles an Account can hold: `ADMIN`, `CUSTOMER_ADMIN`, `READ_ONLY` and `CUSTOMER_READ_ONLY`, each with its own permissions."
  },
  {
   "name": "Accounts",
   "description": "An Account is an administrator who signs in to xControl or calls the API. It belongs to a Customer, and its Account Role sets what it can see and do."
  },
  {
   "name": "APN Globals",
   "description": "An APN Global defines an Access Point Name (APN) used by your SIMs and its default maximum bitrates. APN Profiles reference it and may override the bitrates."
  },
  {
   "name": "APN Profiles",
   "description": "An APN Profile places an APN Global in a System Profile's ordered APN list, optionally overriding its bitrates and QoS."
  },
  {
   "name": "APN QoS"
  },
  {
   "name": "Authentication Events",
   "description": "Sign-in attempts to xControl, the records behind its **Audit** view. Repeated attempts from the same email address, IP address and outcome are grouped into one event with a rising `numAttempts`. The platform writes them: every administrator role can read and search them, and none can create, change or delete one. Results are newest first."
  },
  {
   "name": "Carrier Groups",
   "description": "A Carrier Group is a named set of Carriers, used by Roaming Profiles."
  },
  {
   "name": "Carriers",
   "description": "A Carrier is a mobile network, identified by its Mobile Country Code (MCC) and Mobile Network Code (MNC)."
  },
  {
   "name": "Customers",
   "description": "A Customer owns Sites, Systems and Accounts. Customers form a hierarchy: a parent Customer can see and manage everything its child Customers own."
  },
  {
   "name": "Encryption Keys"
  },
  {
   "name": "Files"
  },
  {
   "name": "Job History"
  },
  {
   "name": "Keyset Mappings"
  },
  {
   "name": "Keysets",
   "description": "A Keyset is a set of encryption keys and algorithms used to authenticate SIM cards. Sites map it to an HSS Keyset Identifier."
  },
  {
   "name": "Mobile Assets",
   "description": "A Mobile Asset is a device on the network, identified by its IMSI. Its path and IDs use the IMSI: `/v1/subs/{imsi}`."
  },
  {
   "name": "Monitoring Endpoints"
  },
  {
   "name": "Reports"
  },
  {
   "name": "Roaming Profiles",
   "description": "A Roaming Profile restricts which networks a Mobile Asset may attach to, as a list of allowed Carrier Groups. It can be applied to a Mobile Asset, a Site or a System."
  },
  {
   "name": "SFTP Access"
  },
  {
   "name": "Sites",
   "description": "A Site is a physical location running an xCore or xRouter. It belongs to a Customer and serves one or more Systems."
  },
  {
   "name": "SSO Configurations"
  },
  {
   "name": "System Profiles",
   "description": "A System Profile is a set of service parameters applied to Systems and Mobile Assets: an ordered list of APN Profiles plus aggregate bitrates. Create several to offer tiers, such as bronze, silver and gold."
  },
  {
   "name": "Systems",
   "description": "A System is a network subnet that Mobile Assets are assigned to. A System belongs to one Customer and can be shared by several Sites. Create one with `name`, `status` and `customer`."
  }
 ],
 "paths": {
  "/v1/account-roles/{id}": {
   "get": {
    "tags": [
     "Account Roles"
    ],
    "operationId": "account-roles-get-an-account-role",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/AccountRole"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an Account Role",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/account-roles/command/findAllRoles": {
   "get": {
    "tags": [
     "Account Roles"
    ],
    "operationId": "account-roles-find-all-roles",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find all roles",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/accounts": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-list-accounts",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "accounts": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Account"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "accounts": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Account"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Accounts",
    "description": "An Account is an administrator who signs in to xControl or calls the API. It belongs to a Customer, and its Account Role sets what it can see and do.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-create-an-account",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/AccountRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Account"
        }
       }
      }
     }
    },
    "summary": "Create an Account",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/accounts/{id}": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-get-an-account",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Account"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an Account",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-replace-an-account",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/AccountRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Account"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Account"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace an Account",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-update-an-account",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/AccountRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Account"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update an Account",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-delete-an-account",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete an Account",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/accounts/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-search-accounts",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      },
      "description": "Space-separated search terms. URL-encode `=` as `%3D`."
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Search Accounts",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ],
    "description": "A bare term matches the email address, the external ID and the owning Customer's name.\n\n| Term | Matches | Example |\n|---|---|---|\n| `email` | The email address. Partial matches are supported. | `email=user@example.com` |\n| `externalId` | The external ID. | `externalId=EMP-4471` |\n| `customer` | The owning Customer's name. | `customer=AcmeCorp` |\n| `lastLoginBefore` | Accounts with no successful sign-in since the date, including Accounts that never signed in. `YYYY-MM-DD` only. | `lastLoginBefore=2025-01-10` |\n\n`lastLoginBefore` is midnight UTC at the start of the given day, and the cutoff is exclusive:\nan Account last signed in at exactly `2025-01-10T00:00:00Z` is not returned."
   }
  },
  "/v1/accounts/command/createPasswordResetToken": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-create-password-reset-token",
    "parameters": [
     {
      "name": "emailAddress",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "account",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Create password reset token",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/accounts/command/createToken": {
   "post": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-create-an-api-token",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/AccountApiTokenRequest"
       },
       "example": {
        "name": "ci-provisioning",
        "account": "123456"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Create an API token",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Creates an API token for `account`, which must be your own Account or one of the same Customer\nor a child Customer. Requires the **Add API Token** feature.\n\nThe response contains the token. Store it now: it is never shown again."
   }
  },
  "/v1/accounts/command/currentUser": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-get-the-current-account",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get the current Account",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ],
    "description": "Returns the Account the token belongs to, with its Account Role and feature permissions."
   }
  },
  "/v1/accounts/command/deleteToken": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-delete-an-api-token",
    "parameters": [
     {
      "name": "id",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "format": "int32"
      },
      "description": "The token's numeric ID."
     },
     {
      "name": "account",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "The Account's URI or numeric ID."
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Delete an API token",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Deletes the API token `id` of `account`."
   }
  },
  "/v1/accounts/command/updatePassword": {
   "post": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-change-a-password",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/UpdatePasswordRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Change a password",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/accounts/command/validatePasswordResetToken": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-validate-password-reset-token",
    "parameters": [
     {
      "name": "username",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "domain",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "emailAddress",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "token",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "302": {
      "description": "Redirects the browser. The response has no body."
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Validate password reset token",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/accounts/{id}/customer": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-get-account-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Account customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-set-account-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set Account customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/accounts/{id}/role": {
   "get": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-get-account-role",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/AccountRole"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Account role",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Accounts"
    ],
    "operationId": "accounts-set-account-role",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/AccountRole"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/AccountRole"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set Account role",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/apn-globals": {
   "get": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-list-apn-globals",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnGlobals": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnGlobal"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnGlobals": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnGlobal"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List APN Globals",
    "description": "An APN Global defines an Access Point Name (APN) used by your SIMs and its default maximum bitrates. APN Profiles reference it and may override the bitrates.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-create-an-apn-global",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ApnGlobalRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnGlobal"
        }
       }
      }
     }
    },
    "summary": "Create an APN Global",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/apn-globals/{id}": {
   "get": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-get-an-apn-global",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnGlobal"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an APN Global",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-replace-an-apn-global",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ApnGlobalRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnGlobal"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnGlobal"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace an APN Global",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-update-an-apn-global",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ApnGlobalRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnGlobal"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update an APN Global",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-delete-an-apn-global",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete an APN Global",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/apn-globals/search/findByDeepSearch": {
   "get": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-find-by-deep-search",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/apn-globals/{id}/apnProfiles": {
   "get": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-get-apn-global-apn-profiles",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get APN Global APN profiles",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/apn-globals/{id}/apnQos": {
   "get": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-get-apn-global-apn-qos",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnQos"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get APN Global APN QoS",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-set-apn-global-apn-qos",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnQos"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnQos"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set APN Global APN QoS",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/apn-globals/{id}/customer": {
   "get": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-get-apn-global-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get APN Global customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "APN Globals"
    ],
    "operationId": "apn-globals-set-apn-global-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set APN Global customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/apn-profiles": {
   "get": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-list-apn-profiles",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List APN Profiles",
    "description": "An APN Profile places an APN Global in a System Profile's ordered APN list, optionally overriding its bitrates and QoS.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-create-an-apn-profile",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ApnProfileRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Create an APN Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/apn-profiles/{id}": {
   "get": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-get-an-apn-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnProfile"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get an APN Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-replace-an-apn-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "format": "int32"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ApnProfileRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Replace an APN Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-update-an-apn-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "format": "int32"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ApnProfileRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Update an APN Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-delete-an-apn-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Delete an APN Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/apn-profiles/{id}/apnGlobal": {
   "get": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-get-apn-profile-apn-global",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnGlobal"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get APN Profile APN global",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/apn-profiles/{id}/apnQos": {
   "get": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-get-apn-profile-apn-qos",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnQos"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get APN Profile APN QoS",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/apn-profiles/{id}/systemProfile": {
   "get": {
    "tags": [
     "APN Profiles"
    ],
    "operationId": "apn-profiles-get-apn-profile-system-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SystemProfile"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get APN Profile system profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/apn-qos": {
   "get": {
    "tags": [
     "APN QoS"
    ],
    "operationId": "apn-qos-list-apn-qos",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnQos": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnQos"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnQos": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnQos"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List APN QoS",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/apn-qos/{id}": {
   "get": {
    "tags": [
     "APN QoS"
    ],
    "operationId": "apn-qos-get-an-apn-qos-policy",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/ApnQos"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an APN QoS policy",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/authentication-events": {
   "get": {
    "tags": [
     "Authentication Events"
    ],
    "operationId": "authentication-events-list-authentication-events",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "authentication-events": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/AuthenticationEvent"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "authentication-events": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/AuthenticationEvent"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Authentication Events",
    "description": "Sign-in attempts to xControl, the records behind its **Audit** view. Repeated attempts from the same email address, IP address and outcome are grouped into one event with a rising `numAttempts`. The platform writes them: every administrator role can read and search them, and none can create, change or delete one. Results are newest first.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/authentication-events/{id}": {
   "get": {
    "tags": [
     "Authentication Events"
    ],
    "operationId": "authentication-events-get-an-authentication-event",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/AuthenticationEvent"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an Authentication Event",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/authentication-events/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Authentication Events"
    ],
    "operationId": "authentication-events-search-authentication-events",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      },
      "description": "Space-separated search terms. URL-encode `=` as `%3D`."
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Search Authentication Events",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ],
    "description": "Terms narrow the result. A bare term matches the email address, IP address, outcome and\nCustomer name, so `failure` returns every failed attempt.\n\n| Term | Matches | Example |\n|---|---|---|\n| `email` (or `emailAddress`) | The email address. Partial matches are supported. | `email=user@example.com` |\n| `ip` | The source IP address. Partial matches are supported. | `ip=192.0.2` |\n| `type` (or `status`) | `success`, `failure` or `unknown`. `failed` and `error` mean `failure`. | `type=failure` |\n| `account` (or `accountId`) | One Account, by numeric ID. | `account=123271682` |\n| `id` | One event, by ID. | `id=1502` |\n| `customer` | The owning Customer's name. | `customer=AcmeCorp` |\n\nSort by `lastAttempt`, `emailAddress` or `id`; any other field is an error. The default is\n`lastAttempt,desc`."
   }
  },
  "/v1/authentication-events/{id}/account": {
   "get": {
    "tags": [
     "Authentication Events"
    ],
    "operationId": "authentication-events-get-authentication-event-account",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Account"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Authentication Event account",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/carrier-groups": {
   "get": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-list-carrier-groups",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carrierGroups": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/CarrierGroup"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carrierGroups": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/CarrierGroup"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Carrier Groups",
    "description": "A Carrier Group is a named set of Carriers, used by Roaming Profiles.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "post": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-create-a-carrier-group",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CarrierGroupRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/CarrierGroup"
        }
       }
      }
     }
    },
    "summary": "Create a Carrier Group",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carrier-groups/{id}": {
   "get": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-get-a-carrier-group",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/CarrierGroup"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Carrier Group",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "put": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-replace-a-carrier-group",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CarrierGroupRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/CarrierGroup"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/CarrierGroup"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace a Carrier Group",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-update-a-carrier-group",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CarrierGroupRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/CarrierGroup"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update a Carrier Group",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-delete-a-carrier-group",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a Carrier Group",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carrier-groups/search/findByDeepSearchWithCounts": {
   "get": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-find-by-deep-search-with-counts",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search with counts",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carrier-groups/{id}/carriers": {
   "get": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-get-carrier-group-carriers",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carriers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Carrier"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Carrier Group carriers",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "put": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-set-carrier-group-carriers",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carriers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Carrier"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carriers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Carrier"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set Carrier Group carriers",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carrier-groups/{id}/roamingProfiles": {
   "get": {
    "tags": [
     "Carrier Groups"
    ],
    "operationId": "carrier-groups-get-carrier-group-roaming-profiles",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "roamingProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/RoamingProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Carrier Group roaming profiles",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carriers": {
   "get": {
    "tags": [
     "Carriers"
    ],
    "operationId": "carriers-list-carriers",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carriers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Carrier"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carriers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Carrier"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Carriers",
    "description": "A Carrier is a mobile network, identified by its Mobile Country Code (MCC) and Mobile Network Code (MNC).",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carriers/{id}": {
   "get": {
    "tags": [
     "Carriers"
    ],
    "operationId": "carriers-get-a-carrier",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Carrier"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Carrier",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carriers/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Carriers"
    ],
    "operationId": "carriers-search-carriers",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Search Carriers",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carriers/search/findByOperator": {
   "get": {
    "tags": [
     "Carriers"
    ],
    "operationId": "carriers-find-by-operator",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by operator",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/carriers/{id}/carrierGroups": {
   "get": {
    "tags": [
     "Carriers"
    ],
    "operationId": "carriers-get-carrier-carrier-groups",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carrierGroups": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/CarrierGroup"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Carrier carrier groups",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/customers": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-list-customers",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "customers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Customer"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "customers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Customer"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Customers",
    "description": "A Customer owns Sites, Systems and Accounts. Customers form a hierarchy: a parent Customer can see and manage everything its child Customers own.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-create-a-customer",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     }
    },
    "summary": "Create a Customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/customers/{id}": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-a-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-replace-a-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace a Customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-update-a-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update a Customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-delete-a-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a Customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/customers/search/dataUsage": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-data-usage",
    "parameters": [
     {
      "name": "computedUsageReportRequest",
      "in": "query",
      "required": false,
      "schema": {
       "$ref": "#/components/schemas/ComputedUsageReportRequest"
      }
     },
     {
      "name": "customer",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Data usage",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-find-by-deep-search",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/search/overview": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-overview",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Overview",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/command/getCustomerTreeWithCounts": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-customer-tree-with-counts",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "customers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/CustomerWithCdrDto"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         },
         "example": {
          "_embedded": {
           "customers": [
            {
             "name": "AcmeCorp",
             "siteCount": 3,
             "systemCount": 4,
             "subscriberCount": 250,
             "children": [
              {
               "name": "AcmeCorp West",
               "siteCount": 1,
               "systemCount": 1,
               "subscriberCount": 40,
               "children": []
              }
             ]
            }
           ]
          },
          "_links": {
           "self": {
            "href": "https://api.example.com/v1/customers/command/getCustomerTreeWithCounts"
           }
          }
         },
         "x-examples": {
          "default": {
           "_embedded": {
            "customers": [
             {
              "name": "AcmeCorp",
              "siteCount": 3,
              "systemCount": 4,
              "subscriberCount": 250,
              "children": [
               {
                "name": "AcmeCorp West",
                "siteCount": 1,
                "systemCount": 1,
                "subscriberCount": 40,
                "children": []
               }
              ]
             }
            ]
           },
           "_links": {
            "self": {
             "href": "https://api.example.com/v1/customers/command/getCustomerTreeWithCounts"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get customer tree with counts",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/{id}/accounts": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-customer-accounts",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "accounts": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Account"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Customer accounts",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/{id}/children": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-customer-children",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "customers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Customer"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Customer children",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/{id}/keysets": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-customer-keysets",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "keysets": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Keyset"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Customer keysets",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/{id}/parent": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-customer-parent",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Customer parent",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/{id}/sites": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-customer-sites",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sites": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Site"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Customer sites",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/customers/{id}/systems": {
   "get": {
    "tags": [
     "Customers"
    ],
    "operationId": "customers-get-customer-systems",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Customer systems",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/encryption-keys": {
   "get": {
    "tags": [
     "Encryption Keys"
    ],
    "operationId": "encryption-keys-list-encryption-keys",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "encryption-keys": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/EncryptionKey"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "encryption-keys": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/EncryptionKey"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Encryption Keys",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Encryption Keys"
    ],
    "operationId": "encryption-keys-create-an-encryption-key",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/EncryptionKeyRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/EncryptionKey"
        }
       }
      }
     }
    },
    "summary": "Create an Encryption Key",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/encryption-keys/{id}": {
   "get": {
    "tags": [
     "Encryption Keys"
    ],
    "operationId": "encryption-keys-get-an-encryption-key",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/EncryptionKey"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an Encryption Key",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Encryption Keys"
    ],
    "operationId": "encryption-keys-replace-an-encryption-key",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/EncryptionKeyRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/EncryptionKey"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/EncryptionKey"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace an Encryption Key",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Encryption Keys"
    ],
    "operationId": "encryption-keys-update-an-encryption-key",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/EncryptionKeyRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/EncryptionKey"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update an Encryption Key",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Encryption Keys"
    ],
    "operationId": "encryption-keys-delete-an-encryption-key",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete an Encryption Key",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/encryption-keys/command/publicKeyInfos": {
   "post": {
    "tags": [
     "Encryption Keys"
    ],
    "operationId": "encryption-keys-public-key-infos",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/EncryptionKeyRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Public key infos",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/files/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Files"
    ],
    "operationId": "files-find-by-deep-search",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/files/command/downloadFile": {
   "get": {
    "tags": [
     "Files"
    ],
    "operationId": "files-download-a-file",
    "parameters": [
     {
      "name": "file",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Download a file",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/scheduler-job-history/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Job History"
    ],
    "operationId": "scheduler-job-history-find-by-deep-search",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/keyset-mappings": {
   "get": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-list-keyset-mappings",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "keyset-mappings": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/KeysetMapping"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "keyset-mappings": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/KeysetMapping"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Keyset Mappings",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "post": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-create-a-keyset-mapping",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KeysetMappingRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/KeysetMapping"
        }
       }
      }
     }
    },
    "summary": "Create a Keyset Mapping",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/keyset-mappings/{id}": {
   "get": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-get-a-keyset-mapping",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/KeysetMapping"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Keyset Mapping",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "put": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-replace-a-keyset-mapping",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KeysetMappingRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/KeysetMapping"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/KeysetMapping"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace a Keyset Mapping",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-update-a-keyset-mapping",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KeysetMappingRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/KeysetMapping"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update a Keyset Mapping",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-delete-a-keyset-mapping",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a Keyset Mapping",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/keyset-mappings/search/findBySite": {
   "get": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-find-by-site",
    "parameters": [
     {
      "name": "site",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by site",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/keyset-mappings/{id}/keyset": {
   "get": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-get-keyset-mapping-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Keyset Mapping keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "put": {
    "tags": [
     "Keyset Mappings"
    ],
    "operationId": "keyset-mappings-set-keyset-mapping-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set Keyset Mapping keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/keysets": {
   "get": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-list-keysets",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "keysets": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Keyset"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "keysets": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Keyset"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Keysets",
    "description": "A Keyset is a set of encryption keys and algorithms used to authenticate SIM cards. Sites map it to an HSS Keyset Identifier.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-create-a-keyset",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KeysetRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       }
      }
     }
    },
    "summary": "Create a Keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/keysets/{id}": {
   "get": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-get-a-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-replace-a-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KeysetRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace a Keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-update-a-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KeysetRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update a Keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-delete-a-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a Keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/keysets/{id}/customer": {
   "get": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-get-keyset-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Keyset customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-set-keyset-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set Keyset customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/keysets/{id}/keysetMappings": {
   "get": {
    "tags": [
     "Keysets"
    ],
    "operationId": "keysets-get-keyset-keyset-mappings",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "keyset-mappings": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/KeysetMapping"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Keyset keyset mappings",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/subs": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-list-mobile-assets",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "subscribers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Subscriber"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "subscribers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Subscriber"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Mobile Assets",
    "description": "A Mobile Asset is a device on the network, identified by its IMSI. Its path and IDs use the IMSI: `/v1/subs/{imsi}`.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-create-a-mobile-asset",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SubscriberRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Create a Mobile Asset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/subs/{id}": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-get-a-mobile-asset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Subscriber"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Mobile Asset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-replace-a-mobile-asset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SubscriberRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Replace a Mobile Asset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-update-a-mobile-asset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SubscriberRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Update a Mobile Asset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-delete-a-mobile-asset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a Mobile Asset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/subs/search/dataUsage": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-get-mobile-asset-data-usage",
    "parameters": [
     {
      "name": "computedUsageReportRequest",
      "in": "query",
      "required": false,
      "schema": {
       "$ref": "#/components/schemas/ComputedUsageReportRequest"
      }
     },
     {
      "name": "subscriber",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get Mobile Asset data usage",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/subs/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-search-mobile-assets",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Space-separated search terms. URL-encode `=` as `%3D`."
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Search Mobile Assets",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ],
    "description": "A bare term matches the IMSI, MSISDN and ICCID, in full or in part, the Site and System names,\nand extension values. Status keywords filter by state:\n\n| Term | Matches | Example |\n|---|---|---|\n| `active`, `inactive` | Mobile Assets with that status. | `active` |\n| `connected`, `disconnected` | Mobile Assets that are or are not connected. | `connected` |\n| `<extension>=<value>` | One extension key. | `user=sam` |\n\nAdd `projection=brief` for large result sets."
   }
  },
  "/v1/subs/search/overview": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-overview",
    "parameters": [
     {
      "name": "subscriber",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "timezone",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Overview",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/subs/command/bulkDelete": {
   "post": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-delete-many-mobile-assets",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/MultipleSubscriberUpdate"
       },
       "example": {
        "subscribers": [
         "001010000000001",
         "001010000000002"
        ]
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Delete many Mobile Assets",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ],
    "description": "Deletes every IMSI in `subscribers`."
   }
  },
  "/v1/subs/command/bulkImport": {
   "post": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-import-mobile-assets-from-a-sim-file",
    "parameters": [
     {
      "name": "subscriberStoreFeature",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "system",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Name of the System to assign the Mobile Assets to."
     },
     {
      "name": "systemProfile",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Name of the System Profile to apply."
     },
     {
      "name": "roamingProfile",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Name of the Roaming Profile to apply."
     },
     {
      "name": "keyset",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Name of the Keyset the file's keys are encrypted with."
     },
     {
      "name": "status",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Initial status, `Active` or `Inactive`."
     },
     {
      "name": "extensions",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Extensions to set on every imported Mobile Asset."
     },
     {
      "name": "overwriteIfExisting",
      "in": "query",
      "required": true,
      "schema": {
       "type": "boolean"
      },
      "description": "Replace Mobile Assets that already exist. Defaults to `false`."
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "file": {
          "type": "string",
          "format": "binary"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Import Mobile Assets from a SIM file",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Creates Mobile Assets from a SIM vendor's `.out` file, assigning each to `system`. Set\n`overwriteIfExisting` to replace Mobile Assets whose IMSI already exists; otherwise they are\nskipped."
   }
  },
  "/v1/subs/command/bulkImportFormat": {
   "post": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-bulk-import-format",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "file": {
          "type": "string",
          "format": "binary"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Bulk import format",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/subs/command/bulkUpdate": {
   "post": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-update-many-mobile-assets",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/MultipleSubscriberUpdate"
       },
       "example": {
        "subscribers": [
         "001010000000001",
         "001010000000002"
        ],
        "status": "Active",
        "extensions": {
         "dept": "ops",
         "batch": ""
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Update many Mobile Assets",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Applies the same change to every IMSI in `subscribers`. Only the attributes you send change;\n`status`, `system`, `subscriberStoreFeature`, `systemProfile` and `roamingProfile` are left\nas they are when omitted. Send at least one IMSI and at least one attribute to change.\n\n`extensions` is merged into each Mobile Asset's existing extensions, not substituted for them:\n\n- A key you send with a value is added, or overwrites the existing value.\n- A key you send with an empty string or `null` is removed.\n- A key you do not send is left unchanged.\n- An empty `extensions` object changes nothing.\n\nFor example, a Mobile Asset with `{\"user\": \"sam\", \"site\": \"lab\", \"batch\": \"2022-04\"}` updated\nwith `{\"user\": \"alex\", \"dept\": \"ops\", \"batch\": \"\"}` ends up with\n`{\"user\": \"alex\", \"site\": \"lab\", \"dept\": \"ops\"}`.\n\nTo make one Mobile Asset's extensions exactly a given set, replace the Mobile Asset with `PUT`\ninstead; attributes a `PUT` omits are set to `null`."
   }
  },
  "/v1/subs/command/cancelSubscriber": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-cancel-a-mobile-asset-s-session",
    "parameters": [
     {
      "name": "subscriber",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "The Mobile Asset's IMSI or URI."
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Cancel a Mobile Asset's session",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ],
    "description": "Deregisters the Mobile Asset from the network, ending its session: on 4G the HSS sends a\nCancel-Location-Request to the MME, and on 5G SA the UDM notifies the AMF."
   }
  },
  "/v1/subs/command/exportToCsvByDeepSearch": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-export-mobile-assets-to-csv",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK"
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Export Mobile Assets to CSV",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/subs/{id}/keyset": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-get-mobile-asset-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Keyset"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Mobile Asset keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "delete": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-remove-mobile-asset-keyset",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Remove Mobile Asset keyset",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/subs/{id}/roamingProfile": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-get-mobile-asset-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Mobile Asset roaming profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "delete": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-remove-mobile-asset-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Remove Mobile Asset roaming profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/subs/{id}/system": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-get-mobile-asset-system",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Loplet"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Mobile Asset system",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/subs/{id}/systemProfile": {
   "get": {
    "tags": [
     "Mobile Assets"
    ],
    "operationId": "subs-get-mobile-asset-system-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SystemProfile"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Mobile Asset system profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/monitoring-endpoints": {
   "get": {
    "tags": [
     "Monitoring Endpoints"
    ],
    "operationId": "monitoring-endpoints-list-monitoring-endpoints",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "monitoring-endpoints": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/MonitoringEndpoint"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "monitoring-endpoints": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/MonitoringEndpoint"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Monitoring Endpoints",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Monitoring Endpoints"
    ],
    "operationId": "monitoring-endpoints-create-a-monitoring-endpoint",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/MonitoringEndpointRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/MonitoringEndpoint"
        }
       }
      }
     }
    },
    "summary": "Create a Monitoring Endpoint",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/monitoring-endpoints/{id}": {
   "get": {
    "tags": [
     "Monitoring Endpoints"
    ],
    "operationId": "monitoring-endpoints-get-a-monitoring-endpoint",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/MonitoringEndpoint"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Monitoring Endpoint",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Monitoring Endpoints"
    ],
    "operationId": "monitoring-endpoints-replace-a-monitoring-endpoint",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/MonitoringEndpointRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/MonitoringEndpoint"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/MonitoringEndpoint"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace a Monitoring Endpoint",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Monitoring Endpoints"
    ],
    "operationId": "monitoring-endpoints-update-a-monitoring-endpoint",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/MonitoringEndpointRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/MonitoringEndpoint"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update a Monitoring Endpoint",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Monitoring Endpoints"
    ],
    "operationId": "monitoring-endpoints-delete-a-monitoring-endpoint",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a Monitoring Endpoint",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/monitoring-endpoints/search/findBySite": {
   "get": {
    "tags": [
     "Monitoring Endpoints"
    ],
    "operationId": "monitoring-endpoints-find-by-site",
    "parameters": [
     {
      "name": "site",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by site",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/reports/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-find-by-deep-search",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/reports/search/findByIdForRole": {
   "get": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-find-by-id-for-role",
    "parameters": [
     {
      "name": "id",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "format": "int32"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by ID for role",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/reports/command/customerActiveDevicesByCustomerAndSiteReport": {
   "post": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-generate-an-active-devices-by-site-report",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerUsageReportParameters"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Generate an Active Devices by Site Report",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "The active Mobile Assets of a Customer, grouped by Site.",
    "deprecated": true
   }
  },
  "/v1/reports/command/customerActiveDevicesByCustomerReport": {
   "post": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-generate-an-active-devices-report",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerUsageReportParameters"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Generate an Active Devices Report",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "The number of connected devices of a Customer.",
    "deprecated": true
   }
  },
  "/v1/reports/command/customerDetailedUsageReport": {
   "post": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-generate-a-detailed-usage-report",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerUsageReportParameters"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Generate a Detailed Usage Report",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Covers all usage activity for a Customer, one row per session.",
    "deprecated": true
   }
  },
  "/v1/reports/command/customerUsageByImsiReport": {
   "post": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-generate-a-summary-usage-report-by-imsi",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerUsageReportParameters"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Generate a Summary Usage Report by IMSI",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Usage of each Mobile Asset (IMSI) of a Customer.",
    "deprecated": true
   }
  },
  "/v1/reports/command/customerUsageBySiteImsiNetworkReport": {
   "post": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-generate-a-summary-usage-report",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerUsageReportParameters"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Generate a Summary Usage Report",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Usage of a Customer grouped by IMSI, Site and network operator.",
    "deprecated": true
   }
  },
  "/v1/reports/command/customerUsageBySystemReport": {
   "post": {
    "tags": [
     "Reports"
    ],
    "operationId": "reports-generate-a-summary-usage-report-by-system",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CustomerUsageReportParameters"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Generate a Summary Usage Report by System",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ],
    "description": "Usage of each System of a Customer.",
    "deprecated": true
   }
  },
  "/v1/roaming-profiles": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-list-roaming-profiles",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "roamingProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/RoamingProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "roamingProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/RoamingProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Roaming Profiles",
    "description": "A Roaming Profile restricts which networks a Mobile Asset may attach to, as a list of allowed Carrier Groups. It can be applied to a Mobile Asset, a Site or a System.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-create-a-roaming-profile",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/RoamingProfileRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       }
      }
     }
    },
    "summary": "Create a Roaming Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/roaming-profiles/{id}": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-get-a-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a Roaming Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-replace-a-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/RoamingProfileRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace a Roaming Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-update-a-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/RoamingProfileRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update a Roaming Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-delete-a-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a Roaming Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/roaming-profiles/search/findByDeepSearchWithCounts": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-find-by-deep-search-with-counts",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search with counts",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/roaming-profiles/{id}/allowedCarrierGroups": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-get-roaming-profile-allowed-carrier-groups",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carrierGroups": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/CarrierGroup"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Roaming Profile allowed carrier groups",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-set-roaming-profile-allowed-carrier-groups",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carrierGroups": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/CarrierGroup"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "carrierGroups": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/CarrierGroup"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set Roaming Profile allowed carrier groups",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/roaming-profiles/{id}/customer": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-get-roaming-profile-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Roaming Profile customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-set-roaming-profile-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set Roaming Profile customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/roaming-profiles/{id}/sites": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-get-roaming-profile-sites",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sites": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Site"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Roaming Profile sites",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/roaming-profiles/{id}/subscribers": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-get-roaming-profile-subscribers",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "subscribers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Subscriber"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Roaming Profile subscribers",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/roaming-profiles/{id}/systems": {
   "get": {
    "tags": [
     "Roaming Profiles"
    ],
    "operationId": "roaming-profiles-get-roaming-profile-systems",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Roaming Profile systems",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sftp-accesses": {
   "get": {
    "tags": [
     "SFTP Access"
    ],
    "operationId": "sftp-accesses-list-sftp-access",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sftp-accesses": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/SftpAccess"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sftp-accesses": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/SftpAccess"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List SFTP Access",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "SFTP Access"
    ],
    "operationId": "sftp-accesses-create-an-sftp-access",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SftpAccessRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SftpAccess"
        }
       }
      }
     }
    },
    "summary": "Create an SFTP access",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/sftp-accesses/{id}": {
   "get": {
    "tags": [
     "SFTP Access"
    ],
    "operationId": "sftp-accesses-get-an-sftp-access",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SftpAccess"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an SFTP access",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "SFTP Access"
    ],
    "operationId": "sftp-accesses-replace-an-sftp-access",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SftpAccessRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SftpAccess"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SftpAccess"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace an SFTP access",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "SFTP Access"
    ],
    "operationId": "sftp-accesses-update-an-sftp-access",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SftpAccessRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SftpAccess"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update an SFTP access",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "SFTP Access"
    ],
    "operationId": "sftp-accesses-delete-an-sftp-access",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete an SFTP access",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/sftp-accesses/command/checkSftpAccess": {
   "post": {
    "tags": [
     "SFTP Access"
    ],
    "operationId": "sftp-accesses-check-sftp-access",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/TestSftpAccessRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Check SFTP access",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sites": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-list-sites",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sites": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Site"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sites": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Site"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Sites",
    "description": "A Site is a physical location running an xCore or xRouter. It belongs to a Customer and serves one or more Systems.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-create-a-site",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SiteRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Create a Site",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/sites/{id}": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-get-a-site",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Site"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get a Site",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-replace-a-site",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "format": "int32"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SiteRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Replace a Site",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-update-a-site",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "format": "int32"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SiteRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Update a Site",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-delete-a-site",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Delete a Site",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/sites/search/dataUsage": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-get-site-data-usage",
    "parameters": [
     {
      "name": "computedUsageReportRequest",
      "in": "query",
      "required": false,
      "schema": {
       "$ref": "#/components/schemas/ComputedUsageReportRequest"
      }
     },
     {
      "name": "site",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get Site data usage",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sites/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-search-sites",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Search Sites",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sites/search/overview": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-overview",
    "parameters": [
     {
      "name": "site",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "timezone",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Overview",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sites/{id}/customer": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-get-site-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Site customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sites/{id}/roamingProfile": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-get-site-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Site roaming profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "delete": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-remove-site-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Remove Site roaming profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/sites/{id}/systems": {
   "get": {
    "tags": [
     "Sites"
    ],
    "operationId": "sites-get-site-systems",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get Site systems",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sso-configurations": {
   "get": {
    "tags": [
     "SSO Configurations"
    ],
    "operationId": "sso-configurations-list-sso-configurations",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sso-configurations": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/SsoConfiguration"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sso-configurations": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/SsoConfiguration"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List SSO Configurations",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sso-configurations/{id}": {
   "get": {
    "tags": [
     "SSO Configurations"
    ],
    "operationId": "sso-configurations-get-an-sso-configuration",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SsoConfiguration"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get an SSO Configuration",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/system-profiles": {
   "get": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-list-system-profiles",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systemProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/SystemProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systemProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/SystemProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List System Profiles",
    "description": "A System Profile is a set of service parameters applied to Systems and Mobile Assets: an ordered list of APN Profiles plus aggregate bitrates. Create several to offer tiers, such as bronze, silver and gold.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-create-a-system-profile",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SystemProfileRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SystemProfile"
        }
       }
      }
     }
    },
    "summary": "Create a System Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/system-profiles/{id}": {
   "get": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-get-a-system-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SystemProfile"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get a System Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-replace-a-system-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SystemProfileRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SystemProfile"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SystemProfile"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Replace a System Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-update-a-system-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SystemProfileRequestBody"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/SystemProfile"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Update a System Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-delete-a-system-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Delete a System Profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/system-profiles/search/findByDeepSearch": {
   "get": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-find-by-deep-search",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/system-profiles/command/reorderApns": {
   "post": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-reorder-apns",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/ReorderApnRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Reorder APNs",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/system-profiles/{id}/apnProfiles": {
   "get": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-get-system-profile-apn-profiles",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "apnProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/ApnProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System Profile APN profiles",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/system-profiles/{id}/customer": {
   "get": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-get-system-profile-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System Profile customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-set-system-profile-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set System Profile customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/system-profiles/{id}/subscribers": {
   "get": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-get-system-profile-subscribers",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "subscribers": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Subscriber"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System Profile subscribers",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/system-profiles/{id}/systems": {
   "get": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-get-system-profile-systems",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System Profile systems",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "System Profiles"
    ],
    "operationId": "system-profiles-set-system-profile-systems",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "application/x-spring-data-compact+json": {
       "schema": {
        "type": "object",
        "properties": {
         "_embedded": {
          "type": "object",
          "properties": {
           "objects": {
            "type": "array",
            "items": {
             "type": "object"
            }
           }
          }
         },
         "_links": {
          "$ref": "#/components/schemas/Links"
         }
        }
       }
      },
      "text/uri-list": {
       "schema": {
        "type": "string"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       }
      }
     },
     "201": {
      "description": "Created",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       }
      }
     },
     "204": {
      "description": "No Content"
     }
    },
    "summary": "Set System Profile systems",
    "x-roles": [
     "SUPERUSER",
     "ADMIN"
    ]
   }
  },
  "/v1/sys": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-list-systems",
    "parameters": [
     {
      "name": "page",
      "in": "query",
      "description": "Zero-based page index (0..N)",
      "required": false,
      "schema": {
       "minimum": 0,
       "type": "integer",
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "description": "The size of the page to be returned",
      "required": false,
      "schema": {
       "minimum": 1,
       "type": "integer",
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
      "required": false,
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "application/x-spring-data-compact+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systems": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Loplet"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          },
          "page": {
           "$ref": "#/components/schemas/PageMetadata"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    },
    "summary": "List Systems",
    "description": "A System is a network subnet that Mobile Assets are assigned to. A System belongs to one Customer and can be shared by several Sites. Create one with `name`, `status` and `customer`.",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "post": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-create-a-system",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SystemRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Create a System",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/sys/{id}": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-get-a-system",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Loplet"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get a System",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "put": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-replace-a-system",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "format": "int32"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SystemRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Replace a System",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "patch": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-update-a-system",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer",
       "format": "int32"
      }
     }
    ],
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SystemRequest"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       },
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "application/prs.hal-forms+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Update a System",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   },
   "delete": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-delete-a-system",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Delete a System",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/sys/search/dataUsage": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-get-system-data-usage",
    "parameters": [
     {
      "name": "computedUsageReportRequest",
      "in": "query",
      "required": false,
      "schema": {
       "$ref": "#/components/schemas/ComputedUsageReportRequest"
      }
     },
     {
      "name": "system",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Get System data usage",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sys/search/findByDeepSearch": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-find-by-deep-search",
    "parameters": [
     {
      "name": "searchString",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "default": ""
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Zero-based page number.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "default": 0
      }
     },
     {
      "name": "size",
      "in": "query",
      "required": false,
      "description": "Items per page.",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "default": 20
      }
     },
     {
      "name": "sort",
      "in": "query",
      "required": false,
      "description": "`field,asc` or `field,desc`. Repeat the parameter to sort by several fields.",
      "schema": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "style": "form",
      "explode": true
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Find by deep search",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sys/search/overview": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-overview",
    "parameters": [
     {
      "name": "timezone",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/hal+json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    },
    "security": [
     {
      "api-key": []
     }
    ],
    "summary": "Overview",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sys/{id}/customer": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-get-system-customer",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/Customer"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System customer",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sys/{id}/roamingProfile": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-get-system-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "$ref": "#/components/schemas/RoamingProfile"
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System roaming profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   },
   "delete": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-remove-system-roaming-profile",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "204": {
      "description": "No Content"
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Remove System roaming profile",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN"
    ]
   }
  },
  "/v1/sys/{id}/sites": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-get-system-sites",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "sites": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/Site"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System sites",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  },
  "/v1/sys/{id}/systemProfiles": {
   "get": {
    "tags": [
     "Systems"
    ],
    "operationId": "sys-get-system-system-profiles",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/vnd.hal+json": {
        "schema": {
         "type": "object",
         "properties": {
          "_embedded": {
           "type": "object",
           "properties": {
            "systemProfiles": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/SystemProfile"
             }
            }
           }
          },
          "_links": {
           "$ref": "#/components/schemas/Links"
          }
         }
        }
       },
       "text/uri-list": {
        "schema": {
         "type": "string"
        }
       }
      }
     },
     "404": {
      "description": "Not Found"
     }
    },
    "summary": "Get System system profiles",
    "x-roles": [
     "SUPERUSER",
     "ADMIN",
     "CUSTOMER_ADMIN",
     "READ_ONLY",
     "CUSTOMER_READ_ONLY"
    ]
   }
  }
 },
 "components": {
  "securitySchemes": {
   "api-key": {
    "type": "apiKey",
    "description": "API key to authorize requests",
    "name": "X-API-KEY",
    "in": "header"
   }
  },
  "schemas": {
   "Account": {
    "required": [
     "emailAddress",
     "password",
     "role"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "username": {
      "type": "string",
      "deprecated": true,
      "description": "The sign-in name. Always the same as `emailAddress`."
     },
     "externalId": {
      "maxLength": 255,
      "minLength": 3,
      "pattern": "^[a-zA-Z0-9._@\\-]+$",
      "type": "string",
      "description": "An optional alternative ID, for example from your directory. Searchable."
     },
     "emailAddress": {
      "pattern": "^[a-zA-Z0-9._@+\\-]+$",
      "type": "string",
      "description": "The Account's email address."
     },
     "password": {
      "maxLength": 60,
      "minLength": 8,
      "type": "string",
      "writeOnly": true,
      "description": "Write-only. Use `updatePassword` to change it for an existing Account."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "AccountApiTokenRequest": {
    "type": "object",
    "properties": {
     "name": {
      "type": "string"
     },
     "account": {
      "type": "string"
     }
    }
   },
   "AccountRequestBody": {
    "required": [
     "emailAddress",
     "password",
     "role"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "customer": {
      "type": "string",
      "description": "URI of the Customer the Account belongs to."
     },
     "username": {
      "type": "string",
      "deprecated": true,
      "description": "The sign-in name. Always the same as `emailAddress`."
     },
     "externalId": {
      "maxLength": 255,
      "minLength": 3,
      "pattern": "^[a-zA-Z0-9._@\\-]+$",
      "type": "string",
      "description": "An optional alternative ID, for example from your directory. Searchable."
     },
     "role": {
      "type": "string",
      "description": "URI of the Account Role."
     },
     "emailAddress": {
      "pattern": "^[a-zA-Z0-9._@+\\-]+$",
      "type": "string",
      "description": "The Account's email address."
     },
     "password": {
      "maxLength": 60,
      "minLength": 8,
      "type": "string",
      "writeOnly": true,
      "description": "Write-only. Use `updatePassword` to change it for an existing Account."
     },
     "features": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    }
   },
   "AccountRole": {
    "required": [
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "nameFull": {
      "type": "string"
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "ApnCarrierOverride": {
    "required": [
     "carrier"
    ],
    "type": "object",
    "properties": {
     "carrier": {
      "required": [
       "mcc",
       "mnc",
       "mode",
       "status",
       "type"
      ],
      "type": "object",
      "properties": {
       "version": {
        "type": "integer",
        "format": "int64"
       },
       "deleted": {
        "type": "integer",
        "format": "int64",
        "readOnly": true
       },
       "id": {
        "type": "integer",
        "format": "int32"
       },
       "mcc": {
        "maxLength": 3,
        "minLength": 3,
        "type": "string",
        "description": "Mobile Country Code, three digits."
       },
       "mnc": {
        "maxLength": 4,
        "minLength": 2,
        "type": "string",
        "description": "Mobile Network Code, two or three digits."
       },
       "type": {
        "type": "string",
        "enum": [
         "International",
         "National",
         "Test"
        ],
        "description": "`INTERNATIONAL`, `NATIONAL` or `TEST`."
       },
       "countryName": {
        "type": "string",
        "description": "The country's name."
       },
       "countryCode": {
        "maxLength": 2,
        "minLength": 2,
        "type": "string",
        "description": "The ISO 3166-1 alpha-2 country code."
       },
       "brand": {
        "type": "string",
        "description": "The network's brand name."
       },
       "operator": {
        "type": "string",
        "description": "The operating company."
       },
       "status": {
        "type": "string",
        "enum": [
         "Allocated",
         "Implement Design",
         "Not Operational",
         "Ongoing",
         "Operational",
         "Planned",
         "Reserved",
         "Returned Spare",
         "Temporary Operational",
         "Test Network",
         "Unknown"
        ],
        "description": "The network's operational status, such as `OPERATIONAL` or `PLANNED`."
       },
       "bands": {
        "type": "string",
        "description": "The frequency bands the network uses."
       },
       "notes": {
        "type": "string",
        "description": "Free-text notes."
       },
       "mode": {
        "type": "string",
        "enum": [
         "Public",
         "Private",
         "Unknown"
        ],
        "description": "`PUBLIC`, `PRIVATE` or `UNKNOWN`."
       },
       "plmn": {
        "type": "string",
        "description": "The PLMN identifier, MCC followed by MNC."
       }
      }
     },
     "apnQos": {
      "required": [
       "description",
       "qci"
      ],
      "type": "object",
      "properties": {
       "version": {
        "type": "integer",
        "format": "int64"
       },
       "deleted": {
        "type": "integer",
        "format": "int64",
        "readOnly": true
       },
       "id": {
        "type": "integer",
        "format": "int32"
       },
       "qci": {
        "maximum": 254,
        "minimum": 1,
        "type": "integer",
        "format": "int32"
       },
       "description": {
        "maxLength": 64,
        "minLength": 0,
        "type": "string"
       }
      }
     },
     "download": {
      "type": "integer",
      "format": "int64"
     },
     "upload": {
      "type": "integer",
      "format": "int64"
     }
    }
   },
   "ApnGlobal": {
    "required": [
     "apnQos",
     "customer",
     "download",
     "name",
     "upload"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "pattern": "^(([a-z0-9.\\-]+)|\\*)$",
      "type": "string",
      "description": "The APN, such as `internet`."
     },
     "download": {
      "type": "integer",
      "format": "int64",
      "description": "Default maximum download bitrate, in bits per second."
     },
     "upload": {
      "type": "integer",
      "format": "int64",
      "description": "Default maximum upload bitrate, in bits per second."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "ApnGlobalRequestBody": {
    "required": [
     "apnQos",
     "customer",
     "download",
     "name",
     "upload"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "pattern": "^(([a-z0-9.\\-]+)|\\*)$",
      "type": "string",
      "description": "The APN, such as `internet`."
     },
     "customer": {
      "type": "string"
     },
     "download": {
      "type": "integer",
      "format": "int64",
      "description": "Default maximum download bitrate, in bits per second."
     },
     "upload": {
      "type": "integer",
      "format": "int64",
      "description": "Default maximum upload bitrate, in bits per second."
     },
     "apnQos": {
      "type": "string",
      "description": "URI of the default APN QoS policy."
     },
     "apnProfiles": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    }
   },
   "ApnProfile": {
    "required": [
     "apnGlobal",
     "apnQos",
     "download",
     "ordering",
     "systemProfile",
     "upload"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "ordering": {
      "type": "integer",
      "format": "int32",
      "description": "Zero-based position of this APN in the System Profile's list."
     },
     "download": {
      "type": "integer",
      "format": "int64",
      "description": "Maximum download bitrate in bits per second, overriding the APN Global's."
     },
     "upload": {
      "type": "integer",
      "format": "int64",
      "description": "Maximum upload bitrate in bits per second, overriding the APN Global's."
     },
     "apnOverrides": {
      "uniqueItems": true,
      "type": "array",
      "items": {
       "$ref": "#/components/schemas/ApnCarrierOverride"
      },
      "description": "Carrier-specific overrides of QoS and bitrates, each naming a `carrier` URI."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "ApnProfileRequest": {
    "type": "object",
    "properties": {
     "apnGlobal": {
      "type": "string",
      "nullable": true,
      "description": "URI of the APN Global this profile applies."
     },
     "systemProfile": {
      "type": "string",
      "nullable": true,
      "description": "URI of the System Profile the APN belongs to."
     },
     "ordering": {
      "type": "integer",
      "format": "int32",
      "nullable": true,
      "description": "Zero-based position of this APN in the System Profile's list."
     },
     "download": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "Maximum download bitrate in bits per second, overriding the APN Global's."
     },
     "upload": {
      "type": "integer",
      "format": "int64",
      "nullable": true,
      "description": "Maximum upload bitrate in bits per second, overriding the APN Global's."
     },
     "apnQos": {
      "type": "string",
      "nullable": true,
      "description": "URI of the APN QoS policy, overriding the APN Global's."
     },
     "apnOverrides": {
      "uniqueItems": true,
      "type": "array",
      "nullable": true,
      "items": {
       "$ref": "#/components/schemas/CarrierApnOverrideRequest"
      },
      "description": "Carrier-specific overrides of QoS and bitrates, each naming a `carrier` URI."
     }
    }
   },
   "ApnQos": {
    "required": [
     "description",
     "qci"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "qci": {
      "maximum": 254,
      "minimum": 1,
      "type": "integer",
      "format": "int32"
     },
     "description": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string"
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "AuthenticationEvent": {
    "required": [
     "emailAddress",
     "firstAttempt",
     "ip",
     "lastAttempt",
     "numAttempts",
     "type"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "emailAddress": {
      "type": "string",
      "description": "The email address the sign-in was attempted with."
     },
     "ip": {
      "type": "string",
      "description": "The IP address the attempt came from."
     },
     "type": {
      "type": "string",
      "enum": [
       "SUCCESS",
       "FAILURE",
       "UNKNOWN"
      ],
      "description": "The outcome, `SUCCESS`, `FAILURE` or `UNKNOWN`."
     },
     "firstAttempt": {
      "type": "string",
      "format": "date-time",
      "description": "When the first attempt in this event happened, in UTC."
     },
     "lastAttempt": {
      "type": "string",
      "format": "date-time",
      "description": "When the most recent attempt in this event happened, in UTC."
     },
     "numAttempts": {
      "type": "integer",
      "format": "int32",
      "description": "How many attempts the event groups."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "Carrier": {
    "required": [
     "mcc",
     "mnc",
     "mode",
     "status",
     "type"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "mcc": {
      "maxLength": 3,
      "minLength": 3,
      "type": "string",
      "description": "Mobile Country Code, three digits."
     },
     "mnc": {
      "maxLength": 4,
      "minLength": 2,
      "type": "string",
      "description": "Mobile Network Code, two or three digits."
     },
     "type": {
      "type": "string",
      "enum": [
       "International",
       "National",
       "Test"
      ],
      "description": "`INTERNATIONAL`, `NATIONAL` or `TEST`."
     },
     "countryName": {
      "type": "string",
      "description": "The country's name."
     },
     "countryCode": {
      "maxLength": 2,
      "minLength": 2,
      "type": "string",
      "description": "The ISO 3166-1 alpha-2 country code."
     },
     "brand": {
      "type": "string",
      "description": "The network's brand name."
     },
     "operator": {
      "type": "string",
      "description": "The operating company."
     },
     "status": {
      "type": "string",
      "enum": [
       "Allocated",
       "Implement Design",
       "Not Operational",
       "Ongoing",
       "Operational",
       "Planned",
       "Reserved",
       "Returned Spare",
       "Temporary Operational",
       "Test Network",
       "Unknown"
      ],
      "description": "The network's operational status, such as `OPERATIONAL` or `PLANNED`."
     },
     "bands": {
      "type": "string",
      "description": "The frequency bands the network uses."
     },
     "notes": {
      "type": "string",
      "description": "Free-text notes."
     },
     "mode": {
      "type": "string",
      "enum": [
       "Public",
       "Private",
       "Unknown"
      ],
      "description": "`PUBLIC`, `PRIVATE` or `UNKNOWN`."
     },
     "plmn": {
      "type": "string",
      "description": "The PLMN identifier, MCC followed by MNC."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "CarrierApnOverrideRequest": {
    "type": "object",
    "properties": {
     "carrier": {
      "type": "string"
     },
     "apnQos": {
      "type": "string",
      "nullable": true
     },
     "download": {
      "type": "integer",
      "format": "int64",
      "nullable": true
     },
     "upload": {
      "type": "integer",
      "format": "int64",
      "nullable": true
     }
    }
   },
   "CarrierGroup": {
    "required": [
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string",
      "description": "The Carrier Group's name."
     },
     "description": {
      "type": "string",
      "description": "A description of the Carrier Group."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "CarrierGroupRequestBody": {
    "required": [
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string",
      "description": "The Carrier Group's name."
     },
     "description": {
      "type": "string",
      "description": "A description of the Carrier Group."
     },
     "carriers": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "roamingProfiles": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    }
   },
   "ComputedUsageReportRequest": {
    "type": "object",
    "properties": {
     "startDate": {
      "type": "string",
      "nullable": true
     },
     "endDate": {
      "type": "string",
      "nullable": true
     },
     "groupBy": {
      "type": "string",
      "nullable": true
     },
     "interval": {
      "type": "string",
      "nullable": true
     }
    }
   },
   "Customer": {
    "required": [
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 32,
      "minLength": 4,
      "type": "string",
      "description": "The Customer's name."
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "description": "Free-form key-value pairs."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "CustomerRequestBody": {
    "required": [
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "name": {
      "maxLength": 32,
      "minLength": 4,
      "type": "string",
      "description": "The Customer's name."
     },
     "systems": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "sites": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "accounts": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "parent": {
      "type": "string",
      "description": "URI of the parent Customer."
     },
     "children": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "description": "Free-form key-value pairs."
     },
     "features": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "keysets": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    }
   },
   "CustomerUsageReportParameters": {
    "required": [
     "customerRef",
     "endDate",
     "startDate",
     "timezone",
     "unfoldCustomer",
     "writeRowCount"
    ],
    "type": "object",
    "properties": {
     "startDate": {
      "minLength": 1,
      "type": "string"
     },
     "endDate": {
      "minLength": 1,
      "type": "string"
     },
     "timezone": {
      "minLength": 1,
      "type": "string"
     },
     "customerRef": {
      "minLength": 1,
      "type": "string"
     },
     "customerExtensions": {
      "type": "string",
      "nullable": true
     },
     "sftpAccessRef": {
      "type": "string",
      "nullable": true
     },
     "encryptionKeysRefs": {
      "type": "array",
      "nullable": true,
      "items": {
       "type": "string"
      }
     },
     "unfoldCustomer": {
      "type": "boolean"
     },
     "writeRowCount": {
      "type": "boolean"
     },
     "recordLimit": {
      "maximum": 1000000,
      "minimum": 1000,
      "type": "integer",
      "format": "int64",
      "nullable": true
     }
    }
   },
   "CustomerWithCdrDto": {
    "type": "object",
    "properties": {
     "name": {
      "type": "string"
     },
     "children": {
      "type": "array",
      "items": {
       "$ref": "#/components/schemas/CustomerWithCdrDto"
      }
     },
     "siteCount": {
      "type": "integer",
      "format": "int64"
     },
     "systemCount": {
      "type": "integer",
      "format": "int64"
     },
     "subscriberCount": {
      "type": "integer",
      "format": "int64"
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    },
    "example": {
     "name": "AcmeCorp",
     "siteCount": 3,
     "systemCount": 4,
     "subscriberCount": 250,
     "children": [
      {
       "name": "AcmeCorp West",
       "siteCount": 1,
       "systemCount": 1,
       "subscriberCount": 40,
       "children": []
      }
     ]
    },
    "x-examples": {
     "default": {
      "name": "AcmeCorp",
      "siteCount": 3,
      "systemCount": 4,
      "subscriberCount": 250,
      "children": [
       {
        "name": "AcmeCorp West",
        "siteCount": 1,
        "systemCount": 1,
        "subscriberCount": 40,
        "children": []
       }
      ]
     }
    }
   },
   "EncryptionKey": {
    "required": [
     "feature",
     "key",
     "name",
     "type"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "type": "string"
     },
     "description": {
      "type": "string"
     },
     "key": {
      "type": "string",
      "writeOnly": true
     },
     "type": {
      "type": "string",
      "enum": [
       "Gpg"
      ]
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "EncryptionKeyRequest": {
    "type": "object",
    "properties": {
     "key": {
      "type": "string"
     }
    }
   },
   "EncryptionKeyRequestBody": {
    "required": [
     "feature",
     "key",
     "name",
     "type"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "type": "string"
     },
     "description": {
      "type": "string"
     },
     "key": {
      "type": "string",
      "writeOnly": true
     },
     "type": {
      "type": "string",
      "enum": [
       "Gpg"
      ]
     },
     "feature": {
      "type": "string"
     }
    }
   },
   "Keyset": {
    "required": [
     "customer",
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string"
     },
     "k4FieldType": {
      "type": "string",
      "enum": [
       "NONE",
       "K_ONLY",
       "K_AND_OPC"
      ]
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "KeysetMapping": {
    "required": [
     "feature",
     "hssKeysetIdentifier"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "hssKeysetIdentifier": {
      "type": "integer",
      "format": "int64"
     },
     "hssKeysetDescription": {
      "maxLength": 32,
      "minLength": 0,
      "type": "string"
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "KeysetMappingRequestBody": {
    "required": [
     "feature",
     "hssKeysetIdentifier"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "keyset": {
      "type": "string"
     },
     "hssKeysetIdentifier": {
      "type": "integer",
      "format": "int64"
     },
     "hssKeysetDescription": {
      "maxLength": 32,
      "minLength": 0,
      "type": "string"
     },
     "feature": {
      "type": "string"
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     }
    }
   },
   "KeysetRequestBody": {
    "required": [
     "customer",
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string"
     },
     "customer": {
      "type": "string"
     },
     "keysetMappings": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "k4FieldType": {
      "type": "string",
      "enum": [
       "NONE",
       "K_ONLY",
       "K_AND_OPC"
      ]
     }
    }
   },
   "Link": {
    "type": "object",
    "properties": {
     "href": {
      "type": "string"
     },
     "hreflang": {
      "type": "string"
     },
     "title": {
      "type": "string"
     },
     "type": {
      "type": "string"
     },
     "deprecation": {
      "type": "string"
     },
     "profile": {
      "type": "string"
     },
     "name": {
      "type": "string"
     },
     "templated": {
      "type": "boolean"
     }
    }
   },
   "Links": {
    "type": "object",
    "additionalProperties": {
     "$ref": "#/components/schemas/Link"
    }
   },
   "Loplet": {
    "required": [
     "customer",
     "name",
     "status"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 64,
      "minLength": 1,
      "pattern": "[\\w-]+",
      "type": "string"
     },
     "status": {
      "type": "string",
      "enum": [
       "Active",
       "Inactive"
      ]
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "MonitoringEndpoint": {
    "required": [
     "feature",
     "jobName",
     "metricsUrl",
     "name",
     "scrapeInterval",
     "scrapedBy",
     "status"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "pattern": "[\\w-]+",
      "type": "string"
     },
     "jobName": {
      "pattern": "[\\w-]+",
      "type": "string"
     },
     "metricsUrl": {
      "pattern": "^https?:\\/\\/(.*)",
      "type": "string"
     },
     "scrapedBy": {
      "type": "string",
      "enum": [
       "Agent",
       "Prometheus"
      ]
     },
     "scrapeInterval": {
      "type": "integer",
      "format": "int64"
     },
     "status": {
      "type": "string",
      "enum": [
       "Enabled",
       "Disabled"
      ]
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "MonitoringEndpointRequestBody": {
    "required": [
     "feature",
     "jobName",
     "metricsUrl",
     "name",
     "scrapeInterval",
     "scrapedBy",
     "status"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "pattern": "[\\w-]+",
      "type": "string"
     },
     "jobName": {
      "pattern": "[\\w-]+",
      "type": "string"
     },
     "metricsUrl": {
      "pattern": "^https?:\\/\\/(.*)",
      "type": "string"
     },
     "scrapedBy": {
      "type": "string",
      "enum": [
       "Agent",
       "Prometheus"
      ]
     },
     "scrapeInterval": {
      "type": "integer",
      "format": "int64"
     },
     "status": {
      "type": "string",
      "enum": [
       "Enabled",
       "Disabled"
      ]
     },
     "feature": {
      "type": "string"
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     }
    }
   },
   "MultipleSubscriberUpdate": {
    "type": "object",
    "properties": {
     "subscribers": {
      "type": "array",
      "nullable": true,
      "items": {
       "type": "string"
      }
     },
     "status": {
      "type": "string",
      "nullable": true
     },
     "subscriberStoreFeature": {
      "type": "string",
      "nullable": true
     },
     "system": {
      "type": "string",
      "nullable": true
     },
     "systemProfile": {
      "type": "string",
      "nullable": true
     },
     "roamingProfile": {
      "type": "string",
      "nullable": true
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "nullable": true
     },
     "empty": {
      "type": "boolean"
     }
    }
   },
   "PageMetadata": {
    "type": "object",
    "properties": {
     "size": {
      "type": "integer",
      "format": "int64"
     },
     "totalElements": {
      "type": "integer",
      "format": "int64"
     },
     "totalPages": {
      "type": "integer",
      "format": "int64"
     },
     "number": {
      "type": "integer",
      "format": "int64"
     }
    }
   },
   "ReorderApnRequest": {
    "type": "object",
    "properties": {
     "systemProfile": {
      "type": "string"
     },
     "apnProfiles": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    }
   },
   "RoamingProfile": {
    "required": [
     "customer",
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string",
      "description": "The Roaming Profile's name."
     },
     "description": {
      "type": "string",
      "description": "A description of the Roaming Profile."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "RoamingProfileRequestBody": {
    "required": [
     "customer",
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string",
      "description": "The Roaming Profile's name."
     },
     "description": {
      "type": "string",
      "description": "A description of the Roaming Profile."
     },
     "customer": {
      "type": "string",
      "description": "URI of the Customer that owns the Roaming Profile."
     },
     "allowedCarrierGroups": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "subscribers": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "sites": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "systems": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    }
   },
   "SftpAccess": {
    "required": [
     "decompressToSend",
     "feature",
     "hostname",
     "name",
     "port",
     "privateKey",
     "username"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "type": "string"
     },
     "hostname": {
      "maxLength": 255,
      "minLength": 3,
      "type": "string"
     },
     "port": {
      "type": "integer",
      "format": "int32"
     },
     "username": {
      "maxLength": 255,
      "minLength": 3,
      "type": "string"
     },
     "privateKey": {
      "type": "string",
      "writeOnly": true
     },
     "remoteDirectory": {
      "type": "string"
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "decompressToSend": {
      "type": "boolean"
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "SftpAccessRequestBody": {
    "required": [
     "decompressToSend",
     "feature",
     "hostname",
     "name",
     "port",
     "privateKey",
     "username"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "name": {
      "type": "string"
     },
     "hostname": {
      "maxLength": 255,
      "minLength": 3,
      "type": "string"
     },
     "port": {
      "type": "integer",
      "format": "int32"
     },
     "username": {
      "maxLength": 255,
      "minLength": 3,
      "type": "string"
     },
     "privateKey": {
      "type": "string",
      "writeOnly": true
     },
     "remoteDirectory": {
      "type": "string"
     },
     "feature": {
      "type": "string"
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "decompressToSend": {
      "type": "boolean"
     }
    }
   },
   "Site": {
    "required": [
     "customer",
     "name",
     "type",
     "uuid"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string",
      "description": "The Site's name."
     },
     "uuid": {
      "type": "string",
      "description": "A unique identifier, assigned by the platform."
     },
     "type": {
      "type": "string",
      "enum": [
       "xCore",
       "xRouter"
      ],
      "description": "`xCore` or `xRouter`."
     },
     "location": {
      "type": "string",
      "description": "A free-text location. Can be `null`."
     },
     "latitude": {
      "type": "number",
      "format": "double",
      "description": "Latitude in decimal degrees, for the xControl map."
     },
     "longitude": {
      "type": "number",
      "format": "double",
      "description": "Longitude in decimal degrees, for the xControl map."
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "description": "Free-form key-value pairs, searchable with deep search."
     },
     "roleNameFull": {
      "type": "string",
      "description": "The full role name, such as `ROLE_SITE`."
     },
     "roleName": {
      "type": "string",
      "description": "The Site's role, such as `SITE`."
     },
     "xslippyBaseTile": {
      "type": "integer",
      "format": "int32"
     },
     "yslippyBaseTile": {
      "type": "integer",
      "format": "int32"
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "SiteRequest": {
    "type": "object",
    "properties": {
     "name": {
      "type": "string",
      "nullable": true,
      "description": "The Site's name."
     },
     "uuid": {
      "type": "string",
      "nullable": true,
      "description": "A unique identifier, assigned by the platform."
     },
     "customer": {
      "type": "string",
      "nullable": true,
      "description": "URI of the Customer that owns the Site."
     },
     "type": {
      "type": "string",
      "nullable": true,
      "enum": [
       "xCore",
       "xRouter"
      ],
      "description": "`xCore` or `xRouter`."
     },
     "location": {
      "type": "string",
      "nullable": true,
      "description": "A free-text location. Can be `null`."
     },
     "latitude": {
      "type": "number",
      "format": "double",
      "nullable": true,
      "description": "Latitude in decimal degrees, for the xControl map."
     },
     "longitude": {
      "type": "number",
      "format": "double",
      "nullable": true,
      "description": "Longitude in decimal degrees, for the xControl map."
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "nullable": true,
      "description": "Free-form key-value pairs, searchable with deep search."
     },
     "roamingProfile": {
      "type": "string",
      "nullable": true,
      "description": "URI of the Roaming Profile applied to the Site."
     }
    }
   },
   "SsoConfiguration": {
    "required": [
     "feature",
     "idpAlias",
     "type"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "idpAlias": {
      "type": "string"
     },
     "description": {
      "type": "string"
     },
     "type": {
      "type": "string",
      "enum": [
       "Oidc",
       "Saml"
      ]
     },
     "domains": {
      "uniqueItems": true,
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "fqdns": {
      "uniqueItems": true,
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "Subscriber": {
    "required": [
     "imsi",
     "k",
     "msisdn",
     "status",
     "system",
     "systemProfile",
     "type"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "imsi": {
      "pattern": "[0-9]{14,15}",
      "type": "string",
      "description": "The International Mobile Subscriber Identity (IMSI). Unique; also the resource ID."
     },
     "msisdn": {
      "pattern": "\\+[1-9][0-9]{4,14}",
      "type": "string",
      "description": "The phone number (MSISDN), in E.164 form, such as `+15550100123`."
     },
     "k": {
      "pattern": "^[0-9A-Fa-f]{32}$",
      "type": "string",
      "description": "The subscriber authentication key. Write-only; responses return `###MASKED###`."
     },
     "opc": {
      "maxLength": 32,
      "minLength": 32,
      "pattern": "^[0-9A-Fa-f]{32}$",
      "type": "string",
      "description": "The operator code (OPc) used with `k` in authentication. Can be `null`."
     },
     "iccid": {
      "maxLength": 22,
      "minLength": 19,
      "type": "string",
      "description": "The SIM's Integrated Circuit Card Identifier (ICCID). Can be `null`."
     },
     "status": {
      "type": "string",
      "enum": [
       "Active",
       "Inactive"
      ],
      "description": "`Active` or `Inactive`."
     },
     "type": {
      "type": "string",
      "enum": [
       "Production",
       "Test"
      ],
      "description": "The Mobile Asset's type, such as `Production`."
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "description": "Free-form key-value pairs. Every key is searchable with deep search, as `key=value`."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "SubscriberRequest": {
    "type": "object",
    "properties": {
     "imsi": {
      "type": "string",
      "nullable": true,
      "description": "The International Mobile Subscriber Identity (IMSI). Unique; also the resource ID."
     },
     "msisdn": {
      "type": "string",
      "nullable": true,
      "description": "The phone number (MSISDN), in E.164 form, such as `+15550100123`."
     },
     "k": {
      "type": "string",
      "nullable": true,
      "description": "The subscriber authentication key. Write-only; responses return `###MASKED###`."
     },
     "opc": {
      "type": "string",
      "nullable": true,
      "description": "The operator code (OPc) used with `k` in authentication. Can be `null`."
     },
     "iccid": {
      "type": "string",
      "nullable": true,
      "description": "The SIM's Integrated Circuit Card Identifier (ICCID). Can be `null`."
     },
     "status": {
      "type": "string",
      "nullable": true,
      "description": "`Active` or `Inactive`."
     },
     "type": {
      "type": "string",
      "nullable": true,
      "description": "The Mobile Asset's type, such as `Production`."
     },
     "system": {
      "type": "string",
      "nullable": true,
      "description": "URI of the System the Mobile Asset belongs to."
     },
     "systemProfile": {
      "type": "string",
      "nullable": true,
      "description": "URI of the System Profile that sets its APNs and bitrates."
     },
     "roamingProfile": {
      "type": "string",
      "nullable": true,
      "description": "URI of the Roaming Profile that limits the networks it may attach to."
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "nullable": true,
      "description": "Free-form key-value pairs. Every key is searchable with deep search, as `key=value`."
     },
     "keyset": {
      "type": "string",
      "nullable": true,
      "description": "URI of the Keyset used to authenticate the SIM."
     }
    }
   },
   "SystemProfile": {
    "required": [
     "aggregateDownload",
     "aggregateUpload",
     "customer",
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string",
      "description": "The System Profile's name."
     },
     "aggregateDownload": {
      "type": "integer",
      "format": "int64",
      "description": "Aggregate maximum download bitrate across all APNs, in bits per second."
     },
     "aggregateUpload": {
      "type": "integer",
      "format": "int64",
      "description": "Aggregate maximum upload bitrate across all APNs, in bits per second."
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "description": "Free-form key-value pairs."
     },
     "_links": {
      "$ref": "#/components/schemas/Links"
     }
    }
   },
   "SystemProfileRequestBody": {
    "required": [
     "aggregateDownload",
     "aggregateUpload",
     "customer",
     "name"
    ],
    "type": "object",
    "properties": {
     "version": {
      "type": "integer",
      "format": "int64"
     },
     "deleted": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
     },
     "id": {
      "type": "integer",
      "format": "int32"
     },
     "name": {
      "maxLength": 64,
      "minLength": 0,
      "type": "string",
      "description": "The System Profile's name."
     },
     "aggregateDownload": {
      "type": "integer",
      "format": "int64",
      "description": "Aggregate maximum download bitrate across all APNs, in bits per second."
     },
     "aggregateUpload": {
      "type": "integer",
      "format": "int64",
      "description": "Aggregate maximum upload bitrate across all APNs, in bits per second."
     },
     "apnProfiles": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "customer": {
      "type": "string"
     },
     "systems": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "subscribers": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "description": "Free-form key-value pairs."
     }
    }
   },
   "SystemRequest": {
    "type": "object",
    "properties": {
     "customer": {
      "type": "string",
      "nullable": true,
      "description": "URI of the Customer that owns the System."
     },
     "extensions": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      },
      "nullable": true,
      "description": "Free-form key-value pairs, searchable with deep search."
     },
     "name": {
      "type": "string",
      "nullable": true,
      "description": "The System's name, unique within its Customer."
     },
     "sites": {
      "type": "array",
      "nullable": true,
      "items": {
       "type": "string"
      },
      "description": "URIs of the Sites that serve the System. To change them, send the complete list."
     },
     "status": {
      "type": "string",
      "nullable": true,
      "enum": [
       "Active",
       "Inactive"
      ],
      "description": "`Active` or `Inactive`."
     },
     "systemProfiles": {
      "type": "array",
      "nullable": true,
      "items": {
       "type": "string"
      },
      "description": "URIs of the System Profiles its Mobile Assets may use. To change them, send the complete list; a System Profile that Mobile Assets on the System use cannot be removed."
     },
     "roamingProfile": {
      "type": "string",
      "nullable": true,
      "description": "URI of the Roaming Profile applied to the System."
     }
    }
   },
   "TestSftpAccessRequest": {
    "type": "object",
    "properties": {
     "sftpAccessUri": {
      "type": "string"
     }
    }
   },
   "UpdatePasswordRequest": {
    "type": "object",
    "properties": {
     "token": {
      "type": "string",
      "nullable": true
     },
     "password": {
      "type": "string"
     },
     "confirmPassword": {
      "type": "string"
     }
    }
   }
  }
 }
}
