components:
  schemas:
    AddLanRequest:
      properties:
        subnet:
          title: Subnet
          type: string
      required:
      - subnet
      title: AddLanRequest
      type: object
    AddressListCreate:
      properties:
        address:
          title: Address
          type: string
        comment:
          default: ''
          title: Comment
          type: string
        list_name:
          title: List Name
          type: string
        timeout:
          default: 0s
          title: Timeout
          type: string
      required:
      - address
      - list_name
      title: AddressListCreate
      type: object
    AdminLogin:
      properties:
        email:
          title: Email
          type: string
        password:
          title: Password
          type: string
      required:
      - email
      - password
      title: AdminLogin
      type: object
    AlertAcknowledge:
      properties:
        acknowledged:
          default: true
          title: Acknowledged
          type: boolean
      title: AlertAcknowledge
      type: object
    AlertEscalationPolicyCreate:
      properties:
        alert_rule_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Alert Rule Id
        enabled:
          default: true
          title: Enabled
          type: boolean
        escalate_to_severity:
          default: critical
          title: Escalate To Severity
          type: string
        escalation_minutes:
          default: 15
          title: Escalation Minutes
          type: integer
        initial_severity:
          default: warning
          title: Initial Severity
          type: string
        name:
          title: Name
          type: string
        notify_channel_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Notify Channel Id
      required:
      - name
      title: AlertEscalationPolicyCreate
      type: object
    AlertEscalationPolicyResponse:
      properties:
        alert_rule_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Alert Rule Id
        enabled:
          title: Enabled
          type: boolean
        escalate_to_severity:
          title: Escalate To Severity
          type: string
        escalation_minutes:
          title: Escalation Minutes
          type: integer
        id:
          format: uuid
          title: Id
          type: string
        initial_severity:
          title: Initial Severity
          type: string
        name:
          title: Name
          type: string
        notify_channel_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Notify Channel Id
        tenant_id:
          format: uuid
          title: Tenant Id
          type: string
      required:
      - id
      - tenant_id
      - name
      - initial_severity
      - escalation_minutes
      - escalate_to_severity
      - enabled
      title: AlertEscalationPolicyResponse
      type: object
    AlertEscalationPolicyUpdate:
      properties:
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        escalate_to_severity:
          anyOf:
          - type: string
          - type: 'null'
          title: Escalate To Severity
        escalation_minutes:
          anyOf:
          - type: integer
          - type: 'null'
          title: Escalation Minutes
        initial_severity:
          anyOf:
          - type: string
          - type: 'null'
          title: Initial Severity
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        notify_channel_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Notify Channel Id
      title: AlertEscalationPolicyUpdate
      type: object
    AlertEventResponse:
      properties:
        alert_id:
          title: Alert Id
          type: string
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        event_type:
          title: Event Type
          type: string
        id:
          title: Id
          type: string
      required:
      - id
      - alert_id
      - event_type
      - description
      - created_at
      title: AlertEventResponse
      type: object
    AlertResolve:
      properties:
        resolved:
          default: true
          title: Resolved
          type: boolean
      title: AlertResolve
      type: object
    AlertRuleCreate:
      properties:
        condition:
          title: Condition
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        device_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Id
        device_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Type
        enabled:
          default: true
          title: Enabled
          type: boolean
        interval_minutes:
          default: 5
          title: Interval Minutes
          type: integer
        metric:
          title: Metric
          type: string
        name:
          title: Name
          type: string
        notify_whatsapp:
          default: false
          title: Notify Whatsapp
          type: boolean
        severity:
          default: warning
          title: Severity
          type: string
        threshold:
          title: Threshold
          type: number
      required:
      - name
      - metric
      - condition
      - threshold
      title: AlertRuleCreate
      type: object
    AlertRuleResponse:
      properties:
        condition:
          title: Condition
          type: string
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        device_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Id
        device_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Type
        enabled:
          title: Enabled
          type: boolean
        id:
          title: Id
          type: string
        interval_minutes:
          title: Interval Minutes
          type: integer
        metric:
          title: Metric
          type: string
        name:
          title: Name
          type: string
        notify_whatsapp:
          title: Notify Whatsapp
          type: boolean
        severity:
          title: Severity
          type: string
        threshold:
          title: Threshold
          type: number
      required:
      - id
      - name
      - description
      - device_id
      - device_type
      - metric
      - condition
      - threshold
      - interval_minutes
      - severity
      - enabled
      - notify_whatsapp
      - created_at
      title: AlertRuleResponse
      type: object
    AlertRuleUpdate:
      properties:
        condition:
          anyOf:
          - type: string
          - type: 'null'
          title: Condition
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        device_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Id
        device_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Type
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        interval_minutes:
          anyOf:
          - type: integer
          - type: 'null'
          title: Interval Minutes
        metric:
          anyOf:
          - type: string
          - type: 'null'
          title: Metric
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        notify_whatsapp:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Notify Whatsapp
        severity:
          anyOf:
          - type: string
          - type: 'null'
          title: Severity
        threshold:
          anyOf:
          - type: number
          - type: 'null'
          title: Threshold
      title: AlertRuleUpdate
      type: object
    ApplyTemplateRequest:
      properties:
        areas:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Areas
        params:
          additionalProperties: true
          default: {}
          title: Params
          type: object
      title: ApplyTemplateRequest
      type: object
    AssignBody:
      properties:
        assigned_to_id:
          title: Assigned To Id
          type: string
      required:
      - assigned_to_id
      title: AssignBody
      type: object
    AssignJobBody:
      properties:
        installer_id:
          title: Installer Id
          type: string
      required:
      - installer_id
      title: AssignJobBody
      type: object
    BackboneLinkCreate:
      properties:
        capacity_bps:
          default: 1000000000
          title: Capacity Bps
          type: integer
        device_a_id:
          title: Device A Id
          type: string
        device_b_id:
          title: Device B Id
          type: string
        interface_a:
          anyOf:
          - type: string
          - type: 'null'
          title: Interface A
        interface_b:
          anyOf:
          - type: string
          - type: 'null'
          title: Interface B
        name:
          title: Name
          type: string
        pop_a:
          anyOf:
          - type: string
          - type: 'null'
          title: Pop A
        pop_b:
          anyOf:
          - type: string
          - type: 'null'
          title: Pop B
        site_a_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site A Id
        site_b_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site B Id
        style:
          default: straight
          title: Style
          type: string
      required:
      - name
      - device_a_id
      - device_b_id
      title: BackboneLinkCreate
      type: object
    BackboneLinkUpdate:
      properties:
        capacity_bps:
          anyOf:
          - type: integer
          - type: 'null'
          title: Capacity Bps
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        pop_a:
          anyOf:
          - type: string
          - type: 'null'
          title: Pop A
        pop_b:
          anyOf:
          - type: string
          - type: 'null'
          title: Pop B
        site_a_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site A Id
        site_b_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site B Id
        style:
          anyOf:
          - type: string
          - type: 'null'
          title: Style
      title: BackboneLinkUpdate
      type: object
    BatchSetParams:
      properties:
        params:
          additionalProperties:
            type: string
          title: Params
          type: object
      required:
      - params
      title: BatchSetParams
      type: object
    Body_import_kml_mapeado_kml_import_post:
      properties:
        file:
          contentMediaType: application/octet-stream
          title: File
          type: string
      required:
      - file
      title: Body_import_kml_mapeado_kml_import_post
      type: object
    Body_mobile_technician_upload_photo_mobile_technician_jobs__job_id__photos_post:
      properties:
        file:
          contentMediaType: application/octet-stream
          title: File
          type: string
      required:
      - file
      title: Body_mobile_technician_upload_photo_mobile_technician_jobs__job_id__photos_post
      type: object
    BudgetRequest:
      properties:
        connector_loss:
          default: 0.3
          title: Connector Loss
          type: number
        fiber_loss_per_km:
          default: 0.35
          title: Fiber Loss Per Km
          type: number
        olt_power_dbm:
          default: 5.0
          title: Olt Power Dbm
          type: number
        olt_type:
          default: gpon
          title: Olt Type
          type: string
        path:
          items:
            additionalProperties: true
            type: object
          title: Path
          type: array
        safety_margin:
          default: 2.0
          title: Safety Margin
          type: number
        splice_loss:
          default: 0.1
          title: Splice Loss
          type: number
      required:
      - path
      title: BudgetRequest
      type: object
    CfdiCancelarRequest:
      properties:
        folio_sustituto:
          anyOf:
          - type: string
          - type: 'null'
          title: Folio Sustituto
        motivo:
          default: '02'
          title: Motivo
          type: string
      title: CfdiCancelarRequest
      type: object
    CfdiConfigCreate:
      properties:
        api_password:
          title: Api Password
          type: string
        api_user:
          title: Api User
          type: string
        environment:
          default: sandbox
          title: Environment
          type: string
        issuer_cp:
          title: Issuer Cp
          type: string
        issuer_name:
          title: Issuer Name
          type: string
        issuer_regimen_fiscal:
          default: '612'
          title: Issuer Regimen Fiscal
          type: string
        issuer_rfc:
          title: Issuer Rfc
          type: string
        pac:
          default: facturama
          title: Pac
          type: string
      required:
      - api_user
      - api_password
      - issuer_rfc
      - issuer_name
      - issuer_cp
      title: CfdiConfigCreate
      type: object
    CfdiTimbrarRequest:
      properties:
        currency:
          default: MXN
          title: Currency
          type: string
        forma_pago:
          default: '99'
          title: Forma Pago
          type: string
        invoice_id:
          title: Invoice Id
          type: string
        metodo_pago:
          default: PUE
          title: Metodo Pago
          type: string
        receiver_cp:
          title: Receiver Cp
          type: string
        receiver_name:
          title: Receiver Name
          type: string
        receiver_regimen_fiscal:
          default: '612'
          title: Receiver Regimen Fiscal
          type: string
        receiver_rfc:
          title: Receiver Rfc
          type: string
        uso_cfdi:
          default: G03
          title: Uso Cfdi
          type: string
      required:
      - invoice_id
      - receiver_rfc
      - receiver_name
      - receiver_cp
      title: CfdiTimbrarRequest
      type: object
    CheckoutRequest:
      properties:
        invoice_id:
          title: Invoice Id
          type: string
      required:
      - invoice_id
      title: CheckoutRequest
      type: object
    CompleteJobBody:
      properties:
        client_signature:
          anyOf:
          - type: string
          - type: 'null'
          title: Client Signature
        installation_cost:
          anyOf:
          - type: number
          - type: 'null'
          title: Installation Cost
        installer_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Installer Notes
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        materials:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Materials
        onu_serial:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Serial
        photos:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Photos
      title: CompleteJobBody
      type: object
    ConfirmRequest:
      properties:
        gateway_payment_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Gateway Payment Id
        invoice_id:
          title: Invoice Id
          type: string
      required:
      - invoice_id
      title: ConfirmRequest
      type: object
    ContactRequest:
      properties:
        company:
          default: ''
          title: Company
          type: string
        email:
          title: Email
          type: string
        lead_type:
          default: demo
          title: Lead Type
          type: string
        message:
          default: ''
          title: Message
          type: string
        name:
          title: Name
          type: string
        phone:
          default: ''
          title: Phone
          type: string
      required:
      - name
      - email
      title: ContactRequest
      type: object
    CreateDhcpv6Server:
      properties:
        address_pool:
          default: ''
          title: Address Pool
          type: string
        interface:
          title: Interface
          type: string
        lease_time:
          default: 1d
          title: Lease Time
          type: string
        name:
          title: Name
          type: string
      required:
      - name
      - interface
      title: CreateDhcpv6Server
      type: object
    CreateInstallerBody:
      properties:
        email:
          title: Email
          type: string
        installer_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Installer Code
        password:
          title: Password
          type: string
      required:
      - email
      - password
      title: CreateInstallerBody
      type: object
    CreatePeerRequest:
      properties:
        device_id:
          title: Device Id
          type: string
      required:
      - device_id
      title: CreatePeerRequest
      type: object
    DamageCreate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        affected_cable_ids:
          default: []
          items:
            type: string
          title: Affected Cable Ids
          type: array
        affected_site_ids:
          default: []
          items:
            type: string
          title: Affected Site Ids
          type: array
        affected_splice_box_ids:
          default: []
          items:
            type: string
          title: Affected Splice Box Ids
          type: array
        affected_strand_ids:
          default: []
          items:
            type: string
          title: Affected Strand Ids
          type: array
        damage_type:
          title: Damage Type
          type: string
        geometry:
          anyOf:
          - items: {}
            type: array
          - type: 'null'
          title: Geometry
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        repair_plan:
          anyOf:
          - type: string
          - type: 'null'
          title: Repair Plan
        repair_technician:
          anyOf:
          - type: string
          - type: 'null'
          title: Repair Technician
        severity:
          default: critical
          title: Severity
          type: string
      required:
      - damage_type
      - latitude
      - longitude
      title: DamageCreate
      type: object
    DamageUpdate:
      properties:
        repair_date:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Repair Date
        repair_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Repair Notes
        repair_plan:
          anyOf:
          - type: string
          - type: 'null'
          title: Repair Plan
        repair_technician:
          anyOf:
          - type: string
          - type: 'null'
          title: Repair Technician
        resolution_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Resolution Notes
        severity:
          anyOf:
          - type: string
          - type: 'null'
          title: Severity
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: DamageUpdate
      type: object
    DashboardCreate:
      properties:
        icon:
          default: 📊
          title: Icon
          type: string
        is_default:
          default: false
          title: Is Default
          type: boolean
        name:
          title: Name
          type: string
      required:
      - name
      title: DashboardCreate
      type: object
    DashboardReorder:
      properties:
        items:
          items:
            additionalProperties: true
            type: object
          title: Items
          type: array
      required:
      - items
      title: DashboardReorder
      type: object
    DashboardUpdate:
      properties:
        icon:
          anyOf:
          - type: string
          - type: 'null'
          title: Icon
        is_default:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Default
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        sort_order:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sort Order
      title: DashboardUpdate
      type: object
    DeviceCreate:
      properties:
        api_port:
          default: 8728
          title: Api Port
          type: integer
        device_role:
          title: Device Role
          type: string
        ip_address:
          title: Ip Address
          type: string
        is_vpn_gateway:
          default: false
          title: Is Vpn Gateway
          type: boolean
        model:
          title: Model
          type: string
        name:
          title: Name
          type: string
        password:
          title: Password
          type: string
        pos_x:
          anyOf:
          - type: number
          - type: 'null'
          title: Pos X
        pos_y:
          anyOf:
          - type: number
          - type: 'null'
          title: Pos Y
        site:
          anyOf:
          - type: string
          - type: 'null'
          title: Site
        snmp_community:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp Community
        snmp_community_write:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp Community Write
        snmp_enabled:
          default: false
          title: Snmp Enabled
          type: boolean
        snmp_port:
          default: 161
          title: Snmp Port
          type: integer
        snmp_v3_auth_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Auth Password
        snmp_v3_auth_protocol:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Auth Protocol
        snmp_v3_priv_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Priv Password
        snmp_v3_priv_protocol:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Priv Protocol
        snmp_v3_security_level:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Security Level
        snmp_v3_username:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Username
        snmp_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp Version
        ssh_port:
          default: 22
          title: Ssh Port
          type: integer
        username:
          title: Username
          type: string
        vendor:
          title: Vendor
          type: string
      required:
      - name
      - vendor
      - model
      - device_role
      - ip_address
      - username
      - password
      title: DeviceCreate
      type: object
    DeviceTemplateCreate:
      properties:
        aliases:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Aliases
        image_height:
          anyOf:
          - type: integer
          - type: 'null'
          title: Image Height
        image_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Url
        image_width:
          anyOf:
          - type: integer
          - type: 'null'
          title: Image Width
        model:
          title: Model
          type: string
        ports:
          items:
            additionalProperties: true
            type: object
          title: Ports
          type: array
        vendor:
          title: Vendor
          type: string
      required:
      - vendor
      - model
      - ports
      title: DeviceTemplateCreate
      type: object
    DeviceUpdate:
      properties:
        api_port:
          anyOf:
          - maximum: 65535.0
            minimum: 1.0
            type: integer
          - type: 'null'
          title: Api Port
        device_role:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Role
        ip_address:
          anyOf:
          - type: string
          - type: 'null'
          title: Ip Address
        is_vpn_gateway:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Vpn Gateway
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        monitored_interfaces:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Monitored Interfaces
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        password:
          anyOf:
          - type: string
          - type: 'null'
          title: Password
        pos_x:
          anyOf:
          - type: number
          - type: 'null'
          title: Pos X
        pos_y:
          anyOf:
          - type: number
          - type: 'null'
          title: Pos Y
        site:
          anyOf:
          - type: string
          - type: 'null'
          title: Site
        snmp_community:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp Community
        snmp_community_write:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp Community Write
        snmp_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Snmp Enabled
        snmp_port:
          anyOf:
          - maximum: 65535.0
            minimum: 1.0
            type: integer
          - type: 'null'
          title: Snmp Port
        snmp_v3_auth_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Auth Password
        snmp_v3_auth_protocol:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Auth Protocol
        snmp_v3_priv_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Priv Password
        snmp_v3_priv_protocol:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Priv Protocol
        snmp_v3_security_level:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Security Level
        snmp_v3_username:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp V3 Username
        snmp_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Snmp Version
        ssh_port:
          anyOf:
          - maximum: 65535.0
            minimum: 1.0
            type: integer
          - type: 'null'
          title: Ssh Port
        username:
          anyOf:
          - type: string
          - type: 'null'
          title: Username
        vendor:
          anyOf:
          - type: string
          - type: 'null'
          title: Vendor
      title: DeviceUpdate
      type: object
    DhcpLeaseCreate:
      properties:
        address:
          title: Address
          type: string
        comment:
          default: ''
          title: Comment
          type: string
        mac_address:
          title: Mac Address
          type: string
        server:
          default: ''
          title: Server
          type: string
      required:
      - address
      - mac_address
      title: DhcpLeaseCreate
      type: object
    DhcpNetworkCreate:
      properties:
        address:
          default: ''
          title: Address
          type: string
        comment:
          default: ''
          title: Comment
          type: string
        dns_server:
          default: ''
          title: Dns Server
          type: string
        gateway:
          default: ''
          title: Gateway
          type: string
        netmask:
          default: ''
          title: Netmask
          type: string
      title: DhcpNetworkCreate
      type: object
    DhcpPoolCreate:
      properties:
        comment:
          default: ''
          title: Comment
          type: string
        name:
          default: ''
          title: Name
          type: string
        ranges:
          default: ''
          title: Ranges
          type: string
      title: DhcpPoolCreate
      type: object
    DnsStaticCreate:
      properties:
        address:
          default: ''
          title: Address
          type: string
        comment:
          default: ''
          title: Comment
          type: string
        name:
          default: ''
          title: Name
          type: string
        ttl:
          default: ''
          title: Ttl
          type: string
      title: DnsStaticCreate
      type: object
    EquipmentCreate:
      properties:
        assigned_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To
        brand:
          title: Brand
          type: string
        equipment_type:
          title: Equipment Type
          type: string
        location:
          anyOf:
          - type: string
          - type: 'null'
          title: Location
        model:
          title: Model
          type: string
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        purchase_date:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Purchase Date
        purchase_price:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Purchase Price
        serial_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Serial Number
        status:
          anyOf:
          - type: string
          - type: 'null'
          default: available
          title: Status
      required:
      - equipment_type
      - brand
      - model
      title: EquipmentCreate
      type: object
    EquipmentUpdate:
      properties:
        assigned_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To
        brand:
          anyOf:
          - type: string
          - type: 'null'
          title: Brand
        equipment_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Equipment Type
        location:
          anyOf:
          - type: string
          - type: 'null'
          title: Location
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        purchase_date:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Purchase Date
        purchase_price:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Purchase Price
        serial_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Serial Number
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: EquipmentUpdate
      type: object
    FTTHActivateRequest:
      properties:
        gpon_profile_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Gpon Profile Name
        olt_id:
          title: Olt Id
          type: string
        onu_id:
          title: Onu Id
          type: string
        plan_name:
          title: Plan Name
          type: string
        pon_port:
          title: Pon Port
          type: integer
        queue_speed_limit:
          anyOf:
          - type: string
          - type: 'null'
          title: Queue Speed Limit
        subscriber_id:
          title: Subscriber Id
          type: string
        vlan_id:
          title: Vlan Id
          type: integer
      required:
      - subscriber_id
      - olt_id
      - onu_id
      - pon_port
      - vlan_id
      - plan_name
      title: FTTHActivateRequest
      type: object
    FiberCreate:
      properties:
        buffer_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Buffer Count
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        fiber_count:
          default: 12
          title: Fiber Count
          type: integer
        fibers_per_buffer:
          anyOf:
          - type: integer
          - type: 'null'
          title: Fibers Per Buffer
        geometry:
          items:
            items:
              type: number
            type: array
          title: Geometry
          type: array
        name:
          title: Name
          type: string
        site_a_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site A Id
        site_b_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site B Id
        type:
          title: Type
          type: string
      required:
      - name
      - type
      - geometry
      title: FiberCreate
      type: object
    FiberResponse:
      properties:
        actual_length_meters:
          anyOf:
          - type: number
          - type: 'null'
          title: Actual Length Meters
        buffer_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Buffer Count
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        fiber_count:
          title: Fiber Count
          type: integer
        fibers_per_buffer:
          anyOf:
          - type: integer
          - type: 'null'
          title: Fibers Per Buffer
        fibers_used:
          title: Fibers Used
          type: integer
        geometry:
          items:
            items:
              type: number
            type: array
          title: Geometry
          type: array
        id:
          title: Id
          type: string
        installation_date:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Installation Date
        manufacturer:
          anyOf:
          - type: string
          - type: 'null'
          title: Manufacturer
        name:
          title: Name
          type: string
        owner:
          anyOf:
          - type: string
          - type: 'null'
          title: Owner
        reserve_final_meters:
          anyOf:
          - type: number
          - type: 'null'
          title: Reserve Final Meters
        reserve_initial_meters:
          anyOf:
          - type: number
          - type: 'null'
          title: Reserve Initial Meters
        ring_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Ring Id
        route_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Route Id
        site_a_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site A Id
        site_b_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site B Id
        status:
          title: Status
          type: string
        strand_count:
          default: 0
          title: Strand Count
          type: integer
        strands_used:
          default: 0
          title: Strands Used
          type: integer
        type:
          title: Type
          type: string
      required:
      - id
      - name
      - fiber_count
      - fibers_used
      - type
      - geometry
      - status
      title: FiberResponse
      type: object
    FiberUpdate:
      properties:
        actual_length_meters:
          anyOf:
          - type: number
          - type: 'null'
          title: Actual Length Meters
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        fiber_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Fiber Count
        fibers_used:
          anyOf:
          - type: integer
          - type: 'null'
          title: Fibers Used
        geometry:
          anyOf:
          - items:
              items:
                type: number
              type: array
            type: array
          - type: 'null'
          title: Geometry
        installation_date:
          anyOf:
          - type: string
          - type: 'null'
          title: Installation Date
        manufacturer:
          anyOf:
          - type: string
          - type: 'null'
          title: Manufacturer
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        owner:
          anyOf:
          - type: string
          - type: 'null'
          title: Owner
        reserve_final_meters:
          anyOf:
          - type: number
          - type: 'null'
          title: Reserve Final Meters
        reserve_initial_meters:
          anyOf:
          - type: number
          - type: 'null'
          title: Reserve Initial Meters
        ring_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Ring Id
        route_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Route Id
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: FiberUpdate
      type: object
    FilterRuleCreate:
      properties:
        action:
          default: accept
          title: Action
          type: string
        chain:
          default: forward
          title: Chain
          type: string
        comment:
          default: ''
          title: Comment
          type: string
        dst_address:
          default: ''
          title: Dst Address
          type: string
        dst_port:
          default: ''
          title: Dst Port
          type: string
        protocol:
          default: ''
          title: Protocol
          type: string
        src_address:
          default: ''
          title: Src Address
          type: string
      title: FilterRuleCreate
      type: object
    FirmwareCreate:
      properties:
        checksum:
          anyOf:
          - type: string
          - type: 'null'
          title: Checksum
        device_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Type
        file_size:
          anyOf:
          - type: integer
          - type: 'null'
          title: File Size
        file_url:
          title: File Url
          type: string
        name:
          title: Name
          type: string
        release_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Release Notes
        version:
          title: Version
          type: string
      required:
      - name
      - version
      - file_url
      title: FirmwareCreate
      type: object
    FirmwareUpgradeRequest:
      properties:
        firmware_url:
          title: Firmware Url
          type: string
      required:
      - firmware_url
      title: FirmwareUpgradeRequest
      type: object
    GatewayConfigUpdate:
      properties:
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        public_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Public Key
        secret_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Secret Key
        webhook_secret:
          anyOf:
          - type: string
          - type: 'null'
          title: Webhook Secret
      title: GatewayConfigUpdate
      type: object
    GenericCreate:
      properties:
        params:
          additionalProperties:
            type: string
          title: Params
          type: object
      title: GenericCreate
      type: object
    GponProfileCreate:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        name:
          title: Name
          type: string
        speed_down:
          default: 100
          title: Speed Down
          type: integer
        speed_up:
          default: 50
          title: Speed Up
          type: integer
        vlan_id:
          title: Vlan Id
          type: integer
        wifi_channel_2g:
          anyOf:
          - type: integer
          - type: 'null'
          default: 6
          title: Wifi Channel 2G
        wifi_channel_5g:
          anyOf:
          - type: integer
          - type: 'null'
          default: 36
          title: Wifi Channel 5G
        wifi_enabled:
          default: true
          title: Wifi Enabled
          type: boolean
        wifi_password_2g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Password 2G
        wifi_password_5g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Password 5G
        wifi_ssid_2g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Ssid 2G
        wifi_ssid_5g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Ssid 5G
      required:
      - name
      - vlan_id
      title: GponProfileCreate
      type: object
    GponProfileUpdate:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        speed_down:
          anyOf:
          - type: integer
          - type: 'null'
          title: Speed Down
        speed_up:
          anyOf:
          - type: integer
          - type: 'null'
          title: Speed Up
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
        wifi_channel_2g:
          anyOf:
          - type: integer
          - type: 'null'
          title: Wifi Channel 2G
        wifi_channel_5g:
          anyOf:
          - type: integer
          - type: 'null'
          title: Wifi Channel 5G
        wifi_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Wifi Enabled
        wifi_password_2g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Password 2G
        wifi_password_5g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Password 5G
        wifi_ssid_2g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Ssid 2G
        wifi_ssid_5g:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Ssid 5G
      title: GponProfileUpdate
      type: object
    GroupMemberAdd:
      properties:
        is_lead:
          default: false
          title: Is Lead
          type: boolean
        user_id:
          title: User Id
          type: string
      required:
      - user_id
      title: GroupMemberAdd
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    IPv6Config:
      properties:
        enabled:
          default: true
          title: Enabled
          type: boolean
      title: IPv6Config
      type: object
    InstallerLogin:
      properties:
        email:
          title: Email
          type: string
        password:
          title: Password
          type: string
      required:
      - email
      - password
      title: InstallerLogin
      type: object
    InvoiceAdjustmentRequest:
      properties:
        amount:
          exclusiveMinimum: 0.0
          title: Amount
          type: number
        reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Reason
      required:
      - amount
      title: InvoiceAdjustmentRequest
      type: object
    Ipv6AddressCreate:
      properties:
        address:
          title: Address
          type: string
        advertise:
          default: true
          title: Advertise
          type: boolean
        comment:
          default: ''
          title: Comment
          type: string
        interface:
          title: Interface
          type: string
      required:
      - address
      - interface
      title: Ipv6AddressCreate
      type: object
    JobStatusBody:
      properties:
        status:
          title: Status
          type: string
      required:
      - status
      title: JobStatusBody
      type: object
    KnowledgeBaseCreate:
      properties:
        access_method:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Method
        credentials:
          anyOf:
          - type: string
          - type: 'null'
          title: Credentials
        device_type:
          title: Device Type
          type: string
        features:
          anyOf:
          - type: string
          - type: 'null'
          title: Features
        firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Firmware
        limitations:
          anyOf:
          - type: string
          - type: 'null'
          title: Limitations
        model:
          title: Model
          type: string
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        procedures:
          anyOf:
          - type: string
          - type: 'null'
          title: Procedures
        vendor:
          title: Vendor
          type: string
      required:
      - device_type
      - vendor
      - model
      title: KnowledgeBaseCreate
      type: object
    KnowledgeBaseResponse:
      properties:
        access_method:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Method
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        credentials:
          anyOf:
          - type: string
          - type: 'null'
          title: Credentials
        device_type:
          title: Device Type
          type: string
        features:
          anyOf:
          - type: string
          - type: 'null'
          title: Features
        firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Firmware
        id:
          title: Id
          type: string
        limitations:
          anyOf:
          - type: string
          - type: 'null'
          title: Limitations
        model:
          title: Model
          type: string
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        procedures:
          anyOf:
          - type: string
          - type: 'null'
          title: Procedures
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Updated At
        vendor:
          title: Vendor
          type: string
      required:
      - id
      - device_type
      - vendor
      - model
      - firmware
      - access_method
      - features
      - limitations
      - procedures
      - credentials
      - notes
      - created_at
      - updated_at
      title: KnowledgeBaseResponse
      type: object
    KnowledgeBaseUpdate:
      properties:
        access_method:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Method
        credentials:
          anyOf:
          - type: string
          - type: 'null'
          title: Credentials
        device_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Type
        features:
          anyOf:
          - type: string
          - type: 'null'
          title: Features
        firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Firmware
        limitations:
          anyOf:
          - type: string
          - type: 'null'
          title: Limitations
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        procedures:
          anyOf:
          - type: string
          - type: 'null'
          title: Procedures
        vendor:
          anyOf:
          - type: string
          - type: 'null'
          title: Vendor
      title: KnowledgeBaseUpdate
      type: object
    LayersResponse:
      properties:
        fibers:
          default: []
          items:
            $ref: '#/components/schemas/FiberResponse'
          title: Fibers
          type: array
        naps:
          default: []
          items:
            $ref: '#/components/schemas/NapResponse'
          title: Naps
          type: array
        poles:
          default: []
          items:
            $ref: '#/components/schemas/PoleResponse'
          title: Poles
          type: array
        rings:
          default: []
          items:
            $ref: '#/components/schemas/RingResponse'
          title: Rings
          type: array
        routes:
          default: []
          items:
            $ref: '#/components/schemas/RouteResponse'
          title: Routes
          type: array
        sites:
          default: []
          items:
            additionalProperties: true
            type: object
          title: Sites
          type: array
        splices:
          default: []
          items:
            $ref: '#/components/schemas/SpliceResponse'
          title: Splices
          type: array
        towers:
          default: []
          items:
            additionalProperties: true
            type: object
          title: Towers
          type: array
      title: LayersResponse
      type: object
    LoginRequest:
      properties:
        email:
          title: Email
          type: string
        password:
          title: Password
          type: string
      required:
      - email
      - password
      title: LoginRequest
      type: object
    LosRequest:
      properties:
        freq_ghz:
          default: 5.8
          title: Freq Ghz
          type: number
        h1_m:
          title: H1 M
          type: number
        h2_m:
          title: H2 M
          type: number
        lat1:
          title: Lat1
          type: number
        lat2:
          title: Lat2
          type: number
        lon1:
          title: Lon1
          type: number
        lon2:
          title: Lon2
          type: number
      required:
      - lat1
      - lon1
      - h1_m
      - lat2
      - lon2
      - h2_m
      title: LosRequest
      type: object
    MFAChallengeRequest:
      properties:
        code:
          title: Code
          type: string
        temp_token:
          title: Temp Token
          type: string
      required:
      - temp_token
      - code
      title: MFAChallengeRequest
      type: object
    MFADisableIn:
      properties:
        code:
          title: Code
          type: string
      required:
      - code
      title: MFADisableIn
      type: object
    MFASetupOut:
      properties:
        otpauth_url:
          title: Otpauth Url
          type: string
        secret:
          title: Secret
          type: string
      required:
      - secret
      - otpauth_url
      title: MFASetupOut
      type: object
    MFAVerifyIn:
      properties:
        code:
          title: Code
          type: string
      required:
      - code
      title: MFAVerifyIn
      type: object
    MangleRuleCreate:
      properties:
        action:
          default: mark-routing
          title: Action
          type: string
        chain:
          default: prerouting
          title: Chain
          type: string
        comment:
          default: ''
          title: Comment
          type: string
        dst_address:
          default: ''
          title: Dst Address
          type: string
        dst_port:
          default: ''
          title: Dst Port
          type: string
        new_routing_mark:
          default: ''
          title: New Routing Mark
          type: string
        passthrough:
          default: 'yes'
          title: Passthrough
          type: string
        protocol:
          default: ''
          title: Protocol
          type: string
        src_address:
          default: ''
          title: Src Address
          type: string
      title: MangleRuleCreate
      type: object
    ManualInvoiceCreate:
      properties:
        amount:
          title: Amount
          type: number
        description:
          default: ''
          title: Description
          type: string
        due_date:
          title: Due Date
          type: string
        subscriber_id:
          title: Subscriber Id
          type: string
        timbrar_cfdi:
          default: false
          title: Timbrar Cfdi
          type: boolean
      required:
      - subscriber_id
      - amount
      - due_date
      title: ManualInvoiceCreate
      type: object
    MassOperation:
      properties:
        device_ids:
          items:
            type: string
          title: Device Ids
          type: array
      required:
      - device_ids
      title: MassOperation
      type: object
    MobileChecklistItem:
      properties:
        done:
          title: Done
          type: boolean
        key:
          title: Key
          type: string
      required:
      - key
      - done
      title: MobileChecklistItem
      type: object
    MobileChecklistUpdate:
      properties:
        checklist:
          items:
            $ref: '#/components/schemas/MobileChecklistItem'
          title: Checklist
          type: array
        job_data:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Job Data
        offline_operation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Offline Operation Id
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
      required:
      - checklist
      title: MobileChecklistUpdate
      type: object
    MobileClientTicketCreate:
      properties:
        description:
          title: Description
          type: string
        priority:
          default: normal
          title: Priority
          type: string
        subject:
          title: Subject
          type: string
      required:
      - subject
      - description
      title: MobileClientTicketCreate
      type: object
    MobileDeviceTokenRequest:
      properties:
        device_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Name
        platform:
          title: Platform
          type: string
        token:
          title: Token
          type: string
      required:
      - platform
      - token
      title: MobileDeviceTokenRequest
      type: object
    MobileJobComplete:
      properties:
        checklist:
          anyOf:
          - items:
              $ref: '#/components/schemas/MobileChecklistItem'
            type: array
          - type: 'null'
          title: Checklist
        installer_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Installer Notes
        ipv4_validated:
          default: false
          title: Ipv4 Validated
          type: boolean
        ipv6_validated:
          default: false
          title: Ipv6 Validated
          type: boolean
        mac:
          anyOf:
          - type: string
          - type: 'null'
          title: Mac
        offline_operation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Offline Operation Id
        onu_serial:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Serial
        optical_power:
          anyOf:
          - type: number
          - type: 'null'
          title: Optical Power
        speed_validated:
          default: false
          title: Speed Validated
          type: boolean
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
        wifi_validated:
          default: false
          title: Wifi Validated
          type: boolean
      title: MobileJobComplete
      type: object
    MobileLocationUpdate:
      properties:
        accuracy:
          anyOf:
          - type: number
          - type: 'null'
          title: Accuracy
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        timestamp:
          anyOf:
          - type: string
          - type: 'null'
          title: Timestamp
      required:
      - latitude
      - longitude
      title: MobileLocationUpdate
      type: object
    MobileLoginRequest:
      properties:
        device_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Name
        identifier:
          title: Identifier
          type: string
        password:
          title: Password
          type: string
        platform:
          title: Platform
          type: string
      required:
      - identifier
      - password
      - platform
      title: MobileLoginRequest
      type: object
    MobileOnuScan:
      properties:
        mac:
          anyOf:
          - type: string
          - type: 'null'
          title: Mac
        serial:
          title: Serial
          type: string
      required:
      - serial
      title: MobileOnuScan
      type: object
    MobileRejectJob:
      properties:
        reason:
          title: Reason
          type: string
      required:
      - reason
      title: MobileRejectJob
      type: object
    MobileSignatureUpload:
      properties:
        image_base64:
          title: Image Base64
          type: string
        offline_operation_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Offline Operation Id
      required:
      - image_base64
      title: MobileSignatureUpload
      type: object
    MobileTestResults:
      properties:
        ipv4_validated:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Ipv4 Validated
        ipv6_validated:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Ipv6 Validated
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        optical_power:
          anyOf:
          - type: number
          - type: 'null'
          title: Optical Power
        speed_down:
          anyOf:
          - type: number
          - type: 'null'
          title: Speed Down
        speed_up:
          anyOf:
          - type: number
          - type: 'null'
          title: Speed Up
        wifi_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Password
        wifi_ssid:
          anyOf:
          - type: string
          - type: 'null'
          title: Wifi Ssid
        wifi_validated:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Wifi Validated
      title: MobileTestResults
      type: object
    ModulesUpdate:
      properties:
        enabled_modules:
          items:
            type: string
          title: Enabled Modules
          type: array
      required:
      - enabled_modules
      title: ModulesUpdate
      type: object
    MovementAdjust:
      properties:
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        product_id:
          title: Product Id
          type: string
        quantity:
          title: Quantity
          type: integer
        warehouse_id:
          title: Warehouse Id
          type: string
      required:
      - product_id
      - warehouse_id
      - quantity
      title: MovementAdjust
      type: object
    MovementIn:
      properties:
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        product_id:
          title: Product Id
          type: string
        quantity:
          title: Quantity
          type: integer
        supplier_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Supplier Id
        unit_price:
          anyOf:
          - type: number
          - type: 'null'
          title: Unit Price
        warehouse_id:
          title: Warehouse Id
          type: string
      required:
      - product_id
      - warehouse_id
      - quantity
      title: MovementIn
      type: object
    MovementOut:
      properties:
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        product_id:
          title: Product Id
          type: string
        quantity:
          title: Quantity
          type: integer
        reference_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Reference Id
        reference_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Reference Type
        warehouse_id:
          title: Warehouse Id
          type: string
      required:
      - product_id
      - warehouse_id
      - quantity
      title: MovementOut
      type: object
    MovementTransfer:
      properties:
        dest_warehouse_id:
          title: Dest Warehouse Id
          type: string
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        product_id:
          title: Product Id
          type: string
        quantity:
          title: Quantity
          type: integer
        src_warehouse_id:
          title: Src Warehouse Id
          type: string
      required:
      - product_id
      - src_warehouse_id
      - dest_warehouse_id
      - quantity
      title: MovementTransfer
      type: object
    NapCreate:
      properties:
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        ports_total:
          default: 8
          title: Ports Total
          type: integer
        type:
          default: nap_8
          title: Type
          type: string
      required:
      - name
      - latitude
      - longitude
      title: NapCreate
      type: object
    NapResponse:
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        id:
          title: Id
          type: string
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        ports_total:
          title: Ports Total
          type: integer
        ports_used:
          title: Ports Used
          type: integer
        status:
          title: Status
          type: string
        type:
          title: Type
          type: string
      required:
      - id
      - name
      - latitude
      - longitude
      - type
      - ports_total
      - ports_used
      - status
      title: NapResponse
      type: object
    NapUpdate:
      properties:
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        ports_used:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ports Used
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: NapUpdate
      type: object
    NatRuleCreate:
      properties:
        action:
          default: masquerade
          title: Action
          type: string
        chain:
          default: srcnat
          title: Chain
          type: string
        comment:
          default: ''
          title: Comment
          type: string
        out_interface:
          default: ''
          title: Out Interface
          type: string
        src_address:
          default: ''
          title: Src Address
          type: string
      title: NatRuleCreate
      type: object
    NotificationChannelCreate:
      properties:
        channel_type:
          title: Channel Type
          type: string
        config:
          anyOf:
          - type: string
          - type: 'null'
          title: Config
        enabled:
          default: true
          title: Enabled
          type: boolean
        name:
          title: Name
          type: string
      required:
      - name
      - channel_type
      title: NotificationChannelCreate
      type: object
    NotificationChannelResponse:
      properties:
        channel_type:
          title: Channel Type
          type: string
        config:
          anyOf:
          - type: string
          - type: 'null'
          title: Config
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        enabled:
          title: Enabled
          type: boolean
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
      required:
      - id
      - name
      - channel_type
      - config
      - enabled
      - created_at
      title: NotificationChannelResponse
      type: object
    NotificationChannelUpdate:
      properties:
        channel_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel Type
        config:
          anyOf:
          - type: string
          - type: 'null'
          title: Config
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      title: NotificationChannelUpdate
      type: object
    NotificationTemplateCreate:
      properties:
        body:
          title: Body
          type: string
        channel:
          title: Channel
          type: string
        event_type:
          title: Event Type
          type: string
        name:
          title: Name
          type: string
        subject:
          anyOf:
          - type: string
          - type: 'null'
          title: Subject
        variables:
          anyOf:
          - type: string
          - type: 'null'
          title: Variables
      required:
      - event_type
      - channel
      - name
      - body
      title: NotificationTemplateCreate
      type: object
    NotificationTemplateResponse:
      properties:
        body:
          title: Body
          type: string
        channel:
          title: Channel
          type: string
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        enabled:
          title: Enabled
          type: boolean
        event_type:
          title: Event Type
          type: string
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
        subject:
          anyOf:
          - type: string
          - type: 'null'
          title: Subject
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Updated At
        variables:
          anyOf:
          - type: string
          - type: 'null'
          title: Variables
      required:
      - id
      - event_type
      - channel
      - name
      - body
      - enabled
      title: NotificationTemplateResponse
      type: object
    NotificationTemplateUpdate:
      properties:
        body:
          anyOf:
          - type: string
          - type: 'null'
          title: Body
        channel:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        event_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Event Type
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        subject:
          anyOf:
          - type: string
          - type: 'null'
          title: Subject
        variables:
          anyOf:
          - type: string
          - type: 'null'
          title: Variables
      title: NotificationTemplateUpdate
      type: object
    ODFCreate:
      properties:
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        odf_type:
          default: rack
          title: Odf Type
          type: string
        port_count:
          title: Port Count
          type: integer
        site_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site Id
      required:
      - name
      - latitude
      - longitude
      - port_count
      title: ODFCreate
      type: object
    ODFUpdate:
      properties:
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        odf_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Odf Type
        port_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Port Count
        ports_used:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ports Used
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: ODFUpdate
      type: object
    OLTCompatibilityCreate:
      properties:
        compatibility:
          title: Compatibility
          type: string
        details:
          anyOf:
          - type: string
          - type: 'null'
          title: Details
        olt_firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Firmware
        olt_model:
          title: Olt Model
          type: string
        olt_vendor:
          title: Olt Vendor
          type: string
        onu_firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Firmware
        onu_model:
          title: Onu Model
          type: string
        onu_vendor:
          title: Onu Vendor
          type: string
        tested_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Tested By
      required:
      - olt_vendor
      - olt_model
      - onu_vendor
      - onu_model
      - compatibility
      title: OLTCompatibilityCreate
      type: object
    OLTCompatibilityResponse:
      properties:
        compatibility:
          title: Compatibility
          type: string
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        details:
          anyOf:
          - type: string
          - type: 'null'
          title: Details
        id:
          title: Id
          type: string
        olt_firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Firmware
        olt_model:
          title: Olt Model
          type: string
        olt_vendor:
          title: Olt Vendor
          type: string
        onu_firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Firmware
        onu_model:
          title: Onu Model
          type: string
        onu_vendor:
          title: Onu Vendor
          type: string
        tested_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Tested At
        tested_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Tested By
      required:
      - id
      - olt_vendor
      - olt_model
      - olt_firmware
      - onu_vendor
      - onu_model
      - onu_firmware
      - compatibility
      - details
      - tested_by
      - tested_at
      - created_at
      title: OLTCompatibilityResponse
      type: object
    OLTCompatibilityUpdate:
      properties:
        compatibility:
          anyOf:
          - type: string
          - type: 'null'
          title: Compatibility
        details:
          anyOf:
          - type: string
          - type: 'null'
          title: Details
        olt_firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Firmware
        olt_model:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Model
        olt_vendor:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Vendor
        onu_firmware:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Firmware
        onu_model:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Model
        onu_vendor:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Vendor
        tested_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Tested At
        tested_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Tested By
      title: OLTCompatibilityUpdate
      type: object
    ONUCreate:
      properties:
        olt_id:
          title: Olt Id
          type: string
        pon_port:
          title: Pon Port
          type: integer
        profile_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Profile Name
        serial_number:
          title: Serial Number
          type: string
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
      required:
      - olt_id
      - serial_number
      - pon_port
      title: ONUCreate
      type: object
    ONUProvision:
      properties:
        profile_name:
          title: Profile Name
          type: string
        vlan_id:
          title: Vlan Id
          type: integer
      required:
      - vlan_id
      - profile_name
      title: ONUProvision
      type: object
    ONUUpdate:
      properties:
        profile_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Profile Name
        provisioned:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Provisioned
        rx_power:
          anyOf:
          - type: string
          - type: 'null'
          title: Rx Power
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        tx_power:
          anyOf:
          - type: string
          - type: 'null'
          title: Tx Power
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
      title: ONUUpdate
      type: object
    OnboardingSessionCreate:
      properties:
        mode:
          default: greenfield
          title: Mode
          type: string
      title: OnboardingSessionCreate
      type: object
    OnboardingSessionUpdate:
      properties:
        core_network:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Core Network
        ftth_config:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Ftth Config
        ipv6_config:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Ipv6 Config
        isp_profile:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Isp Profile
        lan_design:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Lan Design
        plans:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Plans
        security_baseline:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Security Baseline
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        step:
          anyOf:
          - type: integer
          - type: 'null'
          title: Step
        wan_providers:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Wan Providers
      title: OnboardingSessionUpdate
      type: object
    OnuWifiConfig:
      properties:
        channel_2g:
          anyOf:
          - type: integer
          - type: 'null'
          title: Channel 2G
        channel_5g:
          anyOf:
          - type: integer
          - type: 'null'
          title: Channel 5G
        password_2g:
          title: Password 2G
          type: string
        password_5g:
          title: Password 5G
          type: string
        ssid_2g:
          title: Ssid 2G
          type: string
        ssid_5g:
          title: Ssid 5G
          type: string
      required:
      - ssid_2g
      - password_2g
      - ssid_5g
      - password_5g
      title: OnuWifiConfig
      type: object
    PPPoEConfig:
      properties:
        password:
          title: Password
          type: string
        username:
          title: Username
          type: string
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
      required:
      - username
      - password
      title: PPPoEConfig
      type: object
    PasswordChange:
      properties:
        current_password:
          title: Current Password
          type: string
        new_password:
          title: New Password
          type: string
      required:
      - current_password
      - new_password
      title: PasswordChange
      type: object
    PaymentPromiseRequest:
      properties:
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        promised_date:
          format: date
          title: Promised Date
          type: string
      required:
      - promised_date
      title: PaymentPromiseRequest
      type: object
    PermissionAssign:
      properties:
        permission_ids:
          items:
            type: string
          title: Permission Ids
          type: array
      required:
      - permission_ids
      title: PermissionAssign
      type: object
    PlanCreate:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        device_id:
          title: Device Id
          type: string
        download_speed:
          title: Download Speed
          type: string
        ipv6_enabled:
          default: false
          title: Ipv6 Enabled
          type: boolean
        name:
          title: Name
          type: string
        price_monthly:
          default: 0
          minimum: 0.0
          title: Price Monthly
          type: number
        upload_speed:
          title: Upload Speed
          type: string
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
      required:
      - device_id
      - name
      - download_speed
      - upload_speed
      title: PlanCreate
      type: object
    PlanUpdate:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        download_speed:
          anyOf:
          - type: string
          - type: 'null'
          title: Download Speed
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        ipv6_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Ipv6 Enabled
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        price_monthly:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Price Monthly
        upload_speed:
          anyOf:
          - type: string
          - type: 'null'
          title: Upload Speed
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
      title: PlanUpdate
      type: object
    PoleCreate:
      properties:
        height:
          anyOf:
          - type: number
          - type: 'null'
          title: Height
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        owner:
          default: propio
          title: Owner
          type: string
        type:
          default: wood
          title: Type
          type: string
      required:
      - name
      - latitude
      - longitude
      title: PoleCreate
      type: object
    PoleResponse:
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        height:
          anyOf:
          - type: number
          - type: 'null'
          title: Height
        id:
          title: Id
          type: string
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        owner:
          title: Owner
          type: string
        status:
          title: Status
          type: string
        type:
          title: Type
          type: string
      required:
      - id
      - name
      - latitude
      - longitude
      - type
      - owner
      - status
      title: PoleResponse
      type: object
    PoleUpdate:
      properties:
        height:
          anyOf:
          - type: number
          - type: 'null'
          title: Height
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        owner:
          anyOf:
          - type: string
          - type: 'null'
          title: Owner
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        type:
          anyOf:
          - type: string
          - type: 'null'
          title: Type
      title: PoleUpdate
      type: object
    PortalLoginRequest:
      properties:
        password:
          title: Password
          type: string
        username:
          title: Username
          type: string
      required:
      - username
      - password
      title: PortalLoginRequest
      type: object
    PortalPasswordChange:
      properties:
        current_password:
          title: Current Password
          type: string
        new_password:
          title: New Password
          type: string
      required:
      - current_password
      - new_password
      title: PortalPasswordChange
      type: object
    PortalProfileUpdate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        full_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Full Name
        whatsapp:
          anyOf:
          - type: string
          - type: 'null'
          title: Whatsapp
      title: PortalProfileUpdate
      type: object
    PortalTicketCreate:
      properties:
        description:
          title: Description
          type: string
        title:
          title: Title
          type: string
      required:
      - title
      - description
      title: PortalTicketCreate
      type: object
    PowerDeviceCreate:
      properties:
        battery_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Battery Count
        device_type:
          default: ups
          title: Device Type
          type: string
        ip_address:
          anyOf:
          - type: string
          - type: 'null'
          title: Ip Address
        name:
          title: Name
          type: string
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        rated_power_va:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rated Power Va
        site_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site Id
        snmp_community:
          default: public
          title: Snmp Community
          type: string
        snmp_version:
          default: 2
          title: Snmp Version
          type: integer
      required:
      - name
      title: PowerDeviceCreate
      type: object
    PppProfileCreate:
      properties:
        comment:
          default: ''
          title: Comment
          type: string
        dns_server:
          default: ''
          title: Dns Server
          type: string
        local_address:
          default: ''
          title: Local Address
          type: string
        name:
          default: ''
          title: Name
          type: string
        rate_limit:
          default: ''
          title: Rate Limit
          type: string
        remote_address:
          default: ''
          title: Remote Address
          type: string
      title: PppProfileCreate
      type: object
    PppSecretCreate:
      properties:
        comment:
          default: ''
          title: Comment
          type: string
        name:
          title: Name
          type: string
        password:
          title: Password
          type: string
        profile:
          default: default
          title: Profile
          type: string
        remote_address:
          default: ''
          title: Remote Address
          type: string
        service:
          default: pppoe
          title: Service
          type: string
      required:
      - name
      - password
      title: PppSecretCreate
      type: object
    ProductCreate:
      properties:
        category:
          title: Category
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        image_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Url
        min_stock:
          default: 0
          title: Min Stock
          type: integer
        name:
          title: Name
          type: string
        sku:
          title: Sku
          type: string
        unit:
          default: pcs
          title: Unit
          type: string
      required:
      - sku
      - name
      - category
      title: ProductCreate
      type: object
    ProductResponse:
      properties:
        category:
          title: Category
          type: string
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        id:
          title: Id
          type: string
        image_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Url
        is_active:
          title: Is Active
          type: boolean
        min_stock:
          title: Min Stock
          type: integer
        name:
          title: Name
          type: string
        sku:
          title: Sku
          type: string
        stock_by_warehouse:
          default: []
          items:
            $ref: '#/components/schemas/ProductStock'
          title: Stock By Warehouse
          type: array
        stock_total:
          default: 0
          title: Stock Total
          type: integer
        unit:
          title: Unit
          type: string
      required:
      - id
      - sku
      - name
      - category
      - unit
      - min_stock
      - is_active
      title: ProductResponse
      type: object
    ProductStock:
      properties:
        quantity:
          title: Quantity
          type: integer
        warehouse_id:
          title: Warehouse Id
          type: string
        warehouse_name:
          title: Warehouse Name
          type: string
      required:
      - warehouse_id
      - warehouse_name
      - quantity
      title: ProductStock
      type: object
    ProductUpdate:
      properties:
        category:
          anyOf:
          - type: string
          - type: 'null'
          title: Category
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        image_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Url
        is_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Active
        min_stock:
          anyOf:
          - type: integer
          - type: 'null'
          title: Min Stock
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        sku:
          anyOf:
          - type: string
          - type: 'null'
          title: Sku
        unit:
          anyOf:
          - type: string
          - type: 'null'
          title: Unit
      title: ProductUpdate
      type: object
    ProfileCreate:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        device_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Type
        name:
          title: Name
          type: string
        params:
          additionalProperties:
            type: string
          title: Params
          type: object
      required:
      - name
      - params
      title: ProfileCreate
      type: object
    ProfileUpdate:
      properties:
        currency:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency
        language:
          anyOf:
          - type: string
          - type: 'null'
          title: Language
        theme:
          anyOf:
          - type: string
          - type: 'null'
          title: Theme
        timezone:
          anyOf:
          - type: string
          - type: 'null'
          title: Timezone
      title: ProfileUpdate
      type: object
    RegisterRequest:
      properties:
        company_name:
          title: Company Name
          type: string
        email:
          title: Email
          type: string
        password:
          title: Password
          type: string
      required:
      - company_name
      - email
      - password
      title: RegisterRequest
      type: object
    RenewRequest:
      properties:
        plan_id:
          title: Plan Id
          type: string
      required:
      - plan_id
      title: RenewRequest
      type: object
    RingCreate:
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        fiber_ids:
          default: []
          items:
            type: string
          title: Fiber Ids
          type: array
        name:
          title: Name
          type: string
      required:
      - name
      title: RingCreate
      type: object
    RingResponse:
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        fiber_count:
          default: 0
          title: Fiber Count
          type: integer
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
      required:
      - id
      - name
      title: RingResponse
      type: object
    RoleCreate:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        name:
          title: Name
          type: string
      required:
      - name
      title: RoleCreate
      type: object
    RoleUpdate:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      title: RoleUpdate
      type: object
    RouteResponse:
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        fiber_count:
          default: 0
          title: Fiber Count
          type: integer
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
      required:
      - id
      - name
      title: RouteResponse
      type: object
    ServiceOrderCreate:
      properties:
        activation_type:
          default: ftth_full
          title: Activation Type
          type: string
        assigned_to_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To Id
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        plan_id:
          title: Plan Id
          type: string
        plan_name:
          title: Plan Name
          type: string
        preferred_schedule:
          anyOf:
          - type: string
          - type: 'null'
          title: Preferred Schedule
        subscriber_address:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Address
        subscriber_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Email
        subscriber_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Id
        subscriber_name:
          title: Subscriber Name
          type: string
        subscriber_phone:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Phone
      required:
      - subscriber_name
      - plan_id
      - plan_name
      title: ServiceOrderCreate
      type: object
    ServiceOrderStatusUpdate:
      properties:
        client_signature:
          anyOf:
          - type: string
          - type: 'null'
          title: Client Signature
        installation_cost:
          anyOf:
          - type: number
          - type: 'null'
          title: Installation Cost
        installer_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Installer Notes
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        materials:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Materials
        photos:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Photos
        status:
          title: Status
          type: string
      required:
      - status
      title: ServiceOrderStatusUpdate
      type: object
    ServiceOrderUpdate:
      properties:
        activation_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Activation Type
        assigned_to_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To Id
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        plan_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Plan Id
        plan_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Plan Name
        preferred_schedule:
          anyOf:
          - type: string
          - type: 'null'
          title: Preferred Schedule
        subscriber_address:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Address
        subscriber_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Email
        subscriber_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Name
        subscriber_phone:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Phone
      title: ServiceOrderUpdate
      type: object
    SetParamRequest:
      properties:
        path:
          title: Path
          type: string
        value:
          title: Value
          type: string
      required:
      - path
      - value
      title: SetParamRequest
      type: object
    SetTagsRequest:
      properties:
        tags:
          items:
            type: string
          title: Tags
          type: array
      required:
      - tags
      title: SetTagsRequest
      type: object
    SimpleQueueCreate:
      properties:
        comment:
          default: ''
          title: Comment
          type: string
        max_limit:
          title: Max Limit
          type: string
        name:
          title: Name
          type: string
        parent:
          default: none
          title: Parent
          type: string
        target:
          title: Target
          type: string
      required:
      - name
      - target
      - max_limit
      title: SimpleQueueCreate
      type: object
    SiteCreate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        icon:
          anyOf:
          - type: string
          - type: 'null'
          title: Icon
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        name:
          title: Name
          type: string
        type:
          default: pop
          title: Type
          type: string
      required:
      - name
      title: SiteCreate
      type: object
    SiteUpdate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        icon:
          anyOf:
          - type: string
          - type: 'null'
          title: Icon
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        type:
          anyOf:
          - type: string
          - type: 'null'
          title: Type
      title: SiteUpdate
      type: object
    SlaPolicyCreate:
      properties:
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        name:
          title: Name
          type: string
        priority:
          title: Priority
          type: string
        resolution_time_minutes:
          title: Resolution Time Minutes
          type: integer
        response_time_minutes:
          title: Response Time Minutes
          type: integer
      required:
      - name
      - priority
      - response_time_minutes
      - resolution_time_minutes
      title: SlaPolicyCreate
      type: object
    SlaPolicyUpdate:
      properties:
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        priority:
          anyOf:
          - type: string
          - type: 'null'
          title: Priority
        resolution_time_minutes:
          anyOf:
          - type: integer
          - type: 'null'
          title: Resolution Time Minutes
        response_time_minutes:
          anyOf:
          - type: integer
          - type: 'null'
          title: Response Time Minutes
      title: SlaPolicyUpdate
      type: object
    SmtpConfigUpdate:
      properties:
        smtp_allow_self_signed:
          default: false
          title: Smtp Allow Self Signed
          type: boolean
        smtp_from:
          anyOf:
          - type: string
          - type: 'null'
          title: Smtp From
        smtp_host:
          title: Smtp Host
          type: string
        smtp_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Smtp Password
        smtp_port:
          default: 587
          title: Smtp Port
          type: integer
        smtp_security:
          default: tls
          title: Smtp Security
          type: string
        smtp_user:
          title: Smtp User
          type: string
      required:
      - smtp_host
      - smtp_user
      title: SmtpConfigUpdate
      type: object
    SpliceCreate:
      properties:
        capacity:
          default: 24
          title: Capacity
          type: integer
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        type:
          default: dome
          title: Type
          type: string
      required:
      - name
      - latitude
      - longitude
      title: SpliceCreate
      type: object
    SpliceResponse:
      properties:
        capacity:
          title: Capacity
          type: integer
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        id:
          title: Id
          type: string
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        splices_used:
          title: Splices Used
          type: integer
        status:
          title: Status
          type: string
        type:
          title: Type
          type: string
      required:
      - id
      - name
      - latitude
      - longitude
      - type
      - capacity
      - splices_used
      - status
      title: SpliceResponse
      type: object
    SpliceUpdate:
      properties:
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        splices_used:
          anyOf:
          - type: integer
          - type: 'null'
          title: Splices Used
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: SpliceUpdate
      type: object
    SplitterCreate:
      properties:
        input_power_dbm:
          anyOf:
          - type: number
          - type: 'null'
          title: Input Power Dbm
        input_strand_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Input Strand Id
        installed_date:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Installed Date
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        loss_estimated:
          title: Loss Estimated
          type: number
        manufacturer:
          anyOf:
          - type: string
          - type: 'null'
          title: Manufacturer
        name:
          title: Name
          type: string
        nap_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Nap Id
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        output_port_count:
          title: Output Port Count
          type: integer
        splice_box_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Splice Box Id
        split_ratio:
          title: Split Ratio
          type: string
        splitter_type:
          default: planar
          title: Splitter Type
          type: string
      required:
      - name
      - split_ratio
      - output_port_count
      - loss_estimated
      title: SplitterCreate
      type: object
    SplitterPortResponse:
      properties:
        id:
          title: Id
          type: string
        onu_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Id
        output_power_dbm:
          anyOf:
          - type: number
          - type: 'null'
          title: Output Power Dbm
        output_strand_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Output Strand Id
        port_number:
          title: Port Number
          type: integer
        splitter_id:
          title: Splitter Id
          type: string
        status:
          title: Status
          type: string
        subscriber_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Id
      required:
      - id
      - splitter_id
      - port_number
      - status
      title: SplitterPortResponse
      type: object
    SplitterResponse:
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        id:
          title: Id
          type: string
        input_power_dbm:
          anyOf:
          - type: number
          - type: 'null'
          title: Input Power Dbm
        input_strand_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Input Strand Id
        installed_date:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Installed Date
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        loss_estimated:
          title: Loss Estimated
          type: number
        manufacturer:
          anyOf:
          - type: string
          - type: 'null'
          title: Manufacturer
        name:
          title: Name
          type: string
        nap_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Nap Id
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        output_port_count:
          title: Output Port Count
          type: integer
        ports_used:
          title: Ports Used
          type: integer
        splice_box_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Splice Box Id
        split_ratio:
          title: Split Ratio
          type: string
        splitter_type:
          title: Splitter Type
          type: string
        status:
          title: Status
          type: string
      required:
      - id
      - name
      - split_ratio
      - splitter_type
      - output_port_count
      - ports_used
      - loss_estimated
      - status
      title: SplitterResponse
      type: object
    SplitterUpdate:
      properties:
        input_power_dbm:
          anyOf:
          - type: number
          - type: 'null'
          title: Input Power Dbm
        input_strand_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Input Strand Id
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        manufacturer:
          anyOf:
          - type: string
          - type: 'null'
          title: Manufacturer
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        nap_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Nap Id
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        ports_used:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ports Used
        splice_box_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Splice Box Id
        split_ratio:
          anyOf:
          - type: string
          - type: 'null'
          title: Split Ratio
        splitter_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Splitter Type
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: SplitterUpdate
      type: object
    SubscriberCreate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        comments:
          anyOf:
          - type: string
          - type: 'null'
          title: Comments
        customer_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Customer Type
        device_id:
          title: Device Id
          type: string
        full_name:
          title: Full Name
          type: string
        ipv6_prefix:
          anyOf:
          - type: string
          - type: 'null'
          title: Ipv6 Prefix
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        monthly_price:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Monthly Price
        nap:
          anyOf:
          - type: string
          - type: 'null'
          title: Nap
        onu_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Id
        password:
          title: Password
          type: string
        plan_name:
          title: Plan Name
          type: string
        pon_port:
          anyOf:
          - type: integer
          - type: 'null'
          title: Pon Port
        tax_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Tax Id
        username:
          title: Username
          type: string
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
        whatsapp:
          anyOf:
          - type: string
          - type: 'null'
          title: Whatsapp
      required:
      - device_id
      - full_name
      - username
      - password
      - plan_name
      title: SubscriberCreate
      type: object
    SubscriberUpdate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        comments:
          anyOf:
          - type: string
          - type: 'null'
          title: Comments
        customer_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Customer Type
        full_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Full Name
        ipv6_prefix:
          anyOf:
          - type: string
          - type: 'null'
          title: Ipv6 Prefix
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        monthly_price:
          anyOf:
          - minimum: 0.0
            type: number
          - type: 'null'
          title: Monthly Price
        nap:
          anyOf:
          - type: string
          - type: 'null'
          title: Nap
        onu_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Id
        plan_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Plan Name
        pon_port:
          anyOf:
          - type: integer
          - type: 'null'
          title: Pon Port
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        suspended:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Suspended
        suspension_mode:
          anyOf:
          - type: string
          - type: 'null'
          title: Suspension Mode
        tax_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Tax Id
        vlan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
        whatsapp:
          anyOf:
          - type: string
          - type: 'null'
          title: Whatsapp
      title: SubscriberUpdate
      type: object
    SupplierCreate:
      properties:
        contact_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Contact Name
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        name:
          title: Name
          type: string
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        phone:
          anyOf:
          - type: string
          - type: 'null'
          title: Phone
        website:
          anyOf:
          - type: string
          - type: 'null'
          title: Website
      required:
      - name
      title: SupplierCreate
      type: object
    SupplierResponse:
      properties:
        contact_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Contact Name
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        phone:
          anyOf:
          - type: string
          - type: 'null'
          title: Phone
        website:
          anyOf:
          - type: string
          - type: 'null'
          title: Website
      required:
      - id
      - name
      title: SupplierResponse
      type: object
    SupplierUpdate:
      properties:
        contact_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Contact Name
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Notes
        phone:
          anyOf:
          - type: string
          - type: 'null'
          title: Phone
        website:
          anyOf:
          - type: string
          - type: 'null'
          title: Website
      title: SupplierUpdate
      type: object
    SupportGroupCreate:
      properties:
        auto_assign:
          default: false
          title: Auto Assign
          type: boolean
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        name:
          title: Name
          type: string
      required:
      - name
      title: SupportGroupCreate
      type: object
    SupportGroupUpdate:
      properties:
        auto_assign:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Auto Assign
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      title: SupportGroupUpdate
      type: object
    TenantBrandingUpdate:
      properties:
        accent_color:
          anyOf:
          - type: string
          - type: 'null'
          title: Accent Color
        logo:
          anyOf:
          - type: string
          - type: 'null'
          title: Logo
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        primary_color:
          anyOf:
          - type: string
          - type: 'null'
          title: Primary Color
        secondary_color:
          anyOf:
          - type: string
          - type: 'null'
          title: Secondary Color
      title: TenantBrandingUpdate
      type: object
    TicketCommentCreate:
      properties:
        body:
          title: Body
          type: string
        is_internal:
          default: false
          title: Is Internal
          type: boolean
      required:
      - body
      title: TicketCommentCreate
      type: object
    TicketCreate:
      properties:
        assigned_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To
        category:
          anyOf:
          - type: string
          - type: 'null'
          title: Category
        description:
          title: Description
          type: string
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        priority:
          default: normal
          title: Priority
          type: string
        status:
          default: open
          title: Status
          type: string
        title:
          title: Title
          type: string
      required:
      - title
      - description
      title: TicketCreate
      type: object
    TicketUpdate:
      properties:
        assigned_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To
        category:
          anyOf:
          - type: string
          - type: 'null'
          title: Category
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        group_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
        priority:
          anyOf:
          - type: string
          - type: 'null'
          title: Priority
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
      title: TicketUpdate
      type: object
    TowerCreate:
      properties:
        height_meters:
          default: 30.0
          title: Height Meters
          type: number
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        name:
          title: Name
          type: string
        site_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Site Id
        tower_type:
          default: self_supporting
          title: Tower Type
          type: string
      required:
      - name
      - latitude
      - longitude
      title: TowerCreate
      type: object
    TowerUpdate:
      properties:
        height_meters:
          anyOf:
          - type: number
          - type: 'null'
          title: Height Meters
        latitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Latitude
        longitude:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitude
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        tower_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Tower Type
      title: TowerUpdate
      type: object
    UnsuspendBody:
      properties: {}
      title: UnsuspendBody
      type: object
    UpdateInstallerBody:
      properties:
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        installer_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Installer Code
        is_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Active
        password:
          anyOf:
          - type: string
          - type: 'null'
          title: Password
      title: UpdateInstallerBody
      type: object
    UserRoleAssign:
      properties:
        role_ids:
          items:
            type: string
          title: Role Ids
          type: array
      required:
      - role_ids
      title: UserRoleAssign
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
    WarehouseCreate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        code:
          title: Code
          type: string
        name:
          title: Name
          type: string
      required:
      - name
      - code
      title: WarehouseCreate
      type: object
    WarehouseResponse:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        code:
          title: Code
          type: string
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Created At
        id:
          title: Id
          type: string
        is_active:
          title: Is Active
          type: boolean
        name:
          title: Name
          type: string
        product_count:
          default: 0
          title: Product Count
          type: integer
      required:
      - id
      - name
      - code
      - is_active
      title: WarehouseResponse
      type: object
    WarehouseUpdate:
      properties:
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
        code:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
        is_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Active
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      title: WarehouseUpdate
      type: object
    WebhookEndpointCreate:
      properties:
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          default: true
          title: Enabled
        event_types:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Event Types
        name:
          title: Name
          type: string
        secret:
          anyOf:
          - type: string
          - type: 'null'
          title: Secret
        url:
          title: Url
          type: string
      required:
      - name
      - url
      title: WebhookEndpointCreate
      type: object
    WebhookEndpointUpdate:
      properties:
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        event_types:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Event Types
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        secret:
          anyOf:
          - type: string
          - type: 'null'
          title: Secret
        url:
          anyOf:
          - type: string
          - type: 'null'
          title: Url
      title: WebhookEndpointUpdate
      type: object
    WiFiConfig:
      properties:
        channel_2g:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel 2G
        channel_5g:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel 5G
        encryption:
          default: WPA2-PSK
          title: Encryption
          type: string
        password_2g:
          anyOf:
          - type: string
          - type: 'null'
          title: Password 2G
        password_5g:
          anyOf:
          - type: string
          - type: 'null'
          title: Password 5G
        ssid_2g:
          anyOf:
          - type: string
          - type: 'null'
          title: Ssid 2G
        ssid_5g:
          anyOf:
          - type: string
          - type: 'null'
          title: Ssid 5G
      title: WiFiConfig
      type: object
    WidgetCreate:
      properties:
        config:
          additionalProperties: true
          default: {}
          title: Config
          type: object
        grid_h:
          default: 2
          title: Grid H
          type: integer
        grid_w:
          default: 4
          title: Grid W
          type: integer
        title:
          title: Title
          type: string
        type:
          title: Type
          type: string
      required:
      - type
      - title
      title: WidgetCreate
      type: object
    WidgetLayout:
      properties:
        grid_h:
          title: Grid H
          type: integer
        grid_w:
          title: Grid W
          type: integer
        grid_x:
          title: Grid X
          type: integer
        grid_y:
          title: Grid Y
          type: integer
        id:
          title: Id
          type: string
      required:
      - id
      - grid_x
      - grid_y
      - grid_w
      - grid_h
      title: WidgetLayout
      type: object
    WidgetUpdate:
      properties:
        config:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Config
        grid_h:
          anyOf:
          - type: integer
          - type: 'null'
          title: Grid H
        grid_w:
          anyOf:
          - type: integer
          - type: 'null'
          title: Grid W
        grid_x:
          anyOf:
          - type: integer
          - type: 'null'
          title: Grid X
        grid_y:
          anyOf:
          - type: integer
          - type: 'null'
          title: Grid Y
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
      title: WidgetUpdate
      type: object
    WirelessLinkCreate:
      properties:
        ccq:
          anyOf:
          - type: number
          - type: 'null'
          title: Ccq
        channel_width:
          default: 20
          title: Channel Width
          type: integer
        distance_km:
          anyOf:
          - type: number
          - type: 'null'
          title: Distance Km
        frequency_ghz:
          default: 5.8
          title: Frequency Ghz
          type: number
        name:
          title: Name
          type: string
        rx_signal:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rx Signal
        sector_a_id:
          title: Sector A Id
          type: string
        sector_b_id:
          title: Sector B Id
          type: string
        tx_power:
          anyOf:
          - type: integer
          - type: 'null'
          title: Tx Power
      required:
      - name
      - sector_a_id
      - sector_b_id
      title: WirelessLinkCreate
      type: object
    WirelessLinkUpdate:
      properties:
        ccq:
          anyOf:
          - type: number
          - type: 'null'
          title: Ccq
        channel_width:
          anyOf:
          - type: integer
          - type: 'null'
          title: Channel Width
        distance_km:
          anyOf:
          - type: number
          - type: 'null'
          title: Distance Km
        frequency_ghz:
          anyOf:
          - type: number
          - type: 'null'
          title: Frequency Ghz
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        rx_signal:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rx Signal
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        tx_power:
          anyOf:
          - type: integer
          - type: 'null'
          title: Tx Power
      title: WirelessLinkUpdate
      type: object
    WirelessMetricListResponse:
      properties:
        metrics:
          items:
            $ref: '#/components/schemas/WirelessMetricResponse'
          title: Metrics
          type: array
        total:
          title: Total
          type: integer
      required:
      - metrics
      - total
      title: WirelessMetricListResponse
      type: object
    WirelessMetricResponse:
      properties:
        ccq:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ccq
        channel_width:
          anyOf:
          - type: integer
          - type: 'null'
          title: Channel Width
        collected_at:
          format: date-time
          title: Collected At
          type: string
        frequency:
          anyOf:
          - type: number
          - type: 'null'
          title: Frequency
        id:
          format: uuid
          title: Id
          type: string
        link_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Link Id
        rx_rate:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rx Rate
        rx_signal:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rx Signal
        sector_id:
          format: uuid
          title: Sector Id
          type: string
        tx_rate:
          anyOf:
          - type: integer
          - type: 'null'
          title: Tx Rate
        uptime_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          title: Uptime Seconds
      required:
      - id
      - sector_id
      - collected_at
      title: WirelessMetricResponse
      type: object
    WirelessSectorCreate:
      properties:
        azimuth:
          title: Azimuth
          type: number
        beamwidth:
          default: 60.0
          title: Beamwidth
          type: number
        channel_width_mhz:
          default: 20
          title: Channel Width Mhz
          type: integer
        frequency_ghz:
          default: 5.8
          title: Frequency Ghz
          type: number
        name:
          title: Name
          type: string
        polarization:
          default: vertical
          title: Polarization
          type: string
        sector_type:
          default: ap
          title: Sector Type
          type: string
        tower_id:
          title: Tower Id
          type: string
      required:
      - name
      - tower_id
      - azimuth
      title: WirelessSectorCreate
      type: object
    WirelessSectorUpdate:
      properties:
        azimuth:
          anyOf:
          - type: number
          - type: 'null'
          title: Azimuth
        beamwidth:
          anyOf:
          - type: number
          - type: 'null'
          title: Beamwidth
        channel_width_mhz:
          anyOf:
          - type: integer
          - type: 'null'
          title: Channel Width Mhz
        frequency_ghz:
          anyOf:
          - type: number
          - type: 'null'
          title: Frequency Ghz
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        polarization:
          anyOf:
          - type: string
          - type: 'null'
          title: Polarization
        sector_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Sector Type
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      title: WirelessSectorUpdate
      type: object
    app__routers__mikrotik_advanced__RouteCreate:
      properties:
        comment:
          default: ''
          title: Comment
          type: string
        distance:
          default: ''
          title: Distance
          type: string
        dst_address:
          default: ''
          title: Dst Address
          type: string
        gateway:
          default: ''
          title: Gateway
          type: string
        routing_mark:
          default: ''
          title: Routing Mark
          type: string
      title: RouteCreate
      type: object
    app__routers__mobile_provider__SuspendBody:
      properties:
        mode:
          default: total
          title: Mode
          type: string
        reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Reason
      title: SuspendBody
      type: object
    app__routers__subscribers__SuspendBody:
      properties:
        mode:
          default: total
          title: Mode
          type: string
      title: SuspendBody
      type: object
    app__schemas__mapeado__RouteCreate:
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        fiber_ids:
          default: []
          items:
            type: string
          title: Fiber Ids
          type: array
        name:
          title: Name
          type: string
      required:
      - name
      title: RouteCreate
      type: object
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http
info:
  contact:
    email: support@wisp-platform.io
    name: WISP Platform Support
    url: https://wisp-platform.io/
  description: "\nWISP Platform is a cloud-based SaaS platform for FTTH/WISP internet\
    \ service providers.\n\n## Features\n\n- **CRM**: Subscriber management with customer\
    \ types, tax IDs, and NAP tracking\n- **Billing**: Automated invoicing, collections,\
    \ discounts, late fees, and payment promises\n- **NOC**: Real-time network monitoring,\
    \ telemetry, and alerting\n- **MikroTik**: Full RouterOS integration (PPPoE, DHCP,\
    \ queues, firewall, BGP, IPv6)\n- **GPON/OLT/ONU**: Multi-vendor support (VSOL,\
    \ Huawei, ZTE) with automatic provisioning\n- **ACS/TR-069**: GenieACS integration\
    \ for CPE management\n- **FTTH**: Automatic 7-step fiber activation workflow\n\
    - **Inventory**: Equipment and stock tracking\n- **Security**: RBAC, MFA/TOTP,\
    \ audit logging, rate limiting\n- **Multi-tenant**: Fully isolated ISP tenants\
    \ with custom branding\n    "
  license:
    name: Proprietary
    url: https://wisp-platform.io/license
  termsOfService: https://wisp-platform.io/terms
  title: WISP Platform API
  version: 1.0.0
openapi: 3.1.0
paths:
  /:
    get:
      operationId: root__get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Root
  /acs/devices:
    get:
      operationId: acs_list_devices_acs_devices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Acs List Devices
      tags:
      - ACS
  /acs/devices/firmware/upgrade-mass:
    post:
      operationId: acs_upgrade_firmware_mass_acs_devices_firmware_upgrade_mass_post
      parameters:
      - in: query
        name: firmware_id
        required: true
        schema:
          title: Firmware Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MassOperation'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Upgrade Firmware Mass
      tags:
      - ACS
  /acs/devices/reboot-mass:
    post:
      operationId: acs_reboot_devices_mass_acs_devices_reboot_mass_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MassOperation'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Reboot Devices Mass
      tags:
      - ACS
  /acs/devices/{device_id}:
    get:
      operationId: acs_get_device_acs_devices__device_id__get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Get Device
      tags:
      - ACS
  /acs/devices/{device_id}/factory-reset:
    post:
      operationId: acs_factory_reset_acs_devices__device_id__factory_reset_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Factory Reset
      tags:
      - ACS
  /acs/devices/{device_id}/firmware:
    get:
      operationId: acs_get_firmware_acs_devices__device_id__firmware_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Get Firmware
      tags:
      - ACS
  /acs/devices/{device_id}/firmware/upgrade:
    post:
      operationId: acs_upgrade_firmware_acs_devices__device_id__firmware_upgrade_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirmwareUpgradeRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Upgrade Firmware
      tags:
      - ACS
  /acs/devices/{device_id}/firmware/upgrade/{firmware_id}:
    post:
      operationId: acs_upgrade_device_firmware_acs_devices__device_id__firmware_upgrade__firmware_id__post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: firmware_id
        required: true
        schema:
          title: Firmware Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Upgrade Device Firmware
      tags:
      - ACS
  /acs/devices/{device_id}/ipv6:
    post:
      operationId: acs_configure_ipv6_acs_devices__device_id__ipv6_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IPv6Config'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Configure Ipv6
      tags:
      - ACS
  /acs/devices/{device_id}/parameters:
    get:
      operationId: acs_get_parameters_acs_devices__device_id__parameters_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Get Parameters
      tags:
      - ACS
    put:
      operationId: acs_set_parameter_acs_devices__device_id__parameters_put
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetParamRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Set Parameter
      tags:
      - ACS
  /acs/devices/{device_id}/parameters/batch:
    put:
      operationId: acs_set_parameters_bulk_acs_devices__device_id__parameters_batch_put
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchSetParams'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Set Parameters Bulk
      tags:
      - ACS
  /acs/devices/{device_id}/pppoe:
    post:
      operationId: acs_configure_pppoe_acs_devices__device_id__pppoe_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PPPoEConfig'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Configure Pppoe
      tags:
      - ACS
  /acs/devices/{device_id}/profiles/{profile_id}/apply:
    post:
      operationId: acs_apply_profile_acs_devices__device_id__profiles__profile_id__apply_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Apply Profile
      tags:
      - ACS
  /acs/devices/{device_id}/reboot:
    post:
      operationId: acs_reboot_device_acs_devices__device_id__reboot_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Reboot Device
      tags:
      - ACS
  /acs/devices/{device_id}/refresh:
    post:
      operationId: acs_refresh_device_acs_devices__device_id__refresh_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Refresh Device
      tags:
      - ACS
  /acs/devices/{device_id}/tags:
    get:
      operationId: acs_get_tags_acs_devices__device_id__tags_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Get Tags
      tags:
      - ACS
    put:
      operationId: acs_set_tags_acs_devices__device_id__tags_put
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetTagsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Set Tags
      tags:
      - ACS
  /acs/devices/{device_id}/tags/{tag}:
    delete:
      operationId: acs_remove_tag_acs_devices__device_id__tags__tag__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: tag
        required: true
        schema:
          title: Tag
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Remove Tag
      tags:
      - ACS
    post:
      operationId: acs_add_tag_acs_devices__device_id__tags__tag__post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: tag
        required: true
        schema:
          title: Tag
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Add Tag
      tags:
      - ACS
  /acs/devices/{device_id}/tasks:
    get:
      operationId: acs_get_tasks_acs_devices__device_id__tasks_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Get Tasks
      tags:
      - ACS
  /acs/devices/{device_id}/wifi:
    post:
      operationId: acs_configure_wifi_acs_devices__device_id__wifi_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WiFiConfig'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Configure Wifi
      tags:
      - ACS
  /acs/firmware:
    get:
      operationId: acs_list_firmware_acs_firmware_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Acs List Firmware
      tags:
      - ACS
    post:
      operationId: acs_create_firmware_acs_firmware_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirmwareCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Create Firmware
      tags:
      - ACS
  /acs/firmware/{firmware_id}:
    delete:
      operationId: acs_delete_firmware_acs_firmware__firmware_id__delete
      parameters:
      - in: path
        name: firmware_id
        required: true
        schema:
          title: Firmware Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Delete Firmware
      tags:
      - ACS
  /acs/health:
    get:
      operationId: acs_health_acs_health_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Acs Health
      tags:
      - ACS
  /acs/profiles:
    get:
      operationId: acs_list_profiles_acs_profiles_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Acs List Profiles
      tags:
      - ACS
    post:
      operationId: acs_create_profile_acs_profiles_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Create Profile
      tags:
      - ACS
  /acs/profiles/{profile_id}:
    delete:
      operationId: acs_delete_profile_acs_profiles__profile_id__delete
      parameters:
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Delete Profile
      tags:
      - ACS
  /acs/templates:
    get:
      operationId: acs_list_templates_acs_templates_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Acs List Templates
      tags:
      - ACS
    post:
      operationId: acs_create_template_acs_templates_post
      parameters:
      - in: query
        name: name
        required: true
        schema:
          title: Name
          type: string
      - in: query
        name: script
        required: true
        schema:
          title: Script
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Create Template
      tags:
      - ACS
  /acs/templates/{template_id}:
    delete:
      operationId: acs_delete_template_acs_templates__template_id__delete
      parameters:
      - in: path
        name: template_id
        required: true
        schema:
          title: Template Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Delete Template
      tags:
      - ACS
    get:
      operationId: acs_get_template_acs_templates__template_id__get
      parameters:
      - in: path
        name: template_id
        required: true
        schema:
          title: Template Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acs Get Template
      tags:
      - ACS
  /alerts:
    get:
      operationId: list_alerts_alerts_get
      parameters:
      - in: query
        name: severity
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Severity
      - in: query
        name: acknowledged
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Acknowledged
      - in: query
        name: resolved
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Resolved
      - in: query
        name: limit
        required: false
        schema:
          default: 50
          maximum: 200
          minimum: 1
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Alerts
      tags:
      - Alerts
  /alerts/acknowledge-all:
    put:
      operationId: acknowledge_all_alerts_alerts_acknowledge_all_put
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Acknowledge All Alerts
      tags:
      - Alerts
  /alerts/count:
    get:
      operationId: alert_count_alerts_count_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Alert Count
      tags:
      - Alerts
  /alerts/escalation-policies:
    get:
      operationId: list_policies_alerts_escalation_policies_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AlertEscalationPolicyResponse'
                title: Response List Policies Alerts Escalation Policies Get
                type: array
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Policies
      tags:
      - Alerts
    post:
      operationId: create_policy_alerts_escalation_policies_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertEscalationPolicyCreate'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertEscalationPolicyResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Policy
      tags:
      - Alerts
  /alerts/escalation-policies/{policy_id}:
    delete:
      operationId: delete_policy_alerts_escalation_policies__policy_id__delete
      parameters:
      - in: path
        name: policy_id
        required: true
        schema:
          format: uuid
          title: Policy Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Policy
      tags:
      - Alerts
    put:
      operationId: update_policy_alerts_escalation_policies__policy_id__put
      parameters:
      - in: path
        name: policy_id
        required: true
        schema:
          format: uuid
          title: Policy Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertEscalationPolicyUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertEscalationPolicyResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Policy
      tags:
      - Alerts
  /alerts/rules:
    get:
      operationId: list_alert_rules_alerts_rules_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AlertRuleResponse'
                title: Response List Alert Rules Alerts Rules Get
                type: array
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Alert Rules
      tags:
      - Alerts
    post:
      operationId: create_alert_rule_alerts_rules_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRuleCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRuleResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Alert Rule
      tags:
      - Alerts
  /alerts/rules/{rule_id}:
    delete:
      operationId: delete_alert_rule_alerts_rules__rule_id__delete
      parameters:
      - in: path
        name: rule_id
        required: true
        schema:
          title: Rule Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Alert Rule
      tags:
      - Alerts
    put:
      operationId: update_alert_rule_alerts_rules__rule_id__put
      parameters:
      - in: path
        name: rule_id
        required: true
        schema:
          title: Rule Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRuleUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRuleResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Alert Rule
      tags:
      - Alerts
  /alerts/{alert_id}/acknowledge:
    put:
      operationId: acknowledge_alert_alerts__alert_id__acknowledge_put
      parameters:
      - in: path
        name: alert_id
        required: true
        schema:
          title: Alert Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertAcknowledge'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Acknowledge Alert
      tags:
      - Alerts
  /alerts/{alert_id}/events:
    get:
      operationId: list_alert_events_alerts__alert_id__events_get
      parameters:
      - in: path
        name: alert_id
        required: true
        schema:
          title: Alert Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AlertEventResponse'
                title: Response List Alert Events Alerts  Alert Id  Events Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Alert Events
      tags:
      - Alerts
  /alerts/{alert_id}/resolve:
    put:
      operationId: resolve_alert_alerts__alert_id__resolve_put
      parameters:
      - in: path
        name: alert_id
        required: true
        schema:
          title: Alert Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertResolve'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Resolve Alert
      tags:
      - Alerts
  /assistant/devices:
    get:
      operationId: devices_assistant_assistant_devices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Devices Assistant
      tags:
      - Assistant
      - Assistant
  /assistant/inventory:
    get:
      operationId: inventory_assistant_assistant_inventory_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Inventory Assistant
      tags:
      - Assistant
      - Assistant
  /assistant/subscribers:
    get:
      operationId: subscribers_assistant_assistant_subscribers_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Subscribers Assistant
      tags:
      - Assistant
      - Assistant
  /auth/login:
    post:
      operationId: login_auth_login_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Login
      tags:
      - Auth
  /auth/login/admin:
    post:
      operationId: login_admin_auth_login_admin_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminLogin'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Login Admin
      tags:
      - Auth
  /auth/login/installer:
    post:
      operationId: login_installer_auth_login_installer_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstallerLogin'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Login Installer
      tags:
      - Auth
  /auth/me:
    get:
      operationId: me_auth_me_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Me
      tags:
      - Auth
  /auth/me/password:
    put:
      operationId: change_password_auth_me_password_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordChange'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Change Password
      tags:
      - Auth
  /auth/me/profile:
    put:
      operationId: update_profile_auth_me_profile_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Profile
      tags:
      - Auth
  /auth/mfa-challenge:
    post:
      operationId: mfa_challenge_auth_mfa_challenge_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MFAChallengeRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Mfa Challenge
      tags:
      - Auth
  /auth/register:
    post:
      operationId: register_auth_register_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Register
      tags:
      - Auth
  /auto-provision/activate:
    post:
      description: 'Auto-provision a discovered ONU: register → provision → PPPoE
        → QoS → billing.'
      operationId: auto_provision_auto_provision_activate_post
      parameters:
      - in: query
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      - in: query
        name: serial_number
        required: true
        schema:
          title: Serial Number
          type: string
      - in: query
        name: pon_port
        required: true
        schema:
          title: Pon Port
          type: integer
      - in: query
        name: plan_name
        required: true
        schema:
          title: Plan Name
          type: string
      - in: query
        name: vlan_id
        required: true
        schema:
          title: Vlan Id
          type: integer
      - in: query
        name: subscriber_username
        required: true
        schema:
          title: Subscriber Username
          type: string
      - in: query
        name: subscriber_password
        required: true
        schema:
          title: Subscriber Password
          type: string
      - in: query
        name: subscriber_full_name
        required: true
        schema:
          title: Subscriber Full Name
          type: string
      - in: query
        name: gpon_profile
        required: false
        schema:
          default: ''
          title: Gpon Profile
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Auto Provision
      tags:
      - Auto-Provision
  /auto-provision/discover:
    get:
      description: Discover unregistered ONUs across specified OLTs (comma-separated
        IDs).
      operationId: discover_unregistered_onus_auto_provision_discover_get
      parameters:
      - in: query
        name: olt_ids
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Ids
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Discover Unregistered Onus
      tags:
      - Auto-Provision
  /backbone/links:
    get:
      operationId: list_links_backbone_links_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Links
      tags:
      - Backbone
    post:
      operationId: create_link_backbone_links_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackboneLinkCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Link
      tags:
      - Backbone
  /backbone/links/{link_id}:
    delete:
      operationId: delete_link_backbone_links__link_id__delete
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Link
      tags:
      - Backbone
    put:
      operationId: update_link_backbone_links__link_id__put
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackboneLinkUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Link
      tags:
      - Backbone
  /backbone/metrics/{link_id}:
    get:
      operationId: link_metrics_backbone_metrics__link_id__get
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Link Metrics
      tags:
      - Backbone
  /backbone/summary:
    get:
      operationId: backbone_summary_backbone_summary_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Backbone Summary
      tags:
      - Backbone
  /billing/invoices:
    get:
      operationId: list_invoices_billing_invoices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Invoices
      tags:
      - Billing
  /billing/invoices/manual:
    post:
      operationId: create_manual_invoice_billing_invoices_manual_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManualInvoiceCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Manual Invoice
      tags:
      - Billing
  /billing/invoices/{invoice_id}/discount:
    post:
      operationId: apply_discount_billing_invoices__invoice_id__discount_post
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceAdjustmentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Apply Discount
      tags:
      - Billing
  /billing/invoices/{invoice_id}/late-fee:
    post:
      operationId: apply_late_fee_billing_invoices__invoice_id__late_fee_post
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceAdjustmentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Apply Late Fee
      tags:
      - Billing
  /billing/invoices/{invoice_id}/payment-promise:
    post:
      operationId: create_payment_promise_billing_invoices__invoice_id__payment_promise_post
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentPromiseRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Payment Promise
      tags:
      - Billing
  /billing/invoices/{invoice_id}/payment-promises:
    get:
      operationId: list_payment_promises_billing_invoices__invoice_id__payment_promises_get
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Payment Promises
      tags:
      - Billing
  /billing/process-overdue:
    post:
      operationId: process_overdue_billing_process_overdue_post
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Process Overdue
      tags:
      - Billing
  /billing/run-cycle:
    post:
      operationId: run_billing_cycle_billing_run_cycle_post
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Run Billing Cycle
      tags:
      - Billing
  /billing/stats:
    get:
      operationId: billing_stats_billing_stats_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Billing Stats
      tags:
      - Billing
  /cfdi/config:
    get:
      operationId: get_cfdi_config_cfdi_config_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Get Cfdi Config
      tags:
      - CFDI
    post:
      operationId: save_cfdi_config_cfdi_config_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CfdiConfigCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Save Cfdi Config
      tags:
      - CFDI
  /cfdi/{invoice_id}/timbrar:
    post:
      operationId: timbrar_invoice_cfdi__invoice_id__timbrar_post
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CfdiTimbrarRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Timbrar Invoice
      tags:
      - CFDI
  /cfdi/{uuid}:
    get:
      operationId: get_cfdi_cfdi__uuid__get
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          title: Uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Cfdi
      tags:
      - CFDI
  /cfdi/{uuid}/cancelar:
    post:
      operationId: cancelar_cfdi_cfdi__uuid__cancelar_post
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          title: Uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CfdiCancelarRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Cancelar Cfdi
      tags:
      - CFDI
  /cfdi/{uuid}/xml:
    get:
      operationId: download_cfdi_xml_cfdi__uuid__xml_get
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          title: Uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Download Cfdi Xml
      tags:
      - CFDI
  /contact:
    get:
      operationId: list_leads_contact_get
      parameters:
      - in: query
        name: limit
        required: false
        schema:
          default: 100
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: List Leads
      tags:
      - Contact
      - contact
    post:
      operationId: create_contact_lead_contact_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Create Contact Lead
      tags:
      - Contact
      - contact
  /contact/{lead_id}/approve:
    post:
      description: 'Approve a lead: create tenant with Básico plan 30-day trial, send
        welcome email.'
      operationId: approve_lead_contact__lead_id__approve_post
      parameters:
      - in: path
        name: lead_id
        required: true
        schema:
          title: Lead Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Approve Lead
      tags:
      - Contact
      - contact
  /contact/{lead_id}/reject:
    post:
      operationId: reject_lead_contact__lead_id__reject_post
      parameters:
      - in: path
        name: lead_id
        required: true
        schema:
          title: Lead Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Reject Lead
      tags:
      - Contact
      - contact
  /damages:
    get:
      operationId: list_damages_damages_get
      parameters:
      - in: query
        name: status
        required: false
        schema:
          title: Status
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Damages
      tags:
      - Mapeado
    post:
      operationId: create_damage_damages_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DamageCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Damage
      tags:
      - Mapeado
  /damages/assess:
    post:
      description: Find affected cables/strands/subscribers near a point.
      operationId: assess_damage_damages_assess_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assess Damage
      tags:
      - Mapeado
  /damages/{damage_id}:
    delete:
      operationId: delete_damage_damages__damage_id__delete
      parameters:
      - in: path
        name: damage_id
        required: true
        schema:
          title: Damage Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Damage
      tags:
      - Mapeado
    get:
      operationId: get_damage_damages__damage_id__get
      parameters:
      - in: path
        name: damage_id
        required: true
        schema:
          title: Damage Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Damage
      tags:
      - Mapeado
    put:
      operationId: update_damage_damages__damage_id__put
      parameters:
      - in: path
        name: damage_id
        required: true
        schema:
          title: Damage Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DamageUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Damage
      tags:
      - Mapeado
  /damages/{damage_id}/auto-assess:
    post:
      description: Run assessment on an existing damage and update affected lists.
      operationId: auto_assess_damage_damages__damage_id__auto_assess_post
      parameters:
      - in: path
        name: damage_id
        required: true
        schema:
          title: Damage Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Auto Assess Damage
      tags:
      - Mapeado
  /dashboards:
    get:
      operationId: list_dashboards_dashboards_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Dashboards
      tags:
      - Dashboards
    post:
      operationId: create_dashboard_dashboards_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Dashboard
      tags:
      - Dashboards
  /dashboards/reorder:
    put:
      operationId: reorder_dashboards_dashboards_reorder_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardReorder'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Reorder Dashboards
      tags:
      - Dashboards
  /dashboards/{dashboard_id}:
    delete:
      operationId: delete_dashboard_dashboards__dashboard_id__delete
      parameters:
      - in: path
        name: dashboard_id
        required: true
        schema:
          title: Dashboard Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Dashboard
      tags:
      - Dashboards
    put:
      operationId: update_dashboard_dashboards__dashboard_id__put
      parameters:
      - in: path
        name: dashboard_id
        required: true
        schema:
          title: Dashboard Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Dashboard
      tags:
      - Dashboards
  /dashboards/{dashboard_id}/widgets:
    get:
      operationId: list_widgets_dashboards__dashboard_id__widgets_get
      parameters:
      - in: path
        name: dashboard_id
        required: true
        schema:
          title: Dashboard Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Widgets
      tags:
      - Dashboards
    post:
      operationId: create_widget_dashboards__dashboard_id__widgets_post
      parameters:
      - in: path
        name: dashboard_id
        required: true
        schema:
          title: Dashboard Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WidgetCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Widget
      tags:
      - Dashboards
  /dashboards/{dashboard_id}/widgets/layout:
    put:
      operationId: save_layout_dashboards__dashboard_id__widgets_layout_put
      parameters:
      - in: path
        name: dashboard_id
        required: true
        schema:
          title: Dashboard Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: '#/components/schemas/WidgetLayout'
              title: Layouts
              type: array
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Save Layout
      tags:
      - Dashboards
  /dashboards/{dashboard_id}/widgets/{widget_id}:
    delete:
      operationId: delete_widget_dashboards__dashboard_id__widgets__widget_id__delete
      parameters:
      - in: path
        name: dashboard_id
        required: true
        schema:
          title: Dashboard Id
          type: string
      - in: path
        name: widget_id
        required: true
        schema:
          title: Widget Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Widget
      tags:
      - Dashboards
    put:
      operationId: update_widget_dashboards__dashboard_id__widgets__widget_id__put
      parameters:
      - in: path
        name: dashboard_id
        required: true
        schema:
          title: Dashboard Id
          type: string
      - in: path
        name: widget_id
        required: true
        schema:
          title: Widget Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WidgetUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Widget
      tags:
      - Dashboards
  /device-templates:
    get:
      operationId: list_device_templates_device_templates_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Device Templates
      tags:
      - Device Templates
    post:
      operationId: create_device_template_device_templates_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceTemplateCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Device Template
      tags:
      - Device Templates
  /device-templates/{template_id}:
    delete:
      operationId: delete_device_template_device_templates__template_id__delete
      parameters:
      - in: path
        name: template_id
        required: true
        schema:
          title: Template Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Device Template
      tags:
      - Device Templates
  /devices:
    get:
      operationId: list_devices_devices_get
      parameters:
      - in: query
        name: role
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Role
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Devices
      tags:
      - Devices
    post:
      operationId: create_device_devices_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Device
      tags:
      - Devices
  /devices/sync-status:
    get:
      operationId: devices_sync_status_devices_sync_status_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Devices Sync Status
      tags:
      - Devices
  /devices/{device_id}:
    delete:
      operationId: delete_device_devices__device_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Device
      tags:
      - Devices
    get:
      operationId: get_device_devices__device_id__get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Device
      tags:
      - Devices
    put:
      operationId: update_device_devices__device_id__put
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Device
      tags:
      - Devices
  /devices/{device_id}/backups:
    get:
      operationId: list_backups_devices__device_id__backups_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Backups
      tags:
      - Device Backups
      - Device Backups
    post:
      operationId: create_backup_devices__device_id__backups_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Backup
      tags:
      - Device Backups
      - Device Backups
  /devices/{device_id}/backups/{backup_id}:
    delete:
      operationId: delete_backup_devices__device_id__backups__backup_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: backup_id
        required: true
        schema:
          title: Backup Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Backup
      tags:
      - Device Backups
      - Device Backups
    get:
      operationId: get_backup_devices__device_id__backups__backup_id__get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: backup_id
        required: true
        schema:
          title: Backup Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Backup
      tags:
      - Device Backups
      - Device Backups
  /devices/{device_id}/connectivity:
    get:
      operationId: get_connectivity_devices__device_id__connectivity_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Connectivity
      tags:
      - Devices
  /devices/{device_id}/create-equipment:
    post:
      operationId: create_device_equipment_devices__device_id__create_equipment_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Device Equipment
      tags:
      - Devices
  /devices/{device_id}/create-site:
    post:
      operationId: create_device_site_devices__device_id__create_site_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Device Site
      tags:
      - Devices
  /devices/{device_id}/monitor-assignments:
    get:
      operationId: get_device_monitor_assignments_devices__device_id__monitor_assignments_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Device Monitor Assignments
      tags:
      - Monitor Registry
      - Monitor Registry
    post:
      operationId: assign_monitor_profile_devices__device_id__monitor_assignments_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Monitor Profile
      tags:
      - Monitor Registry
      - Monitor Registry
  /devices/{device_id}/monitor-instances:
    get:
      operationId: get_device_monitor_instances_devices__device_id__monitor_instances_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Device Monitor Instances
      tags:
      - Monitor Registry
      - Monitor Registry
  /devices/{device_id}/monitor-metrics:
    get:
      operationId: get_device_monitor_metrics_devices__device_id__monitor_metrics_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: query
        name: definition_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Definition Id
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Device Monitor Metrics
      tags:
      - Monitor Registry
      - Monitor Registry
  /devices/{device_id}/position:
    patch:
      operationId: update_device_position_devices__device_id__position_patch
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Data
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Device Position
      tags:
      - Devices
  /devices/{device_id}/snmp-interfaces:
    get:
      operationId: get_snmp_interfaces_devices__device_id__snmp_interfaces_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Snmp Interfaces
      tags:
      - SNMP
  /devices/{device_id}/snmp-metrics:
    get:
      operationId: list_snmp_metrics_devices__device_id__snmp_metrics_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          maximum: 168
          minimum: 1
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Snmp Metrics
      tags:
      - SNMP
  /devices/{device_id}/snmp-walk:
    post:
      operationId: snmp_walk_device_devices__device_id__snmp_walk_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Snmp Walk Device
      tags:
      - Monitor Registry
      - Monitor Registry
  /devices/{device_id}/snmp/discover:
    post:
      description: 'Discover SNMP capabilities for a device: detect model, firmware,
        supported OIDs.'
      operationId: discover_snmp_devices__device_id__snmp_discover_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Discover Snmp
      tags:
      - Monitor Registry
      - Monitor Registry
  /devices/{device_id}/test-connection:
    post:
      operationId: test_connection_devices__device_id__test_connection_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Test Connection
      tags:
      - Devices
  /devices/{device_id}/test-snmp:
    post:
      operationId: test_device_snmp_devices__device_id__test_snmp_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Test Device Snmp
      tags:
      - SNMP
  /devices/{device_id}/validate-monitors:
    post:
      operationId: validate_device_monitors_devices__device_id__validate_monitors_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Validate Device Monitors
      tags:
      - Monitor Registry
      - Monitor Registry
  /equipment:
    get:
      operationId: list_equipment_equipment_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Equipment
      tags:
      - Equipment
    post:
      operationId: create_equipment_equipment_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EquipmentCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Equipment
      tags:
      - Equipment
  /equipment/{equipment_id}:
    delete:
      operationId: delete_equipment_equipment__equipment_id__delete
      parameters:
      - in: path
        name: equipment_id
        required: true
        schema:
          title: Equipment Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Equipment
      tags:
      - Equipment
    get:
      operationId: get_equipment_equipment__equipment_id__get
      parameters:
      - in: path
        name: equipment_id
        required: true
        schema:
          title: Equipment Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Equipment
      tags:
      - Equipment
    put:
      operationId: update_equipment_equipment__equipment_id__put
      parameters:
      - in: path
        name: equipment_id
        required: true
        schema:
          title: Equipment Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EquipmentUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Equipment
      tags:
      - Equipment
  /events:
    get:
      operationId: list_events_events_get
      parameters:
      - in: query
        name: event_type
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Event Type
      - in: query
        name: resource_type
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Resource Type
      - in: query
        name: limit
        required: false
        schema:
          default: 50
          maximum: 200
          minimum: 1
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Events
      tags:
      - Webhooks
  /events/types:
    get:
      operationId: list_event_types_events_types_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: List Event Types
      tags:
      - Webhooks
  /events/{event_id}:
    get:
      operationId: get_event_events__event_id__get
      parameters:
      - in: path
        name: event_id
        required: true
        schema:
          title: Event Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Event
      tags:
      - Webhooks
  /export/{module}:
    get:
      operationId: export_module_export__module__get
      parameters:
      - in: path
        name: module
        required: true
        schema:
          title: Module
          type: string
      - in: query
        name: format
        required: false
        schema:
          default: csv
          title: Format
          type: string
      - in: query
        name: status
        required: false
        schema:
          title: Status
          type: string
      - in: query
        name: search
        required: false
        schema:
          title: Search
          type: string
      - in: query
        name: date_from
        required: false
        schema:
          title: Date From
          type: string
      - in: query
        name: date_to
        required: false
        schema:
          title: Date To
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Export Module
      tags:
      - Export
  /fiber/cables/{cable_id}/set-colors:
    post:
      operationId: set_cable_colors_fiber_cables__cable_id__set_colors_post
      parameters:
      - in: path
        name: cable_id
        required: true
        schema:
          title: Cable Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Cable Colors
      tags:
      - Fiber
  /fiber/cables/{cable_id}/strands:
    get:
      operationId: list_cable_strands_fiber_cables__cable_id__strands_get
      parameters:
      - in: path
        name: cable_id
        required: true
        schema:
          title: Cable Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Cable Strands
      tags:
      - Fiber
  /fiber/color-standard:
    get:
      operationId: fiber_color_standard_fiber_color_standard_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Fiber Color Standard
      tags:
      - Fiber
  /fiber/optical-budget:
    post:
      operationId: optical_budget_fiber_optical_budget_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BudgetRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Optical Budget
      tags:
      - Fiber
  /fiber/splice-boxes:
    get:
      operationId: list_splice_boxes_fiber_splice_boxes_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Splice Boxes
      tags:
      - Fiber
  /fiber/splice-boxes/{box_id}:
    get:
      operationId: get_splice_box_fiber_splice_boxes__box_id__get
      parameters:
      - in: path
        name: box_id
        required: true
        schema:
          title: Box Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Splice Box
      tags:
      - Fiber
  /fiber/splices:
    post:
      operationId: create_splice_fiber_splices_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Splice
      tags:
      - Fiber
  /fiber/splices/{splice_id}:
    delete:
      operationId: delete_splice_fiber_splices__splice_id__delete
      parameters:
      - in: path
        name: splice_id
        required: true
        schema:
          title: Splice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Splice
      tags:
      - Fiber
    put:
      operationId: update_splice_fiber_splices__splice_id__put
      parameters:
      - in: path
        name: splice_id
        required: true
        schema:
          title: Splice Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Splice
      tags:
      - Fiber
  /fiber/strands/{strand_id}/assign:
    post:
      operationId: assign_strand_fiber_strands__strand_id__assign_post
      parameters:
      - in: path
        name: strand_id
        required: true
        schema:
          title: Strand Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Strand
      tags:
      - Fiber
  /fiber/strands/{strand_id}/power:
    post:
      operationId: record_strand_power_fiber_strands__strand_id__power_post
      parameters:
      - in: path
        name: strand_id
        required: true
        schema:
          title: Strand Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Record Strand Power
      tags:
      - Fiber
  /fiber/trace:
    get:
      operationId: trace_fiber_fiber_trace_get
      parameters:
      - in: query
        name: cable_id
        required: true
        schema:
          title: Cable Id
          type: string
      - in: query
        name: fiber_index
        required: true
        schema:
          title: Fiber Index
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Trace Fiber
      tags:
      - Fiber
  /ftth/activate:
    post:
      operationId: ftth_activate_ftth_activate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FTTHActivateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Ftth Activate
      tags:
      - FTTH
  /gateways/config:
    get:
      operationId: list_gateway_configs_gateways_config_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Gateway Configs
      tags:
      - Gateways
  /gateways/config/{gateway}:
    put:
      operationId: upsert_gateway_config_gateways_config__gateway__put
      parameters:
      - in: path
        name: gateway
        required: true
        schema:
          title: Gateway
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewayConfigUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Upsert Gateway Config
      tags:
      - Gateways
  /gateways/{gateway}/checkout:
    post:
      operationId: create_checkout_gateways__gateway__checkout_post
      parameters:
      - in: path
        name: gateway
        required: true
        schema:
          title: Gateway
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckoutRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Checkout
      tags:
      - Gateways
  /gateways/{gateway}/confirm:
    post:
      operationId: confirm_payment_gateways__gateway__confirm_post
      parameters:
      - in: path
        name: gateway
        required: true
        schema:
          title: Gateway
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Confirm Payment
      tags:
      - Gateways
  /gateways/{gateway}/webhook:
    post:
      operationId: gateway_webhook_gateways__gateway__webhook_post
      parameters:
      - in: path
        name: gateway
        required: true
        schema:
          title: Gateway
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Gateway Webhook
      tags:
      - Gateways
  /gpon-profiles:
    get:
      operationId: list_gpon_profiles_gpon_profiles_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Gpon Profiles
      tags:
      - GPON
    post:
      operationId: create_gpon_profile_gpon_profiles_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GponProfileCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Gpon Profile
      tags:
      - GPON
  /gpon-profiles/{profile_id}:
    delete:
      operationId: delete_gpon_profile_gpon_profiles__profile_id__delete
      parameters:
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Gpon Profile
      tags:
      - GPON
    get:
      operationId: get_gpon_profile_gpon_profiles__profile_id__get
      parameters:
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Gpon Profile
      tags:
      - GPON
    put:
      operationId: update_gpon_profile_gpon_profiles__profile_id__put
      parameters:
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GponProfileUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Gpon Profile
      tags:
      - GPON
  /health:
    get:
      operationId: health_health_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Health
  /import/device/{device_id}/dhcp:
    get:
      operationId: preview_dhcp_import_import_device__device_id__dhcp_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Preview Dhcp Import
      tags:
      - Import
  /import/device/{device_id}/firewall:
    get:
      operationId: preview_firewall_import_import_device__device_id__firewall_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Preview Firewall Import
      tags:
      - Import
  /import/device/{device_id}/pppoe:
    get:
      operationId: preview_pppoe_import_import_device__device_id__pppoe_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Preview Pppoe Import
      tags:
      - Import
    post:
      operationId: import_pppoe_import_device__device_id__pppoe_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Import Pppoe
      tags:
      - Import
  /import/device/{device_id}/queues:
    get:
      operationId: preview_queue_import_import_device__device_id__queues_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Preview Queue Import
      tags:
      - Import
    post:
      operationId: import_queues_import_device__device_id__queues_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Import Queues
      tags:
      - Import
  /import/devices:
    get:
      operationId: list_import_sources_import_devices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Import Sources
      tags:
      - Import
  /import/olt/{olt_id}/onus:
    get:
      operationId: preview_onu_import_import_olt__olt_id__onus_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Preview Onu Import
      tags:
      - Import
    post:
      operationId: import_onus_import_olt__olt_id__onus_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Import Onus
      tags:
      - Import
  /installer/jobs:
    get:
      operationId: list_jobs_installer_jobs_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Jobs
      tags:
      - Installer
  /installer/jobs/{job_id}/complete:
    put:
      operationId: complete_job_installer_jobs__job_id__complete_put
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/CompleteJobBody'
              - type: 'null'
              title: Data
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Complete Job
      tags:
      - Installer
  /installer/jobs/{job_id}/status:
    post:
      operationId: update_job_status_installer_jobs__job_id__status_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobStatusBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Job Status
      tags:
      - Installer
  /installers:
    get:
      operationId: list_installers_installers_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Installers
      tags:
      - Service Orders
  /inventory/movements:
    get:
      operationId: list_movements_inventory_movements_get
      parameters:
      - in: query
        name: product_id
        required: false
        schema:
          default: ''
          title: Product Id
          type: string
      - in: query
        name: warehouse_id
        required: false
        schema:
          default: ''
          title: Warehouse Id
          type: string
      - in: query
        name: type
        required: false
        schema:
          default: ''
          title: Type
          type: string
      - in: query
        name: date_from
        required: false
        schema:
          default: ''
          title: Date From
          type: string
      - in: query
        name: date_to
        required: false
        schema:
          default: ''
          title: Date To
          type: string
      - in: query
        name: limit
        required: false
        schema:
          default: 50
          maximum: 200
          minimum: 1
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        schema:
          default: 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Movements
      tags:
      - Inventory
      - Inventory
  /inventory/movements/adjust:
    post:
      operationId: adjust_stock_inventory_movements_adjust_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MovementAdjust'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Adjust Stock
      tags:
      - Inventory
      - Inventory
  /inventory/movements/in:
    post:
      operationId: receive_stock_inventory_movements_in_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MovementIn'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Receive Stock
      tags:
      - Inventory
      - Inventory
  /inventory/movements/out:
    post:
      operationId: deliver_stock_inventory_movements_out_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MovementOut'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Deliver Stock
      tags:
      - Inventory
      - Inventory
  /inventory/movements/transfer:
    post:
      operationId: transfer_stock_inventory_movements_transfer_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MovementTransfer'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Transfer Stock
      tags:
      - Inventory
      - Inventory
  /inventory/products:
    get:
      operationId: list_products_inventory_products_get
      parameters:
      - in: query
        name: search
        required: false
        schema:
          default: ''
          title: Search
          type: string
      - in: query
        name: category
        required: false
        schema:
          default: ''
          title: Category
          type: string
      - in: query
        name: low_stock
        required: false
        schema:
          default: false
          title: Low Stock
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ProductResponse'
                title: Response List Products Inventory Products Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Products
      tags:
      - Inventory
      - Inventory
    post:
      operationId: create_product_inventory_products_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Product
      tags:
      - Inventory
      - Inventory
  /inventory/products/{product_id}:
    delete:
      operationId: delete_product_inventory_products__product_id__delete
      parameters:
      - in: path
        name: product_id
        required: true
        schema:
          title: Product Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Product
      tags:
      - Inventory
      - Inventory
    get:
      operationId: get_product_inventory_products__product_id__get
      parameters:
      - in: path
        name: product_id
        required: true
        schema:
          title: Product Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Product
      tags:
      - Inventory
      - Inventory
    put:
      operationId: update_product_inventory_products__product_id__put
      parameters:
      - in: path
        name: product_id
        required: true
        schema:
          title: Product Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Product
      tags:
      - Inventory
      - Inventory
  /inventory/stock:
    get:
      operationId: get_stock_inventory_stock_get
      parameters:
      - in: query
        name: warehouse_id
        required: false
        schema:
          default: ''
          title: Warehouse Id
          type: string
      - in: query
        name: category
        required: false
        schema:
          default: ''
          title: Category
          type: string
      - in: query
        name: low_stock
        required: false
        schema:
          default: false
          title: Low Stock
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Stock
      tags:
      - Inventory
      - Inventory
  /inventory/suppliers:
    get:
      operationId: list_suppliers_inventory_suppliers_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SupplierResponse'
                title: Response List Suppliers Inventory Suppliers Get
                type: array
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Suppliers
      tags:
      - Inventory
      - Inventory
    post:
      operationId: create_supplier_inventory_suppliers_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Supplier
      tags:
      - Inventory
      - Inventory
  /inventory/suppliers/{supplier_id}:
    delete:
      operationId: delete_supplier_inventory_suppliers__supplier_id__delete
      parameters:
      - in: path
        name: supplier_id
        required: true
        schema:
          title: Supplier Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Supplier
      tags:
      - Inventory
      - Inventory
    put:
      operationId: update_supplier_inventory_suppliers__supplier_id__put
      parameters:
      - in: path
        name: supplier_id
        required: true
        schema:
          title: Supplier Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Supplier
      tags:
      - Inventory
      - Inventory
  /inventory/warehouses:
    get:
      operationId: list_warehouses_inventory_warehouses_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/WarehouseResponse'
                title: Response List Warehouses Inventory Warehouses Get
                type: array
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Warehouses
      tags:
      - Inventory
      - Inventory
    post:
      operationId: create_warehouse_inventory_warehouses_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Warehouse
      tags:
      - Inventory
      - Inventory
  /inventory/warehouses/{warehouse_id}:
    delete:
      operationId: delete_warehouse_inventory_warehouses__warehouse_id__delete
      parameters:
      - in: path
        name: warehouse_id
        required: true
        schema:
          title: Warehouse Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Warehouse
      tags:
      - Inventory
      - Inventory
    put:
      operationId: update_warehouse_inventory_warehouses__warehouse_id__put
      parameters:
      - in: path
        name: warehouse_id
        required: true
        schema:
          title: Warehouse Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Warehouse
      tags:
      - Inventory
      - Inventory
  /knowledge-base:
    get:
      operationId: list_knowledge_base_knowledge_base_get
      parameters:
      - in: query
        name: device_type
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Type
      - in: query
        name: vendor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Vendor
      - in: query
        name: model
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
      - description: Search in model, vendor, notes
        in: query
        name: search
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search in model, vendor, notes
          title: Search
      - in: query
        name: limit
        required: false
        schema:
          default: 100
          maximum: 200
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/KnowledgeBaseResponse'
                title: Response List Knowledge Base Knowledge Base Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Knowledge Base
      tags:
      - Knowledge Base
    post:
      operationId: create_knowledge_base_entry_knowledge_base_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KnowledgeBaseCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeBaseResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Knowledge Base Entry
      tags:
      - Knowledge Base
  /knowledge-base/{record_id}:
    delete:
      operationId: delete_knowledge_base_entry_knowledge_base__record_id__delete
      parameters:
      - in: path
        name: record_id
        required: true
        schema:
          title: Record Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Knowledge Base Entry
      tags:
      - Knowledge Base
    get:
      operationId: get_knowledge_base_entry_knowledge_base__record_id__get
      parameters:
      - in: path
        name: record_id
        required: true
        schema:
          title: Record Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeBaseResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Knowledge Base Entry
      tags:
      - Knowledge Base
    put:
      operationId: update_knowledge_base_entry_knowledge_base__record_id__put
      parameters:
      - in: path
        name: record_id
        required: true
        schema:
          title: Record Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KnowledgeBaseUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeBaseResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Knowledge Base Entry
      tags:
      - Knowledge Base
  /mapeado/fibers:
    get:
      operationId: list_fibers_mapeado_fibers_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Fibers
      tags:
      - Mapeado
      - Mapeado
    post:
      operationId: create_fiber_mapeado_fibers_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiberCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Fiber
      tags:
      - Mapeado
      - Mapeado
  /mapeado/fibers/{fiber_id}:
    delete:
      operationId: delete_fiber_mapeado_fibers__fiber_id__delete
      parameters:
      - in: path
        name: fiber_id
        required: true
        schema:
          title: Fiber Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Fiber
      tags:
      - Mapeado
      - Mapeado
    get:
      operationId: get_fiber_mapeado_fibers__fiber_id__get
      parameters:
      - in: path
        name: fiber_id
        required: true
        schema:
          title: Fiber Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Fiber
      tags:
      - Mapeado
      - Mapeado
    put:
      operationId: update_fiber_mapeado_fibers__fiber_id__put
      parameters:
      - in: path
        name: fiber_id
        required: true
        schema:
          title: Fiber Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiberUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Fiber
      tags:
      - Mapeado
      - Mapeado
  /mapeado/kml/export:
    get:
      operationId: export_kml_mapeado_kml_export_get
      parameters:
      - in: query
        name: entity_types
        required: false
        schema:
          default: site,fiber,nap,pole,splice
          title: Entity Types
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Export Kml
      tags:
      - Mapeado
  /mapeado/kml/import:
    post:
      operationId: import_kml_mapeado_kml_import_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_import_kml_mapeado_kml_import_post'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Import Kml
      tags:
      - Mapeado
  /mapeado/layers:
    get:
      operationId: get_layers_mapeado_layers_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LayersResponse'
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Get Layers
      tags:
      - Mapeado
      - Mapeado
  /mapeado/naps:
    get:
      operationId: list_naps_mapeado_naps_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Naps
      tags:
      - Mapeado
      - Mapeado
    post:
      operationId: create_nap_mapeado_naps_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NapCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Nap
      tags:
      - Mapeado
      - Mapeado
  /mapeado/naps/{nap_id}:
    delete:
      operationId: delete_nap_mapeado_naps__nap_id__delete
      parameters:
      - in: path
        name: nap_id
        required: true
        schema:
          title: Nap Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Nap
      tags:
      - Mapeado
      - Mapeado
    get:
      operationId: get_nap_mapeado_naps__nap_id__get
      parameters:
      - in: path
        name: nap_id
        required: true
        schema:
          title: Nap Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Nap
      tags:
      - Mapeado
      - Mapeado
    put:
      operationId: update_nap_mapeado_naps__nap_id__put
      parameters:
      - in: path
        name: nap_id
        required: true
        schema:
          title: Nap Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NapUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Nap
      tags:
      - Mapeado
      - Mapeado
  /mapeado/poles:
    get:
      operationId: list_poles_mapeado_poles_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Poles
      tags:
      - Mapeado
      - Mapeado
    post:
      operationId: create_pole_mapeado_poles_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PoleCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Pole
      tags:
      - Mapeado
      - Mapeado
  /mapeado/poles/{pole_id}:
    delete:
      operationId: delete_pole_mapeado_poles__pole_id__delete
      parameters:
      - in: path
        name: pole_id
        required: true
        schema:
          title: Pole Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Pole
      tags:
      - Mapeado
      - Mapeado
    get:
      operationId: get_pole_mapeado_poles__pole_id__get
      parameters:
      - in: path
        name: pole_id
        required: true
        schema:
          title: Pole Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pole
      tags:
      - Mapeado
      - Mapeado
    put:
      operationId: update_pole_mapeado_poles__pole_id__put
      parameters:
      - in: path
        name: pole_id
        required: true
        schema:
          title: Pole Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PoleUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Pole
      tags:
      - Mapeado
      - Mapeado
  /mapeado/rings:
    get:
      operationId: list_rings_mapeado_rings_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Rings
      tags:
      - Mapeado
      - Mapeado
    post:
      operationId: create_ring_mapeado_rings_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RingCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Ring
      tags:
      - Mapeado
      - Mapeado
  /mapeado/rings/{ring_id}:
    delete:
      operationId: delete_ring_mapeado_rings__ring_id__delete
      parameters:
      - in: path
        name: ring_id
        required: true
        schema:
          title: Ring Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Ring
      tags:
      - Mapeado
      - Mapeado
  /mapeado/routes:
    get:
      operationId: list_routes_mapeado_routes_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Routes
      tags:
      - Mapeado
      - Mapeado
    post:
      operationId: create_route_mapeado_routes_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__schemas__mapeado__RouteCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Route
      tags:
      - Mapeado
      - Mapeado
  /mapeado/routes/{route_id}:
    delete:
      operationId: delete_route_mapeado_routes__route_id__delete
      parameters:
      - in: path
        name: route_id
        required: true
        schema:
          title: Route Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Route
      tags:
      - Mapeado
      - Mapeado
  /mapeado/splices:
    get:
      operationId: list_splices_mapeado_splices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Splices
      tags:
      - Mapeado
      - Mapeado
    post:
      operationId: create_splice_mapeado_splices_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpliceCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Splice
      tags:
      - Mapeado
      - Mapeado
  /mapeado/splices/{splice_id}:
    delete:
      operationId: delete_splice_mapeado_splices__splice_id__delete
      parameters:
      - in: path
        name: splice_id
        required: true
        schema:
          title: Splice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Splice
      tags:
      - Mapeado
      - Mapeado
    get:
      operationId: get_splice_mapeado_splices__splice_id__get
      parameters:
      - in: path
        name: splice_id
        required: true
        schema:
          title: Splice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Splice
      tags:
      - Mapeado
      - Mapeado
    put:
      operationId: update_splice_mapeado_splices__splice_id__put
      parameters:
      - in: path
        name: splice_id
        required: true
        schema:
          title: Splice Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpliceUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Splice
      tags:
      - Mapeado
      - Mapeado
  /master/analytics:
    get:
      description: Enhanced MRR and growth analytics for master panel.
      operationId: master_analytics_master_analytics_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Master Analytics
      tags:
      - Master
  /master/dashboard:
    get:
      operationId: master_dashboard_master_dashboard_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Master Dashboard
      tags:
      - Master
  /master/plans:
    get:
      operationId: list_subscription_plans_master_plans_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Subscription Plans
      tags:
      - Master
    post:
      operationId: create_subscription_plan_master_plans_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Subscription Plan
      tags:
      - Master
  /master/plans/{plan_id}:
    delete:
      operationId: delete_subscription_plan_master_plans__plan_id__delete
      parameters:
      - in: path
        name: plan_id
        required: true
        schema:
          title: Plan Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Subscription Plan
      tags:
      - Master
    put:
      operationId: update_subscription_plan_master_plans__plan_id__put
      parameters:
      - in: path
        name: plan_id
        required: true
        schema:
          title: Plan Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Subscription Plan
      tags:
      - Master
  /master/tenants:
    get:
      operationId: list_tenants_master_tenants_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Tenants
      tags:
      - Master
    post:
      operationId: create_tenant_master_tenants_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Tenant
      tags:
      - Master
  /master/tenants/{tenant_id}:
    delete:
      operationId: delete_tenant_master_tenants__tenant_id__delete
      parameters:
      - in: path
        name: tenant_id
        required: true
        schema:
          title: Tenant Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Tenant
      tags:
      - Master
    put:
      operationId: update_tenant_master_tenants__tenant_id__put
      parameters:
      - in: path
        name: tenant_id
        required: true
        schema:
          title: Tenant Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Tenant
      tags:
      - Master
  /master/tenants/{tenant_id}/plan:
    put:
      operationId: set_tenant_plan_master_tenants__tenant_id__plan_put
      parameters:
      - in: path
        name: tenant_id
        required: true
        schema:
          title: Tenant Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Tenant Plan
      tags:
      - Master
  /master/tenants/{tenant_id}/reset-password:
    post:
      operationId: reset_tenant_password_master_tenants__tenant_id__reset_password_post
      parameters:
      - in: path
        name: tenant_id
        required: true
        schema:
          title: Tenant Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Reset Tenant Password
      tags:
      - Master
  /mikrotik/{device_id}/assistant/audit:
    get:
      operationId: get_audit_mikrotik__device_id__assistant_audit_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: query
        name: areas
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Areas
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Audit
      tags:
      - MikroTik Assistant
  /mikrotik/{device_id}/assistant/audit/{area}:
    get:
      operationId: get_audit_area_mikrotik__device_id__assistant_audit__area__get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: area
        required: true
        schema:
          title: Area
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Audit Area
      tags:
      - MikroTik Assistant
  /mikrotik/{device_id}/assistant/templates:
    get:
      operationId: list_templates_mikrotik__device_id__assistant_templates_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Templates
      tags:
      - MikroTik Assistant
  /mikrotik/{device_id}/assistant/templates/{template_id}/apply:
    post:
      operationId: apply_template_endpoint_mikrotik__device_id__assistant_templates__template_id__apply_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: template_id
        required: true
        schema:
          title: Template Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyTemplateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Apply Template Endpoint
      tags:
      - MikroTik Assistant
  /mikrotik/{device_id}/assistant/templates/{template_id}/preview:
    post:
      operationId: preview_template_mikrotik__device_id__assistant_templates__template_id__preview_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: template_id
        required: true
        schema:
          title: Template Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyTemplateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Preview Template
      tags:
      - MikroTik Assistant
  /mikrotik/{device_id}/assistant/wizard/{area}/apply:
    post:
      operationId: apply_wizard_mikrotik__device_id__assistant_wizard__area__apply_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: area
        required: true
        schema:
          title: Area
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Data
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Apply Wizard
      tags:
      - MikroTik Assistant
  /mikrotik/{device_id}/assistant/wizard/{area}/validate:
    post:
      operationId: validate_wizard_mikrotik__device_id__assistant_wizard__area__validate_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: area
        required: true
        schema:
          title: Area
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Data
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Validate Wizard
      tags:
      - MikroTik Assistant
  /mikrotik/{device_id}/bgp/instances:
    get:
      operationId: list_bgp_instances_mikrotik__device_id__bgp_instances_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Bgp Instances
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/bgp/networks:
    get:
      operationId: list_bgp_networks_mikrotik__device_id__bgp_networks_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Bgp Networks
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/bgp/peers:
    get:
      operationId: list_bgp_peers_mikrotik__device_id__bgp_peers_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Bgp Peers
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/bridge:
    get:
      operationId: list_bridge_info_mikrotik__device_id__bridge_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Bridge Info
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/dhcp/leases:
    get:
      operationId: list_dhcp_leases_mikrotik__device_id__dhcp_leases_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dhcp Leases
      tags:
      - MikroTik Advanced
    post:
      operationId: create_dhcp_lease_mikrotik__device_id__dhcp_leases_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DhcpLeaseCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Dhcp Lease
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/dhcp/leases/{lease_id}:
    delete:
      operationId: delete_dhcp_lease_mikrotik__device_id__dhcp_leases__lease_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: lease_id
        required: true
        schema:
          title: Lease Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Dhcp Lease
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/dhcp/pools:
    get:
      operationId: list_dhcp_pools_mikrotik__device_id__dhcp_pools_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dhcp Pools
      tags:
      - MikroTik Advanced
    post:
      operationId: create_dhcp_pool_mikrotik__device_id__dhcp_pools_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DhcpPoolCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Dhcp Pool
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/dhcp/pools/{pool_id}:
    delete:
      operationId: delete_dhcp_pool_mikrotik__device_id__dhcp_pools__pool_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: pool_id
        required: true
        schema:
          title: Pool Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Dhcp Pool
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/dhcp/servers:
    get:
      operationId: list_dhcp_servers_mikrotik__device_id__dhcp_servers_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dhcp Servers
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/address-lists:
    get:
      operationId: list_address_lists_mikrotik__device_id__firewall_address_lists_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Address Lists
      tags:
      - MikroTik Advanced
    post:
      operationId: create_address_list_mikrotik__device_id__firewall_address_lists_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressListCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Address List
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/address-lists/{list_id}:
    delete:
      operationId: delete_address_list_mikrotik__device_id__firewall_address_lists__list_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: list_id
        required: true
        schema:
          title: List Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Address List
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/filters:
    get:
      operationId: list_filter_rules_mikrotik__device_id__firewall_filters_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Filter Rules
      tags:
      - MikroTik Advanced
    post:
      operationId: create_filter_rule_mikrotik__device_id__firewall_filters_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilterRuleCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Filter Rule
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/filters/{rule_id}:
    delete:
      operationId: delete_filter_rule_mikrotik__device_id__firewall_filters__rule_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: rule_id
        required: true
        schema:
          title: Rule Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Filter Rule
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/mangle:
    get:
      operationId: list_mangle_rules_mikrotik__device_id__firewall_mangle_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Mangle Rules
      tags:
      - MikroTik Advanced
    post:
      operationId: create_mangle_rule_mikrotik__device_id__firewall_mangle_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MangleRuleCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Mangle Rule
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/mangle/{rule_id}:
    delete:
      operationId: delete_mangle_rule_mikrotik__device_id__firewall_mangle__rule_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: rule_id
        required: true
        schema:
          title: Rule Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Mangle Rule
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/nat:
    get:
      operationId: list_nat_rules_mikrotik__device_id__firewall_nat_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Nat Rules
      tags:
      - MikroTik Advanced
    post:
      operationId: create_nat_rule_mikrotik__device_id__firewall_nat_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NatRuleCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Nat Rule
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/firewall/nat/{rule_id}:
    delete:
      operationId: delete_nat_rule_mikrotik__device_id__firewall_nat__rule_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: rule_id
        required: true
        schema:
          title: Rule Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Nat Rule
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/generic/{full_path}:
    get:
      operationId: generic_list_mikrotik__device_id__generic__full_path__get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: full_path
        required: true
        schema:
          title: Full Path
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Generic List
      tags:
      - MikroTik Advanced
    post:
      operationId: generic_create_mikrotik__device_id__generic__full_path__post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: full_path
        required: true
        schema:
          title: Full Path
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Generic Create
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/generic/{full_path}/{entry_id}:
    delete:
      operationId: generic_delete_mikrotik__device_id__generic__full_path___entry_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: full_path
        required: true
        schema:
          title: Full Path
          type: string
      - in: path
        name: entry_id
        required: true
        schema:
          title: Entry Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Generic Delete
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/interfaces:
    get:
      operationId: list_interfaces_mikrotik__device_id__interfaces_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Interfaces
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ip/dhcp-server/network:
    get:
      operationId: list_dhcp_networks_mikrotik__device_id__ip_dhcp_server_network_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dhcp Networks
      tags:
      - MikroTik Advanced
    post:
      operationId: create_dhcp_network_mikrotik__device_id__ip_dhcp_server_network_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DhcpNetworkCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Dhcp Network
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ip/dhcp-server/network/{network_id}:
    delete:
      operationId: delete_dhcp_network_mikrotik__device_id__ip_dhcp_server_network__network_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: network_id
        required: true
        schema:
          title: Network Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Dhcp Network
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ip/dns/static:
    get:
      operationId: list_dns_static_mikrotik__device_id__ip_dns_static_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dns Static
      tags:
      - MikroTik Advanced
    post:
      operationId: create_dns_static_mikrotik__device_id__ip_dns_static_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnsStaticCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Dns Static
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ip/dns/static/{entry_id}:
    delete:
      operationId: delete_dns_static_mikrotik__device_id__ip_dns_static__entry_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: entry_id
        required: true
        schema:
          title: Entry Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Dns Static
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ip/route:
    get:
      operationId: list_routes_mikrotik__device_id__ip_route_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Routes
      tags:
      - MikroTik Advanced
    post:
      operationId: create_route_mikrotik__device_id__ip_route_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__routers__mikrotik_advanced__RouteCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Route
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ip/route/{route_id}:
    delete:
      operationId: delete_route_mikrotik__device_id__ip_route__route_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: route_id
        required: true
        schema:
          title: Route Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Route
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ipv6/addresses:
    get:
      operationId: list_ipv6_addresses_mikrotik__device_id__ipv6_addresses_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Ipv6 Addresses
      tags:
      - MikroTik Advanced
    post:
      operationId: create_ipv6_address_mikrotik__device_id__ipv6_addresses_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Ipv6AddressCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Ipv6 Address
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ipv6/addresses/{address_id}:
    delete:
      operationId: delete_ipv6_address_mikrotik__device_id__ipv6_addresses__address_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: address_id
        required: true
        schema:
          title: Address Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Ipv6 Address
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ipv6/dhcp-client:
    get:
      operationId: list_dhcpv6_client_mikrotik__device_id__ipv6_dhcp_client_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dhcpv6 Client
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ipv6/dhcp-servers:
    get:
      operationId: list_dhcpv6_servers_mikrotik__device_id__ipv6_dhcp_servers_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dhcpv6 Servers
      tags:
      - MikroTik Advanced
    post:
      operationId: create_dhcpv6_server_mikrotik__device_id__ipv6_dhcp_servers_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDhcpv6Server'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Dhcpv6 Server
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ipv6/dhcp-servers/{server_id}:
    delete:
      operationId: delete_dhcpv6_server_mikrotik__device_id__ipv6_dhcp_servers__server_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: server_id
        required: true
        schema:
          title: Server Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Dhcpv6 Server
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ipv6/neighbors:
    get:
      operationId: list_ipv6_neighbors_mikrotik__device_id__ipv6_neighbors_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Ipv6 Neighbors
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ipv6/routes:
    get:
      operationId: list_ipv6_routes_mikrotik__device_id__ipv6_routes_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Ipv6 Routes
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ppp/profile:
    get:
      operationId: list_ppp_profiles_mikrotik__device_id__ppp_profile_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Ppp Profiles
      tags:
      - MikroTik Advanced
    post:
      operationId: create_ppp_profile_mikrotik__device_id__ppp_profile_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PppProfileCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Ppp Profile
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ppp/profile/{profile_id}:
    delete:
      operationId: delete_ppp_profile_mikrotik__device_id__ppp_profile__profile_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Ppp Profile
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ppp/secrets:
    get:
      operationId: list_ppp_secrets_mikrotik__device_id__ppp_secrets_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Ppp Secrets
      tags:
      - MikroTik Advanced
    post:
      operationId: create_ppp_secret_endpoint_mikrotik__device_id__ppp_secrets_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PppSecretCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Ppp Secret Endpoint
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/ppp/secrets/{secret_id}:
    delete:
      operationId: delete_ppp_secret_mikrotik__device_id__ppp_secrets__secret_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: secret_id
        required: true
        schema:
          title: Secret Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Ppp Secret
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/queues/simple:
    get:
      operationId: list_simple_queues_mikrotik__device_id__queues_simple_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Simple Queues
      tags:
      - MikroTik Advanced
    post:
      operationId: create_simple_queue_mikrotik__device_id__queues_simple_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleQueueCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Simple Queue
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/queues/simple/{queue_id}:
    delete:
      operationId: delete_simple_queue_mikrotik__device_id__queues_simple__queue_id__delete
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: queue_id
        required: true
        schema:
          title: Queue Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Simple Queue
      tags:
      - MikroTik Advanced
    put:
      operationId: edit_simple_queue_mikrotik__device_id__queues_simple__queue_id__put
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: queue_id
        required: true
        schema:
          title: Queue Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleQueueCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Edit Simple Queue
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/queues/trees:
    get:
      operationId: list_queue_trees_mikrotik__device_id__queues_trees_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Queue Trees
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/rest/ppp-secrets:
    get:
      operationId: rest_ppp_secrets_mikrotik__device_id__rest_ppp_secrets_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Rest Ppp Secrets
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/rest/system:
    get:
      operationId: rest_system_resource_mikrotik__device_id__rest_system_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Rest System Resource
      tags:
      - MikroTik Advanced
  /mikrotik/{device_id}/tools/bandwidth-test:
    post:
      operationId: start_bandwidth_test_mikrotik__device_id__tools_bandwidth_test_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - description: Target host or IP
        in: query
        name: target
        required: true
        schema:
          description: Target host or IP
          title: Target
          type: string
      - description: Test duration in seconds
        in: query
        name: duration
        required: false
        schema:
          default: 10
          description: Test duration in seconds
          maximum: 300
          minimum: 1
          title: Duration
          type: integer
      - description: 'Direction: both, transmit, receive'
        in: query
        name: direction
        required: false
        schema:
          default: both
          description: 'Direction: both, transmit, receive'
          title: Direction
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Start Bandwidth Test
      tags:
      - MikroTik Tools
  /mikrotik/{device_id}/tools/dns-lookup:
    post:
      operationId: start_dns_lookup_mikrotik__device_id__tools_dns_lookup_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - description: Domain name to resolve
        in: query
        name: target
        required: true
        schema:
          description: Domain name to resolve
          title: Target
          type: string
      - description: DNS server to use (optional)
        in: query
        name: server
        required: false
        schema:
          default: ''
          description: DNS server to use (optional)
          title: Server
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Start Dns Lookup
      tags:
      - MikroTik Tools
  /mikrotik/{device_id}/tools/ping:
    post:
      operationId: start_ping_mikrotik__device_id__tools_ping_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - description: Host or IP to ping
        in: query
        name: target
        required: true
        schema:
          description: Host or IP to ping
          title: Target
          type: string
      - description: Number of packets
        in: query
        name: count
        required: false
        schema:
          default: 10
          description: Number of packets
          maximum: 1000
          minimum: 1
          title: Count
          type: integer
      - description: Packet size in bytes
        in: query
        name: size
        required: false
        schema:
          default: 56
          description: Packet size in bytes
          maximum: 65500
          minimum: 28
          title: Size
          type: integer
      - description: Interval between packets in seconds
        in: query
        name: interval
        required: false
        schema:
          default: 1.0
          description: Interval between packets in seconds
          maximum: 10
          minimum: 0.001
          title: Interval
          type: number
      - description: Source address or interface (optional)
        in: query
        name: src_address
        required: false
        schema:
          default: ''
          description: Source address or interface (optional)
          title: Src Address
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Start Ping
      tags:
      - MikroTik Tools
  /mikrotik/{device_id}/tools/traceroute:
    post:
      operationId: start_traceroute_mikrotik__device_id__tools_traceroute_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - description: Host or IP to trace
        in: query
        name: target
        required: true
        schema:
          description: Host or IP to trace
          title: Target
          type: string
      - description: Maximum number of hops
        in: query
        name: max_hops
        required: false
        schema:
          default: 30
          description: Maximum number of hops
          maximum: 255
          minimum: 1
          title: Max Hops
          type: integer
      - description: Timeout per hop in seconds
        in: query
        name: timeout
        required: false
        schema:
          default: 1
          description: Timeout per hop in seconds
          maximum: 60
          minimum: 1
          title: Timeout
          type: integer
      - description: Source address or interface (optional)
        in: query
        name: src_address
        required: false
        schema:
          default: ''
          description: Source address or interface (optional)
          title: Src Address
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Start Traceroute
      tags:
      - MikroTik Tools
  /mikrotik/{device_id}/tools/{task_id}:
    get:
      operationId: get_task_status_mikrotik__device_id__tools__task_id__get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: task_id
        required: true
        schema:
          title: Task Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Task Status
      tags:
      - MikroTik Tools
  /mikrotik/{device_id}/tools/{task_id}/cancel:
    post:
      operationId: cancel_task_mikrotik__device_id__tools__task_id__cancel_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: task_id
        required: true
        schema:
          title: Task Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Cancel Task
      tags:
      - MikroTik Tools
  /mikrotik/{device_id}/tools/{task_id}/stream:
    get:
      operationId: stream_results_mikrotik__device_id__tools__task_id__stream_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: path
        name: task_id
        required: true
        schema:
          title: Task Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Stream Results
      tags:
      - MikroTik Tools
  /mobile/auth/login:
    post:
      operationId: mobile_login_mobile_auth_login_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileLoginRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Mobile Login
      tags:
      - Mobile
  /mobile/client/home:
    get:
      operationId: mobile_client_home_mobile_client_home_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Client Home
      tags:
      - Mobile
  /mobile/client/invoices:
    get:
      operationId: mobile_client_invoices_mobile_client_invoices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Client Invoices
      tags:
      - Mobile
  /mobile/client/tickets:
    get:
      operationId: mobile_client_tickets_mobile_client_tickets_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Client Tickets
      tags:
      - Mobile
    post:
      operationId: mobile_client_create_ticket_mobile_client_tickets_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileClientTicketCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Client Create Ticket
      tags:
      - Mobile
  /mobile/device-token:
    post:
      operationId: register_device_token_mobile_device_token_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileDeviceTokenRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Register Device Token
      tags:
      - Mobile
  /mobile/logout:
    post:
      operationId: mobile_logout_mobile_logout_post
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Mobile Logout
      tags:
      - Mobile
  /mobile/me:
    get:
      operationId: mobile_me_mobile_me_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Me
      tags:
      - Mobile
  /mobile/notifications:
    get:
      operationId: mobile_notifications_mobile_notifications_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Notifications
      tags:
      - Mobile
  /mobile/provider/billing:
    get:
      operationId: mobile_provider_billing_mobile_provider_billing_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Mobile Provider Billing
      tags:
      - Mobile
  /mobile/provider/clients:
    get:
      operationId: mobile_provider_clients_mobile_provider_clients_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Provider Clients
      tags:
      - Mobile
  /mobile/provider/clients/{subscriber_id}/activate:
    post:
      operationId: mobile_provider_activate_client_mobile_provider_clients__subscriber_id__activate_post
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Provider Activate Client
      tags:
      - Mobile
  /mobile/provider/clients/{subscriber_id}/suspend:
    post:
      operationId: mobile_provider_suspend_client_mobile_provider_clients__subscriber_id__suspend_post
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__routers__mobile_provider__SuspendBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Provider Suspend Client
      tags:
      - Mobile
  /mobile/provider/dashboard:
    get:
      operationId: mobile_provider_dashboard_mobile_provider_dashboard_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Provider Dashboard
      tags:
      - Mobile
  /mobile/provider/network:
    get:
      operationId: mobile_provider_network_mobile_provider_network_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Mobile Provider Network
      tags:
      - Mobile
  /mobile/technician/available-jobs:
    get:
      operationId: mobile_technician_available_jobs_mobile_technician_available_jobs_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Technician Available Jobs
      tags:
      - Mobile
  /mobile/technician/history:
    get:
      operationId: mobile_technician_history_mobile_technician_history_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Technician History
      tags:
      - Mobile
  /mobile/technician/jobs:
    get:
      operationId: mobile_technician_jobs_mobile_technician_jobs_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Technician Jobs
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}:
    get:
      operationId: mobile_technician_job_detail_mobile_technician_jobs__job_id__get
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Job Detail
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/accept:
    post:
      operationId: mobile_technician_accept_job_mobile_technician_jobs__job_id__accept_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Accept Job
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/checklist:
    put:
      operationId: mobile_technician_update_checklist_mobile_technician_jobs__job_id__checklist_put
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileChecklistUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Update Checklist
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/complete:
    post:
      operationId: mobile_technician_complete_job_mobile_technician_jobs__job_id__complete_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileJobComplete'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Complete Job
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/location:
    post:
      operationId: mobile_technician_send_location_mobile_technician_jobs__job_id__location_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileLocationUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Send Location
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/onu-scan:
    post:
      operationId: mobile_technician_onu_scan_mobile_technician_jobs__job_id__onu_scan_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileOnuScan'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Onu Scan
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/photos:
    get:
      operationId: mobile_technician_get_photos_mobile_technician_jobs__job_id__photos_get
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Get Photos
      tags:
      - Mobile
    post:
      operationId: mobile_technician_upload_photo_mobile_technician_jobs__job_id__photos_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_mobile_technician_upload_photo_mobile_technician_jobs__job_id__photos_post'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Upload Photo
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/photos/{photo_id}:
    delete:
      operationId: mobile_technician_delete_photo_mobile_technician_jobs__job_id__photos__photo_id__delete
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      - in: path
        name: photo_id
        required: true
        schema:
          title: Photo Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Delete Photo
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/reject:
    post:
      operationId: mobile_technician_reject_job_mobile_technician_jobs__job_id__reject_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileRejectJob'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Reject Job
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/signature:
    post:
      operationId: mobile_technician_upload_signature_mobile_technician_jobs__job_id__signature_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileSignatureUpload'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Upload Signature
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/start:
    post:
      operationId: mobile_technician_start_job_mobile_technician_jobs__job_id__start_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Start Job
      tags:
      - Mobile
  /mobile/technician/jobs/{job_id}/test-results:
    post:
      operationId: mobile_technician_submit_test_results_mobile_technician_jobs__job_id__test_results_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MobileTestResults'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Mobile Technician Submit Test Results
      tags:
      - Mobile
  /mobile/technician/rating:
    get:
      operationId: mobile_technician_rating_mobile_technician_rating_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mobile Technician Rating
      tags:
      - Mobile
  /monitor-profiles:
    get:
      operationId: list_monitor_profiles_monitor_profiles_get
      parameters:
      - in: query
        name: vendor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Vendor
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Monitor Profiles
      tags:
      - Monitor Registry
      - Monitor Registry
  /monitor-profiles/{profile_id}:
    get:
      operationId: get_monitor_profile_monitor_profiles__profile_id__get
      parameters:
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Monitor Profile
      tags:
      - Monitor Registry
      - Monitor Registry
  /monitor-profiles/{profile_id}/definitions:
    get:
      operationId: list_monitor_definitions_monitor_profiles__profile_id__definitions_get
      parameters:
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: string
      - in: query
        name: category
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Category
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Monitor Definitions
      tags:
      - Monitor Registry
      - Monitor Registry
  /noc/alerts:
    get:
      operationId: noc_alerts_noc_alerts_get
      parameters:
      - in: query
        name: limit
        required: false
        schema:
          default: 10
          maximum: 100
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Noc Alerts
      tags:
      - NOC
  /noc/devices/{device_id}/metrics:
    get:
      operationId: device_metrics_noc_devices__device_id__metrics_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          maximum: 168
          minimum: 1
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Device Metrics
      tags:
      - NOC
  /noc/devices/{device_id}/traffic:
    get:
      operationId: device_traffic_noc_devices__device_id__traffic_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          maximum: 168
          minimum: 1
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Device Traffic
      tags:
      - NOC
  /noc/kpis:
    get:
      operationId: dashboard_kpis_noc_kpis_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Dashboard Kpis
      tags:
      - NOC
  /noc/online-series:
    get:
      operationId: noc_online_series_noc_online_series_get
      parameters:
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          maximum: 720
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Noc Online Series
      tags:
      - NOC
  /noc/onus-summary:
    get:
      operationId: onus_summary_noc_onus_summary_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Onus Summary
      tags:
      - NOC
  /noc/onus/{onu_id}/optical:
    get:
      operationId: onu_optical_power_noc_onus__onu_id__optical_get
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          maximum: 720
          minimum: 1
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Onu Optical Power
      tags:
      - NOC
  /noc/traffic-series:
    get:
      operationId: traffic_series_noc_traffic_series_get
      parameters:
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          maximum: 168
          minimum: 1
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Traffic Series
      tags:
      - NOC
  /noc/traffic-summary:
    get:
      operationId: traffic_summary_noc_traffic_summary_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Traffic Summary
      tags:
      - NOC
  /notification-channels:
    get:
      operationId: list_channels_notification_channels_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/NotificationChannelResponse'
                title: Response List Channels Notification Channels Get
                type: array
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Channels
      tags:
      - Alerts
    post:
      operationId: create_channel_notification_channels_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationChannelCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationChannelResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Channel
      tags:
      - Alerts
  /notification-channels/{channel_id}:
    delete:
      operationId: delete_channel_notification_channels__channel_id__delete
      parameters:
      - in: path
        name: channel_id
        required: true
        schema:
          title: Channel Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Channel
      tags:
      - Alerts
    put:
      operationId: update_channel_notification_channels__channel_id__put
      parameters:
      - in: path
        name: channel_id
        required: true
        schema:
          title: Channel Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationChannelUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationChannelResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Channel
      tags:
      - Alerts
  /notification-logs:
    get:
      operationId: list_notification_logs_notification_logs_get
      parameters:
      - in: query
        name: limit
        required: false
        schema:
          default: 50
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Notification Logs
      tags:
      - Notifications
  /notification-templates:
    get:
      operationId: list_templates_notification_templates_get
      parameters:
      - in: query
        name: event_type
        required: false
        schema:
          title: Event Type
          type: string
      - in: query
        name: channel
        required: false
        schema:
          title: Channel
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/NotificationTemplateResponse'
                title: Response List Templates Notification Templates Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Templates
      tags:
      - Notifications
    post:
      operationId: create_template_notification_templates_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Template
      tags:
      - Notifications
  /notification-templates/{template_id}:
    delete:
      operationId: delete_template_notification_templates__template_id__delete
      parameters:
      - in: path
        name: template_id
        required: true
        schema:
          title: Template Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Template
      tags:
      - Notifications
    put:
      operationId: update_template_notification_templates__template_id__put
      parameters:
      - in: path
        name: template_id
        required: true
        schema:
          title: Template Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Template
      tags:
      - Notifications
  /notifications/logs:
    get:
      operationId: notification_logs_notifications_logs_get
      parameters:
      - in: query
        name: limit
        required: false
        schema:
          default: 50
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Notification Logs
      tags:
      - Notifications
  /notifications/send-event:
    post:
      operationId: send_notification_event_notifications_send_event_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Send Notification Event
      tags:
      - Notifications
  /notifications/whatsapp/bulk:
    post:
      operationId: send_bulk_whatsapp_notifications_whatsapp_bulk_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Send Bulk Whatsapp
      tags:
      - Notifications
  /notifications/whatsapp/send:
    post:
      operationId: send_whatsapp_notification_notifications_whatsapp_send_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Send Whatsapp Notification
      tags:
      - Notifications
  /odfs:
    get:
      operationId: list_odfs_odfs_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Odfs
      tags:
      - Mapeado
    post:
      operationId: create_odf_odfs_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ODFCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Odf
      tags:
      - Mapeado
  /odfs/{odf_id}:
    delete:
      operationId: delete_odf_odfs__odf_id__delete
      parameters:
      - in: path
        name: odf_id
        required: true
        schema:
          title: Odf Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Odf
      tags:
      - Mapeado
    get:
      operationId: get_odf_odfs__odf_id__get
      parameters:
      - in: path
        name: odf_id
        required: true
        schema:
          title: Odf Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Odf
      tags:
      - Mapeado
    put:
      operationId: update_odf_odfs__odf_id__put
      parameters:
      - in: path
        name: odf_id
        required: true
        schema:
          title: Odf Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ODFUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Odf
      tags:
      - Mapeado
  /olt/capabilities:
    get:
      operationId: list_capabilities_olt_capabilities_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: List Capabilities
      tags:
      - OLT
  /olt/compatibility:
    get:
      operationId: list_compatibility_olt_compatibility_get
      parameters:
      - in: query
        name: olt_vendor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Vendor
      - in: query
        name: onu_vendor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Onu Vendor
      - in: query
        name: compatibility
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Compatibility
      - in: query
        name: limit
        required: false
        schema:
          default: 100
          maximum: 200
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/OLTCompatibilityResponse'
                title: Response List Compatibility Olt Compatibility Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Compatibility
      tags:
      - OLT
    post:
      operationId: create_compatibility_olt_compatibility_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OLTCompatibilityCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OLTCompatibilityResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Compatibility
      tags:
      - OLT
  /olt/compatibility/stats:
    get:
      operationId: compatibility_stats_olt_compatibility_stats_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Compatibility Stats
      tags:
      - OLT
  /olt/compatibility/{record_id}:
    delete:
      operationId: delete_compatibility_olt_compatibility__record_id__delete
      parameters:
      - in: path
        name: record_id
        required: true
        schema:
          title: Record Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Compatibility
      tags:
      - OLT
    put:
      operationId: update_compatibility_olt_compatibility__record_id__put
      parameters:
      - in: path
        name: record_id
        required: true
        schema:
          title: Record Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OLTCompatibilityUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OLTCompatibilityResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Compatibility
      tags:
      - OLT
  /olts:
    get:
      operationId: list_olts_olts_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Olts
      tags:
      - OLT
  /olts/dashboard:
    get:
      operationId: olts_dashboard_olts_dashboard_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Olts Dashboard
      tags:
      - OLT
  /olts/{olt_id}/acl/loop-detect:
    post:
      operationId: set_loop_detect_olts__olt_id__acl_loop_detect_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Loop Detect
      tags:
      - OLT
  /olts/{olt_id}/acl/mac-filter:
    post:
      operationId: set_mac_filter_olts__olt_id__acl_mac_filter_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Mac Filter
      tags:
      - OLT
  /olts/{olt_id}/acl/storm-control:
    post:
      operationId: set_storm_control_olts__olt_id__acl_storm_control_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Storm Control
      tags:
      - OLT
  /olts/{olt_id}/backup:
    get:
      operationId: backup_olt_config_olts__olt_id__backup_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Backup Olt Config
      tags:
      - OLT
  /olts/{olt_id}/config:
    get:
      operationId: get_olt_config_olts__olt_id__config_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Olt Config
      tags:
      - OLT
  /olts/{olt_id}/dba-profiles:
    get:
      operationId: list_dba_profiles_olts__olt_id__dba_profiles_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Dba Profiles
      tags:
      - OLT
    post:
      operationId: create_dba_profile_olts__olt_id__dba_profiles_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Dba Profile
      tags:
      - OLT
  /olts/{olt_id}/dba-profiles/assign:
    post:
      operationId: assign_dba_profile_olts__olt_id__dba_profiles_assign_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Dba Profile
      tags:
      - OLT
  /olts/{olt_id}/dba-profiles/{profile_id}:
    delete:
      operationId: delete_dba_profile_olts__olt_id__dba_profiles__profile_id__delete
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      - in: path
        name: profile_id
        required: true
        schema:
          title: Profile Id
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Dba Profile
      tags:
      - OLT
  /olts/{olt_id}/dhcp-snooping:
    post:
      operationId: set_dhcp_snooping_olts__olt_id__dhcp_snooping_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Dhcp Snooping
      tags:
      - OLT
  /olts/{olt_id}/dhcp-snooping/trust:
    post:
      operationId: set_dhcp_trust_olts__olt_id__dhcp_snooping_trust_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Dhcp Trust
      tags:
      - OLT
  /olts/{olt_id}/discover-onus:
    post:
      operationId: discover_onus_olts__olt_id__discover_onus_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Discover Onus
      tags:
      - OLT
  /olts/{olt_id}/firmware:
    get:
      operationId: get_firmware_version_olts__olt_id__firmware_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Firmware Version
      tags:
      - OLT
  /olts/{olt_id}/firmware/upgrade:
    post:
      operationId: upgrade_firmware_olts__olt_id__firmware_upgrade_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Upgrade Firmware
      tags:
      - OLT
  /olts/{olt_id}/igmp/port:
    post:
      operationId: set_igmp_port_olts__olt_id__igmp_port_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Igmp Port
      tags:
      - OLT
  /olts/{olt_id}/igmp/query:
    post:
      operationId: set_igmp_query_olts__olt_id__igmp_query_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Igmp Query
      tags:
      - OLT
  /olts/{olt_id}/igmp/snooping:
    post:
      operationId: set_igmp_snooping_olts__olt_id__igmp_snooping_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Igmp Snooping
      tags:
      - OLT
  /olts/{olt_id}/lldp:
    post:
      operationId: set_lldp_olts__olt_id__lldp_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Lldp
      tags:
      - OLT
  /olts/{olt_id}/lldp/current:
    get:
      operationId: get_current_lldp_olts__olt_id__lldp_current_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Current Lldp
      tags:
      - OLT
  /olts/{olt_id}/lldp/port:
    post:
      operationId: set_lldp_port_olts__olt_id__lldp_port_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Lldp Port
      tags:
      - OLT
  /olts/{olt_id}/logs:
    get:
      operationId: get_olt_logs_olts__olt_id__logs_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Olt Logs
      tags:
      - OLT
  /olts/{olt_id}/logs/event:
    get:
      operationId: get_olt_event_log_olts__olt_id__logs_event_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Olt Event Log
      tags:
      - OLT
  /olts/{olt_id}/mirror:
    post:
      operationId: set_port_mirror_olts__olt_id__mirror_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Port Mirror
      tags:
      - OLT
  /olts/{olt_id}/onus:
    get:
      operationId: list_olt_onus_olts__olt_id__onus_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      - in: query
        name: live_status
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Live Status
      - in: query
        name: db_status
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Db Status
      - in: query
        name: only_missing
        required: false
        schema:
          default: false
          title: Only Missing
          type: boolean
      - in: query
        name: only_live
        required: false
        schema:
          default: false
          title: Only Live
          type: boolean
      - in: query
        name: pon_port
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Pon Port
      - in: query
        name: search
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Olt Onus
      tags:
      - OLT
  /olts/{olt_id}/ports/ge/{port}/speed:
    put:
      operationId: set_port_speed_olts__olt_id__ports_ge__port__speed_put
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      - in: path
        name: port
        required: true
        schema:
          title: Port
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Port Speed
      tags:
      - OLT
  /olts/{olt_id}/ports/{iftype}/{port}/description:
    put:
      operationId: set_port_description_olts__olt_id__ports__iftype___port__description_put
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      - in: path
        name: iftype
        required: true
        schema:
          title: Iftype
          type: string
      - in: path
        name: port
        required: true
        schema:
          title: Port
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Port Description
      tags:
      - OLT
  /olts/{olt_id}/ports/{iftype}/{port}/state:
    post:
      operationId: set_port_state_olts__olt_id__ports__iftype___port__state_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      - in: path
        name: iftype
        required: true
        schema:
          title: Iftype
          type: string
      - in: path
        name: port
        required: true
        schema:
          title: Port
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Port State
      tags:
      - OLT
  /olts/{olt_id}/reconciliation:
    get:
      operationId: get_olt_reconciliation_olts__olt_id__reconciliation_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Olt Reconciliation
      tags:
      - OLT
  /olts/{olt_id}/reconciliation/archive-stale:
    post:
      operationId: archive_stale_onus_olts__olt_id__reconciliation_archive_stale_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Archive Stale Onus
      tags:
      - OLT
  /olts/{olt_id}/reconciliation/import-discovered:
    post:
      operationId: import_discovered_onus_olts__olt_id__reconciliation_import_discovered_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Import Discovered Onus
      tags:
      - OLT
  /olts/{olt_id}/restore:
    post:
      operationId: restore_olt_config_olts__olt_id__restore_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Restore Olt Config
      tags:
      - OLT
  /olts/{olt_id}/snmp/community:
    post:
      operationId: configure_snmp_community_olts__olt_id__snmp_community_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Configure Snmp Community
      tags:
      - OLT
  /olts/{olt_id}/snmp/current:
    get:
      operationId: get_current_snmp_olts__olt_id__snmp_current_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Current Snmp
      tags:
      - OLT
  /olts/{olt_id}/snmp/trap:
    delete:
      operationId: remove_snmp_trap_olts__olt_id__snmp_trap_delete
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Snmp Trap
      tags:
      - OLT
    post:
      operationId: configure_snmp_trap_olts__olt_id__snmp_trap_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Configure Snmp Trap
      tags:
      - OLT
  /olts/{olt_id}/status:
    get:
      operationId: get_olt_status_olts__olt_id__status_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Olt Status
      tags:
      - OLT
  /olts/{olt_id}/sync:
    post:
      operationId: sync_olt_state_olts__olt_id__sync_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Sync Olt State
      tags:
      - OLT
  /olts/{olt_id}/system/current:
    get:
      operationId: get_current_system_olts__olt_id__system_current_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Current System
      tags:
      - OLT
  /olts/{olt_id}/system/dns:
    put:
      operationId: set_olt_dns_olts__olt_id__system_dns_put
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Olt Dns
      tags:
      - OLT
  /olts/{olt_id}/system/hostname:
    put:
      operationId: set_olt_hostname_olts__olt_id__system_hostname_put
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Olt Hostname
      tags:
      - OLT
  /olts/{olt_id}/system/ntp:
    put:
      operationId: set_olt_ntp_olts__olt_id__system_ntp_put
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Olt Ntp
      tags:
      - OLT
  /olts/{olt_id}/test-connection:
    post:
      operationId: test_olt_connection_olts__olt_id__test_connection_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Test Olt Connection
      tags:
      - OLT
  /olts/{olt_id}/vlans:
    get:
      operationId: list_olt_vlans_olts__olt_id__vlans_get
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Olt Vlans
      tags:
      - OLT
    post:
      operationId: create_olt_vlan_olts__olt_id__vlans_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Olt Vlan
      tags:
      - OLT
  /olts/{olt_id}/vlans/assign-port:
    post:
      operationId: assign_vlan_to_port_olts__olt_id__vlans_assign_port_post
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Vlan To Port
      tags:
      - OLT
  /olts/{olt_id}/vlans/{vlan_id}:
    delete:
      operationId: delete_olt_vlan_olts__olt_id__vlans__vlan_id__delete
      parameters:
      - in: path
        name: olt_id
        required: true
        schema:
          title: Olt Id
          type: string
      - in: path
        name: vlan_id
        required: true
        schema:
          title: Vlan Id
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Olt Vlan
      tags:
      - OLT
  /onboarding/sessions:
    get:
      operationId: list_sessions_onboarding_sessions_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Sessions
      tags:
      - Onboarding
    post:
      operationId: create_session_onboarding_sessions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingSessionCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Session
      tags:
      - Onboarding
  /onboarding/sessions/{session_id}:
    delete:
      operationId: delete_session_onboarding_sessions__session_id__delete
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Session
      tags:
      - Onboarding
    get:
      operationId: get_session_onboarding_sessions__session_id__get
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Session
      tags:
      - Onboarding
    put:
      operationId: update_session_onboarding_sessions__session_id__put
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingSessionUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Session
      tags:
      - Onboarding
  /onboarding/sessions/{session_id}/analyze:
    post:
      operationId: analyze_session_onboarding_sessions__session_id__analyze_post
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Analyze Session
      tags:
      - Onboarding
  /onboarding/sessions/{session_id}/apply:
    post:
      operationId: apply_session_onboarding_sessions__session_id__apply_post
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Apply Session
      tags:
      - Onboarding
  /onboarding/sessions/{session_id}/dry-run:
    post:
      operationId: dry_run_session_onboarding_sessions__session_id__dry_run_post
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Dry Run Session
      tags:
      - Onboarding
  /onboarding/sessions/{session_id}/normalize:
    post:
      operationId: normalize_session_onboarding_sessions__session_id__normalize_post
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Normalize Session
      tags:
      - Onboarding
  /onboarding/sessions/{session_id}/rollback:
    post:
      operationId: rollback_session_onboarding_sessions__session_id__rollback_post
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Rollback Session
      tags:
      - Onboarding
  /onboarding/sessions/{session_id}/step/{step_name}:
    put:
      operationId: update_step_onboarding_sessions__session_id__step__step_name__put
      parameters:
      - in: path
        name: session_id
        required: true
        schema:
          title: Session Id
          type: string
      - in: path
        name: step_name
        required: true
        schema:
          title: Step Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Step
      tags:
      - Onboarding
  /onu/{onu_id}/certify:
    post:
      description: 'Run full installation certification: ONU status, optical power,
        ping test.'
      operationId: onu_certify_onu__onu_id__certify_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Onu Certify
      tags:
      - ONU
  /onus:
    get:
      operationId: list_onus_onus_get
      parameters:
      - in: query
        name: olt_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Olt Id
      - in: query
        name: subscriber_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Subscriber Id
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Onus
      tags:
      - ONU
    post:
      operationId: create_onu_onus_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ONUCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Onu
      tags:
      - ONU
  /onus/bulk-remove-from-olt:
    post:
      operationId: bulk_remove_onus_from_olt_onus_bulk_remove_from_olt_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Bulk Remove Onus From Olt
      tags:
      - ONU
  /onus/capabilities/{olt_vendor}:
    get:
      operationId: get_onu_capabilities_onus_capabilities__olt_vendor__get
      parameters:
      - in: path
        name: olt_vendor
        required: true
        schema:
          title: Olt Vendor
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Onu Capabilities
      tags:
      - ONU
  /onus/vendors:
    get:
      operationId: list_onu_vendors_onus_vendors_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: List Onu Vendors
      tags:
      - ONU
  /onus/{id}/acs-status:
    get:
      operationId: onu_acs_status_onus__id__acs_status_get
      parameters:
      - in: path
        name: id
        required: true
        schema:
          title: Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Onu Acs Status
      tags:
      - ONU
  /onus/{id}/sync-acs:
    post:
      operationId: onu_sync_acs_onus__id__sync_acs_post
      parameters:
      - in: path
        name: id
        required: true
        schema:
          title: Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Onu Sync Acs
      tags:
      - ONU
  /onus/{id}/wifi:
    post:
      operationId: onu_configure_wifi_onus__id__wifi_post
      parameters:
      - in: path
        name: id
        required: true
        schema:
          title: Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnuWifiConfig'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Onu Configure Wifi
      tags:
      - ONU
  /onus/{onu_id}:
    delete:
      operationId: delete_onu_onus__onu_id__delete
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Onu
      tags:
      - ONU
    get:
      operationId: get_onu_onus__onu_id__get
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Onu
      tags:
      - ONU
    put:
      operationId: update_onu_onus__onu_id__put
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ONUUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Onu
      tags:
      - ONU
  /onus/{onu_id}/assign-client:
    put:
      operationId: assign_onu_client_onus__onu_id__assign_client_put
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Onu Client
      tags:
      - ONU
  /onus/{onu_id}/assign-profile:
    put:
      operationId: assign_onu_profile_onus__onu_id__assign_profile_put
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Onu Profile
      tags:
      - ONU
  /onus/{onu_id}/detect:
    post:
      operationId: detect_onu_vendor_onus__onu_id__detect_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Detect Onu Vendor
      tags:
      - ONU
  /onus/{onu_id}/factory-reset:
    post:
      operationId: remote_factory_reset_onu_onus__onu_id__factory_reset_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remote Factory Reset Onu
      tags:
      - ONU
  /onus/{onu_id}/full-provision:
    post:
      operationId: full_provision_onu_onus__onu_id__full_provision_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Full Provision Onu
      tags:
      - ONU
  /onus/{onu_id}/label:
    post:
      operationId: generate_onu_label_onus__onu_id__label_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Generate Onu Label
      tags:
      - ONU
  /onus/{onu_id}/label/regenerate-wifi:
    post:
      operationId: regenerate_onu_wifi_onus__onu_id__label_regenerate_wifi_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Regenerate Onu Wifi
      tags:
      - ONU
  /onus/{onu_id}/provision:
    post:
      operationId: provision_onu_onus__onu_id__provision_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ONUProvision'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Provision Onu
      tags:
      - ONU
  /onus/{onu_id}/reboot:
    post:
      operationId: remote_reboot_onu_onus__onu_id__reboot_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remote Reboot Onu
      tags:
      - ONU
  /onus/{onu_id}/register:
    post:
      operationId: register_onu_onus__onu_id__register_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Register Onu
      tags:
      - ONU
  /onus/{onu_id}/remove-from-olt:
    post:
      operationId: remove_onu_from_olt_onus__onu_id__remove_from_olt_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Onu From Olt
      tags:
      - ONU
  /onus/{onu_id}/sticker:
    get:
      operationId: onu_sticker_onus__onu_id__sticker_get
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      - in: query
        name: format
        required: false
        schema:
          default: png
          pattern: ^(svg|png)$
          title: Format
          type: string
      - in: query
        name: ssid_2g
        required: false
        schema:
          default: ''
          title: Ssid 2G
          type: string
      - in: query
        name: password_2g
        required: false
        schema:
          default: ''
          title: Password 2G
          type: string
      - in: query
        name: ssid_5g
        required: false
        schema:
          default: ''
          title: Ssid 5G
          type: string
      - in: query
        name: password_5g
        required: false
        schema:
          default: ''
          title: Password 5G
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Onu Sticker
      tags:
      - ONU
  /onus/{onu_id}/toggle-active:
    post:
      operationId: toggle_onu_active_onus__onu_id__toggle_active_post
      parameters:
      - in: path
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Toggle Onu Active
      tags:
      - ONU
  /openapi.yaml:
    get:
      operationId: openapi_yaml_openapi_yaml_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Openapi Yaml
  /payments/adjustments/{invoice_id}:
    get:
      operationId: list_invoice_adjustments_payments_adjustments__invoice_id__get
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Invoice Adjustments
      tags:
      - Payments
  /payments/invoice/{invoice_id}:
    get:
      operationId: list_invoice_payments_payments_invoice__invoice_id__get
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Invoice Payments
      tags:
      - Payments
  /payments/pay-invoice/{invoice_id}:
    post:
      operationId: pay_invoice_payments_pay_invoice__invoice_id__post
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Pay Invoice
      tags:
      - Payments
  /plans:
    get:
      operationId: list_plans_plans_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Plans
      tags:
      - Plans
    post:
      operationId: create_plan_plans_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlanCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Plan
      tags:
      - Plans
  /plans/{plan_id}:
    delete:
      operationId: delete_plan_plans__plan_id__delete
      parameters:
      - in: path
        name: plan_id
        required: true
        schema:
          title: Plan Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Plan
      tags:
      - Plans
    get:
      operationId: get_plan_plans__plan_id__get
      parameters:
      - in: path
        name: plan_id
        required: true
        schema:
          title: Plan Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Plan
      tags:
      - Plans
    put:
      operationId: update_plan_plans__plan_id__put
      parameters:
      - in: path
        name: plan_id
        required: true
        schema:
          title: Plan Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlanUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Plan
      tags:
      - Plans
  /portal/account:
    get:
      operationId: portal_account_portal_account_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Portal Account
      tags:
      - Portal
  /portal/change-password:
    put:
      operationId: portal_change_password_portal_change_password_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortalPasswordChange'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Change Password
      tags:
      - Portal
  /portal/change-plan:
    post:
      operationId: portal_change_plan_portal_change_plan_post
      parameters:
      - in: query
        name: plan_id
        required: true
        schema:
          title: Plan Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Change Plan
      tags:
      - Portal
  /portal/invoices:
    get:
      operationId: portal_invoices_portal_invoices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Portal Invoices
      tags:
      - Portal
  /portal/invoices/{invoice_id}/confirm:
    post:
      operationId: portal_confirm_payment_portal_invoices__invoice_id__confirm_post
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Confirm Payment
      tags:
      - Portal
  /portal/invoices/{invoice_id}/pay:
    post:
      operationId: portal_pay_invoice_portal_invoices__invoice_id__pay_post
      parameters:
      - in: path
        name: invoice_id
        required: true
        schema:
          title: Invoice Id
          type: string
      - in: query
        name: gateway
        required: false
        schema:
          default: mercadopago
          title: Gateway
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Pay Invoice
      tags:
      - Portal
  /portal/login:
    post:
      operationId: portal_login_portal_login_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortalLoginRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Portal Login
      tags:
      - Portal
  /portal/me:
    get:
      operationId: portal_me_portal_me_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Portal Me
      tags:
      - Portal
    put:
      operationId: portal_update_profile_portal_me_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortalProfileUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Update Profile
      tags:
      - Portal
  /portal/payments:
    get:
      operationId: portal_payments_portal_payments_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Portal Payments
      tags:
      - Portal
  /portal/plans:
    get:
      operationId: portal_list_plans_portal_plans_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Portal List Plans
      tags:
      - Portal
  /portal/service-status:
    get:
      operationId: portal_service_status_portal_service_status_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Portal Service Status
      tags:
      - Portal
  /portal/tickets:
    get:
      operationId: portal_list_tickets_portal_tickets_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Portal List Tickets
      tags:
      - Portal
    post:
      operationId: portal_create_ticket_portal_tickets_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortalTicketCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Create Ticket
      tags:
      - Portal
  /portal/tickets/{ticket_id}/comments:
    get:
      operationId: portal_ticket_comments_portal_tickets__ticket_id__comments_get
      parameters:
      - in: path
        name: ticket_id
        required: true
        schema:
          title: Ticket Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Ticket Comments
      tags:
      - Portal
    post:
      operationId: portal_create_comment_portal_tickets__ticket_id__comments_post
      parameters:
      - in: path
        name: ticket_id
        required: true
        schema:
          title: Ticket Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketCommentCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Portal Create Comment
      tags:
      - Portal
  /power/devices:
    get:
      operationId: list_power_devices_power_devices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Power Devices
      tags:
      - Power
    post:
      operationId: create_power_device_power_devices_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PowerDeviceCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Power Device
      tags:
      - Power
  /power/devices/{device_id}:
    get:
      operationId: get_power_device_power_devices__device_id__get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Power Device
      tags:
      - Power
  /power/devices/{device_id}/metrics:
    get:
      operationId: get_power_metrics_power_devices__device_id__metrics_get
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          title: Hours
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Power Metrics
      tags:
      - Power
  /power/devices/{device_id}/poll:
    post:
      operationId: poll_device_power_devices__device_id__poll_post
      parameters:
      - in: path
        name: device_id
        required: true
        schema:
          title: Device Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Poll Device
      tags:
      - Power
  /public/plans:
    get:
      description: Public endpoint for landing page - returns active, visible plans
        only.
      operationId: public_plans_public_plans_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Public Plans
      tags:
      - Master
  /security/audit-logs:
    get:
      operationId: list_audit_logs_security_audit_logs_get
      parameters:
      - description: Filter by action
        in: query
        name: action
        required: false
        schema:
          description: Filter by action
          title: Action
          type: string
      - description: Filter by resource
        in: query
        name: resource
        required: false
        schema:
          description: Filter by resource
          title: Resource
          type: string
      - in: query
        name: limit
        required: false
        schema:
          default: 100
          maximum: 500
          minimum: 1
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        schema:
          default: 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Audit Logs
      tags:
      - Security
      - Security
  /security/audit-logs/summary:
    get:
      operationId: audit_log_summary_security_audit_logs_summary_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Audit Log Summary
      tags:
      - Security
      - Security
  /security/mfa/disable:
    post:
      operationId: disable_mfa_security_mfa_disable_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MFADisableIn'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Disable Mfa
      tags:
      - Security
      - Security
  /security/mfa/setup:
    post:
      operationId: setup_mfa_security_mfa_setup_post
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MFASetupOut'
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Setup Mfa
      tags:
      - Security
      - Security
  /security/mfa/status:
    get:
      operationId: mfa_status_security_mfa_status_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Mfa Status
      tags:
      - Security
      - Security
  /security/mfa/verify:
    post:
      operationId: verify_mfa_security_mfa_verify_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MFAVerifyIn'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Verify Mfa
      tags:
      - Security
      - Security
  /security/permissions:
    get:
      operationId: list_permissions_security_permissions_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Permissions
      tags:
      - Security
      - Security
  /security/roles:
    get:
      operationId: list_roles_security_roles_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Roles
      tags:
      - Security
      - Security
    post:
      operationId: create_role_security_roles_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Role
      tags:
      - Security
      - Security
  /security/roles/{role_id}:
    delete:
      operationId: delete_role_security_roles__role_id__delete
      parameters:
      - in: path
        name: role_id
        required: true
        schema:
          title: Role Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Role
      tags:
      - Security
      - Security
    put:
      operationId: update_role_security_roles__role_id__put
      parameters:
      - in: path
        name: role_id
        required: true
        schema:
          title: Role Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Role
      tags:
      - Security
      - Security
  /security/roles/{role_id}/permissions:
    get:
      operationId: get_role_permissions_security_roles__role_id__permissions_get
      parameters:
      - in: path
        name: role_id
        required: true
        schema:
          title: Role Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Role Permissions
      tags:
      - Security
      - Security
    post:
      operationId: assign_permissions_security_roles__role_id__permissions_post
      parameters:
      - in: path
        name: role_id
        required: true
        schema:
          title: Role Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionAssign'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Permissions
      tags:
      - Security
      - Security
  /security/users:
    get:
      operationId: list_users_security_users_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Users
      tags:
      - Security
      - Security
  /security/users/{user_id}/roles:
    put:
      operationId: assign_user_roles_security_users__user_id__roles_put
      parameters:
      - in: path
        name: user_id
        required: true
        schema:
          title: User Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleAssign'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign User Roles
      tags:
      - Security
      - Security
  /service-orders:
    get:
      operationId: list_service_orders_service_orders_get
      parameters:
      - in: query
        name: status
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      - in: query
        name: activation_type
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Activation Type
      - in: query
        name: assigned_to_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To Id
      - in: query
        name: search
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Service Orders
      tags:
      - Service Orders
    post:
      operationId: create_service_order_service_orders_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceOrderCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Service Order
      tags:
      - Service Orders
  /service-orders/{order_id}:
    delete:
      operationId: delete_service_order_service_orders__order_id__delete
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          title: Order Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Service Order
      tags:
      - Service Orders
    get:
      operationId: get_service_order_service_orders__order_id__get
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          title: Order Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Service Order
      tags:
      - Service Orders
    put:
      operationId: update_service_order_service_orders__order_id__put
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          title: Order Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceOrderUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Service Order
      tags:
      - Service Orders
  /service-orders/{order_id}/assign:
    post:
      operationId: assign_service_order_service_orders__order_id__assign_post
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          title: Order Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Service Order
      tags:
      - Service Orders
  /service-orders/{order_id}/status:
    post:
      operationId: transition_service_order_status_service_orders__order_id__status_post
      parameters:
      - in: path
        name: order_id
        required: true
        schema:
          title: Order Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceOrderStatusUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Transition Service Order Status
      tags:
      - Service Orders
  /sites:
    get:
      operationId: list_sites_sites_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Sites
      tags:
      - Sites
    post:
      operationId: create_site_sites_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteCreate'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Site
      tags:
      - Sites
  /sites/{site_id}:
    delete:
      operationId: delete_site_sites__site_id__delete
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          title: Site Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Site
      tags:
      - Sites
    get:
      operationId: get_site_sites__site_id__get
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          title: Site Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Site
      tags:
      - Sites
    put:
      operationId: update_site_sites__site_id__put
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          title: Site Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Site
      tags:
      - Sites
  /sla-policies:
    get:
      operationId: list_sla_policies_sla_policies_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Sla Policies
      tags:
      - Helpdesk
    post:
      operationId: create_sla_policy_sla_policies_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlaPolicyCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Sla Policy
      tags:
      - Helpdesk
  /sla-policies/{policy_id}:
    delete:
      operationId: delete_sla_policy_sla_policies__policy_id__delete
      parameters:
      - in: path
        name: policy_id
        required: true
        schema:
          title: Policy Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Sla Policy
      tags:
      - Helpdesk
    put:
      operationId: update_sla_policy_sla_policies__policy_id__put
      parameters:
      - in: path
        name: policy_id
        required: true
        schema:
          title: Policy Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlaPolicyUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Sla Policy
      tags:
      - Helpdesk
  /sla/compliance:
    get:
      operationId: sla_compliance_sla_compliance_get
      parameters:
      - in: query
        name: month
        required: false
        schema:
          pattern: ^\d{4}-\d{2}$
          title: Month
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Sla Compliance
      tags:
      - Helpdesk
  /splitters:
    get:
      operationId: list_splitters_splitters_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SplitterResponse'
                title: Response List Splitters Splitters Get
                type: array
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Splitters
      tags:
      - Mapeado
    post:
      operationId: create_splitter_splitters_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitterCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitterResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Splitter
      tags:
      - Mapeado
  /splitters/ports/{port_id}:
    put:
      operationId: update_splitter_port_splitters_ports__port_id__put
      parameters:
      - in: path
        name: port_id
        required: true
        schema:
          title: Port Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Splitter Port
      tags:
      - Mapeado
  /splitters/{splitter_id}:
    delete:
      operationId: delete_splitter_splitters__splitter_id__delete
      parameters:
      - in: path
        name: splitter_id
        required: true
        schema:
          title: Splitter Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Splitter
      tags:
      - Mapeado
    put:
      operationId: update_splitter_splitters__splitter_id__put
      parameters:
      - in: path
        name: splitter_id
        required: true
        schema:
          title: Splitter Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitterUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitterResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Splitter
      tags:
      - Mapeado
  /splitters/{splitter_id}/ports:
    get:
      operationId: list_splitter_ports_splitters__splitter_id__ports_get
      parameters:
      - in: path
        name: splitter_id
        required: true
        schema:
          title: Splitter Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SplitterPortResponse'
                title: Response List Splitter Ports Splitters  Splitter Id  Ports
                  Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Splitter Ports
      tags:
      - Mapeado
  /subscribers:
    get:
      operationId: list_subscribers_subscribers_get
      parameters:
      - in: query
        name: search
        required: false
        schema:
          title: Search
          type: string
      - in: query
        name: per_page
        required: false
        schema:
          default: 100
          title: Per Page
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Subscribers
      tags:
      - Subscribers
    post:
      operationId: create_subscriber_subscribers_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriberCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Subscriber
      tags:
      - Subscribers
  /subscribers/{subscriber_id}:
    delete:
      operationId: delete_subscriber_subscribers__subscriber_id__delete
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Subscriber
      tags:
      - Subscribers
    get:
      operationId: get_subscriber_subscribers__subscriber_id__get
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Subscriber
      tags:
      - Subscribers
    put:
      operationId: update_subscriber_subscribers__subscriber_id__put
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriberUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Subscriber
      tags:
      - Subscribers
  /subscribers/{subscriber_id}/assign-onu:
    post:
      operationId: assign_onu_subscribers__subscriber_id__assign_onu_post
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      - in: query
        name: onu_id
        required: true
        schema:
          title: Onu Id
          type: string
      - in: query
        name: pon_port
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Pon Port
      - in: query
        name: vlan_id
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Vlan Id
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Onu
      tags:
      - Subscribers
  /subscribers/{subscriber_id}/provision-ipv6:
    post:
      operationId: provision_ipv6_subscribers__subscriber_id__provision_ipv6_post
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Provision Ipv6
      tags:
      - Subscribers
  /subscribers/{subscriber_id}/speed-test:
    post:
      description: Run speed test from the subscriber's router to validate contracted
        speed.
      operationId: speed_test_subscriber_subscribers__subscriber_id__speed_test_post
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Speed Test Subscriber
      tags:
      - ONU
  /subscribers/{subscriber_id}/suspend:
    post:
      operationId: suspend_subscriber_subscribers__subscriber_id__suspend_post
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/app__routers__subscribers__SuspendBody'
              default:
                mode: total
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Suspend Subscriber
      tags:
      - Subscribers
  /subscribers/{subscriber_id}/unsuspend:
    post:
      operationId: unsuspend_subscriber_subscribers__subscriber_id__unsuspend_post
      parameters:
      - in: path
        name: subscriber_id
        required: true
        schema:
          title: Subscriber Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnsuspendBody'
              default: {}
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Unsuspend Subscriber
      tags:
      - Subscribers
  /support/groups:
    get:
      operationId: list_groups_support_groups_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Groups
      tags:
      - Helpdesk
    post:
      operationId: create_group_support_groups_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupportGroupCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Group
      tags:
      - Helpdesk
  /support/groups/{group_id}:
    delete:
      operationId: delete_group_support_groups__group_id__delete
      parameters:
      - in: path
        name: group_id
        required: true
        schema:
          title: Group Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Group
      tags:
      - Helpdesk
    put:
      operationId: update_group_support_groups__group_id__put
      parameters:
      - in: path
        name: group_id
        required: true
        schema:
          title: Group Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupportGroupUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Group
      tags:
      - Helpdesk
  /support/groups/{group_id}/members:
    get:
      operationId: list_members_support_groups__group_id__members_get
      parameters:
      - in: path
        name: group_id
        required: true
        schema:
          title: Group Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Members
      tags:
      - Helpdesk
    post:
      operationId: add_member_support_groups__group_id__members_post
      parameters:
      - in: path
        name: group_id
        required: true
        schema:
          title: Group Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupMemberAdd'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add Member
      tags:
      - Helpdesk
  /support/groups/{group_id}/members/{user_id}:
    delete:
      operationId: remove_member_support_groups__group_id__members__user_id__delete
      parameters:
      - in: path
        name: group_id
        required: true
        schema:
          title: Group Id
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          title: User Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Member
      tags:
      - Helpdesk
  /tenant/branding:
    get:
      operationId: get_tenant_branding_tenant_branding_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Get Tenant Branding
      tags:
      - Tenant
    put:
      operationId: update_tenant_branding_tenant_branding_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantBrandingUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Tenant Branding
      tags:
      - Tenant
  /tenant/modules:
    put:
      operationId: update_tenant_modules_tenant_modules_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModulesUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Tenant Modules
      tags:
      - Tenant
  /tenant/renew:
    post:
      operationId: renew_subscription_tenant_renew_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenewRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Renew Subscription
      tags:
      - Tenant
  /tenant/smtp:
    post:
      operationId: save_smtp_config_tenant_smtp_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmtpConfigUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Save Smtp Config
      tags:
      - Tenant
  /tenant/subscription:
    get:
      operationId: get_subscription_tenant_subscription_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Get Subscription
      tags:
      - Tenant
  /tenant/test-smtp:
    post:
      operationId: test_smtp_tenant_test_smtp_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Test Smtp
      tags:
      - Tenant
  /tickets:
    get:
      operationId: list_tickets_tickets_get
      parameters:
      - in: query
        name: status
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      - in: query
        name: priority
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Priority
      - in: query
        name: group_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Id
      - in: query
        name: assigned_to
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Assigned To
      - in: query
        name: search
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Tickets
      tags:
      - Tickets
    post:
      operationId: create_ticket_tickets_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Ticket
      tags:
      - Tickets
  /tickets/{ticket_id}:
    delete:
      operationId: delete_ticket_tickets__ticket_id__delete
      parameters:
      - in: path
        name: ticket_id
        required: true
        schema:
          title: Ticket Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Ticket
      tags:
      - Tickets
    get:
      operationId: get_ticket_tickets__ticket_id__get
      parameters:
      - in: path
        name: ticket_id
        required: true
        schema:
          title: Ticket Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Ticket
      tags:
      - Tickets
    put:
      operationId: update_ticket_tickets__ticket_id__put
      parameters:
      - in: path
        name: ticket_id
        required: true
        schema:
          title: Ticket Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Ticket
      tags:
      - Tickets
  /tickets/{ticket_id}/comments:
    get:
      operationId: list_comments_tickets__ticket_id__comments_get
      parameters:
      - in: path
        name: ticket_id
        required: true
        schema:
          title: Ticket Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Comments
      tags:
      - Helpdesk
    post:
      operationId: create_comment_tickets__ticket_id__comments_post
      parameters:
      - in: path
        name: ticket_id
        required: true
        schema:
          title: Ticket Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketCommentCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Comment
      tags:
      - Helpdesk
  /topology/dashboard:
    get:
      operationId: topology_dashboard_topology_dashboard_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Topology Dashboard
      tags:
      - Topology Engine
      - Topology Engine
  /topology/devices:
    get:
      operationId: list_topology_devices_topology_devices_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Topology Devices
      tags:
      - Topology
  /topology/links:
    post:
      operationId: create_link_topology_links_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Link
      tags:
      - Topology Engine
      - Topology Engine
  /topology/links/{link_id}:
    delete:
      operationId: delete_link_topology_links__link_id__delete
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Link
      tags:
      - Topology Engine
      - Topology Engine
    put:
      operationId: update_link_topology_links__link_id__put
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Link
      tags:
      - Topology Engine
      - Topology Engine
  /topology/live:
    get:
      description: Live data for the default view, or first available view.
      operationId: get_default_live_topology_live_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Get Default Live
      tags:
      - Topology Engine
      - Topology Engine
  /topology/metrics:
    get:
      operationId: list_topology_metrics_topology_metrics_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Topology Metrics
      tags:
      - Topology
  /topology/views:
    get:
      operationId: list_views_topology_views_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Views
      tags:
      - Topology Engine
      - Topology Engine
    post:
      operationId: create_view_topology_views_post
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create View
      tags:
      - Topology Engine
      - Topology Engine
  /topology/views/{view_id}:
    delete:
      operationId: delete_view_topology_views__view_id__delete
      parameters:
      - in: path
        name: view_id
        required: true
        schema:
          title: View Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete View
      tags:
      - Topology Engine
      - Topology Engine
    get:
      operationId: get_view_topology_views__view_id__get
      parameters:
      - in: path
        name: view_id
        required: true
        schema:
          title: View Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get View
      tags:
      - Topology Engine
      - Topology Engine
    put:
      operationId: update_view_topology_views__view_id__put
      parameters:
      - in: path
        name: view_id
        required: true
        schema:
          title: View Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Body
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update View
      tags:
      - Topology Engine
      - Topology Engine
  /topology/views/{view_id}/live:
    get:
      operationId: get_view_live_topology_views__view_id__live_get
      parameters:
      - in: path
        name: view_id
        required: true
        schema:
          title: View Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get View Live
      tags:
      - Topology Engine
      - Topology Engine
  /vpn/peers:
    get:
      operationId: list_peers_vpn_peers_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Peers
      tags:
      - VPN
      - VPN
    post:
      operationId: create_peer_vpn_peers_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePeerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Peer
      tags:
      - VPN
      - VPN
  /vpn/peers/{peer_id}:
    delete:
      operationId: delete_peer_vpn_peers__peer_id__delete
      parameters:
      - in: path
        name: peer_id
        required: true
        schema:
          title: Peer Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Peer
      tags:
      - VPN
      - VPN
  /vpn/peers/{peer_id}/discover-lans:
    post:
      operationId: rediscover_lans_vpn_peers__peer_id__discover_lans_post
      parameters:
      - in: path
        name: peer_id
        required: true
        schema:
          title: Peer Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Rediscover Lans
      tags:
      - VPN
      - VPN
  /vpn/peers/{peer_id}/lans:
    delete:
      operationId: remove_lan_vpn_peers__peer_id__lans_delete
      parameters:
      - in: path
        name: peer_id
        required: true
        schema:
          title: Peer Id
          type: string
      - description: Subnet to remove
        in: query
        name: subnet
        required: true
        schema:
          description: Subnet to remove
          title: Subnet
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Lan
      tags:
      - VPN
      - VPN
    post:
      operationId: add_lan_manual_vpn_peers__peer_id__lans_post
      parameters:
      - in: path
        name: peer_id
        required: true
        schema:
          title: Peer Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddLanRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add Lan Manual
      tags:
      - VPN
      - VPN
  /vpn/sites:
    get:
      operationId: list_sites_vpn_sites_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Sites
      tags:
      - VPN
      - VPN
  /vpn/status:
    get:
      operationId: vpn_status_vpn_status_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Vpn Status
      tags:
      - VPN
      - VPN
  /webhook-deliveries:
    get:
      operationId: list_deliveries_webhook_deliveries_get
      parameters:
      - in: query
        name: webhook_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Webhook Id
      - in: query
        name: limit
        required: false
        schema:
          default: 50
          maximum: 200
          minimum: 1
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Deliveries
      tags:
      - Webhooks
  /webhooks:
    get:
      operationId: list_webhooks_webhooks_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Webhooks
      tags:
      - Webhooks
    post:
      operationId: create_webhook_webhooks_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookEndpointCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Webhook
      tags:
      - Webhooks
  /webhooks/{webhook_id}:
    delete:
      operationId: delete_webhook_webhooks__webhook_id__delete
      parameters:
      - in: path
        name: webhook_id
        required: true
        schema:
          title: Webhook Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Webhook
      tags:
      - Webhooks
    get:
      operationId: get_webhook_webhooks__webhook_id__get
      parameters:
      - in: path
        name: webhook_id
        required: true
        schema:
          title: Webhook Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Webhook
      tags:
      - Webhooks
    put:
      operationId: update_webhook_webhooks__webhook_id__put
      parameters:
      - in: path
        name: webhook_id
        required: true
        schema:
          title: Webhook Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookEndpointUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Webhook
      tags:
      - Webhooks
  /wireless/links:
    get:
      operationId: list_links_wireless_links_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Links
      tags:
      - Wireless
    post:
      operationId: create_link_wireless_links_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WirelessLinkCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Link
      tags:
      - Wireless
  /wireless/links/{link_id}:
    delete:
      operationId: delete_link_wireless_links__link_id__delete
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Link
      tags:
      - Wireless
    get:
      operationId: get_link_wireless_links__link_id__get
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Link
      tags:
      - Wireless
    put:
      operationId: update_link_wireless_links__link_id__put
      parameters:
      - in: path
        name: link_id
        required: true
        schema:
          title: Link Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WirelessLinkUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Link
      tags:
      - Wireless
  /wireless/los:
    post:
      operationId: los_endpoint_wireless_los_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LosRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Los Endpoint
      tags:
      - Wireless
  /wireless/metrics:
    get:
      operationId: get_wireless_metrics_wireless_metrics_get
      parameters:
      - in: query
        name: sector_id
        required: true
        schema:
          format: uuid
          title: Sector Id
          type: string
      - in: query
        name: hours
        required: false
        schema:
          default: 24
          maximum: 168
          minimum: 1
          title: Hours
          type: integer
      - in: query
        name: limit
        required: false
        schema:
          default: 1000
          maximum: 5000
          minimum: 1
          title: Limit
          type: integer
      - in: query
        name: offset
        required: false
        schema:
          default: 0
          minimum: 0
          title: Offset
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WirelessMetricListResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Wireless Metrics
      tags:
      - Wireless
  /wireless/metrics/latest:
    get:
      operationId: get_latest_metric_wireless_metrics_latest_get
      parameters:
      - in: query
        name: sector_id
        required: true
        schema:
          format: uuid
          title: Sector Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/WirelessMetricResponse'
                - type: 'null'
                title: Response Get Latest Metric Wireless Metrics Latest Get
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Latest Metric
      tags:
      - Wireless
  /wireless/sectors:
    get:
      operationId: list_sectors_wireless_sectors_get
      parameters:
      - in: query
        name: tower_id
        required: false
        schema:
          title: Tower Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Sectors
      tags:
      - Wireless
    post:
      operationId: create_sector_wireless_sectors_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WirelessSectorCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Sector
      tags:
      - Wireless
  /wireless/sectors/poll:
    get:
      operationId: poll_sectors_wireless_sectors_poll_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: Poll Sectors
      tags:
      - Wireless
  /wireless/sectors/{sector_id}:
    delete:
      operationId: delete_sector_wireless_sectors__sector_id__delete
      parameters:
      - in: path
        name: sector_id
        required: true
        schema:
          title: Sector Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Sector
      tags:
      - Wireless
    get:
      operationId: get_sector_wireless_sectors__sector_id__get
      parameters:
      - in: path
        name: sector_id
        required: true
        schema:
          title: Sector Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Sector
      tags:
      - Wireless
    put:
      operationId: update_sector_wireless_sectors__sector_id__put
      parameters:
      - in: path
        name: sector_id
        required: true
        schema:
          title: Sector Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WirelessSectorUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Sector
      tags:
      - Wireless
  /wireless/towers:
    get:
      operationId: list_towers_wireless_towers_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Towers
      tags:
      - Wireless
    post:
      operationId: create_tower_wireless_towers_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TowerCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Tower
      tags:
      - Wireless
  /wireless/towers/{tower_id}:
    delete:
      operationId: delete_tower_wireless_towers__tower_id__delete
      parameters:
      - in: path
        name: tower_id
        required: true
        schema:
          title: Tower Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Tower
      tags:
      - Wireless
    get:
      operationId: get_tower_wireless_towers__tower_id__get
      parameters:
      - in: path
        name: tower_id
        required: true
        schema:
          title: Tower Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Tower
      tags:
      - Wireless
    put:
      operationId: update_tower_wireless_towers__tower_id__put
      parameters:
      - in: path
        name: tower_id
        required: true
        schema:
          title: Tower Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TowerUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Tower
      tags:
      - Wireless
  /wisp/installers:
    get:
      operationId: list_installers_wisp_installers_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Installers
      tags:
      - WISP Admin
      - WISP Admin
    post:
      operationId: create_installer_wisp_installers_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstallerBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Installer
      tags:
      - WISP Admin
      - WISP Admin
  /wisp/installers/{installer_id}:
    delete:
      operationId: delete_installer_wisp_installers__installer_id__delete
      parameters:
      - in: path
        name: installer_id
        required: true
        schema:
          title: Installer Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Installer
      tags:
      - WISP Admin
      - WISP Admin
    put:
      operationId: update_installer_wisp_installers__installer_id__put
      parameters:
      - in: path
        name: installer_id
        required: true
        schema:
          title: Installer Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInstallerBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Installer
      tags:
      - WISP Admin
      - WISP Admin
  /wisp/jobs:
    get:
      operationId: list_jobs_wisp_jobs_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Jobs
      tags:
      - WISP Admin
      - WISP Admin
  /wisp/jobs/{job_id}/assign:
    put:
      operationId: assign_job_wisp_jobs__job_id__assign_put
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          title: Job Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignJobBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Job
      tags:
      - WISP Admin
      - WISP Admin
servers:
- description: Current server
  url: /
tags:
- description: Authentication, login, token refresh, and user profile
  name: Auth
- description: CRUD for MikroTik routers and network devices
  name: Devices
- description: ISP subscriber management, provisioning, suspend/unsuspend
  name: Subscribers
- description: Service plan management (speed, price, profiles)
  name: Plans
- description: Invoice cycle, discounts, late fees, payment promises, overdue processing
  name: Billing
- description: Client self-service portal (pay, tickets, profile)
  name: Portal
- description: Manual payment registration and invoice reconciliation
  name: Payments
- description: 'NOC alerts: critical, warning, info with acknowledge and resolve'
  name: Alerts
- description: Network operations center KPIs, metrics, and dashboard data
  name: NOC
- description: GPON OLT management (VSOL, Huawei, ZTE)
  name: OLT
- description: ONU/ONT inventory, discovery, registration, and provisioning
  name: ONU
- description: GPON service profiles and VLAN configuration
  name: GPON
- description: GenieACS TR-069 integration for CPE management
  name: ACS
- description: Support ticket system with priority and assignment
  name: Tickets
- description: Backbone network links, latency, jitter, and packet loss monitoring
  name: Backbone
- description: Payment gateway integration (Stripe, MercadoPago)
  name: Gateways
- description: 'Advanced MikroTik services: DHCP, queues, firewall, BGP, IPv6'
  name: MikroTik Advanced
- description: Multi-tenant branding, settings, and configuration
  name: Tenant
- description: Fiber-to-the-home automatic activation workflow (7-step orchestration)
  name: FTTH
- description: Inventory and stock tracking for network equipment
  name: Equipment
- description: Event-driven webhooks for external integrations
  name: Webhooks
- description: 'Import existing network configuration: MikroTik PPPoE, queues, DHCP,
    firewall rules, and OLT ONUs'
  name: Import
- description: RBAC roles, permissions, audit logs, MFA/TOTP, rate limiting
  name: Security
- description: SNMP device monitoring, connectivity testing, and interface metrics
    collection
  name: SNMP
- description: 'GIS map layers: fibers, NAPs, poles, splices, routes, and redundancy
    rings'
  name: Mapeado
