{"openapi":"3.1.0","info":{"title":"Nimag Customer Portal API","description":"Customer-facing API for portal.nimag.net. Scoped strictly to the authenticated customer's own resources.","version":"1.0.0"},"paths":{"/me":{"get":{"tags":["Account"],"summary":"Who the key acts for","operationId":"read_me_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}}},"description":"The customer, the key's role, and `permissions`: what the key may do."}},"/account":{"get":{"tags":["Account"],"summary":"Account details","operationId":"get_account_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}}},"description":"Company details and billing contact, as Nimag invoices them.","x-permission":"account:read"}},"/account/countries":{"get":{"tags":["Account"],"summary":"Countries","operationId":"list_countries_account_countries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CountryResponse"},"type":"array","title":"Response List Countries Account Countries Get"}}}}},"description":"Country codes accepted in addresses.","x-permission":"account:read"}},"/account/billing":{"put":{"tags":["Account"],"summary":"Change the billing contact","operationId":"update_billing_account_billing_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Where invoices are sent: the company's own address, or a separate contact.","x-permission":"account:billing:manage"}},"/contracts":{"get":{"tags":["Contracts"],"summary":"Contracts","operationId":"list_contracts_contracts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ContractResponse"},"type":"array","title":"Response List Contracts Contracts Get"}}}}},"description":"Signed contracts, newest first, with a link to each document.","x-permission":"contract:read"}},"/housing":{"get":{"tags":["Housing"],"summary":"Housing","operationId":"housing_housing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HousingResponse"}}}}},"description":"The customer's racks and rack units.","x-permission":"housing:read"}},"/housing-plans":{"get":{"tags":["Housing"],"summary":"Housing plans","description":"","operationId":"housing_plans_housing_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HousingPlanInfo"},"type":"array","title":"Response Housing Plans Housing Plans Get"}}}}}}},"/dashboard":{"get":{"tags":["Account"],"summary":"Dashboard","operationId":"get_dashboard_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}}},"description":"Counts of services, the balance due and open tickets."}},"/services":{"get":{"tags":["Services"],"summary":"List services","operationId":"list_my_services_services_get","parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ServiceType"},{"type":"null"}],"title":"Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceResponse"},"title":"Response List My Services Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Every service of the customer. Filter with `type`."}},"/services/{service_id}":{"get":{"tags":["Services"],"summary":"A service","operationId":"get_my_service_services__service_id__get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":""}},"/sync":{"post":{"tags":["Services"],"summary":"Refresh the service list","description":"Brings the list in line with the systems the services run on. Rarely needed: it is kept up to date.","operationId":"sync_my_services_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncResponse"}}}}}}},"/summaries/vms":{"get":{"tags":["Services"],"summary":"Virtual machines at a glance","operationId":"vm_summaries_summaries_vms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VmSummaryResponse"}}}}},"description":"State, CPU, memory and disk of every virtual machine, in one call.","x-permission":"vm:read"}},"/summaries/mail-domains":{"get":{"tags":["Services"],"summary":"Mail domains at a glance","operationId":"mail_domain_summaries_summaries_mail_domains_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailDomainSummaryResponse"}}}}},"description":"Mailbox counts and storage of every mail domain, in one call.","x-permission":"mailbox:read"}},"/summaries/websites":{"get":{"tags":["Services"],"summary":"Websites at a glance","operationId":"website_summaries_summaries_websites_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSummaryResponse"}}}}},"description":"The web server of every website, in one call.","x-permission":"website:read"}},"/services/{service_id}/vm":{"get":{"tags":["Virtual machines"],"summary":"A virtual machine","operationId":"get_vm_services__service_id__vm_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualMachineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its state, resources and addresses.","x-permission":"vm:read"}},"/vps-plans":{"get":{"tags":["Virtual machines"],"summary":"Virtual server plans","description":"The plans a new virtual server can be ordered on.","operationId":"vps_plans_vps_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/VpsPlanInfo"},"type":"array","title":"Response Vps Plans Vps Plans Get"}}}}}}},"/services/{service_id}/vm/start":{"post":{"tags":["Virtual machines"],"summary":"Start","operationId":"start_vm_services__service_id__vm_start_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"vm:manage"}},"/services/{service_id}/vm/shutdown":{"post":{"tags":["Virtual machines"],"summary":"Shut down","operationId":"shutdown_vm_services__service_id__vm_shutdown_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Asks the operating system to shut down, as the power button would.","x-permission":"vm:manage"}},"/services/{service_id}/vm/reboot":{"post":{"tags":["Virtual machines"],"summary":"Reboot","operationId":"reboot_vm_services__service_id__vm_reboot_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Asks the operating system to restart.","x-permission":"vm:manage"}},"/services/{service_id}/vm/stop":{"post":{"tags":["Virtual machines"],"summary":"Stop","operationId":"stop_vm_services__service_id__vm_stop_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Cuts the power at once, without asking the operating system: unsaved work is lost.","x-permission":"vm:manage"}},"/network/subnets/{service_id}/ip-addresses":{"get":{"tags":["Network"],"summary":"Addresses of a subnet","operationId":"subnet_ip_addresses_network_subnets__service_id__ip_addresses_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpAddressListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"network:read"}},"/network/ip-addresses":{"get":{"tags":["Network"],"summary":"Other addresses","description":"The customer's addresses that are not part of one of its subnets.","operationId":"other_ip_addresses_network_ip_addresses_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpAddressListResponse"}}}}},"x-permission":"network:read"}},"/network/ip-addresses/{ip_id}/dns-name":{"put":{"tags":["Network"],"summary":"Set the reverse DNS","operationId":"set_reverse_dns_network_ip_addresses__ip_id__dns_name_put","parameters":[{"name":"ip_id","in":"path","required":true,"schema":{"type":"string","title":"Ip Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReverseDnsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpAddressResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"The name an address answers to (PTR). An empty name removes it.","x-permission":"network:reverse_dns:manage"}},"/services/{service_id}/dns-records":{"get":{"tags":["DNS"],"summary":"List records","operationId":"list_dns_records_services__service_id__dns_records_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DNSRecordResponse"},"title":"Response List Dns Records Services  Service Id  Dns Records Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"dns:manage"},"post":{"tags":["DNS"],"summary":"Add a record","operationId":"create_dns_record_services__service_id__dns_records_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DNSRecordCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DNSRecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"A, AAAA, CNAME, MX, TXT, SRV, CAA and NS records. Names are relative to the zone (`www`, `@`) or full names inside it.","x-permission":"dns:manage"}},"/services/{service_id}/dns-records/{record_id}":{"patch":{"tags":["DNS"],"summary":"Change a record","operationId":"update_dns_record_services__service_id__dns_records__record_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"record_id","in":"path","required":true,"schema":{"type":"string","title":"Record Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DNSRecordUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DNSRecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"dns:manage"},"delete":{"tags":["DNS"],"summary":"Delete a record","operationId":"delete_dns_record_services__service_id__dns_records__record_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"record_id","in":"path","required":true,"schema":{"type":"string","title":"Record Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"dns:manage"}},"/hosting/usage":{"get":{"tags":["Web hosting"],"summary":"Package usage","operationId":"hosting_usage_hosting_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostingUsageResponse"}}}}},"description":"Every limit of the hosting package, with what is used against it.","x-permission":"website:read"}},"/hosting-plans":{"get":{"tags":["Web hosting"],"summary":"Hosting plans","description":"The packages that can be ordered.","operationId":"hosting_plans_hosting_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HostingPlanInfo"},"type":"array","title":"Response Hosting Plans Hosting Plans Get"}}}}}}},"/services/{service_id}/object-storage":{"get":{"tags":["Object storage"],"summary":"A bucket","operationId":"get_object_storage_services__service_id__object_storage_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectStorageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its endpoint, size and usage.","x-permission":"storage:read"}},"/storage-plans":{"get":{"tags":["Object storage"],"summary":"Object storage plans","description":"","operationId":"storage_plans_storage_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/StoragePlanInfo"},"type":"array","title":"Response Storage Plans Storage Plans Get"}}}}}}},"/basket":{"get":{"tags":["Orders"],"summary":"The basket","operationId":"get_basket_basket_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}}}},"description":"What is in it, with prices.","x-permission":"ticket:manage"}},"/basket/conditions":{"get":{"tags":["Orders"],"summary":"Conditions to accept","description":"What must be accepted to place an order, and where to read it.","operationId":"get_conditions_basket_conditions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object","title":"Response Get Conditions Basket Conditions Get"}}}}},"x-permission":"ticket:manage"}},"/basket/items":{"post":{"tags":["Orders"],"summary":"Add to the basket","operationId":"add_to_basket_basket_items_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BasketItemAdd"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"ticket:manage"}},"/basket/items/{item_id}":{"delete":{"tags":["Orders"],"summary":"Remove from the basket","operationId":"remove_from_basket_basket_items__item_id__delete","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Item Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"ticket:manage"}},"/basket/place":{"post":{"tags":["Orders"],"summary":"Place the order","operationId":"place_order_basket_place_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPlace"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Orders what is in the basket. The order is binding: Nimag invoices it.","x-permission":"ticket:manage"}},"/orders":{"get":{"tags":["Orders"],"summary":"List orders","description":"Placed orders, newest first.","operationId":"list_orders_orders_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrderResponse"},"type":"array","title":"Response List Orders Orders Get"}}}}},"x-permission":"ticket:read"}},"/orders/{order_id}":{"get":{"tags":["Orders"],"summary":"An order","operationId":"get_order_orders__order_id__get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"ticket:read"}},"/domains/options":{"get":{"tags":["Domains"],"summary":"Domain prices","operationId":"domain_options_domains_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainOptionsResponse"}}}}},"description":"The extensions that can be registered, and their prices.","x-permission":"website:manage"}},"/domains/check":{"get":{"tags":["Domains"],"summary":"Is a domain free?","description":"Whether a domain can be registered now.","operationId":"check_domain_domains_check_get","parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-permission":"ticket:manage"}},"/domains/requests":{"get":{"tags":["Domains"],"summary":"List domain requests","operationId":"list_requests_domains_requests_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DomainRequestResponse"},"type":"array","title":"Response List Requests Domains Requests Get"}}}}},"description":"Registrations and transfers asked for, and where each stands.","x-permission":"website:read"},"post":{"tags":["Domains"],"summary":"Ask for a domain","operationId":"create_request_domains_requests_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequestCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"A registration, or a transfer from another registrar.","x-permission":"website:manage"}},"/domains/requests/{request_id}":{"get":{"tags":["Domains"],"summary":"A domain request","operationId":"get_request_domains_requests__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:read"},"delete":{"tags":["Domains"],"summary":"Cancel a domain request","operationId":"cancel_request_domains_requests__request_id__delete","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Only before Nimag has acted on it.","x-permission":"website:manage"}},"/domains/requests/{request_id}/verify":{"post":{"tags":["Domains"],"summary":"Check the domain's records","operationId":"verify_request_domains_requests__request_id__verify_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"For a transfer: whether the records the request asked for are in place.","x-permission":"website:manage"}},"/domains/requests/{request_id}/ask-approval":{"post":{"tags":["Domains"],"summary":"Send the approval email again","operationId":"ask_approval_domains_requests__request_id__ask_approval_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:manage"}},"/services/{service_id}/mailboxes":{"get":{"tags":["Email"],"summary":"List mailboxes","operationId":"list_domain_mailboxes_services__service_id__mailboxes_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MailboxResponse"},"title":"Response List Domain Mailboxes Services  Service Id  Mailboxes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"The mailboxes of a mail domain.","x-permission":"mailbox:read"},"post":{"tags":["Email"],"summary":"Create a mailbox","operationId":"create_domain_mailbox_services__service_id__mailboxes_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailboxCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailboxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Counted against the package's mailboxes and email storage.","x-permission":"mailbox:manage"}},"/services/{service_id}/mailboxes/{mailbox_id}":{"patch":{"tags":["Email"],"summary":"Change a mailbox","operationId":"update_domain_mailbox_services__service_id__mailboxes__mailbox_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"mailbox_id","in":"path","required":true,"schema":{"type":"string","title":"Mailbox Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailboxUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailboxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its password, quota, or whether it is active.","x-permission":"mailbox:manage"},"delete":{"tags":["Email"],"summary":"Delete a mailbox","operationId":"delete_domain_mailbox_services__service_id__mailboxes__mailbox_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"mailbox_id","in":"path","required":true,"schema":{"type":"string","title":"Mailbox Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its mail is deleted with it.","x-permission":"mailbox:manage"}},"/services/{service_id}/mail-forwarding":{"get":{"tags":["Email"],"summary":"List aliases and forwards","operationId":"list_mail_forwarding_services__service_id__mail_forwarding_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MailForwardingEntryResponse"},"title":"Response List Mail Forwarding Services  Service Id  Mail Forwarding Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Aliases, forwards, the catch-all and domain aliases of a mail domain.","x-permission":"mailbox:read"}},"/services/{service_id}/mail-aliases":{"post":{"tags":["Email"],"summary":"Add an alias","operationId":"create_mail_alias_services__service_id__mail_aliases_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAliasCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailForwardingEntryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Another address of a mailbox of the domain.","x-permission":"mailbox:manage"}},"/services/{service_id}/mail-forwards":{"post":{"tags":["Email"],"summary":"Add a forward","operationId":"create_mail_forward_services__service_id__mail_forwards_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailForwardCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailForwardingEntryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Mail to an address, sent on to others.","x-permission":"mailbox:manage"}},"/services/{service_id}/mail-catchall":{"post":{"tags":["Email"],"summary":"Set the catch-all","operationId":"create_mail_catchall_services__service_id__mail_catchall_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailCatchallCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailForwardingEntryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Where mail to addresses that don't exist goes.","x-permission":"mailbox:manage"}},"/services/{service_id}/mail-domain-aliases":{"post":{"tags":["Email"],"summary":"Add a domain alias","operationId":"create_mail_domain_alias_services__service_id__mail_domain_aliases_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailDomainAliasCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailForwardingEntryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Another of the customer's domains, receiving the same mail.","x-permission":"mailbox:manage"}},"/services/{service_id}/mail-forwarding/{entry_id}":{"patch":{"tags":["Email"],"summary":"Change an alias or forward","operationId":"update_mail_forwarding_services__service_id__mail_forwarding__entry_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailForwardingUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailForwardingEntryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"mailbox:manage"},"delete":{"tags":["Email"],"summary":"Delete an alias or forward","operationId":"delete_mail_forwarding_services__service_id__mail_forwarding__entry_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"mailbox:manage"}},"/services/{service_id}/website":{"get":{"tags":["Websites"],"summary":"A website","operationId":"get_website_services__service_id__website_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its folder, PHP version, quota, web server, alias domains, and what can be changed.","x-permission":"website:read"},"patch":{"tags":["Websites"],"summary":"Change a website","operationId":"update_website_services__service_id__website_patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"SSL, HTTPS redirect, the PHP version (one of `php_versions`) and the web server configuration (one of `snippets`). The web server applies a change within a minute or two.","x-permission":"website:manage"}},"/services/{service_id}/databases":{"get":{"tags":["Websites"],"summary":"List databases","operationId":"list_databases_services__service_id__databases_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseResponse"},"title":"Response List Databases Services  Service Id  Databases Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:read"},"post":{"tags":["Websites"],"summary":"Create a database","operationId":"create_database_services__service_id__databases_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"With its user. The account's prefix is added in front of both names.","x-permission":"website:manage"}},"/services/{service_id}/databases/{database_id}":{"patch":{"tags":["Websites"],"summary":"Change a database","operationId":"update_database_services__service_id__databases__database_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"database_id","in":"path","required":true,"schema":{"type":"string","title":"Database Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its user's password, or whether it is active.","x-permission":"website:manage"},"delete":{"tags":["Websites"],"summary":"Delete a database","operationId":"delete_database_services__service_id__databases__database_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"database_id","in":"path","required":true,"schema":{"type":"string","title":"Database Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its data is deleted with it.","x-permission":"website:manage"}},"/services/{service_id}/ftp-accounts":{"get":{"tags":["Websites"],"summary":"List FTP accounts","operationId":"list_ftp_accounts_services__service_id__ftp_accounts_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FtpAccountResponse"},"title":"Response List Ftp Accounts Services  Service Id  Ftp Accounts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:read"},"post":{"tags":["Websites"],"summary":"Create an FTP account","operationId":"create_ftp_account_services__service_id__ftp_accounts_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpAccountCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpAccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:manage"}},"/services/{service_id}/ftp-accounts/{ftp_account_id}":{"patch":{"tags":["Websites"],"summary":"Change an FTP account","operationId":"update_ftp_account_services__service_id__ftp_accounts__ftp_account_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"ftp_account_id","in":"path","required":true,"schema":{"type":"string","title":"Ftp Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpAccountUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpAccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:manage"},"delete":{"tags":["Websites"],"summary":"Delete an FTP account","operationId":"delete_ftp_account_services__service_id__ftp_accounts__ftp_account_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"ftp_account_id","in":"path","required":true,"schema":{"type":"string","title":"Ftp Account Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:manage"}},"/services/{service_id}/shell-users":{"get":{"tags":["Websites"],"summary":"List shell users","operationId":"list_shell_users_services__service_id__shell_users_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShellUsersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Whether the package includes them, the host to log in to and the name prefix.","x-permission":"website:read"},"post":{"tags":["Websites"],"summary":"Create a shell user","operationId":"create_shell_user_services__service_id__shell_users_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShellUserCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShellUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"SSH access to the website's folder, in a chroot, with SSH public keys.","x-permission":"website:manage"}},"/services/{service_id}/shell-users/{shell_user_id}":{"patch":{"tags":["Websites"],"summary":"Change a shell user","operationId":"update_shell_user_services__service_id__shell_users__shell_user_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"shell_user_id","in":"path","required":true,"schema":{"type":"string","title":"Shell User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShellUserUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShellUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its SSH keys (the whole list), password, or whether it is active.","x-permission":"website:manage"},"delete":{"tags":["Websites"],"summary":"Delete a shell user","operationId":"delete_shell_user_services__service_id__shell_users__shell_user_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"shell_user_id","in":"path","required":true,"schema":{"type":"string","title":"Shell User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"website:manage"}},"/invoices":{"get":{"tags":["Invoices"],"summary":"List invoices","operationId":"list_invoices_invoices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InvoiceResponse"},"type":"array","title":"Response List Invoices Invoices Get"}}}}},"description":"Newest first, with what is still due.","x-permission":"invoice:read"}},"/invoices/{invoice_id}":{"get":{"tags":["Invoices"],"summary":"An invoice","operationId":"get_invoice_invoices__invoice_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"invoice:read"}},"/invoices/{invoice_id}/lines":{"get":{"tags":["Invoices"],"summary":"Invoice lines","operationId":"get_invoice_lines_invoices__invoice_id__lines_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceLineResponse"},"title":"Response Get Invoice Lines Invoices  Invoice Id  Lines Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"invoice:read"}},"/invoices/{invoice_id}/messages":{"get":{"tags":["Invoices"],"summary":"Messages about an invoice","operationId":"get_invoice_messages_invoices__invoice_id__messages_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceMessageResponse"},"title":"Response Get Invoice Messages Invoices  Invoice Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"invoice:read"}},"/invoices/{invoice_id}/pdf":{"get":{"tags":["Invoices"],"summary":"Invoice PDF","operationId":"get_invoice_pdf_invoices__invoice_id__pdf_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"The invoice as a PDF file.","x-permission":"invoice:read"}},"/tickets":{"get":{"tags":["Support"],"summary":"List tickets","operationId":"list_tickets_tickets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TicketResponse"},"type":"array","title":"Response List Tickets Tickets Get"}}}}},"description":"","x-permission":"ticket:read"},"post":{"tags":["Support"],"summary":"Open a ticket","operationId":"create_ticket_tickets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"ticket:manage"}},"/tickets/{ticket_id}":{"get":{"tags":["Support"],"summary":"A ticket","operationId":"get_ticket_tickets__ticket_id__get","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string","title":"Ticket Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"ticket:read"}},"/tickets/{ticket_id}/messages":{"get":{"tags":["Support"],"summary":"Ticket messages","operationId":"get_ticket_messages_tickets__ticket_id__messages_get","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string","title":"Ticket Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TicketMessageResponse"},"title":"Response Get Ticket Messages Tickets  Ticket Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"ticket:read"},"post":{"tags":["Support"],"summary":"Reply to a ticket","operationId":"add_ticket_message_tickets__ticket_id__messages_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketMessageCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"ticket:manage"}},"/services/{service_id}/unifi":{"get":{"tags":["Managed network"],"summary":"A managed network","operationId":"get_site_services__service_id__unifi_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniFiSiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Its devices and their state.","x-permission":"network:read"}},"/services/{service_id}/unifi/devices/{device_id}/restart":{"post":{"tags":["Managed network"],"summary":"Restart a device","description":"The device goes offline for a minute or two.","operationId":"restart_device_services__service_id__unifi_devices__device_id__restart_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-permission":"network:devices:manage"}},"/services/{service_id}/unifi/wifi":{"get":{"tags":["Managed network"],"summary":"Wi-Fi networks","operationId":"list_wifi_services__service_id__unifi_wifi_get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UniFiWlanResponse"},"title":"Response List Wifi Services  Service Id  Unifi Wifi Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"network:read"}},"/services/{service_id}/unifi/wifi/{wlan_id}/password":{"put":{"tags":["Managed network"],"summary":"Change a Wi-Fi password","description":"Every device on that network has to join it again with the new password.","operationId":"change_wifi_password_services__service_id__unifi_wifi__wlan_id__password_put","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"wlan_id","in":"path","required":true,"schema":{"type":"string","title":"Wlan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WifiPasswordRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-permission":"network:wifi:manage"}},"/services/{service_id}/unifi/adopt":{"post":{"tags":["Managed network"],"summary":"Adopt a device","operationId":"adopt_device_services__service_id__unifi_adopt_post","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdoptRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdoptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Adds a new device to the network.","x-permission":"network:devices:manage"}},"/meeting-rooms":{"get":{"tags":["Video conferencing"],"summary":"List meeting rooms","operationId":"list_rooms_meeting_rooms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomsResponse"}}}}},"description":"","x-permission":"meeting:read"},"post":{"tags":["Video conferencing"],"summary":"Create a meeting room","operationId":"create_room_meeting_rooms_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"meeting:manage"}},"/meeting-rooms/{room_id}":{"patch":{"tags":["Video conferencing"],"summary":"Change a meeting room","operationId":"update_room_meeting_rooms__room_id__patch","parameters":[{"name":"room_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Room Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"meeting:manage"},"delete":{"tags":["Video conferencing"],"summary":"Delete a meeting room","operationId":"delete_room_meeting_rooms__room_id__delete","parameters":[{"name":"room_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Room Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"meeting:manage"}},"/meeting-rooms/{room_id}/start":{"post":{"tags":["Video conferencing"],"summary":"Start a meeting","description":"Opens the room, and gives the link to join it.","operationId":"start_meeting_meeting_rooms__room_id__start_post","parameters":[{"name":"room_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Room Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JoinResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-permission":"meeting:read"}},"/meeting-rooms/{room_id}/recordings":{"get":{"tags":["Video conferencing"],"summary":"List recordings","operationId":"list_recordings_meeting_rooms__room_id__recordings_get","parameters":[{"name":"room_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Room Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingResponse"},"title":"Response List Recordings Meeting Rooms  Room Id  Recordings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"meeting:read"}},"/meeting-rooms/{room_id}/recordings/{record_id}":{"delete":{"tags":["Video conferencing"],"summary":"Delete a recording","operationId":"delete_recording_meeting_rooms__room_id__recordings__record_id__delete","parameters":[{"name":"room_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Room Id"}},{"name":"record_id","in":"path","required":true,"schema":{"type":"string","title":"Record Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"","x-permission":"meeting:manage"}},"/meeting-plans":{"get":{"tags":["Video conferencing"],"summary":"Video conference plans","description":"","operationId":"meeting_plans_meeting_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MeetingPlanInfo"},"type":"array","title":"Response Meeting Plans Meeting Plans Get"}}}}}}}},"components":{"schemas":{"AccountResponse":{"properties":{"company":{"$ref":"#/components/schemas/CompanyResponse"},"billing":{"$ref":"#/components/schemas/BillingResponse"},"protected":{"type":"boolean","title":"Protected"},"can_edit_company":{"type":"boolean","title":"Can Edit Company"},"can_edit_billing":{"type":"boolean","title":"Can Edit Billing"}},"type":"object","required":["company","billing","protected","can_edit_company","can_edit_billing"],"title":"AccountResponse"},"AddressModel":{"properties":{"street":{"type":"string","maxLength":128,"title":"Street","default":""},"street2":{"type":"string","maxLength":128,"title":"Street2","default":""},"zip":{"type":"string","maxLength":16,"title":"Zip","default":""},"city":{"type":"string","maxLength":64,"title":"City","default":""},"country_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Country Id"},"country_name":{"type":"string","title":"Country Name","default":""},"country_code":{"type":"string","title":"Country Code","default":""}},"type":"object","title":"AddressModel"},"AdoptRequest":{"properties":{"mac":{"type":"string","maxLength":32,"title":"Mac"}},"type":"object","required":["mac"],"title":"AdoptRequest"},"AdoptResponse":{"properties":{"mac":{"type":"string","title":"Mac"},"model":{"type":"string","title":"Model"}},"type":"object","required":["mac","model"],"title":"AdoptResponse"},"ApiKeyCreateRequest":{"properties":{"name":{"type":"string","maxLength":100,"title":"Name"},"role":{"$ref":"#/components/schemas/CustomerRole"},"days":{"anyOf":[{"type":"integer","maximum":3650,"minimum":1},{"type":"null"}],"title":"Days"}},"type":"object","required":["name","role"],"title":"ApiKeyCreateRequest"},"ApiKeyCreated":{"properties":{"key":{"$ref":"#/components/schemas/ApiKeyResponse"},"token":{"type":"string","title":"Token"}},"type":"object","required":["key","token"],"title":"ApiKeyCreated"},"ApiKeyResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"role":{"$ref":"#/components/schemas/CustomerRole"},"prefix":{"type":"string","title":"Prefix"},"state":{"type":"string","title":"State"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"last_used_ip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Used Ip"}},"type":"object","required":["id","name","role","prefix","state","created_at","created_by","expires_at","last_used_at","last_used_ip"],"title":"ApiKeyResponse"},"BackupStatus":{"properties":{"state":{"type":"string","title":"State"},"max_age_hours":{"type":"integer","title":"Max Age Hours"},"last_write_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Write At"},"checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Checked At"}},"type":"object","required":["state","max_age_hours","last_write_at","checked_at"],"title":"BackupStatus","description":"Object storage sold as a backup: when its last backup came, as the\nhourly check found (core/services/backup_monitor.py)."},"BasketItemAdd":{"properties":{"kind":{"type":"string","maxLength":32,"title":"Kind"},"plan":{"type":"string","maxLength":120,"title":"Plan","default":""},"months":{"anyOf":[{"type":"integer","maximum":120,"minimum":1},{"type":"null"}],"title":"Months"},"domain":{"type":"string","maxLength":253,"title":"Domain","default":""}},"type":"object","required":["kind"],"title":"BasketItemAdd"},"BillingResponse":{"properties":{"separate":{"type":"boolean","title":"Separate"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressModel"},{"type":"null"}]}},"type":"object","required":["separate","name","email","address"],"title":"BillingResponse"},"BillingUpdate":{"properties":{"separate":{"type":"boolean","title":"Separate"},"name":{"type":"string","maxLength":128,"title":"Name","default":""},"email":{"type":"string","maxLength":254,"title":"Email","default":""},"address":{"anyOf":[{"$ref":"#/components/schemas/AddressModel"},{"type":"null"}]}},"type":"object","required":["separate"],"title":"BillingUpdate"},"CompanyResponse":{"properties":{"name":{"type":"string","title":"Name"},"vat":{"type":"string","title":"Vat"},"email":{"type":"string","title":"Email"},"phone":{"type":"string","title":"Phone"},"website":{"type":"string","title":"Website"},"address":{"$ref":"#/components/schemas/AddressModel"}},"type":"object","required":["name","vat","email","phone","website","address"],"title":"CompanyResponse"},"CompanyUpdate":{"properties":{"email":{"type":"string","maxLength":254,"title":"Email"},"phone":{"type":"string","maxLength":32,"title":"Phone","default":""},"website":{"type":"string","maxLength":255,"title":"Website","default":""},"address":{"$ref":"#/components/schemas/AddressModel"}},"type":"object","required":["email","address"],"title":"CompanyUpdate"},"ConsoleTicketResponse":{"properties":{"ticket":{"type":"string","title":"Ticket"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["ticket","expires_in"],"title":"ConsoleTicketResponse"},"ContractItem":{"properties":{"description":{"type":"string","title":"Description"},"quantity":{"type":"number","title":"Quantity"},"unit":{"type":"string","title":"Unit"},"details":{"items":{"type":"string"},"type":"array","title":"Details"},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Subtotal"}},"type":"object","required":["description","quantity","unit","details","subtotal"],"title":"ContractItem"},"ContractResponse":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"frequency":{"type":"string","title":"Frequency"},"active":{"type":"boolean","title":"Active"},"next_invoice_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Invoice Date"},"items":{"items":{"$ref":"#/components/schemas/ContractItem"},"type":"array","title":"Items"},"amount_untaxed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount Untaxed"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["id","title","description","frequency","active","next_invoice_date","items","amount_untaxed","currency"],"title":"ContractResponse"},"CountryResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"code":{"type":"string","title":"Code","default":""}},"type":"object","required":["id","name"],"title":"CountryResponse"},"CustomerChoice":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"code":{"type":"string","title":"Code"}},"type":"object","required":["id","name","code"],"title":"CustomerChoice","description":"A customer the signed-in login opens."},"CustomerRole":{"type":"string","enum":["customer_admin","technical","billing","readonly"],"title":"CustomerRole"},"DNSRecordCreateRequest":{"properties":{"type":{"type":"string","maxLength":8,"title":"Type"},"name":{"type":"string","maxLength":253,"title":"Name"},"data":{"type":"string","maxLength":2048,"title":"Data"},"ttl":{"type":"integer","maximum":604800,"minimum":60,"title":"Ttl","default":3600},"priority":{"anyOf":[{"type":"integer","maximum":65535,"minimum":0},{"type":"null"}],"title":"Priority"}},"type":"object","required":["type","name","data"],"title":"DNSRecordCreateRequest"},"DNSRecordResponse":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","title":"Type"},"name":{"type":"string","title":"Name"},"data":{"type":"string","title":"Data"},"ttl":{"type":"integer","title":"Ttl"},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","type","name","data","ttl","priority","active"],"title":"DNSRecordResponse"},"DNSRecordUpdateRequest":{"properties":{"name":{"type":"string","maxLength":253,"title":"Name"},"data":{"type":"string","maxLength":2048,"title":"Data"},"ttl":{"type":"integer","maximum":604800,"minimum":60,"title":"Ttl","default":3600},"priority":{"anyOf":[{"type":"integer","maximum":65535,"minimum":0},{"type":"null"}],"title":"Priority"}},"type":"object","required":["name","data"],"title":"DNSRecordUpdateRequest"},"DashboardCounts":{"properties":{"virtual_machines":{"type":"integer","title":"Virtual Machines"},"domains":{"type":"integer","title":"Domains"},"mailboxes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mailboxes"},"websites":{"type":"integer","title":"Websites"},"subnets":{"type":"integer","title":"Subnets"},"dns_zones":{"type":"integer","title":"Dns Zones","default":0},"local_networks":{"type":"integer","title":"Local Networks","default":0},"object_storage":{"type":"integer","title":"Object Storage","default":0},"open_tickets":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Open Tickets"},"outstanding_invoices_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Outstanding Invoices Amount"},"outstanding_invoices_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outstanding Invoices Currency"}},"type":"object","required":["virtual_machines","domains","mailboxes","websites","subnets","open_tickets","outstanding_invoices_amount","outstanding_invoices_currency"],"title":"DashboardCounts"},"DashboardResponse":{"properties":{"counts":{"$ref":"#/components/schemas/DashboardCounts"},"availability":{"$ref":"#/components/schemas/ProviderAvailability"},"billing_linked":{"type":"boolean","title":"Billing Linked","default":true}},"type":"object","required":["counts","availability"],"title":"DashboardResponse"},"DatabaseCreateRequest":{"properties":{"name":{"type":"string","title":"Name"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"}},"type":"object","required":["name","username","password"],"title":"DatabaseCreateRequest"},"DatabaseResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"username":{"type":"string","title":"Username"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","name","username","active"],"title":"DatabaseResponse"},"DatabaseUpdateRequest":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"type":"object","title":"DatabaseUpdateRequest"},"DomainCheckResponse":{"properties":{"domain":{"type":"string","title":"Domain"},"available":{"type":"boolean","title":"Available"},"need_transfer":{"type":"boolean","title":"Need Transfer"},"premium":{"type":"boolean","title":"Premium"},"managed":{"type":"boolean","title":"Managed"}},"type":"object","required":["domain","available","need_transfer","premium","managed"],"title":"DomainCheckResponse","description":"Whether a domain can be registered through Nimag (at Infomaniak).\nNever a price: Infomaniak's is what Nimag pays."},"DomainOptionsResponse":{"properties":{"email_domains":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Email Domains"},"websites":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Websites"},"dns_zones":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dns Zones"},"web_servers":{"items":{"$ref":"#/components/schemas/WebServerOption"},"type":"array","title":"Web Servers"}},"type":"object","required":["email_domains","websites","dns_zones","web_servers"],"title":"DomainOptionsResponse"},"DomainRequestCreate":{"properties":{"domain":{"type":"string","maxLength":253,"title":"Domain"},"mail":{"type":"boolean","title":"Mail","default":false},"web":{"type":"boolean","title":"Web","default":false},"dns":{"type":"boolean","title":"Dns","default":false},"web_server_id":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Web Server Id"}},"type":"object","required":["domain"],"title":"DomainRequestCreate"},"DomainRequestResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"domain":{"type":"string","title":"Domain"},"mail":{"type":"boolean","title":"Mail"},"web":{"type":"boolean","title":"Web"},"dns":{"type":"boolean","title":"Dns"},"status":{"type":"string","title":"Status"},"verify_name":{"type":"string","title":"Verify Name"},"verify_value":{"type":"string","title":"Verify Value"},"note":{"type":"string","title":"Note"},"error":{"type":"string","title":"Error"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","domain","mail","web","dns","status","verify_name","verify_value","note","error","created_at"],"title":"DomainRequestResponse"},"FtpAccountCreateRequest":{"properties":{"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"quota_mb":{"type":"integer","maximum":10000000,"minimum":1,"title":"Quota Mb","default":1000}},"type":"object","required":["username","password"],"title":"FtpAccountCreateRequest"},"FtpAccountResponse":{"properties":{"id":{"type":"string","title":"Id"},"username":{"type":"string","title":"Username"},"quota_mb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quota Mb"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","username","quota_mb","active"],"title":"FtpAccountResponse"},"FtpAccountUpdateRequest":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"quota_mb":{"anyOf":[{"type":"integer","maximum":10000000,"minimum":1},{"type":"null"}],"title":"Quota Mb"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"type":"object","title":"FtpAccountUpdateRequest"},"GuestJoin":{"properties":{"name":{"type":"string","maxLength":200,"title":"Name"}},"type":"object","required":["name"],"title":"GuestJoin"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HostingPlanInfo":{"properties":{"name":{"type":"string","title":"Name"},"limits":{"items":{"$ref":"#/components/schemas/HostingPlanLimit"},"type":"array","title":"Limits"},"extras":{"items":{"type":"string"},"type":"array","title":"Extras"},"extras_en":{"items":{"type":"string"},"type":"array","title":"Extras En","default":[]},"prices":{"items":{"$ref":"#/components/schemas/PlanPrice"},"type":"array","title":"Prices","default":[]},"current":{"type":"boolean","title":"Current","default":false}},"type":"object","required":["name","limits","extras"],"title":"HostingPlanInfo","description":"A hosting package that can be ordered."},"HostingPlanLimit":{"properties":{"key":{"type":"string","title":"Key"},"limit":{"type":"integer","title":"Limit"},"unit":{"type":"string","title":"Unit"}},"type":"object","required":["key","limit","unit"],"title":"HostingPlanLimit"},"HostingUsageLine":{"properties":{"key":{"type":"string","title":"Key"},"used":{"type":"integer","title":"Used"},"limit":{"type":"integer","title":"Limit"},"unit":{"type":"string","title":"Unit"},"percent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Percent"},"state":{"type":"string","title":"State"}},"type":"object","required":["key","used","limit","unit","percent","state"],"title":"HostingUsageLine"},"HostingUsageResponse":{"properties":{"has_hosting":{"type":"boolean","title":"Has Hosting"},"lines":{"items":{"$ref":"#/components/schemas/HostingUsageLine"},"type":"array","title":"Lines"}},"type":"object","required":["has_hosting","lines"],"title":"HostingUsageResponse"},"HousingDevice":{"properties":{"name":{"type":"string","title":"Name"},"model":{"type":"string","title":"Model"},"role":{"type":"string","title":"Role"},"site":{"type":"string","title":"Site"},"rack":{"type":"string","title":"Rack"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"},"face":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Face"},"rack_name":{"type":"string","title":"Rack Name"},"site_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Id"}},"type":"object","required":["name","model","role","site","rack","position","face","rack_name","site_id"],"title":"HousingDevice"},"HousingItem":{"properties":{"product":{"type":"string","title":"Product"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"quantity":{"type":"number","title":"Quantity"},"details":{"items":{"type":"string"},"type":"array","title":"Details"},"parts":{"items":{"type":"number"},"type":"array","title":"Parts","default":[]}},"type":"object","required":["product","description","quantity","details"],"title":"HousingItem"},"HousingPlanInfo":{"properties":{"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"space":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Space"},"power_w":{"type":"integer","title":"Power W"},"traffic_tb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Traffic Tb"},"bandwidth_mbps":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bandwidth Mbps"},"extras":{"items":{"type":"string"},"type":"array","title":"Extras"},"extras_en":{"items":{"type":"string"},"type":"array","title":"Extras En","default":[]},"prices":{"items":{"$ref":"#/components/schemas/PlanPrice"},"type":"array","title":"Prices","default":[]}},"type":"object","required":["name","kind","space","power_w","traffic_tb","bandwidth_mbps","extras"],"title":"HousingPlanInfo","description":"A housing plan that can be ordered."},"HousingRack":{"properties":{"name":{"type":"string","title":"Name"},"site":{"type":"string","title":"Site"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"u_height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"U Height"},"rack":{"type":"string","title":"Rack"},"site_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Id"}},"type":"object","required":["name","site","location","u_height","rack","site_id"],"title":"HousingRack"},"HousingResponse":{"properties":{"has_housing":{"type":"boolean","title":"Has Housing"},"items":{"items":{"$ref":"#/components/schemas/HousingItem"},"type":"array","title":"Items"},"racks":{"items":{"$ref":"#/components/schemas/HousingRack"},"type":"array","title":"Racks"},"equipment":{"items":{"$ref":"#/components/schemas/HousingDevice"},"type":"array","title":"Equipment"},"sites":{"items":{"$ref":"#/components/schemas/HousingSiteInfo"},"type":"array","title":"Sites"},"locations_available":{"type":"boolean","title":"Locations Available"}},"type":"object","required":["has_housing","items","racks","equipment","sites","locations_available"],"title":"HousingResponse","description":"Also what Nimag staff see on the customer's page, unchanged."},"HousingSiteInfo":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"facility":{"type":"string","title":"Facility"},"address":{"type":"string","title":"Address"},"maps_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Maps Url"}},"type":"object","required":["id","name","facility","address","maps_url"],"title":"HousingSiteInfo"},"InvoiceLineResponse":{"properties":{"description":{"type":"string","title":"Description"},"quantity":{"type":"number","title":"Quantity"},"unit_price":{"type":"number","title":"Unit Price"},"tax_label":{"type":"string","title":"Tax Label"},"subtotal":{"type":"number","title":"Subtotal"},"total":{"type":"number","title":"Total"}},"type":"object","required":["description","quantity","unit_price","tax_label","subtotal","total"],"title":"InvoiceLineResponse"},"InvoiceMessageResponse":{"properties":{"author":{"type":"string","title":"Author"},"body":{"type":"string","title":"Body"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["author","body","created_at"],"title":"InvoiceMessageResponse"},"InvoiceResponse":{"properties":{"id":{"type":"string","title":"Id"},"number":{"type":"string","title":"Number"},"issue_date":{"type":"string","title":"Issue Date"},"amount_total":{"type":"number","title":"Amount Total"},"currency":{"type":"string","title":"Currency"},"status":{"type":"string","title":"Status"},"pdf_available":{"type":"boolean","title":"Pdf Available"},"amount_due":{"type":"number","title":"Amount Due","default":0},"due_date":{"type":"string","title":"Due Date","default":""}},"type":"object","required":["id","number","issue_date","amount_total","currency","status","pdf_available"],"title":"InvoiceResponse"},"IpAddressListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IpAddressResponse"},"type":"array","title":"Items"},"can_edit":{"type":"boolean","title":"Can Edit"}},"type":"object","required":["items","can_edit"],"title":"IpAddressListResponse"},"IpAddressResponse":{"properties":{"id":{"type":"string","title":"Id"},"address":{"type":"string","title":"Address"},"dns_name":{"type":"string","title":"Dns Name"},"status":{"type":"string","title":"Status"},"description":{"type":"string","title":"Description"}},"type":"object","required":["id","address","dns_name","status","description"],"title":"IpAddressResponse"},"JoinResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"JoinResponse"},"MailAliasCreateRequest":{"properties":{"local_part":{"type":"string","title":"Local Part"},"destination":{"type":"string","title":"Destination"}},"type":"object","required":["local_part","destination"],"title":"MailAliasCreateRequest"},"MailCatchallCreateRequest":{"properties":{"destination":{"type":"string","title":"Destination"}},"type":"object","required":["destination"],"title":"MailCatchallCreateRequest"},"MailDomainAliasCreateRequest":{"properties":{"alias_domain":{"type":"string","title":"Alias Domain"}},"type":"object","required":["alias_domain"],"title":"MailDomainAliasCreateRequest"},"MailDomainSummary":{"properties":{"service_id":{"type":"string","format":"uuid","title":"Service Id"},"mailbox_count":{"type":"integer","title":"Mailbox Count"}},"type":"object","required":["service_id","mailbox_count"],"title":"MailDomainSummary"},"MailDomainSummaryResponse":{"properties":{"available":{"type":"boolean","title":"Available"},"items":{"items":{"$ref":"#/components/schemas/MailDomainSummary"},"type":"array","title":"Items"}},"type":"object","required":["available","items"],"title":"MailDomainSummaryResponse"},"MailForwardCreateRequest":{"properties":{"local_part":{"type":"string","title":"Local Part"},"destinations":{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1,"title":"Destinations"}},"type":"object","required":["local_part","destinations"],"title":"MailForwardCreateRequest"},"MailForwardingEntryResponse":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind"},"source":{"type":"string","title":"Source"},"destination":{"type":"string","title":"Destination"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","kind","source","destination","active"],"title":"MailForwardingEntryResponse"},"MailForwardingUpdateRequest":{"properties":{"destination":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Destination"},"active":{"type":"boolean","title":"Active","default":true}},"type":"object","title":"MailForwardingUpdateRequest"},"MailboxCreateRequest":{"properties":{"local_part":{"type":"string","title":"Local Part"},"password":{"type":"string","title":"Password"},"quota_mb":{"type":"integer","maximum":10000000,"minimum":1,"title":"Quota Mb","default":1024}},"type":"object","required":["local_part","password"],"title":"MailboxCreateRequest"},"MailboxResponse":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"quota_mb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quota Mb"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["id","email","quota_mb","enabled"],"title":"MailboxResponse"},"MailboxUpdateRequest":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"quota_mb":{"anyOf":[{"type":"integer","maximum":10000000,"minimum":1},{"type":"null"}],"title":"Quota Mb"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"}},"type":"object","title":"MailboxUpdateRequest"},"MeResponse":{"properties":{"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"customer_name":{"type":"string","title":"Customer Name"},"display_name":{"type":"string","title":"Display Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"role":{"$ref":"#/components/schemas/CustomerRole"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions","default":[]},"support":{"anyOf":[{"$ref":"#/components/schemas/SupportSessionInfo"},{"type":"null"}]},"customers":{"items":{"$ref":"#/components/schemas/CustomerChoice"},"type":"array","title":"Customers","default":[]}},"type":"object","required":["customer_id","customer_name","display_name","email","role"],"title":"MeResponse"},"MeetingPlanInfo":{"properties":{"name":{"type":"string","title":"Name"},"participants":{"type":"integer","title":"Participants"},"extras":{"items":{"type":"string"},"type":"array","title":"Extras"},"extras_en":{"items":{"type":"string"},"type":"array","title":"Extras En","default":[]},"prices":{"items":{"$ref":"#/components/schemas/PlanPrice"},"type":"array","title":"Prices","default":[]}},"type":"object","required":["name","participants","extras"],"title":"MeetingPlanInfo","description":"One more room, as it can be ordered."},"ObjectStorageResponse":{"properties":{"name":{"type":"string","title":"Name"},"endpoint":{"type":"string","title":"Endpoint"},"console":{"type":"string","title":"Console"},"region":{"type":"string","title":"Region"},"size_gb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size Gb"},"used_gb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Used Gb"},"running":{"type":"boolean","title":"Running"},"backup":{"anyOf":[{"$ref":"#/components/schemas/BackupStatus"},{"type":"null"}]}},"type":"object","required":["name","endpoint","console","region","size_gb","used_gb","running"],"title":"ObjectStorageResponse","description":"A customer's object storage, read live from the S3 server."},"OrderField":{"properties":{"key":{"type":"string","title":"Key"},"required":{"type":"boolean","title":"Required"},"type":{"type":"string","title":"Type"},"max_length":{"type":"integer","title":"Max Length"}},"type":"object","required":["key","required","type","max_length"],"title":"OrderField","description":"Something to fill in for a line before ordering."},"OrderItemResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"kind":{"type":"string","title":"Kind"},"label":{"type":"string","title":"Label"},"months":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Months"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"tax_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tax Rate"},"details":{"additionalProperties":{"type":"string"},"type":"object","title":"Details"},"fields":{"items":{"$ref":"#/components/schemas/OrderField"},"type":"array","title":"Fields"}},"type":"object","required":["id","kind","label","months","amount","currency","details","fields"],"title":"OrderItemResponse"},"OrderPlace":{"properties":{"note":{"type":"string","maxLength":4000,"title":"Note","default":""},"details":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object","title":"Details","default":{}},"accept":{"type":"boolean","title":"Accept","default":false}},"type":"object","title":"OrderPlace"},"OrderResponse":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Number"},"placed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Placed At"},"placed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placed By"},"note":{"type":"string","title":"Note"},"items":{"items":{"$ref":"#/components/schemas/OrderItemResponse"},"type":"array","title":"Items"},"totals":{"items":{"$ref":"#/components/schemas/OrderTotal"},"type":"array","title":"Totals"},"ticket_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ticket Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"closed":{"type":"boolean","title":"Closed","default":false}},"type":"object","required":["id","number","placed_at","note","items","totals"],"title":"OrderResponse","description":"A basket (no number yet) or a placed order."},"OrderTotal":{"properties":{"months":{"type":"integer","title":"Months"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"tax":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tax"},"total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total"},"tax_rates":{"items":{"type":"number"},"type":"array","title":"Tax Rates","default":[]}},"type":"object","required":["months","amount","currency"],"title":"OrderTotal"},"PhpVersionOption":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"default":{"type":"boolean","title":"Default","default":false}},"type":"object","required":["id","name"],"title":"PhpVersionOption"},"PlanPrice":{"properties":{"months":{"type":"integer","title":"Months"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["months","amount","currency"],"title":"PlanPrice"},"ProviderAvailability":{"properties":{"odoo":{"type":"boolean","title":"Odoo"},"ispconfig":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ispconfig"},"proxmox":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Proxmox"},"netbox":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Netbox"}},"type":"object","required":["odoo","ispconfig","proxmox","netbox"],"title":"ProviderAvailability"},"PublicRoomResponse":{"properties":{"name":{"type":"string","title":"Name"},"host":{"type":"string","title":"Host"},"running":{"type":"boolean","title":"Running"},"lobby":{"type":"boolean","title":"Lobby"}},"type":"object","required":["name","host","running","lobby"],"title":"PublicRoomResponse"},"RecordingResponse":{"properties":{"id":{"type":"string","title":"Id"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"ended_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ended At"},"participants":{"type":"integer","title":"Participants"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"size_mb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Size Mb"}},"type":"object","required":["id","started_at","ended_at","participants","url","size_mb"],"title":"RecordingResponse"},"ReverseDnsUpdate":{"properties":{"dns_name":{"type":"string","maxLength":255,"title":"Dns Name","default":""}},"type":"object","title":"ReverseDnsUpdate"},"RoomCreate":{"properties":{"name":{"type":"string","maxLength":200,"title":"Name"}},"type":"object","required":["name"],"title":"RoomCreate"},"RoomResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"lobby":{"type":"boolean","title":"Lobby"},"guest_url":{"type":"string","title":"Guest Url"},"usable":{"type":"boolean","title":"Usable","default":true},"running":{"type":"boolean","title":"Running","default":false},"participants":{"type":"integer","title":"Participants","default":0},"recording":{"type":"boolean","title":"Recording","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","lobby","guest_url","created_at"],"title":"RoomResponse"},"RoomUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"},"lobby":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Lobby"},"new_link":{"type":"boolean","title":"New Link","default":false}},"type":"object","title":"RoomUpdate"},"RoomsResponse":{"properties":{"available":{"type":"boolean","title":"Available"},"reachable":{"type":"boolean","title":"Reachable","default":true},"rooms":{"items":{"$ref":"#/components/schemas/RoomResponse"},"type":"array","title":"Rooms"},"room_limit":{"type":"integer","title":"Room Limit"},"participant_limit":{"type":"integer","title":"Participant Limit"},"can_manage":{"type":"boolean","title":"Can Manage"}},"type":"object","required":["available","rooms","room_limit","participant_limit","can_manage"],"title":"RoomsResponse"},"ServiceResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"$ref":"#/components/schemas/ServiceType"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/ServiceStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","type","name","description","status","created_at","updated_at"],"title":"ServiceResponse"},"ServiceStatus":{"type":"string","enum":["active","suspended","provisioning","decommissioned"],"title":"ServiceStatus"},"ServiceType":{"type":"string","enum":["virtual_machine","domain","mailbox","website","ip_address","reverse_dns","dns_zone","subnet","unifi_site","object_storage"],"title":"ServiceType"},"ShellUserCreateRequest":{"properties":{"username":{"type":"string","title":"Username"},"ssh_keys":{"type":"string","maxLength":20000,"title":"Ssh Keys"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},"type":"object","required":["username","ssh_keys"],"title":"ShellUserCreateRequest"},"ShellUserResponse":{"properties":{"id":{"type":"string","title":"Id"},"username":{"type":"string","title":"Username"},"active":{"type":"boolean","title":"Active"},"jailed":{"type":"boolean","title":"Jailed"},"ssh_keys":{"items":{"$ref":"#/components/schemas/SshKeyResponse"},"type":"array","title":"Ssh Keys"}},"type":"object","required":["id","username","active","jailed","ssh_keys"],"title":"ShellUserResponse"},"ShellUserUpdateRequest":{"properties":{"ssh_keys":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Ssh Keys"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"type":"object","title":"ShellUserUpdateRequest"},"ShellUsersResponse":{"properties":{"included":{"type":"boolean","title":"Included"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host"},"prefix":{"type":"string","title":"Prefix"},"items":{"items":{"$ref":"#/components/schemas/ShellUserResponse"},"type":"array","title":"Items"}},"type":"object","required":["included","prefix","items"],"title":"ShellUsersResponse"},"SnippetOption":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"SnippetOption"},"SshKeyResponse":{"properties":{"type":{"type":"string","title":"Type"},"comment":{"type":"string","title":"Comment"},"fingerprint":{"type":"string","title":"Fingerprint"}},"type":"object","required":["type","comment","fingerprint"],"title":"SshKeyResponse"},"StoragePlanInfo":{"properties":{"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind","default":"storage"},"size_gb":{"type":"integer","title":"Size Gb"},"max_age_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Age Hours"},"extras":{"items":{"type":"string"},"type":"array","title":"Extras"},"extras_en":{"items":{"type":"string"},"type":"array","title":"Extras En","default":[]},"prices":{"items":{"$ref":"#/components/schemas/PlanPrice"},"type":"array","title":"Prices","default":[]}},"type":"object","required":["name","size_gb","extras"],"title":"StoragePlanInfo","description":"An object storage size that can be ordered."},"SupportRedeemRequest":{"properties":{"ticket":{"type":"string","maxLength":128,"minLength":1,"title":"Ticket"}},"type":"object","required":["ticket"],"title":"SupportRedeemRequest"},"SupportRedeemResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"customer_name":{"type":"string","title":"Customer Name"},"staff_name":{"type":"string","title":"Staff Name"}},"type":"object","required":["access_token","expires_at","customer_name","staff_name"],"title":"SupportRedeemResponse"},"SupportSessionInfo":{"properties":{"staff_name":{"type":"string","title":"Staff Name"},"staff_email":{"type":"string","title":"Staff Email"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["staff_name","staff_email","expires_at"],"title":"SupportSessionInfo"},"SyncResponse":{"properties":{"synced":{"type":"boolean","title":"Synced"},"removed":{"type":"integer","title":"Removed"},"added":{"type":"integer","title":"Added"},"updated":{"type":"integer","title":"Updated"}},"type":"object","required":["synced","removed","added","updated"],"title":"SyncResponse"},"TicketCreateRequest":{"properties":{"subject":{"type":"string","maxLength":200,"minLength":1,"title":"Subject"},"body":{"type":"string","maxLength":20000,"minLength":1,"title":"Body"}},"type":"object","required":["subject","body"],"title":"TicketCreateRequest"},"TicketMessageCreateRequest":{"properties":{"body":{"type":"string","maxLength":20000,"minLength":1,"title":"Body"}},"type":"object","required":["body"],"title":"TicketMessageCreateRequest"},"TicketMessageResponse":{"properties":{"author":{"type":"string","title":"Author"},"body":{"type":"string","title":"Body"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["author","body","created_at"],"title":"TicketMessageResponse"},"TicketResponse":{"properties":{"id":{"type":"string","title":"Id"},"number":{"type":"string","title":"Number"},"subject":{"type":"string","title":"Subject"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","number","subject","status","created_at","updated_at"],"title":"TicketResponse"},"UniFiDeviceResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"model":{"type":"string","title":"Model"},"kind":{"type":"string","title":"Kind"},"mac":{"type":"string","title":"Mac"},"ip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip"},"state":{"type":"string","title":"State"},"firmware":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firmware"},"firmware_updatable":{"type":"boolean","title":"Firmware Updatable"},"uptime_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uptime Seconds"},"clients":{"type":"integer","title":"Clients"}},"type":"object","required":["id","name","model","kind","mac","ip","state","firmware","firmware_updatable","uptime_seconds","clients"],"title":"UniFiDeviceResponse"},"UniFiSiteResponse":{"properties":{"name":{"type":"string","title":"Name"},"devices":{"items":{"$ref":"#/components/schemas/UniFiDeviceResponse"},"type":"array","title":"Devices"},"online":{"type":"integer","title":"Online"},"clients":{"type":"integer","title":"Clients"}},"type":"object","required":["name","devices","online","clients"],"title":"UniFiSiteResponse"},"UniFiWlanResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"enabled":{"type":"boolean","title":"Enabled"},"security":{"type":"string","title":"Security"},"guest":{"type":"boolean","title":"Guest"},"hidden":{"type":"boolean","title":"Hidden"},"bands":{"items":{"type":"string"},"type":"array","title":"Bands"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"password_changeable":{"type":"boolean","title":"Password Changeable"}},"type":"object","required":["id","name","enabled","security","guest","hidden","bands","password","password_changeable"],"title":"UniFiWlanResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VirtualMachineResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"status":{"type":"string","title":"Status"},"node":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Node"},"cpus":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpus"},"memory_mb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Mb"},"disk_gb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Disk Gb"},"uptime_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uptime Seconds"},"plan":{"anyOf":[{"$ref":"#/components/schemas/VpsPlanInfo"},{"type":"null"}]}},"type":"object","required":["id","name","status","node","cpus","memory_mb","disk_gb","uptime_seconds"],"title":"VirtualMachineResponse"},"VmSummary":{"properties":{"service_id":{"type":"string","format":"uuid","title":"Service Id"},"power_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Power State"},"cpus":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpus"},"memory_mb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Mb"}},"type":"object","required":["service_id","power_state","cpus","memory_mb"],"title":"VmSummary"},"VmSummaryResponse":{"properties":{"available":{"type":"boolean","title":"Available"},"items":{"items":{"$ref":"#/components/schemas/VmSummary"},"type":"array","title":"Items"}},"type":"object","required":["available","items"],"title":"VmSummaryResponse"},"VpsPlanInfo":{"properties":{"name":{"type":"string","title":"Name"},"cpus":{"type":"integer","title":"Cpus"},"memory_gb":{"type":"integer","title":"Memory Gb"},"disk_gb":{"type":"integer","title":"Disk Gb"},"extras":{"items":{"type":"string"},"type":"array","title":"Extras"},"extras_en":{"items":{"type":"string"},"type":"array","title":"Extras En","default":[]},"prices":{"items":{"$ref":"#/components/schemas/PlanPrice"},"type":"array","title":"Prices","default":[]}},"type":"object","required":["name","cpus","memory_gb","disk_gb","extras"],"title":"VpsPlanInfo"},"WebServerOption":{"properties":{"id":{"type":"string","title":"Id"},"hostname":{"type":"string","title":"Hostname"}},"type":"object","required":["id","hostname"],"title":"WebServerOption"},"WebsiteResponse":{"properties":{"id":{"type":"string","title":"Id"},"domain":{"type":"string","title":"Domain"},"status":{"type":"string","title":"Status"},"php_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Php Version"},"php_handler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Php Handler"},"php_version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Php Version Id"},"php_versions":{"items":{"$ref":"#/components/schemas/PhpVersionOption"},"type":"array","title":"Php Versions","default":[]},"web_server":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Web Server"},"snippet_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snippet Id","default":"0"},"snippets":{"items":{"$ref":"#/components/schemas/SnippetOption"},"type":"array","title":"Snippets","default":[]},"ssl":{"type":"boolean","title":"Ssl"},"ssl_letsencrypt":{"type":"boolean","title":"Ssl Letsencrypt"},"force_https":{"type":"boolean","title":"Force Https"},"document_root":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Root"},"hd_quota_mb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hd Quota Mb"},"server":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server"},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","default":[]},"subdomains":{"items":{"type":"string"},"type":"array","title":"Subdomains","default":[]}},"type":"object","required":["id","domain","status","php_version","ssl","ssl_letsencrypt","force_https","document_root","hd_quota_mb"],"title":"WebsiteResponse"},"WebsiteSummary":{"properties":{"service_id":{"type":"string","format":"uuid","title":"Service Id"},"server":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server"}},"type":"object","required":["service_id","server"],"title":"WebsiteSummary"},"WebsiteSummaryResponse":{"properties":{"available":{"type":"boolean","title":"Available"},"items":{"items":{"$ref":"#/components/schemas/WebsiteSummary"},"type":"array","title":"Items"}},"type":"object","required":["available","items"],"title":"WebsiteSummaryResponse"},"WebsiteUpdateRequest":{"properties":{"ssl":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ssl"},"ssl_letsencrypt":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ssl Letsencrypt"},"force_https":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Force Https"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"},"php_version_id":{"anyOf":[{"type":"string","pattern":"^\\d{1,9}$"},{"type":"null"}],"title":"Php Version Id"},"snippet_id":{"anyOf":[{"type":"string","pattern":"^\\d{1,9}$"},{"type":"null"}],"title":"Snippet Id"}},"type":"object","title":"WebsiteUpdateRequest"},"WifiPasswordRequest":{"properties":{"password":{"type":"string","maxLength":63,"title":"Password"}},"type":"object","required":["password"],"title":"WifiPasswordRequest"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"},"apiKey":{"type":"http","scheme":"bearer","description":"An API key, sent as `Authorization: Bearer <key>`."}}},"security":[{"apiKey":[]}],"tags":[{"name":"Account","description":"Who the key acts for, the account's details and its dashboard."},{"name":"Contracts","description":"The contracts the customer signed with Nimag."},{"name":"Services","description":"Every service of the customer, whatever its kind. A service's `id` is what the other groups take as `service_id`."},{"name":"Virtual machines","description":"Virtual servers: their state, and starting, stopping and rebooting them."},{"name":"Network","description":"IP addresses and their reverse DNS."},{"name":"DNS","description":"Records of the DNS zones Nimag hosts for the customer."},{"name":"Web hosting","description":"The hosting package: what it includes and what is used."},{"name":"Websites","description":"Websites, with their databases, FTP accounts and shell users."},{"name":"Email","description":"Mailboxes, aliases, forwards and catch-alls of the customer's mail domains."},{"name":"Domains","description":"Registering new domains and transferring existing ones."},{"name":"Object storage","description":"S3-compatible object storage."},{"name":"Housing","description":"Rack space in Nimag's data centre."},{"name":"Orders","description":"The basket, placing orders and following them."},{"name":"Invoices","description":"Invoices, their lines and PDF."},{"name":"Support","description":"Support tickets and their messages."},{"name":"Managed network","description":"Networks Nimag manages with UniFi: devices and Wi-Fi."},{"name":"Video conferencing","description":"Meeting rooms and their recordings."}],"servers":[{"url":"https://portal.nimag.net/api/v1"}]}