{
  "title": "Overtone company agent API",
  "version": "1",
  "authentication": {
    "header": "Authorization: Bearer otk_<secret>",
    "companyHeader": "X-Telephony-Company: <UUID>",
    "cookies": false
  },
  "routes": [
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/access"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/access"
    },
    {
      "methods": [
        "PUT"
      ],
      "path": "/api/v1/access/:userId"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/company-profile"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/company-profile"
    },
    {
      "methods": [
        "PUT"
      ],
      "path": "/api/v1/company-profile"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/conferences/settings"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/conferences/settings"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/conferences/settings"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/invitations"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/invitations"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/invitations/revoke"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/mailboxes"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/mailboxes"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/mailboxes"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/messaging/registrations"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/messaging/registrations"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/messaging/registrations/:id"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/messaging/registrations/:id"
    },
    {
      "methods": [
        "PUT"
      ],
      "path": "/api/v1/messaging/registrations/:id"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/messaging/registrations/:id/handoff"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/messaging/registrations/:id/handoff"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/messaging/registrations/:id/history"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/messaging/registrations/:id/history"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/messaging/registrations/:id/provider"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/messaging/registrations/:id/provider"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/messaging/registrations/:id/submission-profile"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/messaging/registrations/:id/submission-profile"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/messaging/registrations/:id/submissions/:revision"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/messaging/registrations/:id/submissions/:revision"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/messaging/registrations/:id/submit"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/messaging/registrations/:id/withdraw"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/number-purchases/orders"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/number-purchases/orders"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/number-purchases/orders"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/number-purchases/orders/:id"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/number-purchases/orders/:id"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/number-purchases/search"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/reports/catalog"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/reports/catalog"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/reports/exports"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/reports/exports"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/reports/exports"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/reports/exports/:id/cancel"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/reports/exports/:id/download"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/reports/exports/:id/download"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/reports/exports/:id/retry"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/reports/live"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/reports/live"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/reports/snapshots"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/reports/snapshots/:id"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/reports/snapshots/:id"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/reports/snapshots/:id/records"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/reports/snapshots/:id/records"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/reports/views"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/reports/views"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/reports/views"
    },
    {
      "methods": [
        "PUT"
      ],
      "path": "/api/v1/reports/views/:id"
    },
    {
      "methods": [
        "DELETE"
      ],
      "path": "/api/v1/reports/views/:id"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/routing"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/routing"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/routing/draft"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/routing/history"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/routing/history"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/routing/options"
    },
    {
      "methods": [
        "HEAD"
      ],
      "path": "/api/v1/routing/options"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/routing/publish"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/routing/rebase"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/routing/validate"
    },
    {
      "methods": [
        "GET"
      ],
      "path": "/api/v1/session"
    },
    {
      "methods": [
        "GET",
        "HEAD",
        "TRACE",
        "DELETE",
        "OPTIONS",
        "PATCH",
        "PUT",
        "POST",
        "QUERY"
      ],
      "path": "/api/v1/settings/*"
    },
    {
      "methods": [
        "PUT"
      ],
      "path": "/api/v1/users/:userId/status"
    },
    {
      "methods": [
        "POST"
      ],
      "path": "/api/v1/users/invite"
    }
  ],
  "contracts": {
    "dashboard": {
      "source": "packages/contracts/src/dashboard.ts",
      "schemas": {
        "companyUserActivateSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "token": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{43}$"
            },
            "password": {
              "type": "string",
              "minLength": 12,
              "maxLength": 256
            }
          },
          "required": [
            "area",
            "origin",
            "token",
            "password"
          ],
          "additionalProperties": false
        },
        "companyUserInvitationSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "userId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "email": {
              "type": "string",
              "format": "email",
              "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            "displayName": {
              "type": "string"
            },
            "status": {
              "type": "string",
              "enum": [
                "pending",
                "accepted",
                "revoked",
                "expired"
              ]
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            }
          },
          "required": [
            "id",
            "userId",
            "email",
            "displayName",
            "status",
            "expiresAt"
          ],
          "additionalProperties": false
        },
        "companyUserInviteSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "email": {
              "type": "string",
              "maxLength": 254,
              "format": "email",
              "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            "displayName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            },
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "grants": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "member"
                  ]
                },
                "admin": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "configuration": {
                  "type": "object",
                  "properties": {
                    "people": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "administrators": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "routing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "experience": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "voicemail": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "messaging": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "clients": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "conferences": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "company": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "audit": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View"
                      ]
                    }
                  },
                  "required": [
                    "people",
                    "administrators",
                    "routing",
                    "experience",
                    "voicemail",
                    "messaging",
                    "clients",
                    "conferences",
                    "company",
                    "audit"
                  ],
                  "additionalProperties": false
                },
                "workspace": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string",
                      "enum": [
                        "own",
                        "company"
                      ]
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "enabled",
                    "scope"
                  ],
                  "additionalProperties": false
                },
                "billing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "role",
                "admin",
                "configuration",
                "workspace",
                "billing"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "area",
            "origin",
            "email",
            "displayName",
            "requestId",
            "grants"
          ],
          "additionalProperties": false
        },
        "companyUserMailSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "leaseId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "to": {
                  "type": "string",
                  "format": "email",
                  "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "kind": {
                  "type": "string",
                  "const": "company-user-invitation"
                },
                "activationUrl": {
                  "type": "string",
                  "maxLength": 2000,
                  "format": "uri"
                }
              },
              "required": [
                "id",
                "leaseId",
                "companyId",
                "to",
                "expiresAt",
                "kind",
                "activationUrl"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "leaseId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "to": {
                  "type": "string",
                  "format": "email",
                  "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "kind": {
                  "type": "string",
                  "const": "company-user-recovery"
                },
                "recoveryUrl": {
                  "type": "string",
                  "maxLength": 2000,
                  "format": "uri"
                }
              },
              "required": [
                "id",
                "leaseId",
                "companyId",
                "to",
                "expiresAt",
                "kind",
                "recoveryUrl"
              ],
              "additionalProperties": false
            }
          ]
        },
        "companyUserStatusSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "userId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "enabled": {
              "type": "boolean"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "area",
            "origin",
            "userId",
            "enabled",
            "expectedRevision",
            "requestId"
          ],
          "additionalProperties": false
        },
        "configurationGrantsSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "people": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "administrators": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "routing": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "experience": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "voicemail": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "messaging": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "clients": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "conferences": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "company": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            },
            "audit": {
              "type": "string",
              "enum": [
                "None",
                "View"
              ]
            }
          },
          "required": [
            "people",
            "administrators",
            "routing",
            "experience",
            "voicemail",
            "messaging",
            "clients",
            "conferences",
            "company",
            "audit"
          ],
          "additionalProperties": false
        },
        "dashboardAccessChangeSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "userId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "grants": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "member"
                  ]
                },
                "admin": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "configuration": {
                  "type": "object",
                  "properties": {
                    "people": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "administrators": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "routing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "experience": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "voicemail": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "messaging": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "clients": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "conferences": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "company": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "audit": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View"
                      ]
                    }
                  },
                  "required": [
                    "people",
                    "administrators",
                    "routing",
                    "experience",
                    "voicemail",
                    "messaging",
                    "clients",
                    "conferences",
                    "company",
                    "audit"
                  ],
                  "additionalProperties": false
                },
                "workspace": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string",
                      "enum": [
                        "own",
                        "company"
                      ]
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "enabled",
                    "scope"
                  ],
                  "additionalProperties": false
                },
                "billing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "role",
                "admin",
                "configuration",
                "workspace",
                "billing"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "area",
            "origin",
            "userId",
            "requestId",
            "expectedRevision",
            "grants"
          ],
          "additionalProperties": false
        },
        "dashboardAccessSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "userId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "email": {
              "type": "string",
              "format": "email",
              "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            "emailVerified": {
              "type": "boolean"
            },
            "displayName": {
              "type": "string"
            },
            "enabled": {
              "type": "boolean"
            },
            "revision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "grants": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "member"
                  ]
                },
                "admin": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "configuration": {
                  "type": "object",
                  "properties": {
                    "people": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "administrators": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "routing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "experience": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "voicemail": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "messaging": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "clients": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "conferences": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "company": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "audit": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View"
                      ]
                    }
                  },
                  "required": [
                    "people",
                    "administrators",
                    "routing",
                    "experience",
                    "voicemail",
                    "messaging",
                    "clients",
                    "conferences",
                    "company",
                    "audit"
                  ],
                  "additionalProperties": false
                },
                "workspace": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string",
                      "enum": [
                        "own",
                        "company"
                      ]
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "enabled",
                    "scope"
                  ],
                  "additionalProperties": false
                },
                "billing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "role",
                "admin",
                "configuration",
                "workspace",
                "billing"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "userId",
            "email",
            "emailVerified",
            "displayName",
            "enabled",
            "revision",
            "grants"
          ],
          "additionalProperties": false
        },
        "dashboardAreaSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "enum": [
            "admin",
            "workspace",
            "billing",
            "support"
          ]
        },
        "dashboardChallengeSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "challengeToken": {
              "type": "string",
              "minLength": 43,
              "maxLength": 128
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "method": {
              "type": "string",
              "enum": [
                "enroll",
                "verify"
              ]
            },
            "setupKey": {
              "type": "string",
              "pattern": "^[A-Z2-7]{32}$"
            },
            "authenticatorUri": {
              "type": "string",
              "maxLength": 1000
            }
          },
          "required": [
            "challengeToken",
            "expiresAt",
            "method"
          ],
          "additionalProperties": false
        },
        "dashboardContextSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            }
          },
          "required": [
            "area",
            "origin"
          ],
          "additionalProperties": false
        },
        "dashboardGrantsSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "role": {
              "type": "string",
              "enum": [
                "owner",
                "member"
              ]
            },
            "admin": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                }
              },
              "required": [
                "enabled"
              ],
              "additionalProperties": false
            },
            "configuration": {
              "type": "object",
              "properties": {
                "people": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "administrators": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "routing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "experience": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "voicemail": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "messaging": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "clients": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "conferences": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "company": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "audit": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View"
                  ]
                }
              },
              "required": [
                "people",
                "administrators",
                "routing",
                "experience",
                "voicemail",
                "messaging",
                "clients",
                "conferences",
                "company",
                "audit"
              ],
              "additionalProperties": false
            },
            "workspace": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "scope": {
                  "type": "string",
                  "enum": [
                    "own",
                    "company"
                  ]
                },
                "level": {
                  "type": "string",
                  "enum": [
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "enabled",
                "scope"
              ],
              "additionalProperties": false
            },
            "billing": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            }
          },
          "required": [
            "role",
            "admin",
            "configuration",
            "workspace",
            "billing"
          ],
          "additionalProperties": false
        },
        "dashboardLevelSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "enum": [
            "None",
            "View",
            "Manage"
          ]
        },
        "dashboardLoginSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "email": {
              "type": "string",
              "maxLength": 254,
              "format": "email",
              "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            "password": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "area",
            "origin",
            "email",
            "password"
          ],
          "additionalProperties": false
        },
        "dashboardPasswordSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "currentPassword": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "newPassword": {
              "type": "string",
              "minLength": 12,
              "maxLength": 256
            }
          },
          "required": [
            "area",
            "origin",
            "currentPassword",
            "newPassword"
          ],
          "additionalProperties": false
        },
        "dashboardRecoveryCodeSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "maxLength": 64
        },
        "dashboardRecoveryCodesRotateSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "currentPassword": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "code": {
              "type": "string",
              "pattern": "^\\d{6}$"
            }
          },
          "required": [
            "area",
            "origin",
            "currentPassword",
            "code"
          ],
          "additionalProperties": false
        },
        "dashboardRecoveryCodesSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "recoveryCodes": {
              "minItems": 10,
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[0-9A-F]{20}$"
              }
            }
          },
          "required": [
            "recoveryCodes"
          ],
          "additionalProperties": false
        },
        "dashboardRecoveryCompleteSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "token": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{43}$"
            },
            "newPassword": {
              "type": "string",
              "minLength": 12,
              "maxLength": 256
            },
            "factor": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "authenticator"
                    },
                    "code": {
                      "type": "string",
                      "pattern": "^\\d{6}$"
                    }
                  },
                  "required": [
                    "method",
                    "code"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "recovery-code"
                    },
                    "code": {
                      "type": "string",
                      "maxLength": 64
                    },
                    "resetAuthenticator": {
                      "default": false,
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "method",
                    "code"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "unenrolled"
                    }
                  },
                  "required": [
                    "method"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "area",
            "origin",
            "token",
            "newPassword",
            "factor"
          ],
          "additionalProperties": false
        },
        "dashboardRecoveryRequestSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "email": {
              "type": "string",
              "maxLength": 254,
              "format": "email",
              "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            }
          },
          "required": [
            "area",
            "origin",
            "email"
          ],
          "additionalProperties": false
        },
        "dashboardSessionSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "accessTokenId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "principal": {
              "type": "string",
              "const": "company_user"
            },
            "userId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "email": {
              "type": "string",
              "format": "email",
              "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            "emailVerified": {
              "type": "boolean"
            },
            "displayName": {
              "type": "string"
            },
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "format": "uri"
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "passwordChangeRequired": {
              "type": "boolean"
            },
            "revision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "grants": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "member"
                  ]
                },
                "admin": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "configuration": {
                  "type": "object",
                  "properties": {
                    "people": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "administrators": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "routing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "experience": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "voicemail": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "messaging": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "clients": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "conferences": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "company": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "audit": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View"
                      ]
                    }
                  },
                  "required": [
                    "people",
                    "administrators",
                    "routing",
                    "experience",
                    "voicemail",
                    "messaging",
                    "clients",
                    "conferences",
                    "company",
                    "audit"
                  ],
                  "additionalProperties": false
                },
                "workspace": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string",
                      "enum": [
                        "own",
                        "company"
                      ]
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "enabled",
                    "scope"
                  ],
                  "additionalProperties": false
                },
                "billing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "role",
                "admin",
                "configuration",
                "workspace",
                "billing"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "companyId",
            "principal",
            "userId",
            "email",
            "emailVerified",
            "displayName",
            "area",
            "origin",
            "expiresAt",
            "passwordChangeRequired",
            "revision",
            "grants"
          ],
          "additionalProperties": false
        },
        "dashboardVerifyResultSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "accessToken": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{43}$"
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "recoveryCodes": {
              "minItems": 10,
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[0-9A-F]{20}$"
              }
            }
          },
          "required": [
            "accessToken",
            "expiresAt"
          ],
          "additionalProperties": false
        },
        "dashboardVerifySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "code": {
              "type": "string",
              "pattern": "^\\d{6}$"
            }
          },
          "required": [
            "area",
            "origin",
            "code"
          ],
          "additionalProperties": false
        }
      }
    },
    "dashboard-personal": {
      "source": "packages/contracts/src/dashboard-personal.ts",
      "schemas": {
        "accessTokenCreatedSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "token": {
              "type": "string",
              "pattern": "^otk_[A-Za-z0-9_-]{43}$"
            },
            "record": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "lastUsedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "revokedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "grants": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "type": "string",
                      "const": "member"
                    },
                    "admin": {
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "enabled"
                      ],
                      "additionalProperties": false
                    },
                    "configuration": {
                      "type": "object",
                      "properties": {
                        "people": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "administrators": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "routing": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "experience": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "voicemail": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "messaging": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "clients": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "conferences": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "company": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "audit": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View"
                          ]
                        }
                      },
                      "required": [
                        "people",
                        "administrators",
                        "routing",
                        "experience",
                        "voicemail",
                        "messaging",
                        "clients",
                        "conferences",
                        "company",
                        "audit"
                      ],
                      "additionalProperties": false
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean"
                        },
                        "scope": {
                          "type": "string",
                          "enum": [
                            "own",
                            "company"
                          ]
                        },
                        "level": {
                          "default": "View",
                          "type": "string",
                          "enum": [
                            "View",
                            "Manage"
                          ]
                        }
                      },
                      "required": [
                        "enabled",
                        "scope"
                      ],
                      "additionalProperties": false
                    },
                    "billing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "role",
                    "admin",
                    "configuration",
                    "workspace",
                    "billing"
                  ],
                  "additionalProperties": false
                },
                "effectiveGrants": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "type": "string",
                      "const": "member"
                    },
                    "admin": {
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "enabled"
                      ],
                      "additionalProperties": false
                    },
                    "configuration": {
                      "type": "object",
                      "properties": {
                        "people": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "administrators": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "routing": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "experience": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "voicemail": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "messaging": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "clients": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "conferences": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "company": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View",
                            "Manage"
                          ]
                        },
                        "audit": {
                          "type": "string",
                          "enum": [
                            "None",
                            "View"
                          ]
                        }
                      },
                      "required": [
                        "people",
                        "administrators",
                        "routing",
                        "experience",
                        "voicemail",
                        "messaging",
                        "clients",
                        "conferences",
                        "company",
                        "audit"
                      ],
                      "additionalProperties": false
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean"
                        },
                        "scope": {
                          "type": "string",
                          "enum": [
                            "own",
                            "company"
                          ]
                        },
                        "level": {
                          "default": "View",
                          "type": "string",
                          "enum": [
                            "View",
                            "Manage"
                          ]
                        }
                      },
                      "required": [
                        "enabled",
                        "scope"
                      ],
                      "additionalProperties": false
                    },
                    "billing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "role",
                    "admin",
                    "configuration",
                    "workspace",
                    "billing"
                  ],
                  "additionalProperties": false
                },
                "requestId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "id",
                "name",
                "createdAt",
                "expiresAt",
                "lastUsedAt",
                "revokedAt",
                "grants",
                "effectiveGrants",
                "requestId"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "token",
            "record"
          ],
          "additionalProperties": false
        },
        "accessTokenRecordSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "lastUsedAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "revokedAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "grants": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "const": "member"
                },
                "admin": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "configuration": {
                  "type": "object",
                  "properties": {
                    "people": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "administrators": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "routing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "experience": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "voicemail": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "messaging": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "clients": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "conferences": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "company": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "audit": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View"
                      ]
                    }
                  },
                  "required": [
                    "people",
                    "administrators",
                    "routing",
                    "experience",
                    "voicemail",
                    "messaging",
                    "clients",
                    "conferences",
                    "company",
                    "audit"
                  ],
                  "additionalProperties": false
                },
                "workspace": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string",
                      "enum": [
                        "own",
                        "company"
                      ]
                    },
                    "level": {
                      "default": "View",
                      "type": "string",
                      "enum": [
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "enabled",
                    "scope"
                  ],
                  "additionalProperties": false
                },
                "billing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "role",
                "admin",
                "configuration",
                "workspace",
                "billing"
              ],
              "additionalProperties": false
            },
            "effectiveGrants": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "const": "member"
                },
                "admin": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "configuration": {
                  "type": "object",
                  "properties": {
                    "people": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "administrators": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "routing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "experience": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "voicemail": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "messaging": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "clients": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "conferences": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "company": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "audit": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View"
                      ]
                    }
                  },
                  "required": [
                    "people",
                    "administrators",
                    "routing",
                    "experience",
                    "voicemail",
                    "messaging",
                    "clients",
                    "conferences",
                    "company",
                    "audit"
                  ],
                  "additionalProperties": false
                },
                "workspace": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string",
                      "enum": [
                        "own",
                        "company"
                      ]
                    },
                    "level": {
                      "default": "View",
                      "type": "string",
                      "enum": [
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "enabled",
                    "scope"
                  ],
                  "additionalProperties": false
                },
                "billing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "role",
                "admin",
                "configuration",
                "workspace",
                "billing"
              ],
              "additionalProperties": false
            },
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "id",
            "name",
            "createdAt",
            "expiresAt",
            "lastUsedAt",
            "revokedAt",
            "grants",
            "effectiveGrants",
            "requestId"
          ],
          "additionalProperties": false
        },
        "accessTokensSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "expiresAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "lastUsedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "revokedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "grants": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "const": "member"
                  },
                  "admin": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "enabled"
                    ],
                    "additionalProperties": false
                  },
                  "configuration": {
                    "type": "object",
                    "properties": {
                      "people": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "administrators": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "routing": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "experience": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "voicemail": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "messaging": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "clients": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "conferences": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "company": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "audit": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View"
                        ]
                      }
                    },
                    "required": [
                      "people",
                      "administrators",
                      "routing",
                      "experience",
                      "voicemail",
                      "messaging",
                      "clients",
                      "conferences",
                      "company",
                      "audit"
                    ],
                    "additionalProperties": false
                  },
                  "workspace": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "scope": {
                        "type": "string",
                        "enum": [
                          "own",
                          "company"
                        ]
                      },
                      "level": {
                        "default": "View",
                        "type": "string",
                        "enum": [
                          "View",
                          "Manage"
                        ]
                      }
                    },
                    "required": [
                      "enabled",
                      "scope"
                    ],
                    "additionalProperties": false
                  },
                  "billing": {
                    "type": "string",
                    "enum": [
                      "None",
                      "View",
                      "Manage"
                    ]
                  }
                },
                "required": [
                  "role",
                  "admin",
                  "configuration",
                  "workspace",
                  "billing"
                ],
                "additionalProperties": false
              },
              "effectiveGrants": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "const": "member"
                  },
                  "admin": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "enabled"
                    ],
                    "additionalProperties": false
                  },
                  "configuration": {
                    "type": "object",
                    "properties": {
                      "people": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "administrators": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "routing": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "experience": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "voicemail": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "messaging": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "clients": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "conferences": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "company": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View",
                          "Manage"
                        ]
                      },
                      "audit": {
                        "type": "string",
                        "enum": [
                          "None",
                          "View"
                        ]
                      }
                    },
                    "required": [
                      "people",
                      "administrators",
                      "routing",
                      "experience",
                      "voicemail",
                      "messaging",
                      "clients",
                      "conferences",
                      "company",
                      "audit"
                    ],
                    "additionalProperties": false
                  },
                  "workspace": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "scope": {
                        "type": "string",
                        "enum": [
                          "own",
                          "company"
                        ]
                      },
                      "level": {
                        "default": "View",
                        "type": "string",
                        "enum": [
                          "View",
                          "Manage"
                        ]
                      }
                    },
                    "required": [
                      "enabled",
                      "scope"
                    ],
                    "additionalProperties": false
                  },
                  "billing": {
                    "type": "string",
                    "enum": [
                      "None",
                      "View",
                      "Manage"
                    ]
                  }
                },
                "required": [
                  "role",
                  "admin",
                  "configuration",
                  "workspace",
                  "billing"
                ],
                "additionalProperties": false
              },
              "requestId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              }
            },
            "required": [
              "id",
              "name",
              "createdAt",
              "expiresAt",
              "lastUsedAt",
              "revokedAt",
              "grants",
              "effectiveGrants",
              "requestId"
            ],
            "additionalProperties": false
          }
        },
        "createAccessTokenSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expiresInDays": {
              "type": "integer",
              "minimum": 1,
              "maximum": 90
            },
            "grants": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "const": "member"
                },
                "admin": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "configuration": {
                  "type": "object",
                  "properties": {
                    "people": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "administrators": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "routing": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "experience": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "voicemail": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "messaging": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "clients": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "conferences": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "company": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View",
                        "Manage"
                      ]
                    },
                    "audit": {
                      "type": "string",
                      "enum": [
                        "None",
                        "View"
                      ]
                    }
                  },
                  "required": [
                    "people",
                    "administrators",
                    "routing",
                    "experience",
                    "voicemail",
                    "messaging",
                    "clients",
                    "conferences",
                    "company",
                    "audit"
                  ],
                  "additionalProperties": false
                },
                "workspace": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "scope": {
                      "type": "string",
                      "enum": [
                        "own",
                        "company"
                      ]
                    },
                    "level": {
                      "default": "View",
                      "type": "string",
                      "enum": [
                        "View",
                        "Manage"
                      ]
                    }
                  },
                  "required": [
                    "enabled",
                    "scope"
                  ],
                  "additionalProperties": false
                },
                "billing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "role",
                "admin",
                "configuration",
                "workspace",
                "billing"
              ],
              "additionalProperties": false
            },
            "proof": {
              "type": "object",
              "properties": {
                "currentPassword": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "code": {
                  "type": "string",
                  "pattern": "^\\d{6}$"
                }
              },
              "required": [
                "currentPassword",
                "code"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "area",
            "origin",
            "name",
            "requestId",
            "expiresInDays",
            "grants",
            "proof"
          ],
          "additionalProperties": false
        },
        "interfacePreferenceRecordSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "revision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "preferences": {
              "type": "object",
              "properties": {
                "theme": {
                  "type": "string",
                  "enum": [
                    "system",
                    "dark",
                    "light",
                    "pure-light",
                    "classic-dark",
                    "midnight",
                    "custom"
                  ]
                },
                "lightTheme": {
                  "type": "string",
                  "enum": [
                    "light",
                    "pure-light"
                  ]
                },
                "darkTheme": {
                  "type": "string",
                  "enum": [
                    "dark",
                    "classic-dark",
                    "midnight",
                    "custom"
                  ]
                },
                "custom": {
                  "type": "object",
                  "properties": {
                    "background": {
                      "type": "string",
                      "pattern": "^#[0-9a-fA-F]{6}$"
                    },
                    "foreground": {
                      "type": "string",
                      "pattern": "^#[0-9a-fA-F]{6}$"
                    }
                  },
                  "required": [
                    "background",
                    "foreground"
                  ],
                  "additionalProperties": false
                },
                "codeTheme": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "light",
                    "dark"
                  ]
                },
                "fontSize": {
                  "type": "string",
                  "enum": [
                    "small",
                    "default",
                    "large"
                  ]
                },
                "pointerCursors": {
                  "type": "boolean"
                },
                "underlineLinks": {
                  "type": "boolean"
                },
                "reduceMotion": {
                  "type": "boolean"
                },
                "staticImages": {
                  "type": "boolean"
                },
                "sidebars": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "admin",
                      "workspace",
                      "billing",
                      "support"
                    ]
                  },
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "hidden": {
                        "maxItems": 40,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-z-]{1,40}$"
                        }
                      },
                      "order": {
                        "maxItems": 40,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-z-]{1,40}$"
                        }
                      },
                      "badges": {
                        "type": "string",
                        "enum": [
                          "count",
                          "dot",
                          "hidden"
                        ]
                      }
                    },
                    "required": [
                      "hidden",
                      "order",
                      "badges"
                    ],
                    "additionalProperties": false
                  },
                  "required": [
                    "admin",
                    "workspace",
                    "billing",
                    "support"
                  ]
                }
              },
              "required": [
                "theme",
                "lightTheme",
                "darkTheme",
                "custom",
                "codeTheme",
                "fontSize",
                "pointerCursors",
                "underlineLinks",
                "reduceMotion",
                "staticImages",
                "sidebars"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "revision",
            "preferences"
          ],
          "additionalProperties": false
        },
        "interfacePreferencesSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "theme": {
              "type": "string",
              "enum": [
                "system",
                "dark",
                "light",
                "pure-light",
                "classic-dark",
                "midnight",
                "custom"
              ]
            },
            "lightTheme": {
              "type": "string",
              "enum": [
                "light",
                "pure-light"
              ]
            },
            "darkTheme": {
              "type": "string",
              "enum": [
                "dark",
                "classic-dark",
                "midnight",
                "custom"
              ]
            },
            "custom": {
              "type": "object",
              "properties": {
                "background": {
                  "type": "string",
                  "pattern": "^#[0-9a-fA-F]{6}$"
                },
                "foreground": {
                  "type": "string",
                  "pattern": "^#[0-9a-fA-F]{6}$"
                }
              },
              "required": [
                "background",
                "foreground"
              ],
              "additionalProperties": false
            },
            "codeTheme": {
              "type": "string",
              "enum": [
                "auto",
                "light",
                "dark"
              ]
            },
            "fontSize": {
              "type": "string",
              "enum": [
                "small",
                "default",
                "large"
              ]
            },
            "pointerCursors": {
              "type": "boolean"
            },
            "underlineLinks": {
              "type": "boolean"
            },
            "reduceMotion": {
              "type": "boolean"
            },
            "staticImages": {
              "type": "boolean"
            },
            "sidebars": {
              "type": "object",
              "propertyNames": {
                "type": "string",
                "enum": [
                  "admin",
                  "workspace",
                  "billing",
                  "support"
                ]
              },
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "hidden": {
                    "maxItems": 40,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-z-]{1,40}$"
                    }
                  },
                  "order": {
                    "maxItems": 40,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-z-]{1,40}$"
                    }
                  },
                  "badges": {
                    "type": "string",
                    "enum": [
                      "count",
                      "dot",
                      "hidden"
                    ]
                  }
                },
                "required": [
                  "hidden",
                  "order",
                  "badges"
                ],
                "additionalProperties": false
              },
              "required": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            }
          },
          "required": [
            "theme",
            "lightTheme",
            "darkTheme",
            "custom",
            "codeTheme",
            "fontSize",
            "pointerCursors",
            "underlineLinks",
            "reduceMotion",
            "staticImages",
            "sidebars"
          ],
          "additionalProperties": false
        },
        "passkeyCompleteSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "challengeId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "response": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "area",
            "origin",
            "challengeId",
            "response"
          ],
          "additionalProperties": false
        },
        "passkeyRecordSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "origin": {
              "type": "string",
              "format": "uri"
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "lastUsedAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "id",
            "name",
            "origin",
            "createdAt",
            "lastUsedAt"
          ],
          "additionalProperties": false
        },
        "passkeyRegistrationStartSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "proof": {
              "type": "object",
              "properties": {
                "currentPassword": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "code": {
                  "type": "string",
                  "pattern": "^\\d{6}$"
                }
              },
              "required": [
                "currentPassword",
                "code"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "area",
            "origin",
            "name",
            "proof"
          ],
          "additionalProperties": false
        },
        "passkeysSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "origin": {
                "type": "string",
                "format": "uri"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "lastUsedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "name",
              "origin",
              "createdAt",
              "lastUsedAt"
            ],
            "additionalProperties": false
          }
        },
        "personalSecuritySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "authentication": {
              "type": "string",
              "enum": [
                "company",
                "account"
              ]
            }
          },
          "required": [
            "authentication"
          ],
          "additionalProperties": false
        },
        "personalSessionSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "browser": {
              "type": "string",
              "maxLength": 100
            },
            "createdAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "lastSeenAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "current": {
              "type": "boolean"
            }
          },
          "required": [
            "id",
            "area",
            "browser",
            "createdAt",
            "lastSeenAt",
            "expiresAt",
            "current"
          ],
          "additionalProperties": false
        },
        "personalSessionsSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "area": {
                "type": "string",
                "enum": [
                  "admin",
                  "workspace",
                  "billing",
                  "support"
                ]
              },
              "browser": {
                "type": "string",
                "maxLength": 100
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastSeenAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expiresAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "current": {
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "area",
              "browser",
              "createdAt",
              "lastSeenAt",
              "expiresAt",
              "current"
            ],
            "additionalProperties": false
          }
        },
        "removePasskeySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "proof": {
              "type": "object",
              "properties": {
                "currentPassword": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "code": {
                  "type": "string",
                  "pattern": "^\\d{6}$"
                }
              },
              "required": [
                "currentPassword",
                "code"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "area",
            "origin",
            "id",
            "proof"
          ],
          "additionalProperties": false
        },
        "revokeAccessTokenSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "area",
            "origin",
            "id"
          ],
          "additionalProperties": false
        },
        "revokePersonalSessionSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                {
                  "type": "string",
                  "const": "others"
                }
              ]
            }
          },
          "required": [
            "area",
            "origin",
            "id"
          ],
          "additionalProperties": false
        },
        "saveInterfacePreferencesSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "area": {
              "type": "string",
              "enum": [
                "admin",
                "workspace",
                "billing",
                "support"
              ]
            },
            "origin": {
              "type": "string",
              "maxLength": 300,
              "format": "uri"
            },
            "expectedRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "preferences": {
              "type": "object",
              "properties": {
                "theme": {
                  "type": "string",
                  "enum": [
                    "system",
                    "dark",
                    "light",
                    "pure-light",
                    "classic-dark",
                    "midnight",
                    "custom"
                  ]
                },
                "lightTheme": {
                  "type": "string",
                  "enum": [
                    "light",
                    "pure-light"
                  ]
                },
                "darkTheme": {
                  "type": "string",
                  "enum": [
                    "dark",
                    "classic-dark",
                    "midnight",
                    "custom"
                  ]
                },
                "custom": {
                  "type": "object",
                  "properties": {
                    "background": {
                      "type": "string",
                      "pattern": "^#[0-9a-fA-F]{6}$"
                    },
                    "foreground": {
                      "type": "string",
                      "pattern": "^#[0-9a-fA-F]{6}$"
                    }
                  },
                  "required": [
                    "background",
                    "foreground"
                  ],
                  "additionalProperties": false
                },
                "codeTheme": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "light",
                    "dark"
                  ]
                },
                "fontSize": {
                  "type": "string",
                  "enum": [
                    "small",
                    "default",
                    "large"
                  ]
                },
                "pointerCursors": {
                  "type": "boolean"
                },
                "underlineLinks": {
                  "type": "boolean"
                },
                "reduceMotion": {
                  "type": "boolean"
                },
                "staticImages": {
                  "type": "boolean"
                },
                "sidebars": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "admin",
                      "workspace",
                      "billing",
                      "support"
                    ]
                  },
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "hidden": {
                        "maxItems": 40,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-z-]{1,40}$"
                        }
                      },
                      "order": {
                        "maxItems": 40,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-z-]{1,40}$"
                        }
                      },
                      "badges": {
                        "type": "string",
                        "enum": [
                          "count",
                          "dot",
                          "hidden"
                        ]
                      }
                    },
                    "required": [
                      "hidden",
                      "order",
                      "badges"
                    ],
                    "additionalProperties": false
                  },
                  "required": [
                    "admin",
                    "workspace",
                    "billing",
                    "support"
                  ]
                }
              },
              "required": [
                "theme",
                "lightTheme",
                "darkTheme",
                "custom",
                "codeTheme",
                "fontSize",
                "pointerCursors",
                "underlineLinks",
                "reduceMotion",
                "staticImages",
                "sidebars"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "area",
            "origin",
            "expectedRevision",
            "preferences"
          ],
          "additionalProperties": false
        },
        "securityProofSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "currentPassword": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "code": {
              "type": "string",
              "pattern": "^\\d{6}$"
            }
          },
          "required": [
            "currentPassword",
            "code"
          ],
          "additionalProperties": false
        },
        "tokenGrantsSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "role": {
              "type": "string",
              "const": "member"
            },
            "admin": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                }
              },
              "required": [
                "enabled"
              ],
              "additionalProperties": false
            },
            "configuration": {
              "type": "object",
              "properties": {
                "people": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "administrators": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "routing": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "experience": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "voicemail": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "messaging": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "clients": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "conferences": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "company": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View",
                    "Manage"
                  ]
                },
                "audit": {
                  "type": "string",
                  "enum": [
                    "None",
                    "View"
                  ]
                }
              },
              "required": [
                "people",
                "administrators",
                "routing",
                "experience",
                "voicemail",
                "messaging",
                "clients",
                "conferences",
                "company",
                "audit"
              ],
              "additionalProperties": false
            },
            "workspace": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "scope": {
                  "type": "string",
                  "enum": [
                    "own",
                    "company"
                  ]
                },
                "level": {
                  "default": "View",
                  "type": "string",
                  "enum": [
                    "View",
                    "Manage"
                  ]
                }
              },
              "required": [
                "enabled",
                "scope"
              ],
              "additionalProperties": false
            },
            "billing": {
              "type": "string",
              "enum": [
                "None",
                "View",
                "Manage"
              ]
            }
          },
          "required": [
            "role",
            "admin",
            "configuration",
            "workspace",
            "billing"
          ],
          "additionalProperties": false
        }
      }
    },
    "dashboard-administration": {
      "source": "packages/contracts/src/dashboard-administration.ts",
      "schemas": {
        "callingAdministrationSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "employeeId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "extension": {
              "type": "string",
              "pattern": "^\\d{2,8}$"
            },
            "number": {
              "type": "string",
              "pattern": "^\\+[1-9]\\d{7,14}$"
            },
            "remove": {
              "type": "boolean"
            },
            "makeDefault": {
              "type": "boolean"
            },
            "identity": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "main",
                    "department",
                    "personal"
                  ]
                }
              },
              "required": [
                "id",
                "label",
                "kind"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "employeeId",
            "extension",
            "number",
            "remove",
            "makeDefault"
          ],
          "additionalProperties": false
        },
        "deviceSessionSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "employeeId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "employeeName": {
              "type": "string"
            },
            "deviceName": {
              "type": "string"
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "lastSeenAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "expiresAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "id",
            "employeeId",
            "employeeName",
            "deviceName",
            "createdAt",
            "lastSeenAt",
            "expiresAt"
          ],
          "additionalProperties": false
        },
        "deviceSessionsSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "maxItems": 1000,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "employeeId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "employeeName": {
                "type": "string"
              },
              "deviceName": {
                "type": "string"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "lastSeenAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "employeeId",
              "employeeName",
              "deviceName",
              "createdAt",
              "lastSeenAt",
              "expiresAt"
            ],
            "additionalProperties": false
          }
        },
        "messagingReadinessSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "items": {
              "maxItems": 10000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "number": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "messagingEnabled": {
                    "type": "boolean"
                  },
                  "checkedAt": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "capabilities": {
                    "type": "object",
                    "properties": {
                      "sms": {
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "enum": [
                              "unknown",
                              "pending",
                              "ready",
                              "degraded",
                              "blocked"
                            ]
                          },
                          "reason": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "awaiting_profile",
                                  "profile_mismatch",
                                  "awaiting_campaign",
                                  "campaign_mismatch",
                                  "campaign_rejected",
                                  "number_inactive",
                                  "messaging_unavailable",
                                  "unsupported_number_type",
                                  "provider_unavailable",
                                  "not_in_connection",
                                  "status_outdated",
                                  "profile_unavailable",
                                  "awaiting_verification",
                                  "verification_rejected"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "status",
                          "reason"
                        ],
                        "additionalProperties": false
                      },
                      "mms": {
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "enum": [
                              "unknown",
                              "pending",
                              "ready",
                              "degraded",
                              "blocked"
                            ]
                          },
                          "reason": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "awaiting_profile",
                                  "profile_mismatch",
                                  "awaiting_campaign",
                                  "campaign_mismatch",
                                  "campaign_rejected",
                                  "number_inactive",
                                  "messaging_unavailable",
                                  "unsupported_number_type",
                                  "provider_unavailable",
                                  "not_in_connection",
                                  "status_outdated",
                                  "profile_unavailable",
                                  "awaiting_verification",
                                  "verification_rejected"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "status",
                          "reason"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "sms",
                      "mms"
                    ],
                    "additionalProperties": false
                  },
                  "inbox": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "label": {
                            "type": "string"
                          },
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "id",
                          "label",
                          "enabled"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "number",
                  "label",
                  "active",
                  "messagingEnabled",
                  "checkedAt",
                  "capabilities",
                  "inbox"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "companyId",
            "items"
          ],
          "additionalProperties": false
        },
        "phoneAdministrationSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "extensions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "extension": {
                    "type": "string"
                  },
                  "employeeId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "registered",
                      "unregistered",
                      "unknown"
                    ]
                  },
                  "routedNumbers": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "number": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "number",
                        "label"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "extension",
                  "employeeId",
                  "status",
                  "routedNumbers"
                ],
                "additionalProperties": false
              }
            },
            "grants": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "extension": {
                    "type": "string"
                  },
                  "number": {
                    "type": "string"
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "extension",
                  "number",
                  "isDefault"
                ],
                "additionalProperties": false
              }
            },
            "incoming": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "number": {
                    "type": "string"
                  },
                  "destination": {
                    "type": "string"
                  }
                },
                "required": [
                  "number",
                  "destination"
                ],
                "additionalProperties": false
              }
            },
            "personal": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "extension": {
                    "type": "string"
                  },
                  "mailboxId": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "ringSeconds": {
                    "type": "number"
                  }
                },
                "required": [
                  "extension",
                  "mailboxId",
                  "ringSeconds"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "companyId",
            "revision",
            "extensions",
            "grants",
            "incoming",
            "personal"
          ],
          "additionalProperties": false
        }
      }
    },
    "pbx-routing": {
      "source": "packages/contracts/src/pbx-routing.ts",
      "schemas": {
        "pbxRoutingCatalogSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "resourceStatus": {
              "default": {
                "employees": "ready",
                "mailboxes": "not_connected",
                "audio": "not_connected",
                "schedules": "not_connected"
              },
              "type": "object",
              "properties": {
                "employees": {
                  "type": "string",
                  "enum": [
                    "ready",
                    "not_connected",
                    "unavailable"
                  ]
                },
                "mailboxes": {
                  "type": "string",
                  "enum": [
                    "ready",
                    "not_connected",
                    "unavailable"
                  ]
                },
                "audio": {
                  "type": "string",
                  "enum": [
                    "ready",
                    "not_connected",
                    "unavailable"
                  ]
                },
                "schedules": {
                  "type": "string",
                  "enum": [
                    "ready",
                    "not_connected",
                    "unavailable"
                  ]
                }
              },
              "required": [
                "employees",
                "mailboxes",
                "audio",
                "schedules"
              ],
              "additionalProperties": false
            },
            "employees": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "extension": {
                    "type": "string",
                    "pattern": "^\\d{2,8}$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "id",
                  "extension",
                  "name",
                  "enabled"
                ],
                "additionalProperties": false
              }
            },
            "mailboxes": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "id",
                  "name",
                  "enabled"
                ],
                "additionalProperties": false
              }
            },
            "numbers": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "number": {
                    "type": "string",
                    "pattern": "^\\+[1-9]\\d{7,14}$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "number",
                  "name",
                  "enabled"
                ],
                "additionalProperties": false
              }
            },
            "audioRefs": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "ready": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "id",
                  "name",
                  "ready"
                ],
                "additionalProperties": false
              }
            },
            "schedules": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "ready": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "id",
                  "name",
                  "ready"
                ],
                "additionalProperties": false
              }
            },
            "approvedSipDestinations": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "required": [
                  "id",
                  "name"
                ],
                "additionalProperties": false
              }
            },
            "conferences": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "extension": {
                    "type": "string",
                    "pattern": "^\\d{2,8}$"
                  }
                },
                "required": [
                  "id",
                  "name"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "companyId",
            "employees",
            "mailboxes",
            "numbers",
            "audioRefs",
            "schedules",
            "approvedSipDestinations",
            "conferences"
          ],
          "additionalProperties": false
        },
        "pbxRoutingDestinationSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "flow"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "staffGroup"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "queue"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "employee"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "employees"
                },
                "ids": {
                  "minItems": 1,
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                }
              },
              "required": [
                "kind",
                "ids"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "mailbox"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "conference"
                },
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "externalSip"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "hangup"
                },
                "cause": {
                  "type": "string",
                  "enum": [
                    "normal",
                    "busy",
                    "unavailable"
                  ]
                }
              },
              "required": [
                "kind",
                "cause"
              ],
              "additionalProperties": false
            }
          ]
        },
        "pbxRoutingDocumentSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "flows": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "flow",
                      "menu"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "description": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "extension": {
                    "type": "string",
                    "pattern": "^\\d{2,8}$"
                  },
                  "language": {
                    "type": "string",
                    "maxLength": 40
                  },
                  "entryNodeId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "archived": {
                    "type": "boolean"
                  },
                  "nodes": {
                    "maxItems": 200,
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "incoming"
                            },
                            "number": {
                              "type": "string",
                              "pattern": "^\\+[1-9]\\d{7,14}$"
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "hours"
                            },
                            "scheduleId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "timeZone": {
                              "type": "string",
                              "maxLength": 64
                            },
                            "windows": {
                              "maxItems": 28,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "start": {
                                    "type": "string",
                                    "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                  },
                                  "end": {
                                    "type": "string",
                                    "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                  },
                                  "weekdays": {
                                    "minItems": 1,
                                    "maxItems": 7,
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "enum": [
                                        "mon",
                                        "tue",
                                        "wed",
                                        "thu",
                                        "fri",
                                        "sat",
                                        "sun"
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "start",
                                  "end",
                                  "weekdays"
                                ],
                                "additionalProperties": false
                              }
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "audioId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "greeting": {
                              "type": "string",
                              "maxLength": 8000
                            },
                            "kind": {
                              "type": "string",
                              "const": "menu"
                            },
                            "keys": {
                              "maxItems": 12,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^[0-9*#]$"
                              }
                            },
                            "timeout": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 60
                            },
                            "retries": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 5
                            },
                            "retryOnTimeout": {
                              "type": "boolean"
                            },
                            "separateFallbacks": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind",
                            "keys",
                            "timeout",
                            "retries"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "audioId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "greeting": {
                              "type": "string",
                              "maxLength": 8000
                            },
                            "kind": {
                              "type": "string",
                              "const": "greeting"
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "group"
                            },
                            "groupId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "timeout": {
                              "type": "integer",
                              "minimum": 5,
                              "maximum": 120
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "user"
                            },
                            "userId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "useExtensionSettings": {
                              "type": "boolean"
                            },
                            "timeout": {
                              "type": "integer",
                              "minimum": 5,
                              "maximum": 120
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "sip"
                            },
                            "destinationId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "timeout": {
                              "type": "integer",
                              "minimum": 5,
                              "maximum": 120
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "mailbox"
                            },
                            "mailboxId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "condition"
                            },
                            "prefix": {
                              "type": "string",
                              "maxLength": 16
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind",
                            "prefix"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "wait"
                            },
                            "seconds": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 300
                            },
                            "audio": {
                              "type": "string",
                              "enum": [
                                "music",
                                "silence"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind",
                            "seconds",
                            "audio"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "hangup"
                            },
                            "cause": {
                              "default": "normal",
                              "type": "string",
                              "enum": [
                                "normal",
                                "busy",
                                "unavailable"
                              ]
                            },
                            "reason": {
                              "type": "string",
                              "maxLength": 8000
                            },
                            "audioId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "submenu"
                            },
                            "menuId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "flowId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "queue"
                            },
                            "queueId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "audioId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "skipUnregistered": {
                              "type": "boolean"
                            },
                            "separateUnregistered": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "audioId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "greeting": {
                              "type": "string",
                              "maxLength": 8000
                            },
                            "kind": {
                              "type": "string",
                              "const": "extensionEntry"
                            },
                            "employeeIds": {
                              "maxItems": 1000,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "timeout": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 30
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind",
                            "employeeIds",
                            "timeout"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "x": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "y": {
                              "type": "number",
                              "minimum": -100000,
                              "maximum": 100000
                            },
                            "kind": {
                              "type": "string",
                              "const": "conference"
                            },
                            "conferenceId": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 100
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "x",
                            "y",
                            "kind"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  },
                  "edges": {
                    "maxItems": 1000,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "source": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "target": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "port": {
                          "type": "string",
                          "maxLength": 40
                        },
                        "label": {
                          "type": "string",
                          "maxLength": 160
                        },
                        "waypoints": {
                          "maxItems": 32,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "x": {
                                "type": "number",
                                "minimum": -100000,
                                "maximum": 100000
                              },
                              "y": {
                                "type": "number",
                                "minimum": -100000,
                                "maximum": 100000
                              }
                            },
                            "required": [
                              "x",
                              "y"
                            ],
                            "additionalProperties": false
                          }
                        }
                      },
                      "required": [
                        "id",
                        "source",
                        "target",
                        "port",
                        "label",
                        "waypoints"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "viewport": {
                    "type": "object",
                    "properties": {
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "zoom": {
                        "type": "number",
                        "minimum": 0.05,
                        "maximum": 4
                      }
                    },
                    "required": [
                      "x",
                      "y",
                      "zoom"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "name",
                  "description",
                  "language",
                  "entryNodeId",
                  "nodes",
                  "edges"
                ],
                "additionalProperties": false
              }
            },
            "staffGroups": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "description": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "extension": {
                    "type": "string",
                    "pattern": "^\\d{2,8}$"
                  },
                  "archived": {
                    "type": "boolean"
                  },
                  "employeeIds": {
                    "maxItems": 100,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    }
                  },
                  "strategy": {
                    "type": "string",
                    "enum": [
                      "ringall",
                      "linear",
                      "leastrecent"
                    ]
                  },
                  "ringSeconds": {
                    "type": "integer",
                    "minimum": 5,
                    "maximum": 120
                  },
                  "noAnswer": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "flow"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "staffGroup"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "queue"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "employee"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "employees"
                          },
                          "ids": {
                            "minItems": 1,
                            "maxItems": 100,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            }
                          }
                        },
                        "required": [
                          "kind",
                          "ids"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "mailbox"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "conference"
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "externalSip"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "hangup"
                          },
                          "cause": {
                            "type": "string",
                            "enum": [
                              "normal",
                              "busy",
                              "unavailable"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "cause"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "name",
                  "description",
                  "employeeIds",
                  "strategy",
                  "ringSeconds"
                ],
                "additionalProperties": false
              }
            },
            "queues": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "description": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "extension": {
                    "type": "string",
                    "pattern": "^\\d{2,8}$"
                  },
                  "archived": {
                    "type": "boolean"
                  },
                  "staffGroupId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "strategy": {
                    "type": "string",
                    "enum": [
                      "ringall",
                      "linear",
                      "rrmemory",
                      "leastrecent",
                      "fewestcalls"
                    ]
                  },
                  "ringSeconds": {
                    "type": "integer",
                    "minimum": 5,
                    "maximum": 120
                  },
                  "waitSeconds": {
                    "type": "integer",
                    "minimum": 10,
                    "maximum": 3600
                  },
                  "wrapupSeconds": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 300
                  },
                  "announcePosition": {
                    "type": "boolean"
                  },
                  "announceHoldTime": {
                    "type": "boolean"
                  },
                  "announcementIntervalSeconds": {
                    "type": "integer",
                    "minimum": 15,
                    "maximum": 3600
                  },
                  "callerHear": {
                    "type": "string",
                    "enum": [
                      "music",
                      "ringing"
                    ]
                  },
                  "extensionSlots": {
                    "maxItems": 100,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^\\d{2,8}$"
                    }
                  },
                  "noAnswer": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "flow"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "staffGroup"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "queue"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "employee"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "employees"
                          },
                          "ids": {
                            "minItems": 1,
                            "maxItems": 100,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            }
                          }
                        },
                        "required": [
                          "kind",
                          "ids"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "mailbox"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "conference"
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "externalSip"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "hangup"
                          },
                          "cause": {
                            "type": "string",
                            "enum": [
                              "normal",
                              "busy",
                              "unavailable"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "cause"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "name",
                  "description",
                  "strategy",
                  "ringSeconds",
                  "waitSeconds",
                  "wrapupSeconds",
                  "announcePosition",
                  "announceHoldTime",
                  "announcementIntervalSeconds"
                ],
                "additionalProperties": false
              }
            },
            "numberRoutes": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "number": {
                    "type": "string",
                    "pattern": "^\\+[1-9]\\d{7,14}$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "destination": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "flow"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "staffGroup"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "queue"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "employee"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "employees"
                          },
                          "ids": {
                            "minItems": 1,
                            "maxItems": 100,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            }
                          }
                        },
                        "required": [
                          "kind",
                          "ids"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "mailbox"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "conference"
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "externalSip"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "hangup"
                          },
                          "cause": {
                            "type": "string",
                            "enum": [
                              "normal",
                              "busy",
                              "unavailable"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "cause"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "number"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "companyId",
            "flows",
            "staffGroups",
            "queues",
            "numberRoutes"
          ],
          "additionalProperties": false
        },
        "pbxRoutingFlowSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "kind": {
              "type": "string",
              "enum": [
                "flow",
                "menu"
              ]
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "description": {
              "type": "string",
              "maxLength": 2000
            },
            "extension": {
              "type": "string",
              "pattern": "^\\d{2,8}$"
            },
            "language": {
              "type": "string",
              "maxLength": 40
            },
            "entryNodeId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "archived": {
              "type": "boolean"
            },
            "nodes": {
              "maxItems": 200,
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "incoming"
                      },
                      "number": {
                        "type": "string",
                        "pattern": "^\\+[1-9]\\d{7,14}$"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "hours"
                      },
                      "scheduleId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "timeZone": {
                        "type": "string",
                        "maxLength": 64
                      },
                      "windows": {
                        "maxItems": 28,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string",
                              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                            },
                            "end": {
                              "type": "string",
                              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                            },
                            "weekdays": {
                              "minItems": 1,
                              "maxItems": 7,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "mon",
                                  "tue",
                                  "wed",
                                  "thu",
                                  "fri",
                                  "sat",
                                  "sun"
                                ]
                              }
                            }
                          },
                          "required": [
                            "start",
                            "end",
                            "weekdays"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "audioId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "greeting": {
                        "type": "string",
                        "maxLength": 8000
                      },
                      "kind": {
                        "type": "string",
                        "const": "menu"
                      },
                      "keys": {
                        "maxItems": 12,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[0-9*#]$"
                        }
                      },
                      "timeout": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 60
                      },
                      "retries": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 5
                      },
                      "retryOnTimeout": {
                        "type": "boolean"
                      },
                      "separateFallbacks": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind",
                      "keys",
                      "timeout",
                      "retries"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "audioId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "greeting": {
                        "type": "string",
                        "maxLength": 8000
                      },
                      "kind": {
                        "type": "string",
                        "const": "greeting"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "group"
                      },
                      "groupId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "timeout": {
                        "type": "integer",
                        "minimum": 5,
                        "maximum": 120
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "user"
                      },
                      "userId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "useExtensionSettings": {
                        "type": "boolean"
                      },
                      "timeout": {
                        "type": "integer",
                        "minimum": 5,
                        "maximum": 120
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "sip"
                      },
                      "destinationId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "timeout": {
                        "type": "integer",
                        "minimum": 5,
                        "maximum": 120
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "mailbox"
                      },
                      "mailboxId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "condition"
                      },
                      "prefix": {
                        "type": "string",
                        "maxLength": 16
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind",
                      "prefix"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "wait"
                      },
                      "seconds": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 300
                      },
                      "audio": {
                        "type": "string",
                        "enum": [
                          "music",
                          "silence"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind",
                      "seconds",
                      "audio"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "hangup"
                      },
                      "cause": {
                        "default": "normal",
                        "type": "string",
                        "enum": [
                          "normal",
                          "busy",
                          "unavailable"
                        ]
                      },
                      "reason": {
                        "type": "string",
                        "maxLength": 8000
                      },
                      "audioId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "submenu"
                      },
                      "menuId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "flowId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "queue"
                      },
                      "queueId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "audioId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "skipUnregistered": {
                        "type": "boolean"
                      },
                      "separateUnregistered": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "audioId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "greeting": {
                        "type": "string",
                        "maxLength": 8000
                      },
                      "kind": {
                        "type": "string",
                        "const": "extensionEntry"
                      },
                      "employeeIds": {
                        "maxItems": 1000,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        }
                      },
                      "timeout": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 30
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind",
                      "employeeIds",
                      "timeout"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "x": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100000,
                        "maximum": 100000
                      },
                      "kind": {
                        "type": "string",
                        "const": "conference"
                      },
                      "conferenceId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "x",
                      "y",
                      "kind"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            },
            "edges": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "source": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "target": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "port": {
                    "type": "string",
                    "maxLength": 40
                  },
                  "label": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "waypoints": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "x": {
                          "type": "number",
                          "minimum": -100000,
                          "maximum": 100000
                        },
                        "y": {
                          "type": "number",
                          "minimum": -100000,
                          "maximum": 100000
                        }
                      },
                      "required": [
                        "x",
                        "y"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "source",
                  "target",
                  "port",
                  "label",
                  "waypoints"
                ],
                "additionalProperties": false
              }
            },
            "viewport": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "zoom": {
                  "type": "number",
                  "minimum": 0.05,
                  "maximum": 4
                }
              },
              "required": [
                "x",
                "y",
                "zoom"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "id",
            "kind",
            "name",
            "description",
            "language",
            "entryNodeId",
            "nodes",
            "edges"
          ],
          "additionalProperties": false
        },
        "pbxRoutingHistoryPageSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "items": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "engineRevision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  "createdBy": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "document": {
                    "type": "object",
                    "properties": {
                      "companyId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "flows": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "kind": {
                              "type": "string",
                              "enum": [
                                "flow",
                                "menu"
                              ]
                            },
                            "name": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 2000
                            },
                            "extension": {
                              "type": "string",
                              "pattern": "^\\d{2,8}$"
                            },
                            "language": {
                              "type": "string",
                              "maxLength": 40
                            },
                            "entryNodeId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "archived": {
                              "type": "boolean"
                            },
                            "nodes": {
                              "maxItems": 200,
                              "type": "array",
                              "items": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "incoming"
                                      },
                                      "number": {
                                        "type": "string",
                                        "pattern": "^\\+[1-9]\\d{7,14}$"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "hours"
                                      },
                                      "scheduleId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "timeZone": {
                                        "type": "string",
                                        "maxLength": 64
                                      },
                                      "windows": {
                                        "maxItems": 28,
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "start": {
                                              "type": "string",
                                              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                            },
                                            "end": {
                                              "type": "string",
                                              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                            },
                                            "weekdays": {
                                              "minItems": 1,
                                              "maxItems": 7,
                                              "type": "array",
                                              "items": {
                                                "type": "string",
                                                "enum": [
                                                  "mon",
                                                  "tue",
                                                  "wed",
                                                  "thu",
                                                  "fri",
                                                  "sat",
                                                  "sun"
                                                ]
                                              }
                                            }
                                          },
                                          "required": [
                                            "start",
                                            "end",
                                            "weekdays"
                                          ],
                                          "additionalProperties": false
                                        }
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "audioId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "greeting": {
                                        "type": "string",
                                        "maxLength": 8000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "menu"
                                      },
                                      "keys": {
                                        "maxItems": 12,
                                        "type": "array",
                                        "items": {
                                          "type": "string",
                                          "pattern": "^[0-9*#]$"
                                        }
                                      },
                                      "timeout": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 60
                                      },
                                      "retries": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 5
                                      },
                                      "retryOnTimeout": {
                                        "type": "boolean"
                                      },
                                      "separateFallbacks": {
                                        "type": "boolean"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind",
                                      "keys",
                                      "timeout",
                                      "retries"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "audioId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "greeting": {
                                        "type": "string",
                                        "maxLength": 8000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "greeting"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "group"
                                      },
                                      "groupId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "timeout": {
                                        "type": "integer",
                                        "minimum": 5,
                                        "maximum": 120
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "user"
                                      },
                                      "userId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "useExtensionSettings": {
                                        "type": "boolean"
                                      },
                                      "timeout": {
                                        "type": "integer",
                                        "minimum": 5,
                                        "maximum": 120
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "sip"
                                      },
                                      "destinationId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "timeout": {
                                        "type": "integer",
                                        "minimum": 5,
                                        "maximum": 120
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "mailbox"
                                      },
                                      "mailboxId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "condition"
                                      },
                                      "prefix": {
                                        "type": "string",
                                        "maxLength": 16
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind",
                                      "prefix"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "wait"
                                      },
                                      "seconds": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 300
                                      },
                                      "audio": {
                                        "type": "string",
                                        "enum": [
                                          "music",
                                          "silence"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind",
                                      "seconds",
                                      "audio"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "hangup"
                                      },
                                      "cause": {
                                        "default": "normal",
                                        "type": "string",
                                        "enum": [
                                          "normal",
                                          "busy",
                                          "unavailable"
                                        ]
                                      },
                                      "reason": {
                                        "type": "string",
                                        "maxLength": 8000
                                      },
                                      "audioId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "submenu"
                                      },
                                      "menuId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "flowId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "queue"
                                      },
                                      "queueId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "audioId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "skipUnregistered": {
                                        "type": "boolean"
                                      },
                                      "separateUnregistered": {
                                        "type": "boolean"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "audioId": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "greeting": {
                                        "type": "string",
                                        "maxLength": 8000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "extensionEntry"
                                      },
                                      "employeeIds": {
                                        "maxItems": 1000,
                                        "type": "array",
                                        "items": {
                                          "type": "string",
                                          "format": "uuid",
                                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                        }
                                      },
                                      "timeout": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 30
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind",
                                      "employeeIds",
                                      "timeout"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      },
                                      "label": {
                                        "type": "string",
                                        "maxLength": 160
                                      },
                                      "x": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "y": {
                                        "type": "number",
                                        "minimum": -100000,
                                        "maximum": 100000
                                      },
                                      "kind": {
                                        "type": "string",
                                        "const": "conference"
                                      },
                                      "conferenceId": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 100
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "x",
                                      "y",
                                      "kind"
                                    ],
                                    "additionalProperties": false
                                  }
                                ]
                              }
                            },
                            "edges": {
                              "maxItems": 1000,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  },
                                  "source": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  },
                                  "target": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  },
                                  "port": {
                                    "type": "string",
                                    "maxLength": 40
                                  },
                                  "label": {
                                    "type": "string",
                                    "maxLength": 160
                                  },
                                  "waypoints": {
                                    "maxItems": 32,
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "x": {
                                          "type": "number",
                                          "minimum": -100000,
                                          "maximum": 100000
                                        },
                                        "y": {
                                          "type": "number",
                                          "minimum": -100000,
                                          "maximum": 100000
                                        }
                                      },
                                      "required": [
                                        "x",
                                        "y"
                                      ],
                                      "additionalProperties": false
                                    }
                                  }
                                },
                                "required": [
                                  "id",
                                  "source",
                                  "target",
                                  "port",
                                  "label",
                                  "waypoints"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "viewport": {
                              "type": "object",
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "zoom": {
                                  "type": "number",
                                  "minimum": 0.05,
                                  "maximum": 4
                                }
                              },
                              "required": [
                                "x",
                                "y",
                                "zoom"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "id",
                            "kind",
                            "name",
                            "description",
                            "language",
                            "entryNodeId",
                            "nodes",
                            "edges"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "staffGroups": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "name": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 2000
                            },
                            "extension": {
                              "type": "string",
                              "pattern": "^\\d{2,8}$"
                            },
                            "archived": {
                              "type": "boolean"
                            },
                            "employeeIds": {
                              "maxItems": 100,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "strategy": {
                              "type": "string",
                              "enum": [
                                "ringall",
                                "linear",
                                "leastrecent"
                              ]
                            },
                            "ringSeconds": {
                              "type": "integer",
                              "minimum": 5,
                              "maximum": 120
                            },
                            "noAnswer": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "flow"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "staffGroup"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "queue"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "employee"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "employees"
                                    },
                                    "ids": {
                                      "minItems": 1,
                                      "maxItems": 100,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      }
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "ids"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "mailbox"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "conference"
                                    },
                                    "id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 100
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "externalSip"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "hangup"
                                    },
                                    "cause": {
                                      "type": "string",
                                      "enum": [
                                        "normal",
                                        "busy",
                                        "unavailable"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "cause"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "description",
                            "employeeIds",
                            "strategy",
                            "ringSeconds"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "queues": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "name": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 160
                            },
                            "description": {
                              "type": "string",
                              "maxLength": 2000
                            },
                            "extension": {
                              "type": "string",
                              "pattern": "^\\d{2,8}$"
                            },
                            "archived": {
                              "type": "boolean"
                            },
                            "staffGroupId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "strategy": {
                              "type": "string",
                              "enum": [
                                "ringall",
                                "linear",
                                "rrmemory",
                                "leastrecent",
                                "fewestcalls"
                              ]
                            },
                            "ringSeconds": {
                              "type": "integer",
                              "minimum": 5,
                              "maximum": 120
                            },
                            "waitSeconds": {
                              "type": "integer",
                              "minimum": 10,
                              "maximum": 3600
                            },
                            "wrapupSeconds": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 300
                            },
                            "announcePosition": {
                              "type": "boolean"
                            },
                            "announceHoldTime": {
                              "type": "boolean"
                            },
                            "announcementIntervalSeconds": {
                              "type": "integer",
                              "minimum": 15,
                              "maximum": 3600
                            },
                            "callerHear": {
                              "type": "string",
                              "enum": [
                                "music",
                                "ringing"
                              ]
                            },
                            "extensionSlots": {
                              "maxItems": 100,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^\\d{2,8}$"
                              }
                            },
                            "noAnswer": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "flow"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "staffGroup"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "queue"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "employee"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "employees"
                                    },
                                    "ids": {
                                      "minItems": 1,
                                      "maxItems": 100,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      }
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "ids"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "mailbox"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "conference"
                                    },
                                    "id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 100
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "externalSip"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "hangup"
                                    },
                                    "cause": {
                                      "type": "string",
                                      "enum": [
                                        "normal",
                                        "busy",
                                        "unavailable"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "cause"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "description",
                            "strategy",
                            "ringSeconds",
                            "waitSeconds",
                            "wrapupSeconds",
                            "announcePosition",
                            "announceHoldTime",
                            "announcementIntervalSeconds"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "numberRoutes": {
                        "maxItems": 1000,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "number": {
                              "type": "string",
                              "pattern": "^\\+[1-9]\\d{7,14}$"
                            },
                            "name": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 160
                            },
                            "destination": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "flow"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "staffGroup"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "queue"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "employee"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "employees"
                                    },
                                    "ids": {
                                      "minItems": 1,
                                      "maxItems": 100,
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid",
                                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                      }
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "ids"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "mailbox"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "conference"
                                    },
                                    "id": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 100
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "externalSip"
                                    },
                                    "id": {
                                      "type": "string",
                                      "format": "uuid",
                                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "id"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "hangup"
                                    },
                                    "cause": {
                                      "type": "string",
                                      "enum": [
                                        "normal",
                                        "busy",
                                        "unavailable"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "cause"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            }
                          },
                          "required": [
                            "number"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "companyId",
                      "flows",
                      "staffGroups",
                      "queues",
                      "numberRoutes"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "revision",
                  "engineRevision",
                  "createdAt",
                  "createdBy",
                  "document"
                ],
                "additionalProperties": false
              }
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "items",
            "nextCursor"
          ],
          "additionalProperties": false
        },
        "pbxRoutingHistoryQuerySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "limit": {
              "default": 50,
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "before": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          "additionalProperties": false
        },
        "pbxRoutingImpactSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "numbers": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{7,14}$"
              }
            },
            "flows": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              }
            },
            "staffGroups": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              }
            },
            "queues": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              }
            },
            "targetCount": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "unmanagedNumbers": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{7,14}$"
              }
            }
          },
          "required": [
            "numbers",
            "flows",
            "staffGroups",
            "queues",
            "targetCount",
            "unmanagedNumbers"
          ],
          "additionalProperties": false
        },
        "pbxRoutingNodeSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "incoming"
                },
                "number": {
                  "type": "string",
                  "pattern": "^\\+[1-9]\\d{7,14}$"
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "hours"
                },
                "scheduleId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "timeZone": {
                  "type": "string",
                  "maxLength": 64
                },
                "windows": {
                  "maxItems": 28,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "start": {
                        "type": "string",
                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                      },
                      "end": {
                        "type": "string",
                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                      },
                      "weekdays": {
                        "minItems": 1,
                        "maxItems": 7,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "mon",
                            "tue",
                            "wed",
                            "thu",
                            "fri",
                            "sat",
                            "sun"
                          ]
                        }
                      }
                    },
                    "required": [
                      "start",
                      "end",
                      "weekdays"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "audioId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "greeting": {
                  "type": "string",
                  "maxLength": 8000
                },
                "kind": {
                  "type": "string",
                  "const": "menu"
                },
                "keys": {
                  "maxItems": 12,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9*#]$"
                  }
                },
                "timeout": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 60
                },
                "retries": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 5
                },
                "retryOnTimeout": {
                  "type": "boolean"
                },
                "separateFallbacks": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind",
                "keys",
                "timeout",
                "retries"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "audioId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "greeting": {
                  "type": "string",
                  "maxLength": 8000
                },
                "kind": {
                  "type": "string",
                  "const": "greeting"
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "group"
                },
                "groupId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "timeout": {
                  "type": "integer",
                  "minimum": 5,
                  "maximum": 120
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "user"
                },
                "userId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "useExtensionSettings": {
                  "type": "boolean"
                },
                "timeout": {
                  "type": "integer",
                  "minimum": 5,
                  "maximum": 120
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "sip"
                },
                "destinationId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "timeout": {
                  "type": "integer",
                  "minimum": 5,
                  "maximum": 120
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "mailbox"
                },
                "mailboxId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "condition"
                },
                "prefix": {
                  "type": "string",
                  "maxLength": 16
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind",
                "prefix"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "wait"
                },
                "seconds": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 300
                },
                "audio": {
                  "type": "string",
                  "enum": [
                    "music",
                    "silence"
                  ]
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind",
                "seconds",
                "audio"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "hangup"
                },
                "cause": {
                  "default": "normal",
                  "type": "string",
                  "enum": [
                    "normal",
                    "busy",
                    "unavailable"
                  ]
                },
                "reason": {
                  "type": "string",
                  "maxLength": 8000
                },
                "audioId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "submenu"
                },
                "menuId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "flowId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "queue"
                },
                "queueId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "audioId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "skipUnregistered": {
                  "type": "boolean"
                },
                "separateUnregistered": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "audioId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "greeting": {
                  "type": "string",
                  "maxLength": 8000
                },
                "kind": {
                  "type": "string",
                  "const": "extensionEntry"
                },
                "employeeIds": {
                  "maxItems": 1000,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                },
                "timeout": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 30
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind",
                "employeeIds",
                "timeout"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 160
                },
                "x": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "y": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000
                },
                "kind": {
                  "type": "string",
                  "const": "conference"
                },
                "conferenceId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              },
              "required": [
                "id",
                "label",
                "x",
                "y",
                "kind"
              ],
              "additionalProperties": false
            }
          ]
        },
        "pbxRoutingOwnershipSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "targetIds": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_-]{0,47}$"
              }
            },
            "serviceExtensions": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^\\d{2,8}$"
              }
            },
            "numbers": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{7,14}$"
              }
            },
            "scheduleVersions": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "id",
                  "revision"
                ],
                "additionalProperties": false
              }
            },
            "audioVersions": {
              "maxItems": 256,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "id",
                  "revision"
                ],
                "additionalProperties": false
              }
            },
            "targetBindings": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "compiledId": {
                    "type": "string",
                    "pattern": "^[a-z][a-z0-9_-]{0,47}$"
                  },
                  "targetId": {
                    "type": "string",
                    "pattern": "^[a-z][a-z0-9_-]{0,47}$"
                  }
                },
                "required": [
                  "compiledId",
                  "targetId"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "targetIds",
            "serviceExtensions",
            "numbers"
          ],
          "additionalProperties": false
        },
        "pbxRoutingPublishCommandSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedDraftRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "expectedEngineRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "requestId",
            "expectedDraftRevision",
            "expectedEngineRevision"
          ],
          "additionalProperties": false
        },
        "pbxRoutingRebaseCommandSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedDraftRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "expectedEngineRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "requestId",
            "expectedDraftRevision",
            "expectedEngineRevision"
          ],
          "additionalProperties": false
        },
        "pbxRoutingSaveCommandSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedDraftRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "baseEngineRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "document": {
              "type": "object",
              "properties": {
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "flows": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "kind": {
                        "type": "string",
                        "enum": [
                          "flow",
                          "menu"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      },
                      "extension": {
                        "type": "string",
                        "pattern": "^\\d{2,8}$"
                      },
                      "language": {
                        "type": "string",
                        "maxLength": 40
                      },
                      "entryNodeId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "archived": {
                        "type": "boolean"
                      },
                      "nodes": {
                        "maxItems": 200,
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "incoming"
                                },
                                "number": {
                                  "type": "string",
                                  "pattern": "^\\+[1-9]\\d{7,14}$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "hours"
                                },
                                "scheduleId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "timeZone": {
                                  "type": "string",
                                  "maxLength": 64
                                },
                                "windows": {
                                  "maxItems": 28,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "start": {
                                        "type": "string",
                                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                      },
                                      "end": {
                                        "type": "string",
                                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                      },
                                      "weekdays": {
                                        "minItems": 1,
                                        "maxItems": 7,
                                        "type": "array",
                                        "items": {
                                          "type": "string",
                                          "enum": [
                                            "mon",
                                            "tue",
                                            "wed",
                                            "thu",
                                            "fri",
                                            "sat",
                                            "sun"
                                          ]
                                        }
                                      }
                                    },
                                    "required": [
                                      "start",
                                      "end",
                                      "weekdays"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "greeting": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "menu"
                                },
                                "keys": {
                                  "maxItems": 12,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "pattern": "^[0-9*#]$"
                                  }
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 60
                                },
                                "retries": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 5
                                },
                                "retryOnTimeout": {
                                  "type": "boolean"
                                },
                                "separateFallbacks": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "keys",
                                "timeout",
                                "retries"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "greeting": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "greeting"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "group"
                                },
                                "groupId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 5,
                                  "maximum": 120
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "user"
                                },
                                "userId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "useExtensionSettings": {
                                  "type": "boolean"
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 5,
                                  "maximum": 120
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "sip"
                                },
                                "destinationId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 5,
                                  "maximum": 120
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "mailbox"
                                },
                                "mailboxId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "condition"
                                },
                                "prefix": {
                                  "type": "string",
                                  "maxLength": 16
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "prefix"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "wait"
                                },
                                "seconds": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 300
                                },
                                "audio": {
                                  "type": "string",
                                  "enum": [
                                    "music",
                                    "silence"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "seconds",
                                "audio"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "hangup"
                                },
                                "cause": {
                                  "default": "normal",
                                  "type": "string",
                                  "enum": [
                                    "normal",
                                    "busy",
                                    "unavailable"
                                  ]
                                },
                                "reason": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "submenu"
                                },
                                "menuId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "flowId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "queue"
                                },
                                "queueId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "skipUnregistered": {
                                  "type": "boolean"
                                },
                                "separateUnregistered": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "greeting": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "extensionEntry"
                                },
                                "employeeIds": {
                                  "maxItems": 1000,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  }
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 30
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "employeeIds",
                                "timeout"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "conference"
                                },
                                "conferenceId": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            }
                          ]
                        }
                      },
                      "edges": {
                        "maxItems": 1000,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "source": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "target": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "port": {
                              "type": "string",
                              "maxLength": 40
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "waypoints": {
                              "maxItems": 32,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "minimum": -100000,
                                    "maximum": 100000
                                  },
                                  "y": {
                                    "type": "number",
                                    "minimum": -100000,
                                    "maximum": 100000
                                  }
                                },
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "additionalProperties": false
                              }
                            }
                          },
                          "required": [
                            "id",
                            "source",
                            "target",
                            "port",
                            "label",
                            "waypoints"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "viewport": {
                        "type": "object",
                        "properties": {
                          "x": {
                            "type": "number",
                            "minimum": -100000,
                            "maximum": 100000
                          },
                          "y": {
                            "type": "number",
                            "minimum": -100000,
                            "maximum": 100000
                          },
                          "zoom": {
                            "type": "number",
                            "minimum": 0.05,
                            "maximum": 4
                          }
                        },
                        "required": [
                          "x",
                          "y",
                          "zoom"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "id",
                      "kind",
                      "name",
                      "description",
                      "language",
                      "entryNodeId",
                      "nodes",
                      "edges"
                    ],
                    "additionalProperties": false
                  }
                },
                "staffGroups": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      },
                      "extension": {
                        "type": "string",
                        "pattern": "^\\d{2,8}$"
                      },
                      "archived": {
                        "type": "boolean"
                      },
                      "employeeIds": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        }
                      },
                      "strategy": {
                        "type": "string",
                        "enum": [
                          "ringall",
                          "linear",
                          "leastrecent"
                        ]
                      },
                      "ringSeconds": {
                        "type": "integer",
                        "minimum": 5,
                        "maximum": 120
                      },
                      "noAnswer": {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "flow"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "staffGroup"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "queue"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employee"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employees"
                              },
                              "ids": {
                                "minItems": 1,
                                "maxItems": 100,
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              }
                            },
                            "required": [
                              "kind",
                              "ids"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "mailbox"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "conference"
                              },
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "externalSip"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "hangup"
                              },
                              "cause": {
                                "type": "string",
                                "enum": [
                                  "normal",
                                  "busy",
                                  "unavailable"
                                ]
                              }
                            },
                            "required": [
                              "kind",
                              "cause"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "description",
                      "employeeIds",
                      "strategy",
                      "ringSeconds"
                    ],
                    "additionalProperties": false
                  }
                },
                "queues": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      },
                      "extension": {
                        "type": "string",
                        "pattern": "^\\d{2,8}$"
                      },
                      "archived": {
                        "type": "boolean"
                      },
                      "staffGroupId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "strategy": {
                        "type": "string",
                        "enum": [
                          "ringall",
                          "linear",
                          "rrmemory",
                          "leastrecent",
                          "fewestcalls"
                        ]
                      },
                      "ringSeconds": {
                        "type": "integer",
                        "minimum": 5,
                        "maximum": 120
                      },
                      "waitSeconds": {
                        "type": "integer",
                        "minimum": 10,
                        "maximum": 3600
                      },
                      "wrapupSeconds": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 300
                      },
                      "announcePosition": {
                        "type": "boolean"
                      },
                      "announceHoldTime": {
                        "type": "boolean"
                      },
                      "announcementIntervalSeconds": {
                        "type": "integer",
                        "minimum": 15,
                        "maximum": 3600
                      },
                      "callerHear": {
                        "type": "string",
                        "enum": [
                          "music",
                          "ringing"
                        ]
                      },
                      "extensionSlots": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^\\d{2,8}$"
                        }
                      },
                      "noAnswer": {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "flow"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "staffGroup"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "queue"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employee"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employees"
                              },
                              "ids": {
                                "minItems": 1,
                                "maxItems": 100,
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              }
                            },
                            "required": [
                              "kind",
                              "ids"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "mailbox"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "conference"
                              },
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "externalSip"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "hangup"
                              },
                              "cause": {
                                "type": "string",
                                "enum": [
                                  "normal",
                                  "busy",
                                  "unavailable"
                                ]
                              }
                            },
                            "required": [
                              "kind",
                              "cause"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "description",
                      "strategy",
                      "ringSeconds",
                      "waitSeconds",
                      "wrapupSeconds",
                      "announcePosition",
                      "announceHoldTime",
                      "announcementIntervalSeconds"
                    ],
                    "additionalProperties": false
                  }
                },
                "numberRoutes": {
                  "maxItems": 1000,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "number": {
                        "type": "string",
                        "pattern": "^\\+[1-9]\\d{7,14}$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "destination": {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "flow"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "staffGroup"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "queue"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employee"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employees"
                              },
                              "ids": {
                                "minItems": 1,
                                "maxItems": 100,
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              }
                            },
                            "required": [
                              "kind",
                              "ids"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "mailbox"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "conference"
                              },
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "externalSip"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "hangup"
                              },
                              "cause": {
                                "type": "string",
                                "enum": [
                                  "normal",
                                  "busy",
                                  "unavailable"
                                ]
                              }
                            },
                            "required": [
                              "kind",
                              "cause"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "required": [
                      "number"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "companyId",
                "flows",
                "staffGroups",
                "queues",
                "numberRoutes"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "requestId",
            "expectedDraftRevision",
            "baseEngineRevision",
            "document"
          ],
          "additionalProperties": false
        },
        "pbxRoutingStateSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "document": {
              "type": "object",
              "properties": {
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "flows": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "kind": {
                        "type": "string",
                        "enum": [
                          "flow",
                          "menu"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      },
                      "extension": {
                        "type": "string",
                        "pattern": "^\\d{2,8}$"
                      },
                      "language": {
                        "type": "string",
                        "maxLength": 40
                      },
                      "entryNodeId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "archived": {
                        "type": "boolean"
                      },
                      "nodes": {
                        "maxItems": 200,
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "incoming"
                                },
                                "number": {
                                  "type": "string",
                                  "pattern": "^\\+[1-9]\\d{7,14}$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "hours"
                                },
                                "scheduleId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "timeZone": {
                                  "type": "string",
                                  "maxLength": 64
                                },
                                "windows": {
                                  "maxItems": 28,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "start": {
                                        "type": "string",
                                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                      },
                                      "end": {
                                        "type": "string",
                                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                      },
                                      "weekdays": {
                                        "minItems": 1,
                                        "maxItems": 7,
                                        "type": "array",
                                        "items": {
                                          "type": "string",
                                          "enum": [
                                            "mon",
                                            "tue",
                                            "wed",
                                            "thu",
                                            "fri",
                                            "sat",
                                            "sun"
                                          ]
                                        }
                                      }
                                    },
                                    "required": [
                                      "start",
                                      "end",
                                      "weekdays"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "greeting": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "menu"
                                },
                                "keys": {
                                  "maxItems": 12,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "pattern": "^[0-9*#]$"
                                  }
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 60
                                },
                                "retries": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 5
                                },
                                "retryOnTimeout": {
                                  "type": "boolean"
                                },
                                "separateFallbacks": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "keys",
                                "timeout",
                                "retries"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "greeting": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "greeting"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "group"
                                },
                                "groupId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 5,
                                  "maximum": 120
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "user"
                                },
                                "userId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "useExtensionSettings": {
                                  "type": "boolean"
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 5,
                                  "maximum": 120
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "sip"
                                },
                                "destinationId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 5,
                                  "maximum": 120
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "mailbox"
                                },
                                "mailboxId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "condition"
                                },
                                "prefix": {
                                  "type": "string",
                                  "maxLength": 16
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "prefix"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "wait"
                                },
                                "seconds": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 300
                                },
                                "audio": {
                                  "type": "string",
                                  "enum": [
                                    "music",
                                    "silence"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "seconds",
                                "audio"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "hangup"
                                },
                                "cause": {
                                  "default": "normal",
                                  "type": "string",
                                  "enum": [
                                    "normal",
                                    "busy",
                                    "unavailable"
                                  ]
                                },
                                "reason": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "submenu"
                                },
                                "menuId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "flowId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "queue"
                                },
                                "queueId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "skipUnregistered": {
                                  "type": "boolean"
                                },
                                "separateUnregistered": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "audioId": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "greeting": {
                                  "type": "string",
                                  "maxLength": 8000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "extensionEntry"
                                },
                                "employeeIds": {
                                  "maxItems": 1000,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "format": "uuid",
                                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                  }
                                },
                                "timeout": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 30
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind",
                                "employeeIds",
                                "timeout"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "label": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "x": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "y": {
                                  "type": "number",
                                  "minimum": -100000,
                                  "maximum": 100000
                                },
                                "kind": {
                                  "type": "string",
                                  "const": "conference"
                                },
                                "conferenceId": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 100
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "x",
                                "y",
                                "kind"
                              ],
                              "additionalProperties": false
                            }
                          ]
                        }
                      },
                      "edges": {
                        "maxItems": 1000,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "source": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "target": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "port": {
                              "type": "string",
                              "maxLength": 40
                            },
                            "label": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "waypoints": {
                              "maxItems": 32,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "minimum": -100000,
                                    "maximum": 100000
                                  },
                                  "y": {
                                    "type": "number",
                                    "minimum": -100000,
                                    "maximum": 100000
                                  }
                                },
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "additionalProperties": false
                              }
                            }
                          },
                          "required": [
                            "id",
                            "source",
                            "target",
                            "port",
                            "label",
                            "waypoints"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "viewport": {
                        "type": "object",
                        "properties": {
                          "x": {
                            "type": "number",
                            "minimum": -100000,
                            "maximum": 100000
                          },
                          "y": {
                            "type": "number",
                            "minimum": -100000,
                            "maximum": 100000
                          },
                          "zoom": {
                            "type": "number",
                            "minimum": 0.05,
                            "maximum": 4
                          }
                        },
                        "required": [
                          "x",
                          "y",
                          "zoom"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "id",
                      "kind",
                      "name",
                      "description",
                      "language",
                      "entryNodeId",
                      "nodes",
                      "edges"
                    ],
                    "additionalProperties": false
                  }
                },
                "staffGroups": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      },
                      "extension": {
                        "type": "string",
                        "pattern": "^\\d{2,8}$"
                      },
                      "archived": {
                        "type": "boolean"
                      },
                      "employeeIds": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        }
                      },
                      "strategy": {
                        "type": "string",
                        "enum": [
                          "ringall",
                          "linear",
                          "leastrecent"
                        ]
                      },
                      "ringSeconds": {
                        "type": "integer",
                        "minimum": 5,
                        "maximum": 120
                      },
                      "noAnswer": {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "flow"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "staffGroup"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "queue"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employee"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employees"
                              },
                              "ids": {
                                "minItems": 1,
                                "maxItems": 100,
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              }
                            },
                            "required": [
                              "kind",
                              "ids"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "mailbox"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "conference"
                              },
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "externalSip"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "hangup"
                              },
                              "cause": {
                                "type": "string",
                                "enum": [
                                  "normal",
                                  "busy",
                                  "unavailable"
                                ]
                              }
                            },
                            "required": [
                              "kind",
                              "cause"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "description",
                      "employeeIds",
                      "strategy",
                      "ringSeconds"
                    ],
                    "additionalProperties": false
                  }
                },
                "queues": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      },
                      "extension": {
                        "type": "string",
                        "pattern": "^\\d{2,8}$"
                      },
                      "archived": {
                        "type": "boolean"
                      },
                      "staffGroupId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "strategy": {
                        "type": "string",
                        "enum": [
                          "ringall",
                          "linear",
                          "rrmemory",
                          "leastrecent",
                          "fewestcalls"
                        ]
                      },
                      "ringSeconds": {
                        "type": "integer",
                        "minimum": 5,
                        "maximum": 120
                      },
                      "waitSeconds": {
                        "type": "integer",
                        "minimum": 10,
                        "maximum": 3600
                      },
                      "wrapupSeconds": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 300
                      },
                      "announcePosition": {
                        "type": "boolean"
                      },
                      "announceHoldTime": {
                        "type": "boolean"
                      },
                      "announcementIntervalSeconds": {
                        "type": "integer",
                        "minimum": 15,
                        "maximum": 3600
                      },
                      "callerHear": {
                        "type": "string",
                        "enum": [
                          "music",
                          "ringing"
                        ]
                      },
                      "extensionSlots": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^\\d{2,8}$"
                        }
                      },
                      "noAnswer": {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "flow"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "staffGroup"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "queue"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employee"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employees"
                              },
                              "ids": {
                                "minItems": 1,
                                "maxItems": 100,
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              }
                            },
                            "required": [
                              "kind",
                              "ids"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "mailbox"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "conference"
                              },
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "externalSip"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "hangup"
                              },
                              "cause": {
                                "type": "string",
                                "enum": [
                                  "normal",
                                  "busy",
                                  "unavailable"
                                ]
                              }
                            },
                            "required": [
                              "kind",
                              "cause"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "description",
                      "strategy",
                      "ringSeconds",
                      "waitSeconds",
                      "wrapupSeconds",
                      "announcePosition",
                      "announceHoldTime",
                      "announcementIntervalSeconds"
                    ],
                    "additionalProperties": false
                  }
                },
                "numberRoutes": {
                  "maxItems": 1000,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "number": {
                        "type": "string",
                        "pattern": "^\\+[1-9]\\d{7,14}$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "destination": {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "flow"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "staffGroup"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "queue"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employee"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "employees"
                              },
                              "ids": {
                                "minItems": 1,
                                "maxItems": 100,
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                }
                              }
                            },
                            "required": [
                              "kind",
                              "ids"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "mailbox"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "conference"
                              },
                              "id": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "externalSip"
                              },
                              "id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              }
                            },
                            "required": [
                              "kind",
                              "id"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "hangup"
                              },
                              "cause": {
                                "type": "string",
                                "enum": [
                                  "normal",
                                  "busy",
                                  "unavailable"
                                ]
                              }
                            },
                            "required": [
                              "kind",
                              "cause"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "required": [
                      "number"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "companyId",
                "flows",
                "staffGroups",
                "queues",
                "numberRoutes"
              ],
              "additionalProperties": false
            },
            "draftRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "baseEngineRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "publishedEngineRevision": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "desiredEngineRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "observedEngineRevision": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "deliveryStatus": {
              "type": "string",
              "enum": [
                "pending",
                "applying",
                "applied",
                "failed",
                "unconfigured"
              ]
            },
            "validation": {
              "maxItems": 2000,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "maxLength": 80
                  },
                  "message": {
                    "type": "string",
                    "maxLength": 500
                  },
                  "path": {
                    "maxItems": 12,
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "severity": {
                    "type": "string",
                    "enum": [
                      "error",
                      "warning"
                    ]
                  }
                },
                "required": [
                  "code",
                  "message",
                  "path",
                  "severity"
                ],
                "additionalProperties": false
              }
            },
            "impact": {
              "type": "object",
              "properties": {
                "numbers": {
                  "maxItems": 1000,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^\\+[1-9]\\d{7,14}$"
                  }
                },
                "flows": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                },
                "staffGroups": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                },
                "queues": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                },
                "targetCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "unmanagedNumbers": {
                  "maxItems": 1000,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^\\+[1-9]\\d{7,14}$"
                  }
                }
              },
              "required": [
                "numbers",
                "flows",
                "staffGroups",
                "queues",
                "targetCount",
                "unmanagedNumbers"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "document",
            "draftRevision",
            "baseEngineRevision",
            "publishedEngineRevision",
            "desiredEngineRevision",
            "observedEngineRevision",
            "deliveryStatus",
            "validation",
            "impact"
          ],
          "additionalProperties": false
        },
        "pbxRoutingValidationIssueSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 80
            },
            "message": {
              "type": "string",
              "maxLength": 500
            },
            "path": {
              "maxItems": 12,
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            },
            "severity": {
              "type": "string",
              "enum": [
                "error",
                "warning"
              ]
            }
          },
          "required": [
            "code",
            "message",
            "path",
            "severity"
          ],
          "additionalProperties": false
        }
      }
    },
    "pbx-experience": {
      "source": "packages/contracts/src/pbx-experience.ts",
      "schemas": {
        "pbxScheduleArchiveSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "archived": {
              "type": "boolean"
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "archived"
          ],
          "additionalProperties": false
        },
        "pbxScheduleContentSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "timeZone": {
              "type": "string",
              "maxLength": 64
            },
            "windows": {
              "maxItems": 28,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                  },
                  "weekdays": {
                    "minItems": 1,
                    "maxItems": 7,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "mon",
                        "tue",
                        "wed",
                        "thu",
                        "fri",
                        "sat",
                        "sun"
                      ]
                    }
                  }
                },
                "required": [
                  "start",
                  "end",
                  "weekdays"
                ],
                "additionalProperties": false
              }
            },
            "exceptions": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "format": "date",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                  },
                  "name": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "windows": {
                    "maxItems": 8,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "start": {
                          "type": "string",
                          "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                        },
                        "end": {
                          "type": "string",
                          "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                        }
                      },
                      "required": [
                        "start",
                        "end"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "date",
                  "name",
                  "windows"
                ],
                "additionalProperties": false
              }
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "description": {
              "type": "string",
              "maxLength": 2000
            }
          },
          "required": [
            "timeZone",
            "windows",
            "name",
            "description"
          ],
          "additionalProperties": false
        },
        "pbxScheduleDocumentSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "timeZone": {
              "type": "string",
              "maxLength": 64
            },
            "windows": {
              "maxItems": 28,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                  },
                  "weekdays": {
                    "minItems": 1,
                    "maxItems": 7,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "mon",
                        "tue",
                        "wed",
                        "thu",
                        "fri",
                        "sat",
                        "sun"
                      ]
                    }
                  }
                },
                "required": [
                  "start",
                  "end",
                  "weekdays"
                ],
                "additionalProperties": false
              }
            },
            "exceptions": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "format": "date",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                  },
                  "name": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "windows": {
                    "maxItems": 8,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "start": {
                          "type": "string",
                          "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                        },
                        "end": {
                          "type": "string",
                          "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                        }
                      },
                      "required": [
                        "start",
                        "end"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "date",
                  "name",
                  "windows"
                ],
                "additionalProperties": false
              }
            },
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "description": {
              "type": "string",
              "maxLength": 2000
            }
          },
          "required": [
            "timeZone",
            "windows",
            "companyId",
            "id",
            "name",
            "description"
          ],
          "additionalProperties": false
        },
        "pbxScheduleExceptionSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
            },
            "name": {
              "type": "string",
              "maxLength": 160
            },
            "windows": {
              "maxItems": 8,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "date",
            "name",
            "windows"
          ],
          "additionalProperties": false
        },
        "pbxSchedulePageSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "items": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "document": {
                    "type": "object",
                    "properties": {
                      "timeZone": {
                        "type": "string",
                        "maxLength": 64
                      },
                      "windows": {
                        "maxItems": 28,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string",
                              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                            },
                            "end": {
                              "type": "string",
                              "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                            },
                            "weekdays": {
                              "minItems": 1,
                              "maxItems": 7,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "mon",
                                  "tue",
                                  "wed",
                                  "thu",
                                  "fri",
                                  "sat",
                                  "sun"
                                ]
                              }
                            }
                          },
                          "required": [
                            "start",
                            "end",
                            "weekdays"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "exceptions": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "date": {
                              "type": "string",
                              "format": "date",
                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                            },
                            "name": {
                              "type": "string",
                              "maxLength": 160
                            },
                            "windows": {
                              "maxItems": 8,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "start": {
                                    "type": "string",
                                    "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                  },
                                  "end": {
                                    "type": "string",
                                    "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                                  }
                                },
                                "required": [
                                  "start",
                                  "end"
                                ],
                                "additionalProperties": false
                              }
                            }
                          },
                          "required": [
                            "date",
                            "name",
                            "windows"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "companyId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      }
                    },
                    "required": [
                      "timeZone",
                      "windows",
                      "companyId",
                      "id",
                      "name",
                      "description"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "publishedRevision": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "publishedDocument": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "timeZone": {
                            "type": "string",
                            "maxLength": 64
                          },
                          "windows": {
                            "maxItems": 28,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "start": {
                                  "type": "string",
                                  "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                },
                                "end": {
                                  "type": "string",
                                  "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                                },
                                "weekdays": {
                                  "minItems": 1,
                                  "maxItems": 7,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "mon",
                                      "tue",
                                      "wed",
                                      "thu",
                                      "fri",
                                      "sat",
                                      "sun"
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "start",
                                "end",
                                "weekdays"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "exceptions": {
                            "maxItems": 100,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "date": {
                                  "type": "string",
                                  "format": "date",
                                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                                },
                                "name": {
                                  "type": "string",
                                  "maxLength": 160
                                },
                                "windows": {
                                  "maxItems": 8,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "start": {
                                        "type": "string",
                                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                      },
                                      "end": {
                                        "type": "string",
                                        "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                                      }
                                    },
                                    "required": [
                                      "start",
                                      "end"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "date",
                                "name",
                                "windows"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "companyId": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 2000
                          }
                        },
                        "required": [
                          "timeZone",
                          "windows",
                          "companyId",
                          "id",
                          "name",
                          "description"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "archived": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  }
                },
                "required": [
                  "document",
                  "revision",
                  "publishedRevision",
                  "publishedDocument",
                  "archived",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "companyId",
            "items",
            "nextCursor"
          ],
          "additionalProperties": false
        },
        "pbxSchedulePublishSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "requestId",
            "expectedRevision"
          ],
          "additionalProperties": false
        },
        "pbxScheduleQuerySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "limit": {
              "default": 25,
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            },
            "after": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "archived": {
              "default": "false",
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "search": {
              "default": "",
              "type": "string",
              "maxLength": 160
            }
          },
          "additionalProperties": false
        },
        "pbxScheduleSaveSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "document": {
              "type": "object",
              "properties": {
                "timeZone": {
                  "type": "string",
                  "maxLength": 64
                },
                "windows": {
                  "maxItems": 28,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "start": {
                        "type": "string",
                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                      },
                      "end": {
                        "type": "string",
                        "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                      },
                      "weekdays": {
                        "minItems": 1,
                        "maxItems": 7,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "mon",
                            "tue",
                            "wed",
                            "thu",
                            "fri",
                            "sat",
                            "sun"
                          ]
                        }
                      }
                    },
                    "required": [
                      "start",
                      "end",
                      "weekdays"
                    ],
                    "additionalProperties": false
                  }
                },
                "exceptions": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string",
                        "format": "date",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "windows": {
                        "maxItems": 8,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string",
                              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                            },
                            "end": {
                              "type": "string",
                              "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                            }
                          },
                          "required": [
                            "start",
                            "end"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "date",
                      "name",
                      "windows"
                    ],
                    "additionalProperties": false
                  }
                },
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                "description": {
                  "type": "string",
                  "maxLength": 2000
                }
              },
              "required": [
                "timeZone",
                "windows",
                "companyId",
                "id",
                "name",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "document"
          ],
          "additionalProperties": false
        },
        "pbxScheduleStateSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "document": {
              "type": "object",
              "properties": {
                "timeZone": {
                  "type": "string",
                  "maxLength": 64
                },
                "windows": {
                  "maxItems": 28,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "start": {
                        "type": "string",
                        "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                      },
                      "end": {
                        "type": "string",
                        "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                      },
                      "weekdays": {
                        "minItems": 1,
                        "maxItems": 7,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "mon",
                            "tue",
                            "wed",
                            "thu",
                            "fri",
                            "sat",
                            "sun"
                          ]
                        }
                      }
                    },
                    "required": [
                      "start",
                      "end",
                      "weekdays"
                    ],
                    "additionalProperties": false
                  }
                },
                "exceptions": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string",
                        "format": "date",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 160
                      },
                      "windows": {
                        "maxItems": 8,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "string",
                              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                            },
                            "end": {
                              "type": "string",
                              "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                            }
                          },
                          "required": [
                            "start",
                            "end"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "date",
                      "name",
                      "windows"
                    ],
                    "additionalProperties": false
                  }
                },
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                "description": {
                  "type": "string",
                  "maxLength": 2000
                }
              },
              "required": [
                "timeZone",
                "windows",
                "companyId",
                "id",
                "name",
                "description"
              ],
              "additionalProperties": false
            },
            "revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "publishedRevision": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "publishedDocument": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "timeZone": {
                      "type": "string",
                      "maxLength": 64
                    },
                    "windows": {
                      "maxItems": 28,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "type": "string",
                            "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                          },
                          "end": {
                            "type": "string",
                            "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                          },
                          "weekdays": {
                            "minItems": 1,
                            "maxItems": 7,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "mon",
                                "tue",
                                "wed",
                                "thu",
                                "fri",
                                "sat",
                                "sun"
                              ]
                            }
                          }
                        },
                        "required": [
                          "start",
                          "end",
                          "weekdays"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "exceptions": {
                      "maxItems": 100,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string",
                            "format": "date",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                          },
                          "name": {
                            "type": "string",
                            "maxLength": 160
                          },
                          "windows": {
                            "maxItems": 8,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "start": {
                                  "type": "string",
                                  "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                                },
                                "end": {
                                  "type": "string",
                                  "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                                }
                              },
                              "required": [
                                "start",
                                "end"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "date",
                          "name",
                          "windows"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "companyId": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160
                    },
                    "description": {
                      "type": "string",
                      "maxLength": 2000
                    }
                  },
                  "required": [
                    "timeZone",
                    "windows",
                    "companyId",
                    "id",
                    "name",
                    "description"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "archived": {
              "type": "boolean"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            }
          },
          "required": [
            "document",
            "revision",
            "publishedRevision",
            "publishedDocument",
            "archived",
            "updatedAt"
          ],
          "additionalProperties": false
        },
        "pbxScheduleTimingSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "timeZone": {
              "type": "string",
              "maxLength": 64
            },
            "windows": {
              "maxItems": 28,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                  },
                  "weekdays": {
                    "minItems": 1,
                    "maxItems": 7,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "mon",
                        "tue",
                        "wed",
                        "thu",
                        "fri",
                        "sat",
                        "sun"
                      ]
                    }
                  }
                },
                "required": [
                  "start",
                  "end",
                  "weekdays"
                ],
                "additionalProperties": false
              }
            },
            "exceptions": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "format": "date",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                  },
                  "name": {
                    "type": "string",
                    "maxLength": 160
                  },
                  "windows": {
                    "maxItems": 8,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "start": {
                          "type": "string",
                          "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
                        },
                        "end": {
                          "type": "string",
                          "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
                        }
                      },
                      "required": [
                        "start",
                        "end"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "date",
                  "name",
                  "windows"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "timeZone",
            "windows"
          ],
          "additionalProperties": false
        },
        "pbxTimeWindowSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "start": {
              "type": "string",
              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
            },
            "end": {
              "type": "string",
              "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
            }
          },
          "required": [
            "start",
            "end"
          ],
          "additionalProperties": false
        },
        "pbxTimeZoneSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "maxLength": 64
        },
        "pbxWeekdaySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "enum": [
            "mon",
            "tue",
            "wed",
            "thu",
            "fri",
            "sat",
            "sun"
          ]
        },
        "pbxWeeklyWindowSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "start": {
              "type": "string",
              "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
            },
            "end": {
              "type": "string",
              "pattern": "^(?:(?:[01]\\d|2[0-3]):[0-5]\\d|24:00)$"
            },
            "weekdays": {
              "minItems": 1,
              "maxItems": 7,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "mon",
                  "tue",
                  "wed",
                  "thu",
                  "fri",
                  "sat",
                  "sun"
                ]
              }
            }
          },
          "required": [
            "start",
            "end",
            "weekdays"
          ],
          "additionalProperties": false
        }
      }
    },
    "pbx-audio": {
      "source": "packages/contracts/src/pbx-audio.ts",
      "schemas": {
        "enginePromptManifestSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "engineId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "assets": {
              "maxItems": 256,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "sha256": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  },
                  "sizeBytes": {
                    "type": "integer",
                    "minimum": 46,
                    "maximum": 960044
                  }
                },
                "required": [
                  "id",
                  "revision",
                  "sha256",
                  "sizeBytes"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "companyId",
            "engineId",
            "assets"
          ],
          "additionalProperties": false
        },
        "pbxAudioArchiveSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "archived": {
              "type": "boolean"
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "archived"
          ],
          "additionalProperties": false
        },
        "pbxAudioChunkAckSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "sourceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "index": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "stored": {
              "type": "boolean",
              "const": true
            }
          },
          "required": [
            "companyId",
            "sourceId",
            "index",
            "sha256",
            "stored"
          ],
          "additionalProperties": false
        },
        "pbxAudioChunkRecoverySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "index": {
              "type": "integer",
              "minimum": 0,
              "maximum": 12
            },
            "sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "requestId",
            "index",
            "sha256"
          ],
          "additionalProperties": false
        },
        "pbxAudioChunkSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "index": {
              "type": "integer",
              "minimum": 0,
              "maximum": 12
            },
            "sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "base64": {
              "type": "string",
              "minLength": 4,
              "maxLength": 524288,
              "pattern": "^[A-Za-z0-9+/]*={0,2}$"
            }
          },
          "required": [
            "requestId",
            "index",
            "sha256",
            "base64"
          ],
          "additionalProperties": false
        },
        "pbxAudioDocumentSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "description": {
              "type": "string",
              "maxLength": 2000
            }
          },
          "required": [
            "companyId",
            "id",
            "name",
            "description"
          ],
          "additionalProperties": false
        },
        "pbxAudioPageSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "items": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "document": {
                    "type": "object",
                    "properties": {
                      "companyId": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "description": {
                        "type": "string",
                        "maxLength": 2000
                      }
                    },
                    "required": [
                      "companyId",
                      "id",
                      "name",
                      "description"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "archived": {
                    "type": "boolean"
                  },
                  "sourceId": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "renderState": {
                    "type": "string",
                    "enum": [
                      "empty",
                      "queued",
                      "working",
                      "ready",
                      "failed"
                    ]
                  },
                  "failureCode": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "AUDIO_UNAVAILABLE",
                          "INVALID_SOURCE"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "publication": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "revision": {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          "sha256": {
                            "type": "string",
                            "pattern": "^[a-f0-9]{64}$"
                          },
                          "sizeBytes": {
                            "type": "integer",
                            "minimum": 46,
                            "maximum": 960044
                          }
                        },
                        "required": [
                          "id",
                          "revision",
                          "sha256",
                          "sizeBytes"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "publishedDocument": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "companyId": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 160
                          },
                          "description": {
                            "type": "string",
                            "maxLength": 2000
                          }
                        },
                        "required": [
                          "companyId",
                          "id",
                          "name",
                          "description"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  }
                },
                "required": [
                  "document",
                  "revision",
                  "archived",
                  "sourceId",
                  "renderState",
                  "failureCode",
                  "publication",
                  "publishedDocument",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "nextCursor": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "companyId",
            "items",
            "nextCursor"
          ],
          "additionalProperties": false
        },
        "pbxAudioPlaybackSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "sourceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "sizeBytes": {
              "type": "integer",
              "minimum": 46,
              "maximum": 960044
            },
            "base64": {
              "type": "string",
              "minLength": 64,
              "maxLength": 1280060,
              "pattern": "^[A-Za-z0-9+/]*={0,2}$"
            }
          },
          "required": [
            "companyId",
            "sourceId",
            "sha256",
            "sizeBytes",
            "base64"
          ],
          "additionalProperties": false
        },
        "pbxAudioQuerySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "limit": {
              "default": 25,
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            },
            "after": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "search": {
              "default": "",
              "type": "string",
              "maxLength": 160
            },
            "archived": {
              "default": "false",
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            }
          },
          "additionalProperties": false
        },
        "pbxAudioRetireSourceSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "sourceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "sourceId"
          ],
          "additionalProperties": false
        },
        "pbxAudioRetirementSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "resourceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "sourceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "state": {
              "type": "string",
              "enum": [
                "pending",
                "working",
                "deleted"
              ]
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "deletedAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "companyId",
            "resourceId",
            "id",
            "sourceId",
            "state",
            "createdAt",
            "deletedAt"
          ],
          "additionalProperties": false
        },
        "pbxAudioSaveSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "document": {
              "type": "object",
              "properties": {
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                "description": {
                  "type": "string",
                  "maxLength": 2000
                }
              },
              "required": [
                "companyId",
                "id",
                "name",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "document"
          ],
          "additionalProperties": false
        },
        "pbxAudioSelectSourceSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "sourceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "sourceId"
          ],
          "additionalProperties": false
        },
        "pbxAudioSourceCommandSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "fileName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200,
                  "pattern": "^[^\\x00-\\x1f\\x7f\\\\/]+$"
                },
                "sha256": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "sizeBytes": {
                  "type": "integer",
                  "minimum": 44,
                  "maximum": 5000000
                }
              },
              "required": [
                "id",
                "fileName",
                "sha256",
                "sizeBytes"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "source"
          ],
          "additionalProperties": false
        },
        "pbxAudioSourceDescriptorSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "fileName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200,
              "pattern": "^[^\\x00-\\x1f\\x7f\\\\/]+$"
            },
            "sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "sizeBytes": {
              "type": "integer",
              "minimum": 44,
              "maximum": 5000000
            }
          },
          "required": [
            "id",
            "fileName",
            "sha256",
            "sizeBytes"
          ],
          "additionalProperties": false
        },
        "pbxAudioSourceStateSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "resourceId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "source": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "fileName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200,
                  "pattern": "^[^\\x00-\\x1f\\x7f\\\\/]+$"
                },
                "sha256": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "sizeBytes": {
                  "type": "integer",
                  "minimum": 44,
                  "maximum": 5000000
                }
              },
              "required": [
                "id",
                "fileName",
                "sha256",
                "sizeBytes"
              ],
              "additionalProperties": false
            },
            "retirement": {
              "default": null,
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "companyId": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "resourceId": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "sourceId": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "state": {
                      "type": "string",
                      "enum": [
                        "pending",
                        "working",
                        "deleted"
                      ]
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    },
                    "deletedAt": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "date-time",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "companyId",
                    "resourceId",
                    "id",
                    "sourceId",
                    "state",
                    "createdAt",
                    "deletedAt"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "chunkCount": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 13
            },
            "received": {
              "maxItems": 13,
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 12
              }
            }
          },
          "required": [
            "companyId",
            "resourceId",
            "source",
            "chunkCount",
            "received"
          ],
          "additionalProperties": false
        },
        "pbxAudioStateSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "document": {
              "type": "object",
              "properties": {
                "companyId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                "description": {
                  "type": "string",
                  "maxLength": 2000
                }
              },
              "required": [
                "companyId",
                "id",
                "name",
                "description"
              ],
              "additionalProperties": false
            },
            "revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "archived": {
              "type": "boolean"
            },
            "sourceId": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "renderState": {
              "type": "string",
              "enum": [
                "empty",
                "queued",
                "working",
                "ready",
                "failed"
              ]
            },
            "failureCode": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "AUDIO_UNAVAILABLE",
                    "INVALID_SOURCE"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "publication": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "revision": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    },
                    "sha256": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "sizeBytes": {
                      "type": "integer",
                      "minimum": 46,
                      "maximum": 960044
                    }
                  },
                  "required": [
                    "id",
                    "revision",
                    "sha256",
                    "sizeBytes"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "publishedDocument": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "companyId": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160
                    },
                    "description": {
                      "type": "string",
                      "maxLength": 2000
                    }
                  },
                  "required": [
                    "companyId",
                    "id",
                    "name",
                    "description"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            }
          },
          "required": [
            "document",
            "revision",
            "archived",
            "sourceId",
            "renderState",
            "failureCode",
            "publication",
            "publishedDocument",
            "updatedAt"
          ],
          "additionalProperties": false
        },
        "pbxAudioVersionCommandSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "requestId",
            "expectedRevision"
          ],
          "additionalProperties": false
        },
        "pbxPromptPlaybackSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "engineId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "reference": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "sha256": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "sizeBytes": {
                  "type": "integer",
                  "minimum": 46,
                  "maximum": 960044
                }
              },
              "required": [
                "id",
                "revision",
                "sha256",
                "sizeBytes"
              ],
              "additionalProperties": false
            },
            "base64": {
              "type": "string",
              "minLength": 64,
              "maxLength": 1280060,
              "pattern": "^[A-Za-z0-9+/]*={0,2}$"
            }
          },
          "required": [
            "companyId",
            "engineId",
            "reference",
            "base64"
          ],
          "additionalProperties": false
        },
        "pbxPromptReferenceSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "sizeBytes": {
              "type": "integer",
              "minimum": 46,
              "maximum": 960044
            }
          },
          "required": [
            "id",
            "revision",
            "sha256",
            "sizeBytes"
          ],
          "additionalProperties": false
        },
        "pbxPromptReferencesSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "maxItems": 256,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "revision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "sha256": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 46,
                "maximum": 960044
              }
            },
            "required": [
              "id",
              "revision",
              "sha256",
              "sizeBytes"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "voicemail": {
      "source": "packages/contracts/src/voicemail.ts",
      "schemas": {
        "changeVoicemailAccessSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "expectedRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "grants": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "mailboxId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "permissions": {
                    "minItems": 1,
                    "maxItems": 3,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "listen",
                        "manageMessages",
                        "manageGreeting"
                      ]
                    }
                  }
                },
                "required": [
                  "mailboxId",
                  "permissions"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "expectedRevision",
            "grants"
          ],
          "additionalProperties": false
        },
        "companyVoicemailRequestSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "operation": {
              "type": "string",
              "enum": [
                "mailboxes",
                "list",
                "get",
                "change",
                "audio",
                "greetingAudio",
                "greeting",
                "transcript",
                "transcribe"
              ]
            },
            "mailboxId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "messageId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "folder": {
              "type": "string",
              "enum": [
                "inbox",
                "archive",
                "deleted"
              ]
            },
            "offset": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000
            },
            "search": {
              "type": "string",
              "maxLength": 120
            },
            "sort": {
              "type": "string",
              "enum": [
                "newest",
                "oldest"
              ]
            },
            "status": {
              "type": "string",
              "enum": [
                "all",
                "new",
                "listened",
                "handled"
              ]
            },
            "change": {
              "type": "object",
              "properties": {
                "requestId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "expectedRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "heard",
                    "unheard",
                    "archive",
                    "delete",
                    "restore",
                    "handle",
                    "unhandle"
                  ]
                }
              },
              "required": [
                "requestId",
                "expectedRevision",
                "action"
              ],
              "additionalProperties": false
            },
            "greeting": {
              "type": "object",
              "properties": {
                "requestId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "expectedRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "base64": {
                  "type": "string",
                  "maxLength": 7000000
                }
              },
              "required": [
                "requestId",
                "expectedRevision",
                "base64"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "operation"
          ],
          "additionalProperties": false
        },
        "mailboxInputSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "kind": {
              "type": "string",
              "enum": [
                "general",
                "department",
                "personal"
              ]
            },
            "enabled": {
              "type": "boolean"
            },
            "retentionDays": {
              "type": "integer",
              "minimum": 1,
              "maximum": 3650
            },
            "deletedDays": {
              "type": "integer",
              "minimum": 1,
              "maximum": 30
            },
            "maxSeconds": {
              "type": "integer",
              "minimum": 30,
              "maximum": 300
            },
            "maxMessages": {
              "type": "integer",
              "minimum": 10,
              "maximum": 10000
            }
          },
          "required": [
            "expectedRevision",
            "requestId",
            "name",
            "kind",
            "enabled",
            "retentionDays",
            "deletedDays",
            "maxSeconds",
            "maxMessages"
          ],
          "additionalProperties": false
        },
        "mailboxSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "kind": {
              "type": "string",
              "enum": [
                "general",
                "department",
                "personal"
              ]
            },
            "enabled": {
              "type": "boolean"
            },
            "retentionDays": {
              "type": "integer",
              "minimum": 1,
              "maximum": 3650
            },
            "deletedDays": {
              "type": "integer",
              "minimum": 1,
              "maximum": 30
            },
            "maxSeconds": {
              "type": "integer",
              "minimum": 30,
              "maximum": 300
            },
            "maxMessages": {
              "type": "integer",
              "minimum": 10,
              "maximum": 10000
            },
            "revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "dialTarget": {
              "type": "string",
              "pattern": "^\\*89\\d{8}$"
            },
            "greeting": {
              "type": "boolean"
            },
            "permissions": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "listen",
                  "manageMessages",
                  "manageGreeting"
                ]
              }
            },
            "unread": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "id",
            "name",
            "kind",
            "enabled",
            "retentionDays",
            "deletedDays",
            "maxSeconds",
            "maxMessages",
            "revision",
            "dialTarget",
            "greeting"
          ]
        },
        "voicemailAccessSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "revision": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "grants": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "mailboxId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "permissions": {
                    "minItems": 1,
                    "maxItems": 3,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "listen",
                        "manageMessages",
                        "manageGreeting"
                      ]
                    }
                  }
                },
                "required": [
                  "mailboxId",
                  "permissions"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "revision",
            "grants"
          ]
        },
        "voicemailAudioSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "mime": {
              "type": "string",
              "const": "audio/wav"
            },
            "base64": {
              "type": "string",
              "maxLength": 7000000
            },
            "sha256": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "mime",
            "base64",
            "sha256"
          ]
        },
        "voicemailCapabilitiesSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "transcriptionEnabled": {
              "type": "boolean"
            }
          },
          "required": [
            "enabled",
            "transcriptionEnabled"
          ]
        },
        "voicemailChangeSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "action": {
              "type": "string",
              "enum": [
                "heard",
                "unheard",
                "archive",
                "delete",
                "restore",
                "handle",
                "unhandle"
              ]
            }
          },
          "required": [
            "requestId",
            "expectedRevision",
            "action"
          ],
          "additionalProperties": false
        },
        "voicemailGrantSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "mailboxId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "permissions": {
              "minItems": 1,
              "maxItems": 3,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "listen",
                  "manageMessages",
                  "manageGreeting"
                ]
              }
            }
          },
          "required": [
            "mailboxId",
            "permissions"
          ],
          "additionalProperties": false
        },
        "voicemailMessageSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "mailboxId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "caller": {
              "type": "string"
            },
            "callerName": {
              "type": "string"
            },
            "receivedAt": {
              "type": "string"
            },
            "duration": {
              "type": "number",
              "minimum": 0
            },
            "heard": {
              "type": "boolean"
            },
            "folder": {
              "type": "string",
              "enum": [
                "inbox",
                "archive",
                "deleted"
              ]
            },
            "handledBy": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "deletedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "expiresAt": {
              "type": "string"
            },
            "audioHash": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "transcript": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "none",
                    "queued",
                    "processing",
                    "ready",
                    "failed"
                  ]
                },
                "text": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 100000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "error": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "status",
                "text",
                "error"
              ]
            }
          },
          "required": [
            "id",
            "mailboxId",
            "revision",
            "caller",
            "callerName",
            "receivedAt",
            "duration",
            "heard",
            "folder",
            "handledBy",
            "deletedAt",
            "expiresAt",
            "audioHash"
          ]
        },
        "voicemailPageSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "mailboxId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "caller": {
                    "type": "string"
                  },
                  "callerName": {
                    "type": "string"
                  },
                  "receivedAt": {
                    "type": "string"
                  },
                  "duration": {
                    "type": "number",
                    "minimum": 0
                  },
                  "heard": {
                    "type": "boolean"
                  },
                  "folder": {
                    "type": "string",
                    "enum": [
                      "inbox",
                      "archive",
                      "deleted"
                    ]
                  },
                  "handledBy": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "deletedAt": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "expiresAt": {
                    "type": "string"
                  },
                  "audioHash": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  },
                  "transcript": {
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "none",
                          "queued",
                          "processing",
                          "ready",
                          "failed"
                        ]
                      },
                      "text": {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 100000
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "error": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "status",
                      "text",
                      "error"
                    ]
                  }
                },
                "required": [
                  "id",
                  "mailboxId",
                  "revision",
                  "caller",
                  "callerName",
                  "receivedAt",
                  "duration",
                  "heard",
                  "folder",
                  "handledBy",
                  "deletedAt",
                  "expiresAt",
                  "audioHash"
                ]
              }
            },
            "nextOffset": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "total": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "items",
            "nextOffset",
            "total"
          ]
        },
        "voicemailPermissionSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "enum": [
            "listen",
            "manageMessages",
            "manageGreeting"
          ]
        },
        "voicemailRequestSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "operation": {
              "type": "string",
              "enum": [
                "capabilities",
                "mailboxes",
                "list",
                "get",
                "change",
                "audio",
                "greetingAudio",
                "greeting",
                "transcript",
                "transcribe"
              ]
            },
            "mailboxId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "messageId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "folder": {
              "type": "string",
              "enum": [
                "inbox",
                "archive",
                "deleted"
              ]
            },
            "offset": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000
            },
            "search": {
              "type": "string",
              "maxLength": 120
            },
            "change": {
              "type": "object",
              "properties": {
                "requestId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "expectedRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "heard",
                    "unheard",
                    "archive",
                    "delete",
                    "restore",
                    "handle",
                    "unhandle"
                  ]
                }
              },
              "required": [
                "requestId",
                "expectedRevision",
                "action"
              ],
              "additionalProperties": false
            },
            "greeting": {
              "type": "object",
              "properties": {
                "requestId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "expectedRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "base64": {
                  "type": "string",
                  "maxLength": 7000000
                }
              },
              "required": [
                "requestId",
                "expectedRevision",
                "base64"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "operation"
          ],
          "additionalProperties": false
        },
        "voicemailTranscriptSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "none",
                "queued",
                "processing",
                "ready",
                "failed"
              ]
            },
            "text": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "error": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "expiresAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "status",
            "text",
            "error",
            "expiresAt"
          ]
        }
      }
    },
    "reports": {
      "source": "packages/contracts/src/reports.ts",
      "schemas": {
        "reportDatasetSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "enum": [
            "calls",
            "employeeCalls",
            "messages",
            "queueVisits"
          ]
        },
        "reportDateSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "reportExportRequestSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "snapshotId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "format": {
              "type": "string",
              "enum": [
                "pdf",
                "xlsx"
              ]
            },
            "operationId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "snapshotId",
            "format",
            "operationId"
          ],
          "additionalProperties": false
        },
        "reportFormatSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "enum": [
            "pdf",
            "xlsx"
          ]
        },
        "reportKindSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "enum": [
            "overview",
            "employees",
            "queues"
          ]
        },
        "reportParametersSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "startDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "endDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "timezone": {
              "default": "America/Chicago",
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "companyNumbers": {
              "default": [],
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "extensions": {
              "default": [],
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "inboxIds": {
              "default": [],
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              }
            },
            "queueIds": {
              "default": [],
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "direction": {
              "default": "external",
              "type": "string",
              "enum": [
                "all",
                "external",
                "inbound",
                "outbound",
                "internal"
              ]
            },
            "serviceLevelSeconds": {
              "default": 30,
              "type": "integer",
              "minimum": 1,
              "maximum": 600
            },
            "serviceLevelTarget": {
              "default": 80,
              "type": "number",
              "minimum": 1,
              "maximum": 100
            },
            "includeShortAbandons": {
              "default": true,
              "type": "boolean"
            },
            "shortAbandonSeconds": {
              "default": 5,
              "type": "integer",
              "minimum": 0,
              "maximum": 60
            }
          },
          "required": [
            "startDate",
            "endDate"
          ],
          "additionalProperties": false
        },
        "reportRecordsQuerySchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "dataset": {
              "type": "string",
              "enum": [
                "calls",
                "employeeCalls",
                "messages",
                "queueVisits"
              ]
            },
            "page": {
              "default": 1,
              "type": "integer",
              "minimum": 1,
              "maximum": 100000
            },
            "pageSize": {
              "default": 25,
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "search": {
              "default": "",
              "type": "string",
              "maxLength": 100
            },
            "selection": {
              "type": "string",
              "maxLength": 3000
            }
          },
          "required": [
            "dataset"
          ],
          "additionalProperties": false
        },
        "reportRunSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "overview",
                "employees",
                "queues"
              ]
            },
            "parameters": {
              "type": "object",
              "properties": {
                "startDate": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                },
                "endDate": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                },
                "timezone": {
                  "default": "America/Chicago",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "companyNumbers": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "extensions": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "inboxIds": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                },
                "queueIds": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "direction": {
                  "default": "external",
                  "type": "string",
                  "enum": [
                    "all",
                    "external",
                    "inbound",
                    "outbound",
                    "internal"
                  ]
                },
                "serviceLevelSeconds": {
                  "default": 30,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 600
                },
                "serviceLevelTarget": {
                  "default": 80,
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100
                },
                "includeShortAbandons": {
                  "default": true,
                  "type": "boolean"
                },
                "shortAbandonSeconds": {
                  "default": 5,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 60
                }
              },
              "required": [
                "startDate",
                "endDate"
              ],
              "additionalProperties": false
            },
            "operationId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "kind",
            "parameters",
            "operationId"
          ],
          "additionalProperties": false
        },
        "reportSavedViewSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "kind": {
              "type": "string",
              "enum": [
                "overview",
                "employees",
                "queues"
              ]
            },
            "parameters": {
              "type": "object",
              "properties": {
                "startDate": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                },
                "endDate": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                },
                "timezone": {
                  "default": "America/Chicago",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "companyNumbers": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "extensions": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "inboxIds": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  }
                },
                "queueIds": {
                  "default": [],
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "direction": {
                  "default": "external",
                  "type": "string",
                  "enum": [
                    "all",
                    "external",
                    "inbound",
                    "outbound",
                    "internal"
                  ]
                },
                "serviceLevelSeconds": {
                  "default": 30,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 600
                },
                "serviceLevelTarget": {
                  "default": 80,
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100
                },
                "includeShortAbandons": {
                  "default": true,
                  "type": "boolean"
                },
                "shortAbandonSeconds": {
                  "default": 5,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 60
                }
              },
              "required": [
                "startDate",
                "endDate"
              ],
              "additionalProperties": false
            },
            "expectedRevision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "name",
            "kind",
            "parameters"
          ],
          "additionalProperties": false
        },
        "reportSelectionSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "field": {
              "type": "string",
              "enum": [
                "direction",
                "outcome",
                "companyNumber",
                "extension",
                "employeeId",
                "status",
                "day",
                "queueId",
                "kind"
              ]
            },
            "value": {
              "type": "string",
              "maxLength": 180
            }
          },
          "required": [
            "field",
            "value"
          ],
          "additionalProperties": false
        },
        "reportTimezoneSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        }
      }
    },
    "number-purchase": {
      "source": "packages/contracts/src/number-purchase.ts",
      "schemas": {
        "buyNumberSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "quote": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "number": {
                  "type": "string",
                  "pattern": "^\\+1[2-9]\\d{9}$"
                },
                "country": {
                  "type": "string",
                  "enum": [
                    "US",
                    "CA"
                  ]
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "local",
                    "toll_free"
                  ]
                },
                "price": {
                  "type": "object",
                  "properties": {
                    "currency": {
                      "type": "string",
                      "const": "USD"
                    },
                    "upfront": {
                      "type": "string",
                      "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                    },
                    "monthly": {
                      "type": "string",
                      "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                    }
                  },
                  "required": [
                    "currency",
                    "upfront",
                    "monthly"
                  ],
                  "additionalProperties": false
                },
                "features": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 40
                  }
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                },
                "location": {
                  "type": "string",
                  "maxLength": 240
                },
                "bestEffort": {
                  "type": "boolean"
                },
                "quickship": {
                  "type": "boolean"
                },
                "reservable": {
                  "type": "boolean"
                },
                "token": {
                  "type": "string",
                  "minLength": 32,
                  "maxLength": 3000
                }
              },
              "required": [
                "id",
                "number",
                "country",
                "type",
                "price",
                "features",
                "expiresAt",
                "token"
              ],
              "additionalProperties": false
            },
            "confirmed": {
              "type": "boolean",
              "const": true
            }
          },
          "required": [
            "requestId",
            "quote",
            "confirmed"
          ],
          "additionalProperties": false
        },
        "numberOrderCursorSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "string",
          "maxLength": 100
        },
        "numberOrderSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "number": {
              "type": "string"
            },
            "price": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string",
                  "const": "USD"
                },
                "upfront": {
                  "type": "string",
                  "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                },
                "monthly": {
                  "type": "string",
                  "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                }
              },
              "required": [
                "currency",
                "upfront",
                "monthly"
              ],
              "additionalProperties": false
            },
            "state": {
              "type": "string",
              "enum": [
                "submitting",
                "pending",
                "purchased",
                "failed",
                "unknown"
              ]
            },
            "message": {
              "type": "string",
              "maxLength": 500
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "messaging": {
              "type": "object",
              "properties": {
                "state": {
                  "type": "string",
                  "enum": [
                    "waiting",
                    "pending",
                    "assigned",
                    "needs-attention",
                    "not-applicable"
                  ]
                },
                "message": {
                  "type": "string",
                  "maxLength": 500
                }
              },
              "required": [
                "state",
                "message"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "companyId",
            "id",
            "number",
            "price",
            "state",
            "message",
            "createdAt"
          ],
          "additionalProperties": false
        },
        "numberOrdersSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "items": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "companyId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "number": {
                    "type": "string"
                  },
                  "price": {
                    "type": "object",
                    "properties": {
                      "currency": {
                        "type": "string",
                        "const": "USD"
                      },
                      "upfront": {
                        "type": "string",
                        "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                      },
                      "monthly": {
                        "type": "string",
                        "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                      }
                    },
                    "required": [
                      "currency",
                      "upfront",
                      "monthly"
                    ],
                    "additionalProperties": false
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "submitting",
                      "pending",
                      "purchased",
                      "failed",
                      "unknown"
                    ]
                  },
                  "message": {
                    "type": "string",
                    "maxLength": 500
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  "messaging": {
                    "type": "object",
                    "properties": {
                      "state": {
                        "type": "string",
                        "enum": [
                          "waiting",
                          "pending",
                          "assigned",
                          "needs-attention",
                          "not-applicable"
                        ]
                      },
                      "message": {
                        "type": "string",
                        "maxLength": 500
                      }
                    },
                    "required": [
                      "state",
                      "message"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "companyId",
                  "id",
                  "number",
                  "price",
                  "state",
                  "message",
                  "createdAt"
                ],
                "additionalProperties": false
              }
            },
            "nextBefore": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 100
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "companyId",
            "items",
            "nextBefore"
          ],
          "additionalProperties": false
        },
        "numberPriceSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "currency": {
              "type": "string",
              "const": "USD"
            },
            "upfront": {
              "type": "string",
              "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
            },
            "monthly": {
              "type": "string",
              "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
            }
          },
          "required": [
            "currency",
            "upfront",
            "monthly"
          ],
          "additionalProperties": false
        },
        "numberQuoteSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "number": {
              "type": "string",
              "pattern": "^\\+1[2-9]\\d{9}$"
            },
            "country": {
              "type": "string",
              "enum": [
                "US",
                "CA"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "local",
                "toll_free"
              ]
            },
            "price": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string",
                  "const": "USD"
                },
                "upfront": {
                  "type": "string",
                  "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                },
                "monthly": {
                  "type": "string",
                  "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                }
              },
              "required": [
                "currency",
                "upfront",
                "monthly"
              ],
              "additionalProperties": false
            },
            "features": {
              "maxItems": 20,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 40
              }
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            "location": {
              "type": "string",
              "maxLength": 240
            },
            "bestEffort": {
              "type": "boolean"
            },
            "quickship": {
              "type": "boolean"
            },
            "reservable": {
              "type": "boolean"
            },
            "token": {
              "type": "string",
              "minLength": 32,
              "maxLength": 3000
            }
          },
          "required": [
            "id",
            "number",
            "country",
            "type",
            "price",
            "features",
            "expiresAt",
            "token"
          ],
          "additionalProperties": false
        },
        "numberSearchResultSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "companyId": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "items": {
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "number": {
                    "type": "string",
                    "pattern": "^\\+1[2-9]\\d{9}$"
                  },
                  "country": {
                    "type": "string",
                    "enum": [
                      "US",
                      "CA"
                    ]
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "local",
                      "toll_free"
                    ]
                  },
                  "price": {
                    "type": "object",
                    "properties": {
                      "currency": {
                        "type": "string",
                        "const": "USD"
                      },
                      "upfront": {
                        "type": "string",
                        "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                      },
                      "monthly": {
                        "type": "string",
                        "pattern": "^\\d{1,6}(\\.\\d{1,6})?$"
                      }
                    },
                    "required": [
                      "currency",
                      "upfront",
                      "monthly"
                    ],
                    "additionalProperties": false
                  },
                  "features": {
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 40
                    }
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  "location": {
                    "type": "string",
                    "maxLength": 240
                  },
                  "bestEffort": {
                    "type": "boolean"
                  },
                  "quickship": {
                    "type": "boolean"
                  },
                  "reservable": {
                    "type": "boolean"
                  },
                  "token": {
                    "type": "string",
                    "minLength": 32,
                    "maxLength": 3000
                  }
                },
                "required": [
                  "id",
                  "number",
                  "country",
                  "type",
                  "price",
                  "features",
                  "expiresAt",
                  "token"
                ],
                "additionalProperties": false
              }
            },
            "purchaseEnabled": {
              "type": "boolean"
            }
          },
          "required": [
            "companyId",
            "items",
            "purchaseEnabled"
          ],
          "additionalProperties": false
        },
        "numberSearchSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "country": {
              "type": "string",
              "enum": [
                "US",
                "CA"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "local",
                "toll_free"
              ]
            },
            "areaCode": {
              "type": "string",
              "pattern": "^\\d{3}$"
            },
            "locality": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80,
              "pattern": "^[\\p{L}\\p{N} .'-]+$"
            },
            "administrativeArea": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "rateCenter": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80,
              "pattern": "^[\\p{L}\\p{N} .'-]+$"
            },
            "contains": {
              "type": "string",
              "pattern": "^[0-9A-Za-z]{1,10}$"
            },
            "startsWith": {
              "type": "string",
              "pattern": "^[0-9A-Za-z]{1,10}$"
            },
            "endsWith": {
              "type": "string",
              "pattern": "^[0-9A-Za-z]{1,10}$"
            },
            "features": {
              "maxItems": 8,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "voice",
                  "sms",
                  "mms",
                  "hd_voice",
                  "fax",
                  "emergency",
                  "international_sms",
                  "local_calling"
                ]
              }
            },
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "bestEffort": {
              "type": "boolean"
            },
            "quickship": {
              "type": "boolean"
            },
            "reservable": {
              "type": "boolean"
            },
            "excludeHeldNumbers": {
              "type": "boolean"
            }
          },
          "required": [
            "country",
            "type"
          ],
          "additionalProperties": false
        },
        "purchasedMessagingSchema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "state": {
              "type": "string",
              "enum": [
                "waiting",
                "pending",
                "assigned",
                "needs-attention",
                "not-applicable"
              ]
            },
            "message": {
              "type": "string",
              "maxLength": 500
            }
          },
          "required": [
            "state",
            "message"
          ],
          "additionalProperties": false
        }
      }
    }
  }
}
