krystal/go-katapult

View on GitHub
schemas/core/v1.json

Summary

Maintainability
Test Coverage
{
  "schema_version": 1,
  "host": "api.katapult.io",
  "namespace": "/core/v1",
  "api": "CoreAPI/Base",
  "objects": [
    {
      "type": "api",
      "value": {
        "id": "CoreAPI/Base",
        "name": "Katapult Core API",
        "description": null,
        "authenticator": "CoreAPI/Authenticator",
        "route_set": {
          "routes": [
            {
              "path": "data_centers",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DataCenters/ListEndpoint",
              "group": "data_centers"
            },
            {
              "path": "data_centers/:data_center",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DataCenters/InfoEndpoint",
              "group": "data_centers"
            },
            {
              "path": "data_centers/:data_center/default_network",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DataCenters/DefaultNetworkEndpoint",
              "group": "data_centers"
            },
            {
              "path": "organizations",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Organizations/ListEndpoint",
              "group": "organizations"
            },
            {
              "path": "organizations/:organization",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Organizations/InfoEndpoint",
              "group": "organizations"
            },
            {
              "path": "organizations/:organization/policy_limits",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Organizations/PolicyLimitsEndpoint",
              "group": "organizations"
            },
            {
              "path": "organizations/:organization/users_with_access",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/OrganizationUsers/SimpleListEndpoint",
              "group": "organizations.users"
            },
            {
              "path": "organizations/:organization/managed",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/ManagedOrganizations/ListEndpoint",
              "group": "organizations.managed"
            },
            {
              "path": "organizations/:organization/managed",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/ManagedOrganizations/CreateEndpoint",
              "group": "organizations.managed"
            },
            {
              "path": "organizations/:organization/disks",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Disks/ListEndpoint",
              "group": "disks"
            },
            {
              "path": "disks/:disk",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Disks/InfoEndpoint",
              "group": "disks"
            },
            {
              "path": "virtual_machines/:virtual_machine/disks",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Disks/ListForVirtualMachineEndpoint",
              "group": "disks"
            },
            {
              "path": "organizations/:organization/disk_templates",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskTemplates/ListEndpoint",
              "group": "disk_templates"
            },
            {
              "path": "disk_templates/:disk_template",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskTemplates/InfoEndpoint",
              "group": "disk_templates"
            },
            {
              "path": "disk_templates/:disk_template/versions",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskTemplateVersions/ListEndpoint",
              "group": "disk_template_versions"
            },
            {
              "path": "disk_template_versions/:disk_template_version",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskTemplateVersions/InfoEndpoint",
              "group": "disk_template_versions"
            },
            {
              "path": "disk_template_versions/:disk_template_version/spec",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskTemplateVersions/SpecEndpoint",
              "group": "disk_template_versions"
            },
            {
              "path": "gpu_types",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/GPUTypes/ListEndpoint",
              "group": "gpu_types"
            },
            {
              "path": "gpu_types/:gpu_type",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/GPUTypes/InfoEndpoint",
              "group": "gpu_types"
            },
            {
              "path": "data_centers/:data_center/gpu_types",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/GPUTypes/ListForDataCenterEndpoint",
              "group": "gpu_types"
            },
            {
              "path": "organizations/:organization/virtual_machines",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/ListEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "virtual_machines/:virtual_machine",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/InfoEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "virtual_machines/:virtual_machine",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/UpdateEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "virtual_machines/:virtual_machine",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/DeleteEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "virtual_machines/:virtual_machine/package",
              "request_method": "PUT",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/ChangePackageEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "virtual_machines/:virtual_machine/flexible_resources",
              "request_method": "PUT",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/ChangeFlexibleResourcesEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "virtual_machines/:virtual_machine/allocate_ip",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/AllocateIPEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "virtual_machine/authorized_keys",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/AuthorizedKeysEndpoint",
              "group": "virtual_machines"
            },
            {
              "path": "organizations/:organization/virtual_machines/build",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint",
              "group": "virtual_machines.build"
            },
            {
              "path": "organizations/:organization/virtual_machines/build_from_spec",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint",
              "group": "virtual_machines.build"
            },
            {
              "path": "virtual_machines/builds/:virtual_machine_build",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineBuilds/InfoEndpoint",
              "group": "virtual_machines.build"
            },
            {
              "path": "virtual_machines/:virtual_machine/start",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/StartEndpoint",
              "group": "virtual_machines.power"
            },
            {
              "path": "virtual_machines/:virtual_machine/stop",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/StopEndpoint",
              "group": "virtual_machines.power"
            },
            {
              "path": "virtual_machines/:virtual_machine/shutdown",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/ShutdownEndpoint",
              "group": "virtual_machines.power"
            },
            {
              "path": "virtual_machines/:virtual_machine/reset",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/ResetEndpoint",
              "group": "virtual_machines.power"
            },
            {
              "path": "virtual_machines/:virtual_machine/console_sessions",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint",
              "group": "virtual_machines.console"
            },
            {
              "path": "virtual_machine_packages",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachinePackages/ListEndpoint",
              "group": "virtual_machine_packages"
            },
            {
              "path": "virtual_machine_packages/:virtual_machine_package",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachinePackages/InfoEndpoint",
              "group": "virtual_machine_packages"
            },
            {
              "path": "organizations/:organization/ssh_keys",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/OrganizationSSHKeys/ListEndpoint",
              "group": "ssh_keys"
            },
            {
              "path": "organizations/:organization/ssh_keys",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/OrganizationSSHKeys/CreateEndpoint",
              "group": "ssh_keys"
            },
            {
              "path": "ssh_keys/:ssh_key",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AuthSSHKeys/DeleteEndpoint",
              "group": "ssh_keys"
            },
            {
              "path": "organizations/:organization/disk_backup_policies",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/ListEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "virtual_machines/:virtual_machine/disk_backup_policies",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/ListForVirtualMachineEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "disks/:disk/disk_backup_policies",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/ListForDiskEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "disk_backup_policies/:disk_backup_policy",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/InfoEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "disk_backup_policies/:disk_backup_policy",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/DeleteEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "disk_backup_policies/:disk_backup_policy/schedule",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/ScheduleDeleteEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "disk_backup_policies/:disk_backup_policy",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/UpdateEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "virtual_machines/:virtual_machine/disk_backup_policies",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForVirtualMachineEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "disks/:disk/disk_backup_policies",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForDiskEndpoint",
              "group": "disk_backup_policies"
            },
            {
              "path": "organizations/:organization/dns_zones",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSZones/ListEndpoint",
              "group": "dns_zones"
            },
            {
              "path": "organizations/:organization/dns_zones/nameservers",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSZones/NameserversEndpoint",
              "group": "dns_zones"
            },
            {
              "path": "organizations/:organization/dns_zones",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSZones/CreateEndpoint",
              "group": "dns_zones"
            },
            {
              "path": "dns_zones/:dns_zone",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSZones/InfoEndpoint",
              "group": "dns_zones"
            },
            {
              "path": "dns_zones/:dns_zone",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSZones/UpdateEndpoint",
              "group": "dns_zones"
            },
            {
              "path": "dns_zones/:dns_zone",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSZones/DeleteEndpoint",
              "group": "dns_zones"
            },
            {
              "path": "dns_zones/:dns_zone/verify",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSZones/VerifyEndpoint",
              "group": "dns_zones"
            },
            {
              "path": "dns_zones/:dns_zone/records",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSRecords/ListEndpoint",
              "group": "dns_zones.dns_records"
            },
            {
              "path": "dns_zones/:dns_zone/records",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSRecords/CreateEndpoint",
              "group": "dns_zones.dns_records"
            },
            {
              "path": "dns_records/:dns_record",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSRecords/InfoEndpoint",
              "group": "dns_zones.dns_records"
            },
            {
              "path": "dns_records/:dns_record",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSRecords/UpdateEndpoint",
              "group": "dns_zones.dns_records"
            },
            {
              "path": "dns_records/:dns_record",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/DNSRecords/DeleteEndpoint",
              "group": "dns_zones.dns_records"
            },
            {
              "path": "organizations/:organization/security_groups",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroups/ListEndpoint",
              "group": "security_groups"
            },
            {
              "path": "organizations/:organization/security_groups",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroups/CreateEndpoint",
              "group": "security_groups"
            },
            {
              "path": "security_groups/:security_group",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroups/InfoEndpoint",
              "group": "security_groups"
            },
            {
              "path": "security_groups/:security_group",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroups/UpdateEndpoint",
              "group": "security_groups"
            },
            {
              "path": "security_groups/:security_group",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroups/DeleteEndpoint",
              "group": "security_groups"
            },
            {
              "path": "security_groups/:security_group/rules",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroupRules/ListEndpoint",
              "group": "security_groups.rules"
            },
            {
              "path": "security_groups/:security_group/rules",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroupRules/CreateEndpoint",
              "group": "security_groups.rules"
            },
            {
              "path": "security_groups/rules/:security_group_rule",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroupRules/InfoEndpoint",
              "group": "security_groups.rules"
            },
            {
              "path": "security_groups/rules/:security_group_rule",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroupRules/UpdateEndpoint",
              "group": "security_groups.rules"
            },
            {
              "path": "security_groups/rules/:security_group_rule",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/SecurityGroupRules/DeleteEndpoint",
              "group": "security_groups.rules"
            },
            {
              "path": "organizations/:organization/file_storage_volumes",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/FileStorageVolumes/ListEndpoint",
              "group": "file_storage_volumes"
            },
            {
              "path": "file_storage_volumes/:file_storage_volume",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/FileStorageVolumes/InfoEndpoint",
              "group": "file_storage_volumes"
            },
            {
              "path": "organizations/:organization/file_storage_volumes",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/FileStorageVolumes/CreateEndpoint",
              "group": "file_storage_volumes"
            },
            {
              "path": "file_storage_volumes/:file_storage_volume",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/FileStorageVolumes/UpdateEndpoint",
              "group": "file_storage_volumes"
            },
            {
              "path": "file_storage_volumes/:file_storage_volume",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/FileStorageVolumes/DeleteEndpoint",
              "group": "file_storage_volumes"
            },
            {
              "path": "organizations/:organization/available_networks",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Networks/ListEndpoint",
              "group": "networks"
            },
            {
              "path": "networks/:network",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Networks/InfoEndpoint",
              "group": "networks"
            },
            {
              "path": "organizations/:organization/network_speed_profiles",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/NetworkSpeedProfiles/ListEndpoint",
              "group": "network_speed_profiles"
            },
            {
              "path": "address_lists",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressLists/ListGlobalEndpoint",
              "group": "address_lists"
            },
            {
              "path": "organizations/:organization/address_lists",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressLists/ListEndpoint",
              "group": "address_lists"
            },
            {
              "path": "address_lists/:address_list",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressLists/InfoEndpoint",
              "group": "address_lists"
            },
            {
              "path": "organizations/:organization/address_lists",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressLists/CreateEndpoint",
              "group": "address_lists"
            },
            {
              "path": "address_lists/:address_list",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressLists/UpdateEndpoint",
              "group": "address_lists"
            },
            {
              "path": "address_lists/:address_list",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressLists/DeleteEndpoint",
              "group": "address_lists"
            },
            {
              "path": "address_lists/:address_list/entries",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressListEntries/ListEndpoint",
              "group": "address_lists.entries"
            },
            {
              "path": "address_list_entries/:address_list_entry",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressListEntries/InfoEndpoint",
              "group": "address_lists.entries"
            },
            {
              "path": "address_lists/:address_list/entries",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressListEntries/CreateEndpoint",
              "group": "address_lists.entries"
            },
            {
              "path": "address_list_entries/:address_list_entry",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressListEntries/UpdateEndpoint",
              "group": "address_lists.entries"
            },
            {
              "path": "address_list_entries/:address_list_entry",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/AddressListEntries/DeleteEndpoint",
              "group": "address_lists.entries"
            },
            {
              "path": "organizations/:organization/certificates",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Certificates/ListEndpoint",
              "group": "certificates"
            },
            {
              "path": "certificates/:certificate",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Certificates/InfoEndpoint",
              "group": "certificates"
            },
            {
              "path": "organizations/:organization/load_balancers",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancers/ListEndpoint",
              "group": "load_balancers"
            },
            {
              "path": "organizations/:organization/load_balancers",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancers/CreateEndpoint",
              "group": "load_balancers"
            },
            {
              "path": "load_balancers/:load_balancer",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancers/InfoEndpoint",
              "group": "load_balancers"
            },
            {
              "path": "load_balancers/:load_balancer",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancers/UpdateEndpoint",
              "group": "load_balancers"
            },
            {
              "path": "load_balancers/:load_balancer",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancers/DeleteEndpoint",
              "group": "load_balancers"
            },
            {
              "path": "load_balancers/:load_balancer/rules",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancerRules/ListEndpoint",
              "group": "load_balancers.rules"
            },
            {
              "path": "load_balancers/:load_balancer/rules",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancerRules/CreateEndpoint",
              "group": "load_balancers.rules"
            },
            {
              "path": "load_balancers/rules/:load_balancer_rule",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancerRules/InfoEndpoint",
              "group": "load_balancers.rules"
            },
            {
              "path": "load_balancers/rules/:load_balancer_rule",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancerRules/UpdateEndpoint",
              "group": "load_balancers.rules"
            },
            {
              "path": "load_balancers/rules/:load_balancer_rule",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/LoadBalancerRules/DeleteEndpoint",
              "group": "load_balancers.rules"
            },
            {
              "path": "organizations/:organization/ip_addresses",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/IPAddresses/ListEndpoint",
              "group": "ip_addresses"
            },
            {
              "path": "organizations/:organization/ip_addresses",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/IPAddresses/CreateEndpoint",
              "group": "ip_addresses"
            },
            {
              "path": "ip_addresses/:ip_address",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/IPAddresses/InfoEndpoint",
              "group": "ip_addresses"
            },
            {
              "path": "ip_addresses/:ip_address",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/IPAddresses/UpdateEndpoint",
              "group": "ip_addresses"
            },
            {
              "path": "ip_addresses/:ip_address",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/IPAddresses/ReleaseEndpoint",
              "group": "ip_addresses"
            },
            {
              "path": "ip_addresses/:ip_address/unallocate",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/IPAddresses/UnallocateEndpoint",
              "group": "ip_addresses"
            },
            {
              "path": "virtual_machines/:virtual_machine/network_interfaces",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ListEndpoint",
              "group": "virtual_machine_network_interfaces"
            },
            {
              "path": "virtual_machines/:virtual_machine/networks/:network/interface",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ForNetworkEndpoint",
              "group": "virtual_machine_network_interfaces"
            },
            {
              "path": "virtual_machine_network_interfaces/:virtual_machine_network_interface",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/InfoEndpoint",
              "group": "virtual_machine_network_interfaces"
            },
            {
              "path": "virtual_machine_network_interfaces/:virtual_machine_network_interface/available_ips/:address_version",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/IpsAvailableForAllocationEndpoint",
              "group": "virtual_machine_network_interfaces"
            },
            {
              "path": "virtual_machine_network_interfaces/:virtual_machine_network_interface/allocate_ip",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateIPEndpoint",
              "group": "virtual_machine_network_interfaces"
            },
            {
              "path": "virtual_machine_network_interfaces/:virtual_machine_network_interface/allocate_new_ip",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateNewIPEndpoint",
              "group": "virtual_machine_network_interfaces"
            },
            {
              "path": "virtual_machine_network_interfaces/:virtual_machine_network_interface/update_speed_profile",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/UpdateSpeedProfileEndpoint",
              "group": "virtual_machine_network_interfaces"
            },
            {
              "path": "organizations/:organization/tags",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Tags/ListEndpoint",
              "group": "tags"
            },
            {
              "path": "organizations/:organization/tags",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Tags/CreateEndpoint",
              "group": "tags"
            },
            {
              "path": "tags/:tag",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Tags/InfoEndpoint",
              "group": "tags"
            },
            {
              "path": "tags/:tag",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Tags/UpdateEndpoint",
              "group": "tags"
            },
            {
              "path": "tags/:tag",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Tags/DeleteEndpoint",
              "group": "tags"
            },
            {
              "path": "organizations/:organization/virtual_machine_groups",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineGroups/ListEndpoint",
              "group": "virtual_machine_groups"
            },
            {
              "path": "organizations/:organization/virtual_machine_groups",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineGroups/CreateEndpoint",
              "group": "virtual_machine_groups"
            },
            {
              "path": "virtual_machine_groups/:virtual_machine_group",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineGroups/InfoEndpoint",
              "group": "virtual_machine_groups"
            },
            {
              "path": "virtual_machine_groups/:virtual_machine_group",
              "request_method": "PATCH",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineGroups/UpdateEndpoint",
              "group": "virtual_machine_groups"
            },
            {
              "path": "virtual_machine_groups/:virtual_machine_group",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/VirtualMachineGroups/DeleteEndpoint",
              "group": "virtual_machine_groups"
            },
            {
              "path": "operating_systems",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/OperatingSystems/ListEndpoint",
              "group": "operating_systems"
            },
            {
              "path": "operating_systems/:operating_system",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/OperatingSystems/InfoEndpoint",
              "group": "operating_systems"
            },
            {
              "path": "organizations/:organization/trash_objects",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/TrashObjects/ListEndpoint",
              "group": "trash_objects"
            },
            {
              "path": "organizations/:organization/trash_objects/purge_all",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/TrashObjects/PurgeAllEndpoint",
              "group": "trash_objects"
            },
            {
              "path": "trash_objects/:trash_object",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/TrashObjects/InfoEndpoint",
              "group": "trash_objects"
            },
            {
              "path": "trash_objects/:trash_object",
              "request_method": "DELETE",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/TrashObjects/PurgeEndpoint",
              "group": "trash_objects"
            },
            {
              "path": "trash_objects/:trash_object/restore",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/TrashObjects/RestoreEndpoint",
              "group": "trash_objects"
            },
            {
              "path": "zones",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Zones/ListEndpoint",
              "group": "zones"
            },
            {
              "path": "zones/:zone",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Zones/InfoEndpoint",
              "group": "zones"
            },
            {
              "path": "countries",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Countries/ListEndpoint",
              "group": "countries"
            },
            {
              "path": "countries/:country",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Countries/InfoEndpoint",
              "group": "countries"
            },
            {
              "path": "countries/:country/country_states",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/CountryStates/ListEndpoint",
              "group": "country_states"
            },
            {
              "path": "country_states/:country_state",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/CountryStates/InfoEndpoint",
              "group": "country_states"
            },
            {
              "path": "currencies",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Currencies/ListEndpoint",
              "group": "currencies"
            },
            {
              "path": "currencies/:currency",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Currencies/InfoEndpoint",
              "group": "currencies"
            },
            {
              "path": "tasks/:task",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Tasks/InfoEndpoint",
              "group": "tasks"
            },
            {
              "path": "users/current",
              "request_method": "GET",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Users/CurrentEndpoint",
              "group": "users"
            },
            {
              "path": "invalidate_linked_web_session",
              "request_method": "POST",
              "controller": null,
              "endpoint": "CoreAPI/Endpoints/Users/InvalidateLinkedWebSessionEndpoint",
              "group": "users"
            }
          ],
          "groups": [
            {
              "id": "data_centers",
              "name": "Data centers",
              "description": null,
              "groups": []
            },
            {
              "id": "organizations",
              "name": "Organizations",
              "description": null,
              "groups": [
                {
                  "id": "organizations.users",
                  "name": "Organization users",
                  "description": null,
                  "groups": []
                },
                {
                  "id": "organizations.managed",
                  "name": "Managed organizations",
                  "description": null,
                  "groups": []
                }
              ]
            },
            {
              "id": "disks",
              "name": "Disks",
              "description": null,
              "groups": []
            },
            {
              "id": "disk_templates",
              "name": "Disk templates",
              "description": null,
              "groups": []
            },
            {
              "id": "disk_template_versions",
              "name": "Disk template versions",
              "description": null,
              "groups": []
            },
            {
              "id": "gpu_types",
              "name": "GPU types",
              "description": null,
              "groups": []
            },
            {
              "id": "virtual_machines",
              "name": "Virtual machines",
              "description": null,
              "groups": [
                {
                  "id": "virtual_machines.build",
                  "name": "Build",
                  "description": "Endpoints used for building or creating new virtual machines",
                  "groups": []
                },
                {
                  "id": "virtual_machines.power",
                  "name": "Power functions",
                  "description": "Endpoints for performing power functions (i.e. start, stop etc...) on a virtual machine",
                  "groups": []
                },
                {
                  "id": "virtual_machines.console",
                  "name": "Console",
                  "description": "Endpoints for managing console access to a virtual machine",
                  "groups": []
                }
              ]
            },
            {
              "id": "virtual_machine_packages",
              "name": "Virtual machine packages",
              "description": null,
              "groups": []
            },
            {
              "id": "ssh_keys",
              "name": "SSH keys",
              "description": null,
              "groups": []
            },
            {
              "id": "disk_backup_policies",
              "name": "Disk backup policies",
              "description": "Endpoints for managing DNS zones/domains",
              "groups": []
            },
            {
              "id": "dns_zones",
              "name": "DNS zones",
              "description": "Endpoints for managing DNS zones",
              "groups": [
                {
                  "id": "dns_zones.dns_records",
                  "name": "Records",
                  "description": "Endpoints for managing DNS records",
                  "groups": []
                }
              ]
            },
            {
              "id": "security_groups",
              "name": "Security groups",
              "description": "Endpoints for managing security groups",
              "groups": [
                {
                  "id": "security_groups.rules",
                  "name": "Security group rules",
                  "description": "Endpoints for managing security group rules",
                  "groups": []
                }
              ]
            },
            {
              "id": "file_storage_volumes",
              "name": "File storage volumes",
              "description": null,
              "groups": []
            },
            {
              "id": "networks",
              "name": "Networks",
              "description": null,
              "groups": []
            },
            {
              "id": "network_speed_profiles",
              "name": "Network speed profiles",
              "description": null,
              "groups": []
            },
            {
              "id": "address_lists",
              "name": "Address lists",
              "description": null,
              "groups": [
                {
                  "id": "address_lists.entries",
                  "name": "Address list entries",
                  "description": null,
                  "groups": []
                }
              ]
            },
            {
              "id": "certificates",
              "name": "Certificates",
              "description": null,
              "groups": []
            },
            {
              "id": "load_balancers",
              "name": "Load balancers",
              "description": null,
              "groups": [
                {
                  "id": "load_balancers.rules",
                  "name": "Load balancer rules",
                  "description": null,
                  "groups": []
                }
              ]
            },
            {
              "id": "ip_addresses",
              "name": "IP addresses",
              "description": null,
              "groups": []
            },
            {
              "id": "virtual_machine_network_interfaces",
              "name": "Virtual machine network interfaces",
              "description": null,
              "groups": []
            },
            {
              "id": "tags",
              "name": "Tags",
              "description": null,
              "groups": []
            },
            {
              "id": "virtual_machine_groups",
              "name": "Virtual machine groups",
              "description": null,
              "groups": []
            },
            {
              "id": "operating_systems",
              "name": "Operating systems",
              "description": null,
              "groups": []
            },
            {
              "id": "trash_objects",
              "name": "Trash objects",
              "description": null,
              "groups": []
            },
            {
              "id": "zones",
              "name": "Zones",
              "description": null,
              "groups": []
            },
            {
              "id": "countries",
              "name": "Countries",
              "description": null,
              "groups": []
            },
            {
              "id": "country_states",
              "name": "Country states",
              "description": null,
              "groups": []
            },
            {
              "id": "currencies",
              "name": "Currencies",
              "description": null,
              "groups": []
            },
            {
              "id": "tasks",
              "name": "Tasks",
              "description": null,
              "groups": []
            },
            {
              "id": "users",
              "name": "Users",
              "description": null,
              "groups": []
            }
          ]
        },
        "scopes": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Authenticator/MissingAPIToken",
        "name": null,
        "description": "No API token was provided in the Authorization header. Ensure a token is provided prefixed with Bearer",
        "code": "missing_api_token",
        "http_status": 400,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Authenticator/UnauthorizedNetworkForAPIToken",
        "name": null,
        "description": "Network is not allowed to access the API with this API token",
        "code": "unauthorized_network_for_api_token",
        "http_status": 403,
        "fields": [
          {
            "id": "CoreAPI/Authenticator/UnauthorizedNetworkForAPIToken/IpAddressField",
            "name": "ip_address",
            "description": "The IP address the request was received from",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "scalar",
      "value": {
        "id": "Apia/Scalars/String",
        "name": "String",
        "description": null
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Authenticator/InvalidAPIToken",
        "name": null,
        "description": "The API token provided was not valid (it may not exist or have expired)",
        "code": "invalid_api_token",
        "http_status": 403,
        "fields": [
          {
            "id": "CoreAPI/Authenticator/InvalidAPIToken/DetailsField",
            "name": "details",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/RateLimitReached",
        "name": null,
        "description": "You have reached the rate limit for this type of request",
        "code": "rate_limit_reached",
        "http_status": 429,
        "fields": [
          {
            "id": "CoreAPI/Errors/RateLimitReached/TotalPermittedField",
            "name": "total_permitted",
            "description": "The total number of requests per minute that are permitted",
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "scalar",
      "value": {
        "id": "Apia/Scalars/Integer",
        "name": "Integer",
        "description": null
      }
    },
    {
      "type": "error",
      "value": {
        "id": "Apia/ScopeNotGrantedError",
        "name": null,
        "description": "The scope required for this endpoint has not been granted to the authenticating identity",
        "code": "scope_not_granted",
        "http_status": 403,
        "fields": [
          {
            "id": "Apia/ScopeNotGrantedError/ScopesField",
            "name": "scopes",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "controller",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones",
        "name": "DNS Zones",
        "description": null,
        "authenticator": null,
        "endpoints": [
          {
            "name": "list",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSZones/ListEndpoint"
          },
          {
            "name": "info",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSZones/InfoEndpoint"
          },
          {
            "name": "create",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSZones/CreateEndpoint"
          },
          {
            "name": "verify",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint"
          },
          {
            "name": "verification_details",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerificationDetailsEndpoint"
          },
          {
            "name": "update_ttl",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSZones/UpdateTtlEndpoint"
          },
          {
            "name": "delete",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSZones/DeleteEndpoint"
          }
        ]
      }
    },
    {
      "type": "controller",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords",
        "name": "DNS Records",
        "description": null,
        "authenticator": null,
        "endpoints": [
          {
            "name": "list",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSRecords/ListEndpoint"
          },
          {
            "name": "info",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSRecords/InfoEndpoint"
          },
          {
            "name": "create",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSRecords/CreateEndpoint"
          },
          {
            "name": "update",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSRecords/UpdateEndpoint"
          },
          {
            "name": "delete",
            "endpoint": "CoreAPI/LegacyDNS/Controllers/DNSRecords/DeleteEndpoint"
          }
        ]
      }
    },
    {
      "type": "scalar",
      "value": {
        "id": "Apia/Scalars/Boolean",
        "name": "Boolean",
        "description": null
      }
    },
    {
      "type": "object",
      "value": {
        "id": "Apia/Schema/ScopeType",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "Apia/Schema/ScopeType/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "Apia/Schema/ScopeType/DescriptionField",
            "name": "description",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DataCenters/ListEndpoint",
        "name": "List data centers",
        "description": "Provides a full list of all data centers",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DataCenters/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": []
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DataCenters/ListEndpoint/DataCentersField",
            "name": "data_centers",
            "description": null,
            "type": "CoreAPI/Objects/DataCenter",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,permalink,country[id,name]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DataCenters/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": []
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DataCenter",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DataCenter/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DataCenter/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DataCenter/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DataCenter/CountryField",
            "name": "country",
            "description": null,
            "type": "CoreAPI/Objects/Country",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Country",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Country/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Country/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Country/IsoCode2Field",
            "name": "iso_code2",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Country/IsoCode3Field",
            "name": "iso_code3",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Country/TimeZoneField",
            "name": "time_zone",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Country/EuField",
            "name": "eu",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DataCenters/InfoEndpoint",
        "name": "Get data center",
        "description": "Provide details for a specific data center",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DataCenters/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "data_center",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DataCenterLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DataCenters/InfoEndpoint/DataCenterField",
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/Objects/DataCenter",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,permalink,country[id,name]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DataCenters/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DataCenterLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DataCenterLookup",
        "name": "Data Center Lookup",
        "description": "Provides for data centers to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/DataCenterLookup/DataCenterNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/DataCenterLookup/DataCenterNotFound",
        "name": null,
        "description": "No data center was found matching any of the criteria provided in the arguments",
        "code": "data_center_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DataCenters/DefaultNetworkEndpoint",
        "name": "Get default network of data center",
        "description": "Provide details of default network for a data center",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DataCenters/DefaultNetworkEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "data_center",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DataCenterLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DataCenters/DefaultNetworkEndpoint/NetworkField",
            "name": "network",
            "description": "The details for the requested network",
            "type": "CoreAPI/Objects/Network",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,permalink,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DataCenters/DefaultNetworkEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DataCenterLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Network",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Network/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Network/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Network/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Network/DataCenterField",
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/Objects/DataCenter",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Organizations/ListEndpoint",
        "name": "List organizations",
        "description": "This will return a list of all organizations the authenticated identity has access to",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Organizations/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": []
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Organizations/ListEndpoint/OrganizationsField",
            "name": "organizations",
            "description": null,
            "type": "CoreAPI/Objects/Organization",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id, name, sub_domain, infrastructure_domain, managed, created_at, suspended"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "organizations:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Organizations/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": []
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Organization",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Organization/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/SubDomainField",
            "name": "sub_domain",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/InfrastructureDomainField",
            "name": "infrastructure_domain",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/SuspendedField",
            "name": "suspended",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/ManagedField",
            "name": "managed",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/BillingNameField",
            "name": "billing_name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/Address1Field",
            "name": "address1",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/Address2Field",
            "name": "address2",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/Address3Field",
            "name": "address3",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/Address4Field",
            "name": "address4",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/PostcodeField",
            "name": "postcode",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/VatNumberField",
            "name": "vat_number",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/PhoneNumberField",
            "name": "phone_number",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/CurrencyField",
            "name": "currency",
            "description": null,
            "type": "CoreAPI/Objects/Currency",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/CountryField",
            "name": "country",
            "description": null,
            "type": "CoreAPI/Objects/Country",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Organization/CountryStateField",
            "name": "country_state",
            "description": null,
            "type": "CoreAPI/Objects/CountryState",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "scalar",
      "value": {
        "id": "Apia/Scalars/UnixTime",
        "name": "Unix Timestamp",
        "description": null
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Currency",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Currency/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Currency/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Currency/IsoCodeField",
            "name": "iso_code",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Currency/SymbolField",
            "name": "symbol",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/CountryState",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/CountryState/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/CountryState/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/CountryState/CodeField",
            "name": "code",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/CountryState/CountryField",
            "name": "country",
            "description": null,
            "type": "CoreAPI/Objects/Country",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Organizations/InfoEndpoint",
        "name": "Get organization",
        "description": "Returns information about a specific organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Organizations/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Organizations/InfoEndpoint/OrganizationField",
            "name": "organization",
            "description": null,
            "type": "CoreAPI/Objects/Organization",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "organizations:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Organizations/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/OrganizationLookup",
        "name": "Organization Lookup",
        "description": "Provides for organizations to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "sub_domain",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/OrganizationLookup/OrganizationNotFound",
          "CoreAPI/ArgumentSets/OrganizationLookup/OrganizationSuspended",
          "CoreAPI/ArgumentSets/OrganizationLookup/OrganizationNotActivated"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/OrganizationLookup/OrganizationNotFound",
        "name": null,
        "description": "No organization was found matching any of the criteria provided in the arguments",
        "code": "organization_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/OrganizationLookup/OrganizationSuspended",
        "name": null,
        "description": "An organization was found from the arguments provided but it was suspended",
        "code": "organization_suspended",
        "http_status": 403,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/OrganizationLookup/OrganizationNotActivated",
        "name": null,
        "description": "An organization was found from the arguments provided but it wasn't activated yet",
        "code": "organization_not_activated",
        "http_status": 403,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Organizations/PolicyLimitsEndpoint",
        "name": "Get organization policy limits",
        "description": "Returns the computed policy limits for a organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Organizations/PolicyLimitsEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Organizations/PolicyLimitsEndpoint/PolicyLimitsField",
            "name": "policy_limits",
            "description": null,
            "type": "CoreAPI/Objects/OrganizationPolicy",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "organizations:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Organizations/PolicyLimitsEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/OrganizationPolicy",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumUninvoicedBalanceField",
            "name": "maximum_uninvoiced_balance",
            "description": null,
            "type": "CoreAPI/Objects/DecimalOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumVirtualMachinesField",
            "name": "maximum_virtual_machines",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumVirtualMachineMemoryField",
            "name": "maximum_virtual_machine_memory",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumDiskSpaceField",
            "name": "maximum_disk_space",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumManagedOrganizationsField",
            "name": "maximum_managed_organizations",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumUnallocatedIpAddressesField",
            "name": "maximum_unallocated_ip_addresses",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumSecurityGroupsField",
            "name": "maximum_security_groups",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumVirtualNetworksField",
            "name": "maximum_virtual_networks",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumLoadBalancersField",
            "name": "maximum_load_balancers",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumDnsZonesField",
            "name": "maximum_dns_zones",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumCertificatesField",
            "name": "maximum_certificates",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumFileStorageVolumesField",
            "name": "maximum_file_storage_volumes",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/MaximumIsosField",
            "name": "maximum_isos",
            "description": null,
            "type": "CoreAPI/Objects/IntegerOrUnlimited",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/FlexibleVirtualMachineResourcesField",
            "name": "flexible_virtual_machine_resources",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/AllowSuspensionField",
            "name": "allow_suspension",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationPolicy/AllowRestrictedTrafficTypesField",
            "name": "allow_restricted_traffic_types",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DecimalOrUnlimited",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DecimalOrUnlimited/ValueField",
            "name": "value",
            "description": null,
            "type": "Apia/Scalars/Decimal",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DecimalOrUnlimited/UnlimitedField",
            "name": "unlimited",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "scalar",
      "value": {
        "id": "Apia/Scalars/Decimal",
        "name": "Decimal",
        "description": null
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/IntegerOrUnlimited",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/IntegerOrUnlimited/ValueField",
            "name": "value",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IntegerOrUnlimited/UnlimitedField",
            "name": "unlimited",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/OrganizationUsers/SimpleListEndpoint",
        "name": "List organization users",
        "description": "This will return a simple list of users with any access to this organization. This\nendpoint is available to all users with access to the organization therefore allows\nthem to see a small amount of information about their peers. This is useful when\ncombined with other API actions that require the ID of a fellow user (such as when\ndetermining which users to assign a virtual machine).\n",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/OrganizationUsers/SimpleListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/OrganizationUsers/SimpleListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/OrganizationUsers/SimpleListEndpoint/UsersField",
            "name": "users",
            "description": null,
            "type": "CoreAPI/Objects/OrganizationUser",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "user[id,first_name,last_name,avatar_url]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "organizations:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/OrganizationUsers/SimpleListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "Apia/PaginationObject",
        "name": "Pagination Details",
        "description": "Provides information about how data has been paginated",
        "fields": [
          {
            "id": "Apia/PaginationObject/CurrentPageField",
            "name": "current_page",
            "description": "The current page",
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "Apia/PaginationObject/TotalPagesField",
            "name": "total_pages",
            "description": "The total number of pages",
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "Apia/PaginationObject/TotalField",
            "name": "total",
            "description": "The total number of items across all pages",
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "Apia/PaginationObject/PerPageField",
            "name": "per_page",
            "description": "The number of items per page",
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "Apia/PaginationObject/LargeSetField",
            "name": "large_set",
            "description": "Is this a large set and therefore the total number of records cannot be returned?",
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/OrganizationUser",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/OrganizationUser/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationUser/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationUser/BillingContactField",
            "name": "billing_contact",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationUser/OwnerField",
            "name": "owner",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OrganizationUser/UserField",
            "name": "user",
            "description": null,
            "type": "CoreAPI/Objects/User",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/User",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/User/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/User/FirstNameField",
            "name": "first_name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/User/LastNameField",
            "name": "last_name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/User/AvatarUrlField",
            "name": "avatar_url",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/ManagedOrganizations/ListEndpoint",
        "name": "List managed organizations",
        "description": "List all managed organizations owned by the given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/ManagedOrganizations/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/ManagedOrganizations/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/ManagedOrganizations/ListEndpoint/OrganizationsField",
            "name": "organizations",
            "description": null,
            "type": "CoreAPI/Objects/Organization",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,sub_domain,created_at,infrastructure_domain,managed"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "managed_organizations"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/ManagedOrganizations/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/ManagedOrganizations/CreateEndpoint",
        "name": "Create managed organization",
        "description": "Create a new managed organization within an existing organization",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/ManagedOrganizations/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "name",
              "description": null,
              "type": "Apia/Scalars/String",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "sub_domain",
              "description": null,
              "type": "Apia/Scalars/String",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/ManagedOrganizations/CreateEndpoint/OrganizationField",
            "name": "organization",
            "description": null,
            "type": "CoreAPI/Objects/Organization",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Endpoints/ManagedOrganizations/CreateEndpoint/OrganizationLimitReached",
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "managed_organizations"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/ManagedOrganizations/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "sub_domain",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/ManagedOrganizations/CreateEndpoint/OrganizationLimitReached",
        "name": null,
        "description": "The maxmium number of organizations that can be created has been reached",
        "code": "organization_limit_reached",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/ValidationError",
        "name": null,
        "description": "A validation error occurred with the object that was being created/updated/deleted",
        "code": "validation_error",
        "http_status": 422,
        "fields": [
          {
            "id": "CoreAPI/Errors/ValidationError/ErrorsField",
            "name": "errors",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Disks/ListEndpoint",
        "name": "List disks",
        "description": "Return a list of all disks owned by an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Disks/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to find disks for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Disks/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/Disks/ListEndpoint/DiskField",
            "name": "disk",
            "description": "The list of disks",
            "type": "CoreAPI/Objects/Disk",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,size_in_gb,wwn,state,virtual_machine_disk[virtual_machine[id,fqdn]]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disks",
          "disks:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Disks/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to find disks for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Disk",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Disk/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/SizeInGbField",
            "name": "size_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/WwnField",
            "name": "wwn",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/StateField",
            "name": "state",
            "description": null,
            "type": "CoreAPI/Objects/DiskStateEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/StorageSpeedField",
            "name": "storage_speed",
            "description": null,
            "type": "CoreAPI/Objects/StorageSpeedEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/IoProfileField",
            "name": "io_profile",
            "description": null,
            "type": "CoreAPI/Objects/DiskIOProfile",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/VirtualMachineDiskField",
            "name": "virtual_machine_disk",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineDisk",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Disk/InstallationField",
            "name": "installation",
            "description": null,
            "type": "CoreAPI/Objects/DiskInstallation",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/DiskStateEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "not_built",
            "description": null
          },
          {
            "name": "failed",
            "description": null
          },
          {
            "name": "built",
            "description": null
          },
          {
            "name": "building",
            "description": null
          },
          {
            "name": "installing",
            "description": null
          },
          {
            "name": "restoring",
            "description": null
          },
          {
            "name": "formatting",
            "description": null
          },
          {
            "name": "resizing",
            "description": null
          },
          {
            "name": "configuring",
            "description": null
          },
          {
            "name": "importing",
            "description": null
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/StorageSpeedEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "nvme",
            "description": "NVMe"
          },
          {
            "name": "ssd",
            "description": "SSD"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DiskIOProfile",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DiskIOProfile/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskIOProfile/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskIOProfile/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskIOProfile/SpeedInMbField",
            "name": "speed_in_mb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskIOProfile/IopsField",
            "name": "iops",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineDisk",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualMachineDisk/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineDisk/DiskField",
            "name": "disk",
            "description": null,
            "type": "CoreAPI/Objects/Disk",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineDisk/AttachOnBootField",
            "name": "attach_on_boot",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineDisk/BootField",
            "name": "boot",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineDisk/StateField",
            "name": "state",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineDiskAttachmentStateEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachine",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualMachine/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/FqdnField",
            "name": "fqdn",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/DescriptionField",
            "name": "description",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/InitialRootPasswordField",
            "name": "initial_root_password",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/StateField",
            "name": "state",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineStateEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/ZoneField",
            "name": "zone",
            "description": null,
            "type": "CoreAPI/Objects/Zone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/OrganizationField",
            "name": "organization",
            "description": null,
            "type": "CoreAPI/Objects/Organization",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/GroupField",
            "name": "group",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineGroup",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/PackageField",
            "name": "package",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachinePackage",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/AttachedIsoField",
            "name": "attached_iso",
            "description": null,
            "type": "CoreAPI/Objects/ISO",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/MemoryInGbField",
            "name": "memory_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/CpuCoresField",
            "name": "cpu_cores",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/UseDedicatedCpusField",
            "name": "use_dedicated_cpus",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/GpuTypeField",
            "name": "gpu_type",
            "description": null,
            "type": "CoreAPI/Objects/GPUType",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/GpusField",
            "name": "gpus",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineGPU",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/TagsField",
            "name": "tags",
            "description": null,
            "type": "CoreAPI/Objects/Tag",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/TagNamesField",
            "name": "tag_names",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachine/IpAddressesField",
            "name": "ip_addresses",
            "description": null,
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineStateEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "stopped",
            "description": null
          },
          {
            "name": "failed",
            "description": null
          },
          {
            "name": "started",
            "description": null
          },
          {
            "name": "starting",
            "description": null
          },
          {
            "name": "allocated",
            "description": null
          },
          {
            "name": "allocating",
            "description": null
          },
          {
            "name": "resetting",
            "description": null
          },
          {
            "name": "migrating",
            "description": null
          },
          {
            "name": "stopping",
            "description": null
          },
          {
            "name": "shutting_down",
            "description": null
          },
          {
            "name": "transferring",
            "description": null
          },
          {
            "name": "orphaned",
            "description": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Zone",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Zone/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Zone/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Zone/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Zone/DataCenterField",
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/Objects/DataCenter",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineGroup",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualMachineGroup/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGroup/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGroup/SegregateField",
            "name": "segregate",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGroup/AutoSegregateField",
            "name": "auto_segregate",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGroup/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachinePackage",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/CpuCoresField",
            "name": "cpu_cores",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/Ipv4AddressesField",
            "name": "ipv4_addresses",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/MemoryInGbField",
            "name": "memory_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/StorageInGbField",
            "name": "storage_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/MonthlyBandwidthAllowanceInGbField",
            "name": "monthly_bandwidth_allowance_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/PrivacyField",
            "name": "privacy",
            "description": null,
            "type": "CoreAPI/Objects/PrivacyTypesEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/IconField",
            "name": "icon",
            "description": null,
            "type": "CoreAPI/Objects/Attachment",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachinePackage/UseDedicatedCpusField",
            "name": "use_dedicated_cpus",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/PrivacyTypesEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "public",
            "description": "Public"
          },
          {
            "name": "private",
            "description": "Private"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Attachment",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Attachment/UrlField",
            "name": "url",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Attachment/FileNameField",
            "name": "file_name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Attachment/FileTypeField",
            "name": "file_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Attachment/FileSizeField",
            "name": "file_size",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Attachment/DigestField",
            "name": "digest",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Attachment/TokenField",
            "name": "token",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/ISO",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/ISO/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/ISO/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/ISO/OperatingSystemField",
            "name": "operating_system",
            "description": null,
            "type": "CoreAPI/Objects/OperatingSystem",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/OperatingSystem",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/OperatingSystem/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OperatingSystem/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/OperatingSystem/BadgeField",
            "name": "badge",
            "description": null,
            "type": "CoreAPI/Objects/Attachment",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/GPUType",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/GPUType/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/GPUType/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/GPUType/ManufacturerField",
            "name": "manufacturer",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/GPUType/MemoryInGbField",
            "name": "memory_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/GPUType/MemoryTypeField",
            "name": "memory_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/GPUType/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/GPUType/DataCentersField",
            "name": "data_centers",
            "description": "List of data centers where this GPU type is available",
            "type": "CoreAPI/Objects/DataCenter",
            "null": true,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineGPU",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualMachineGPU/IdField",
            "name": "id",
            "description": "Unique ID for this GPU. Not available when status is \"detached\".",
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGPU/StatusField",
            "name": "status",
            "description": "The status of this GPU.",
            "type": "CoreAPI/Objects/VirtualMachineGPUStatusEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGPU/PendingActionField",
            "name": "pending_action",
            "description": "The pending action for this GPU.",
            "type": "CoreAPI/Objects/VirtualMachineGPUPendingActionEnum",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGPU/AvailableField",
            "name": "available",
            "description": "When pending action is \"attach\", this indicates if there is a GPU of the relevant type available.",
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineGPU/TypeField",
            "name": "type",
            "description": null,
            "type": "CoreAPI/Objects/GPUType",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineGPUStatusEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "attached",
            "description": "The GPU is attached to the virtual machine"
          },
          {
            "name": "attaching",
            "description": "The GPU is being attached to the virtual machine"
          },
          {
            "name": "detached",
            "description": "The GPU is detached from the virtual machine"
          },
          {
            "name": "detaching",
            "description": "The GPU is being detached from the virtual machine"
          },
          {
            "name": "unknown",
            "description": "The GPU status is unknown"
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineGPUPendingActionEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "attach",
            "description": "The GPU will be attached to the virtual machine on next start"
          },
          {
            "name": "detach",
            "description": "The GPU will be detached from the virtual machine on next shutdown"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Tag",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Tag/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Tag/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Tag/ColorField",
            "name": "color",
            "description": null,
            "type": "CoreAPI/Objects/TagColorsEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Tag/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/TagColorsEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "red",
            "description": "Red"
          },
          {
            "name": "pink",
            "description": "Pink"
          },
          {
            "name": "purple",
            "description": "Purple"
          },
          {
            "name": "dark_blue",
            "description": "Dark blue"
          },
          {
            "name": "green",
            "description": "Green"
          },
          {
            "name": "teal",
            "description": "Teal"
          },
          {
            "name": "aqua",
            "description": "Aqua"
          },
          {
            "name": "light_blue",
            "description": "Light blue"
          },
          {
            "name": "yellow",
            "description": "Yellow"
          },
          {
            "name": "orange",
            "description": "Orange"
          },
          {
            "name": "orange_red",
            "description": "Orange red"
          },
          {
            "name": "brown",
            "description": "Brown"
          },
          {
            "name": "black",
            "description": "Black"
          },
          {
            "name": "dark_gray",
            "description": "Dark gray"
          },
          {
            "name": "light_gray",
            "description": "Light gray"
          },
          {
            "name": "light_brown",
            "description": "Light brown"
          },
          {
            "name": "pastel_red",
            "description": "Pastel red"
          },
          {
            "name": "pastel_pink",
            "description": "Pastel pink"
          },
          {
            "name": "pastel_purple",
            "description": "Pastel purple"
          },
          {
            "name": "pastel_dark_blue",
            "description": "Pastel dark blue"
          },
          {
            "name": "pastel_green",
            "description": "Pastel green"
          },
          {
            "name": "pastel_teal",
            "description": "Pastel teal"
          },
          {
            "name": "pastel_aqua",
            "description": "Pastel aqua"
          },
          {
            "name": "pastel_light_blue",
            "description": "Pastel light blue"
          },
          {
            "name": "pastel_yellow",
            "description": "Pastel yellow"
          },
          {
            "name": "pastel_orange",
            "description": "Pastel orange"
          },
          {
            "name": "pastel_orange_red",
            "description": "Pastel orange red"
          },
          {
            "name": "pastel_brown",
            "description": "Pastel brown"
          },
          {
            "name": "pastel_black",
            "description": "Pastel black"
          },
          {
            "name": "pastel_dark_gray",
            "description": "Pastel dark gray"
          },
          {
            "name": "pastel_light_gray",
            "description": "Pastel light gray"
          },
          {
            "name": "pastel_light_brown",
            "description": "Pastel light brown"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/IPAddress",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/IPAddress/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/AddressField",
            "name": "address",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/ReverseDnsField",
            "name": "reverse_dns",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/VipField",
            "name": "vip",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/LabelField",
            "name": "label",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/AddressWithMaskField",
            "name": "address_with_mask",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/NetworkField",
            "name": "network",
            "description": null,
            "type": "CoreAPI/Objects/Network",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/AllocationIdField",
            "name": "allocation_id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/IPAddress/AllocationTypeField",
            "name": "allocation_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineDiskAttachmentStateEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "detached",
            "description": null
          },
          {
            "name": "failed",
            "description": null
          },
          {
            "name": "attached",
            "description": null
          },
          {
            "name": "attaching",
            "description": null
          },
          {
            "name": "detaching",
            "description": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DiskInstallation",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DiskInstallation/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskInstallation/DiskTemplateVersionField",
            "name": "disk_template_version",
            "description": null,
            "type": "CoreAPI/Objects/DiskTemplateVersion",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskInstallation/AttributesField",
            "name": "attributes",
            "description": null,
            "type": "CoreAPI/Objects/DiskInstallationAttribute",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DiskTemplateVersion",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DiskTemplateVersion/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplateVersion/NumberField",
            "name": "number",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplateVersion/StableField",
            "name": "stable",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplateVersion/SizeInGbField",
            "name": "size_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplateVersion/DiskTemplateField",
            "name": "disk_template",
            "description": null,
            "type": "CoreAPI/Objects/DiskTemplate",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DiskTemplate",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DiskTemplate/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplate/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplate/DescriptionField",
            "name": "description",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplate/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplate/UniversalField",
            "name": "universal",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplate/LatestVersionField",
            "name": "latest_version",
            "description": null,
            "type": "CoreAPI/Objects/DiskTemplateVersion",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskTemplate/OperatingSystemField",
            "name": "operating_system",
            "description": null,
            "type": "CoreAPI/Objects/OperatingSystem",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DiskInstallationAttribute",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DiskInstallationAttribute/KeyField",
            "name": "key",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskInstallationAttribute/LabelField",
            "name": "label",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskInstallationAttribute/ValueField",
            "name": "value",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskInstallationAttribute/DescriptionField",
            "name": "description",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskInstallationAttribute/ProtectField",
            "name": "protect",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Disks/InfoEndpoint",
        "name": "Get disk",
        "description": "Return details for a specific disk",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Disks/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk",
              "description": "The disk to return",
              "type": "CoreAPI/ArgumentSets/DiskLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Disks/InfoEndpoint/DiskField",
            "name": "disk",
            "description": "The disk details",
            "type": "CoreAPI/Objects/Disk",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,\n                                                    name,\n                                                    size_in_gb,\n                                                    wwn,\n                                                    state,\n                                                    created_at,\n                                                    storage_speed,\n                                                    io_profile[*],\n                                                    virtual_machine_disk[\n                                                        state,\n                                                        attach_on_boot,\n                                                        boot,\n                                                        virtual_machine[\n                                                          id,\n                                                          fqdn\n                                                        ]\n                                                    ],\n                                                    installation[\n                                                      id,\n                                                      attributes[*],\n                                                      disk_template_version[\n                                                          number,\n                                                          stable,\n                                                          disk_template[\n                                                              id,\n                                                              name,\n                                                              permalink,\n                                                              operating_system[\n                                                                  id,\n                                                                  name\n                                                              ]\n                                                          ]\n                                                      ]\n                                                  ]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disks",
          "disks:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Disks/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk",
            "description": "The disk to return",
            "type": "CoreAPI/ArgumentSets/DiskLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskLookup",
        "name": "Disk Lookup",
        "description": "Provides for disks to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/DiskLookup/DiskNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskLookup/DiskNotFound",
        "name": null,
        "description": "No disk was found matching any of the criteria provided in the arguments",
        "code": "disk_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Disks/ListForVirtualMachineEndpoint",
        "name": "List virtual machine disks",
        "description": "Return a list of all disks for a given virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Disks/ListForVirtualMachineEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": "The virtual machine to find disks for",
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Disks/ListForVirtualMachineEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/Disks/ListForVirtualMachineEndpoint/DisksField",
            "name": "disks",
            "description": "The list of disks",
            "type": "CoreAPI/Objects/VirtualMachineDisk",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "state,boot,attach_on_boot,disk[id,state,name,wwn,size_in_gb,created_at]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disks",
          "disks:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Disks/ListForVirtualMachineEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": "The virtual machine to find disks for",
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineLookup",
        "name": "VirtualMachine Lookup",
        "description": "Provides for virtual machines to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "fqdn",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ObjectInTrash",
          "CoreAPI/ArgumentSets/VirtualMachineLookup/VirtualMachineNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/ObjectInTrash",
        "name": null,
        "description": "The object found is in the trash and therefore cannot be manipulated through the API. It should be restored in order to run this operation.",
        "code": "object_in_trash",
        "http_status": 406,
        "fields": [
          {
            "id": "CoreAPI/Errors/ObjectInTrash/TrashObjectField",
            "name": "trash_object",
            "description": "The trash object for this item",
            "type": "CoreAPI/Objects/TrashObject",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/TrashObject",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/TrashObject/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TrashObject/KeepUntilField",
            "name": "keep_until",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TrashObject/ObjectIdField",
            "name": "object_id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TrashObject/ObjectTypeField",
            "name": "object_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineLookup/VirtualMachineNotFound",
        "name": null,
        "description": "No virtual machine was found matching any of the criteria provided in the arguments",
        "code": "virtual_machine_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplates/ListEndpoint",
        "name": "List disk templates",
        "description": "Return a list of all disk templates owned by an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskTemplates/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to find disk templates for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "include_universal",
              "description": "Whether or not to include universal templates",
              "type": "Apia/Scalars/Boolean",
              "required": false,
              "array": false,
              "default": "false"
            },
            {
              "name": "operating_system",
              "description": "An operating system to use to filter disk templates",
              "type": "CoreAPI/ArgumentSets/OperatingSystemLookup",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskTemplates/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/DiskTemplates/ListEndpoint/DiskTemplatesField",
            "name": "disk_templates",
            "description": "The list of disk templates",
            "type": "CoreAPI/Objects/DiskTemplate",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,description,permalink,universal,latest_version[id,number],operating_system[id,name]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disk_templates",
          "disk_templates:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplates/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to find disk templates for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "include_universal",
            "description": "Whether or not to include universal templates",
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": "false"
          },
          {
            "name": "operating_system",
            "description": "An operating system to use to filter disk templates",
            "type": "CoreAPI/ArgumentSets/OperatingSystemLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/OperatingSystemLookup",
        "name": "Operating System Lookup",
        "description": "Provides for operating systems to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/OperatingSystemLookup/OperatingSystemNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/OperatingSystemLookup/OperatingSystemNotFound",
        "name": null,
        "description": "No operating system was found matching any of the criteria provided in the arguments",
        "code": "operating_system_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplates/InfoEndpoint",
        "name": "Get disk template",
        "description": "Return details for a specific disk template",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskTemplates/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_template",
              "description": "The disk template to return",
              "type": "CoreAPI/ArgumentSets/DiskTemplateLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskTemplates/InfoEndpoint/DiskTemplateField",
            "name": "disk_template",
            "description": "The disk template details",
            "type": "CoreAPI/Objects/DiskTemplate",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,operating_system[*,badge[url]],latest_version[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disk_templates",
          "disk_templates:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplates/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_template",
            "description": "The disk template to return",
            "type": "CoreAPI/ArgumentSets/DiskTemplateLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskTemplateLookup",
        "name": "Disk Template Lookup",
        "description": "Provides for disk templates to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/DiskTemplateLookup/DiskTemplateNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskTemplateLookup/DiskTemplateNotFound",
        "name": null,
        "description": "No disk template was found matching any of the criteria provided in the arguments",
        "code": "disk_template_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplateVersions/ListEndpoint",
        "name": "List disk template versions",
        "description": "Return a list of all disk template versions for a specific disk template",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskTemplateVersions/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_template",
              "description": "The disk template to return the versions for",
              "type": "CoreAPI/ArgumentSets/DiskTemplateLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskTemplateVersions/ListEndpoint/DiskTemplateField",
            "name": "disk_template",
            "description": null,
            "type": "CoreAPI/Objects/DiskTemplate",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,permalink"
            }
          },
          {
            "id": "CoreAPI/Endpoints/DiskTemplateVersions/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/DiskTemplateVersions/ListEndpoint/DiskTemplateVersionsField",
            "name": "disk_template_versions",
            "description": "The disk template versions for the provided template",
            "type": "CoreAPI/Objects/DiskTemplateVersion",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "*,-disk_template"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disk_templates",
          "disk_templates:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplateVersions/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_template",
            "description": "The disk template to return the versions for",
            "type": "CoreAPI/ArgumentSets/DiskTemplateLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplateVersions/InfoEndpoint",
        "name": "Get disk template version",
        "description": "Return details for a specific disk template version",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskTemplateVersions/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_template_version",
              "description": "The disk template version to return",
              "type": "CoreAPI/ArgumentSets/DiskTemplateVersionLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskTemplateVersions/InfoEndpoint/DiskTemplateVersionField",
            "name": "disk_template_version",
            "description": "The disk template version details",
            "type": "CoreAPI/Objects/DiskTemplateVersion",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,disk_template[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disk_templates",
          "disk_templates:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplateVersions/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_template_version",
            "description": "The disk template version to return",
            "type": "CoreAPI/ArgumentSets/DiskTemplateVersionLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskTemplateVersionLookup",
        "name": "Disk Template Version Lookup",
        "description": "Provides for disk template versions to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/DiskTemplateVersionLookup/DiskTemplateVersionNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskTemplateVersionLookup/DiskTemplateVersionNotFound",
        "name": null,
        "description": "No disk template version was found matching any of the criteria provided in the arguments",
        "code": "disk_template_version_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplateVersions/SpecEndpoint",
        "name": "Get disk template version spec",
        "description": "Return details provided by this template's specification",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskTemplateVersions/SpecEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_template_version",
              "description": "The disk template version to return",
              "type": "CoreAPI/ArgumentSets/DiskTemplateVersionLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskTemplateVersions/SpecEndpoint/DiskTemplateVersionField",
            "name": "disk_template_version",
            "description": "The disk template version details",
            "type": "CoreAPI/Objects/DiskTemplateVersion",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,disk_template[id,name,permalink]"
            }
          },
          {
            "id": "CoreAPI/Endpoints/DiskTemplateVersions/SpecEndpoint/SpecField",
            "name": "spec",
            "description": null,
            "type": "CoreAPI/Objects/TemplateSpec",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disk_templates",
          "disk_templates:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskTemplateVersions/SpecEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_template_version",
            "description": "The disk template version to return",
            "type": "CoreAPI/ArgumentSets/DiskTemplateVersionLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/TemplateSpec",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/TemplateSpec/FieldsField",
            "name": "fields",
            "description": null,
            "type": "CoreAPI/Objects/TemplateSpecField",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/TemplateSpecField",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/TemplateSpecField/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TemplateSpecField/TypeField",
            "name": "type",
            "description": null,
            "type": "CoreAPI/Objects/TemplateSpecField/TemplateSpecFieldTypeEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TemplateSpecField/LabelField",
            "name": "label",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TemplateSpecField/DescriptionField",
            "name": "description",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TemplateSpecField/RequiredField",
            "name": "required",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TemplateSpecField/PlaceholderField",
            "name": "placeholder",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/TemplateSpecField/PrefillField",
            "name": "prefill",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/TemplateSpecField/TemplateSpecFieldTypeEnum",
        "name": "Template spec field type",
        "description": null,
        "values": [
          {
            "name": "Text",
            "description": null
          },
          {
            "name": "Boolean",
            "description": null
          },
          {
            "name": "Password",
            "description": null
          },
          {
            "name": "Keyboard",
            "description": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/GPUTypes/ListEndpoint",
        "name": "List GPU types",
        "description": "Provides a full list of all GPU types",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/GPUTypes/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/GPUTypes/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/GPUTypes/ListEndpoint/GpuTypesField",
            "name": "gpu_types",
            "description": null,
            "type": "CoreAPI/Objects/GPUType",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "*,data_centers[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/GPUTypes/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/GPUTypes/InfoEndpoint",
        "name": "Get GPU type",
        "description": "Provide details for a specific GPU type",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/GPUTypes/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "gpu_type",
              "description": null,
              "type": "CoreAPI/ArgumentSets/GPUTypeLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/GPUTypes/InfoEndpoint/GpuTypeField",
            "name": "gpu_type",
            "description": null,
            "type": "CoreAPI/Objects/GPUType",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,data_centers[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/GPUTypes/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "gpu_type",
            "description": null,
            "type": "CoreAPI/ArgumentSets/GPUTypeLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/GPUTypeLookup",
        "name": "GPU Type Lookup",
        "description": "Provides for GPU types to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/GPUTypeLookup/GPUTypeNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/GPUTypeLookup/GPUTypeNotFound",
        "name": null,
        "description": "No GPU type was found matching any of the criteria provided in the arguments",
        "code": "gpu_type_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/GPUTypes/ListForDataCenterEndpoint",
        "name": "List GPU types for Data Center",
        "description": "Provides a list of all GPU types available in a given data center",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/GPUTypes/ListForDataCenterEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "data_center",
              "description": "The data center to list GPU types for",
              "type": "CoreAPI/ArgumentSets/DataCenterLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/GPUTypes/ListForDataCenterEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/GPUTypes/ListForDataCenterEndpoint/GpuTypesField",
            "name": "gpu_types",
            "description": null,
            "type": "CoreAPI/Objects/GPUType",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "*,-data_centers"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/GPUTypes/ListForDataCenterEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "data_center",
            "description": "The data center to list GPU types for",
            "type": "CoreAPI/ArgumentSets/DataCenterLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ListEndpoint",
        "name": "List virtual machines",
        "description": "Returns a list of all virtual machines for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/ListEndpoint/VirtualMachinesField",
            "name": "virtual_machines",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,fqdn,hostname,created_at,zone[id,name,permalink,data_center[id,name,permalink]],ip_addresses[address],package[name],gpu_type[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machines",
          "virtual_machines:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/InfoEndpoint",
        "name": "Get virtual machine",
        "description": "Return information about a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/InfoEndpoint/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,gpu_type[*,-data_centers],gpus[*,type[*,-data_centers]]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machines",
          "virtual_machines:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/UpdateEndpoint",
        "name": "Update a Virtual Machine",
        "description": "Update the properties of a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": "The virtual machine to update",
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The new details for this virtual machine",
              "type": "CoreAPI/ArgumentSets/VirtualMachineArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/UpdateEndpoint/VirtualMachineField",
            "name": "virtual_machine",
            "description": "The newly updated virtual machine",
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,gpu_type[*,-data_centers],gpus[*,type[*,-data_centers]]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machines"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": "The virtual machine to update",
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The new details for this virtual machine",
            "type": "CoreAPI/ArgumentSets/VirtualMachineArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "description",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "tag_names",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": true,
            "default": null
          },
          {
            "name": "gpu_type",
            "description": null,
            "type": "CoreAPI/ArgumentSets/GPUTypeLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "group",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
        "name": "Virtual Machine Group Lookup",
        "description": "Provides for virtual machine groups to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/VirtualMachineGroupLookup/VirtualMachineGroupNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup/VirtualMachineGroupNotFound",
        "name": null,
        "description": "No virtual machine group was found matching any of the criteria provided in the arguments",
        "code": "virtual_machine_group_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/DeleteEndpoint",
        "name": "Delete virtual machine",
        "description": "Moves an existing virtual machine to the trash",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": false,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/DeleteEndpoint/TrashObjectField",
            "name": "trash_object",
            "description": null,
            "type": "CoreAPI/Objects/TrashObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/DeleteEndpoint/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,gpu_type[*,-data_centers],gpus[*,type[*,-data_centers]]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "virtual_machines"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/PermissionDenied",
        "name": null,
        "description": "The authenticated identity is not permitted to perform this action",
        "code": "permission_denied",
        "http_status": 403,
        "fields": [
          {
            "id": "CoreAPI/Errors/PermissionDenied/DetailsField",
            "name": "details",
            "description": "Additional information regarding the reason why permission was denied",
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ChangePackageEndpoint",
        "name": "Change package",
        "description": "Change a package for a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/ChangePackageEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "virtual_machine_package",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/ChangePackageEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "virtual_machines"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ChangePackageEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "virtual_machine_package",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup",
        "name": "Virtual Machine Package Lookup",
        "description": "Provides for virtual machine packages to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/VirtualMachinePackageLookup/VirtualMachinePackageNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup/VirtualMachinePackageNotFound",
        "name": null,
        "description": "No package was found matching any of the criteria provided in the arguments",
        "code": "package_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/TaskQueueingError",
        "name": null,
        "description": "This error means that a background task that was needed to complete your request could not be queued",
        "code": "task_queueing_error",
        "http_status": 406,
        "fields": [
          {
            "id": "CoreAPI/Errors/TaskQueueingError/DetailsField",
            "name": "details",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Task",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Task/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Task/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Task/StatusField",
            "name": "status",
            "description": null,
            "type": "CoreAPI/Objects/TaskStatusEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Task/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Task/StartedAtField",
            "name": "started_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Task/FinishedAtField",
            "name": "finished_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Task/ProgressField",
            "name": "progress",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/TaskStatusEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "pending",
            "description": "Pending"
          },
          {
            "name": "running",
            "description": "Running"
          },
          {
            "name": "completed",
            "description": "Completed"
          },
          {
            "name": "failed",
            "description": "Failed"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ChangeFlexibleResourcesEndpoint",
        "name": "Change flexible resources",
        "description": "Change the flexible resources assigned to a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/ChangeFlexibleResourcesEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "resources",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineFlexibleResources",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/ChangeFlexibleResourcesEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError",
          "CoreAPI/Endpoints/VirtualMachines/ChangeFlexibleResourcesEndpoint/FlexibleResourcesUnavailableToOrganization"
        ],
        "scopes": [
          "virtual_machines"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ChangeFlexibleResourcesEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "resources",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineFlexibleResources",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineFlexibleResources",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "cpu_cores",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "memory_in_gb",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "use_dedicated_cpus",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ChangeFlexibleResourcesEndpoint/FlexibleResourcesUnavailableToOrganization",
        "name": null,
        "description": "The organization is not permitted to use flexible resources",
        "code": "flexible_resources_unavailable_to_organization",
        "http_status": 403,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/AllocateIPEndpoint",
        "name": "Allocate an IP Address",
        "description": "Allocate an IP address to a virtual machine, automatically determining the network interface",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/AllocateIPEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": "The virtual machine to allocate the IP address to",
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "ip_address",
              "description": "The IP address to allocate",
              "type": "CoreAPI/ArgumentSets/IPAddressLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/AllocateIPEndpoint/IpAddressField",
            "name": "ip_address",
            "description": "The newly allocated IP address",
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Endpoints/VirtualMachines/AllocateIPEndpoint/NoInterfaceAvailable",
          "CoreAPI/Errors/IPAlreadyAllocated"
        ],
        "scopes": [
          "ip_addresses"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/AllocateIPEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": "The virtual machine to allocate the IP address to",
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "ip_address",
            "description": "The IP address to allocate",
            "type": "CoreAPI/ArgumentSets/IPAddressLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/IPAddressLookup",
        "name": "IP Address Lookup",
        "description": "Provides for IP addresss to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "address",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/IPAddressLookup/IPAddressNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/IPAddressLookup/IPAddressNotFound",
        "name": null,
        "description": "No IP addresses were found matching any of the criteria provided in the arguments",
        "code": "ip_address_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/AllocateIPEndpoint/NoInterfaceAvailable",
        "name": null,
        "description": "This virtual machine does not have a network interface that is compatible with the provided IP address",
        "code": "no_interface_available",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/IPAlreadyAllocated",
        "name": null,
        "description": "This IP address has already been allocated to another resource",
        "code": "ip_already_allocated",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/AuthorizedKeysEndpoint",
        "name": "Get authorized keys for a virtual machine",
        "description": "Return the authorized keys for the virtual machine associated with the provided API token",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/AuthorizedKeysEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": []
        },
        "fields": [],
        "potential_errors": [
          "CoreAPI/Endpoints/VirtualMachines/AuthorizedKeysEndpoint/NoVirtualMachineForAPIToken"
        ],
        "scopes": [
          "virtual_machines:authorized_keys"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/AuthorizedKeysEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/AuthorizedKeysEndpoint/NoVirtualMachineForAPIToken",
        "name": null,
        "description": "No virtual machine was found for the provided API token",
        "code": "no_virtual_machine_for_api_token",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint",
        "name": "Build virtual machine",
        "description": "Builds a new virtual machine based on the arguments provided to this endpoint. Virtual machines will be built in the background. This task will return an task object that will allow you to monitor the build process using the appropriate API action. This action only offers a small subset of the full functionality needed when provisioning virtual machines - see the `build_from_spec` action for a full advanced virtual machine creation method.",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "zone",
              "description": null,
              "type": "CoreAPI/ArgumentSets/ZoneLookup",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "data_center",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DataCenterLookup",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "package",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "disk_template",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DiskTemplateLookup",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "disk_template_options",
              "description": null,
              "type": "CoreAPI/ArgumentSets/KeyValue",
              "required": false,
              "array": true,
              "default": null
            },
            {
              "name": "network",
              "description": null,
              "type": "CoreAPI/ArgumentSets/NetworkLookup",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "hostname",
              "description": null,
              "type": "Apia/Scalars/String",
              "required": false,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,status"
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/BuildField",
            "name": "build",
            "description": "Deprecated, please use \"virtual_machine_build\" instead",
            "type": "CoreAPI/Objects/VirtualMachineBuild",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,state"
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/VirtualMachineBuildField",
            "name": "virtual_machine_build",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineBuild",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,state"
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ResourceCreationRestricted",
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/LocationRequired"
        ],
        "scopes": [
          "virtual_machines"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "zone",
            "description": null,
            "type": "CoreAPI/ArgumentSets/ZoneLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DataCenterLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "package",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "disk_template",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DiskTemplateLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "disk_template_options",
            "description": null,
            "type": "CoreAPI/ArgumentSets/KeyValue",
            "required": false,
            "array": true,
            "default": null
          },
          {
            "name": "network",
            "description": null,
            "type": "CoreAPI/ArgumentSets/NetworkLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/ZoneLookup",
        "name": "Zone Lookup",
        "description": "Provides for zones to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/ZoneLookup/ZoneNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/ZoneLookup/ZoneNotFound",
        "name": null,
        "description": "No zone was found matching any of the criteria provided in the arguments",
        "code": "zone_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/KeyValue",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "key",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "value",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/NetworkLookup",
        "name": "Network Lookup",
        "description": "Provides for networks to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/NetworkLookup/NetworkNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/NetworkLookup/NetworkNotFound",
        "name": null,
        "description": "No network was found matching any of the criteria provided in the arguments",
        "code": "network_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/ResourceCreationRestricted",
        "name": null,
        "description": "The organization chosen is not permitted to create resources",
        "code": "resource_creation_restricted",
        "http_status": 403,
        "fields": [
          {
            "id": "CoreAPI/Errors/ResourceCreationRestricted/ErrorsField",
            "name": "errors",
            "description": "The specific details that are restricting this organization",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/BuildEndpoint/LocationRequired",
        "name": null,
        "description": "A zone or a data_center argument must be provided",
        "code": "location_required",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineBuild",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualMachineBuild/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineBuild/SpecXmlField",
            "name": "spec_xml",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineBuild/StateField",
            "name": "state",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineBuildStateEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineBuild/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineBuild/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineBuildStateEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "draft",
            "description": null
          },
          {
            "name": "failed",
            "description": null
          },
          {
            "name": "pending",
            "description": null
          },
          {
            "name": "complete",
            "description": null
          },
          {
            "name": "building",
            "description": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint",
        "name": "Build virtual machine (from spec)",
        "description": "Builds a new virtual machine by receiving a virtual machine spec document",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "xml",
              "description": null,
              "type": "Apia/Scalars/String",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,status"
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/BuildField",
            "name": "build",
            "description": "Deprecated, please use \"virtual_machine_build\" instead",
            "type": "CoreAPI/Objects/VirtualMachineBuild",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,state"
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/VirtualMachineBuildField",
            "name": "virtual_machine_build",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineBuild",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,state"
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/InvalidSpecXML"
        ],
        "scopes": [
          "virtual_machines"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "xml",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/InvalidSpecXML",
        "name": null,
        "description": "The spec XML provided is invalid",
        "code": "invalid_spec_xml",
        "http_status": 400,
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/BuildFromSpecEndpoint/InvalidSpecXML/ErrorsField",
            "name": "errors",
            "description": "A textual description of the errors with the provided XML",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineBuilds/InfoEndpoint",
        "name": "Get virtual machine build",
        "description": "Return virtual machine build information",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineBuilds/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_build",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineBuildLookup",
              "required": false,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineBuilds/InfoEndpoint/VirtualMachineBuildField",
            "name": "virtual_machine_build",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachineBuild",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,state,created_at,spec_xml,virtual_machine[id,name,hostname,fqdn,state]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machines",
          "virtual_machines:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineBuilds/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_build",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineBuildLookup",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineBuildLookup",
        "name": "Virtual Machine Build Lookup",
        "description": "Provides for virtual machine builds to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/VirtualMachineBuildLookup/VirtualMachineBuildNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineBuildLookup/VirtualMachineBuildNotFound",
        "name": null,
        "description": "No build was found matching any of the criteria provided in the arguments",
        "code": "build_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/StartEndpoint",
        "name": "Start virtual machine",
        "description": "Queues a task to start a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/StartEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/StartEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,status"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "virtual_machines",
          "virtual_machines:power_actions"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/StartEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/StopEndpoint",
        "name": "Stop virtual machine",
        "description": "Queues a task to stop a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/StopEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/StopEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,status"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "virtual_machines",
          "virtual_machines:power_actions"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/StopEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ShutdownEndpoint",
        "name": "Shutdown virtual machine",
        "description": "Queues a task to shutdown a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/ShutdownEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/ShutdownEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,status"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "virtual_machines",
          "virtual_machines:power_actions"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ShutdownEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ResetEndpoint",
        "name": "Reset virtual machine",
        "description": "Queues a task to reset a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/ResetEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/ResetEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,status"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "virtual_machines",
          "virtual_machines:power_actions"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/ResetEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint",
        "name": "Create console session",
        "description": "Creates a new console session which can be opened in a browser",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint/ConsoleSessionField",
            "name": "console_session",
            "description": null,
            "type": "CoreAPI/Objects/ConsoleSession",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,url,expires_at,virtual_machine[id,hostname,fqdn,name,state]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint/VirtualMachineMustBeStarted"
        ],
        "scopes": [
          "virtual_machines",
          "virtual_machines:console"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint/VirtualMachineMustBeStarted",
        "name": null,
        "description": "Virtual machines must be in a started state to create console sessions",
        "code": "virtual_machine_must_be_started",
        "http_status": 406,
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachines/CreateConsoleSessionEndpoint/VirtualMachineMustBeStarted/CurrentStateField",
            "name": "current_state",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/ConsoleSession",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/ConsoleSession/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/ConsoleSession/UrlField",
            "name": "url",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/ConsoleSession/ExpiresAtField",
            "name": "expires_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/ConsoleSession/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachinePackages/ListEndpoint",
        "name": "List virtual machine packages",
        "description": "Returns a list of virtual machine packages",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachinePackages/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed)",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachinePackages/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachinePackages/ListEndpoint/VirtualMachinePackagesField",
            "name": "virtual_machine_packages",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachinePackage",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,permalink,cpu_cores,memory_in_gb,storage_in_gb,privacy,ipv4_addresses,icon[url]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machine_packages:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachinePackages/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed)",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachinePackages/InfoEndpoint",
        "name": "Get virtual machine package",
        "description": "Return information about a given virtual machine package",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachinePackages/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_package",
              "description": null,
              "type": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachinePackages/InfoEndpoint/VirtualMachinePackageField",
            "name": "virtual_machine_package",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachinePackage",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machine_packages:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachinePackages/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_package",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachinePackageLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/OrganizationSSHKeys/ListEndpoint",
        "name": "List organization SSH keys",
        "description": "Returns a list of all SSH keys for an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/OrganizationSSHKeys/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to list SSH keys for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/OrganizationSSHKeys/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/OrganizationSSHKeys/ListEndpoint/SshKeysField",
            "name": "ssh_keys",
            "description": null,
            "type": "CoreAPI/Objects/AuthSSHKey",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/OrganizationSSHKeys/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to list SSH keys for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/AuthSSHKey",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/AuthSSHKey/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/AuthSSHKey/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/AuthSSHKey/FingerprintField",
            "name": "fingerprint",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/OrganizationSSHKeys/CreateEndpoint",
        "name": "Add organization SSH key",
        "description": "Add an SSH key to an organization",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/OrganizationSSHKeys/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to list SSH keys for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "ssh_key",
              "description": null,
              "type": "CoreAPI/ArgumentSets/AuthSSHKeyProperties",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/OrganizationSSHKeys/CreateEndpoint/SshKeyField",
            "name": "ssh_key",
            "description": null,
            "type": "CoreAPI/Objects/AuthSSHKey",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/OrganizationSSHKeys/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to list SSH keys for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "ssh_key",
            "description": null,
            "type": "CoreAPI/ArgumentSets/AuthSSHKeyProperties",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/AuthSSHKeyProperties",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "key",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AuthSSHKeys/DeleteEndpoint",
        "name": "Delete SSH key",
        "description": "Delete an SSH key",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AuthSSHKeys/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "ssh_key",
              "description": null,
              "type": "CoreAPI/ArgumentSets/AuthSSHKeyLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AuthSSHKeys/DeleteEndpoint/SshKeyField",
            "name": "ssh_key",
            "description": null,
            "type": "CoreAPI/Objects/AuthSSHKey",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/DeletionRestricted"
        ],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AuthSSHKeys/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ssh_key",
            "description": null,
            "type": "CoreAPI/ArgumentSets/AuthSSHKeyLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/AuthSSHKeyLookup",
        "name": "SSH Key Lookup",
        "description": "Provides for SSH keys to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/AuthSSHKeyLookup/SSHKeyNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/AuthSSHKeyLookup/SSHKeyNotFound",
        "name": null,
        "description": "No SSH key was found matching any of the criteria provided in the arguments",
        "code": "ssh_key_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/DeletionRestricted",
        "name": null,
        "description": "Object cannot be deleted",
        "code": "deletion_restricted",
        "http_status": 409,
        "fields": [
          {
            "id": "CoreAPI/Errors/DeletionRestricted/ErrorsField",
            "name": "errors",
            "description": "asd",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListEndpoint",
        "name": "List disk backup policies",
        "description": "Returns a list of all disk backup policies for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to return disk backup policies for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListEndpoint/DiskBackupPoliciesField",
            "name": "disk_backup_policies",
            "description": "The disk backup policies for the provided organization",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,retention,total_size,target[id,name],schedule[interval,next_invocation_at]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "disk_backup_policies",
          "disk_backup_policies:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to return disk backup policies for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DiskBackupPolicy",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DiskBackupPolicy/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskBackupPolicy/RetentionField",
            "name": "retention",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskBackupPolicy/TotalSizeField",
            "name": "total_size",
            "description": null,
            "type": "Apia/Scalars/Decimal",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskBackupPolicy/TargetField",
            "name": "target",
            "description": null,
            "type": "CoreAPI/Objects/DiskBackupPolicyTarget",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskBackupPolicy/ScheduleField",
            "name": "schedule",
            "description": null,
            "type": "CoreAPI/Objects/Schedule",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DiskBackupPolicy/AutoMoveToTrashAtField",
            "name": "auto_move_to_trash_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "polymorph",
      "value": {
        "id": "CoreAPI/Objects/DiskBackupPolicyTarget",
        "name": null,
        "description": null,
        "options": [
          {
            "name": "VirtualMachine",
            "type": "CoreAPI/Objects/VirtualMachine"
          },
          {
            "name": "Disk",
            "type": "CoreAPI/Objects/Disk"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Schedule",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Schedule/FrequencyField",
            "name": "frequency",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Schedule/IntervalField",
            "name": "interval",
            "description": null,
            "type": "CoreAPI/Objects/ScheduleIntervalTypeEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Schedule/MinuteField",
            "name": "minute",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Schedule/NextInvocationAtField",
            "name": "next_invocation_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Schedule/TimeField",
            "name": "time",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/ScheduleIntervalTypeEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "hourly",
            "description": "Hourly"
          },
          {
            "name": "daily",
            "description": "Daily"
          },
          {
            "name": "weekly",
            "description": "Weekly"
          },
          {
            "name": "monthly",
            "description": "Monthly"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForVirtualMachineEndpoint",
        "name": "List disk backup policies for virtual machine",
        "description": "Returns a list of all disk backup policies for a given virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForVirtualMachineEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": "The virtual machine to return disk backup policies for",
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "include_disks",
              "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine",
              "type": "Apia/Scalars/Boolean",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForVirtualMachineEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForVirtualMachineEndpoint/DiskBackupPoliciesField",
            "name": "disk_backup_policies",
            "description": "The disk backup policies for the provided virtual machine",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,retention,total_size,target[id,name],schedule[interval,next_invocation_at]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "disk_backup_policies",
          "disk_backup_policies:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForVirtualMachineEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": "The virtual machine to return disk backup policies for",
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "include_disks",
            "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine",
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForDiskEndpoint",
        "name": "List disk backup policies for disk",
        "description": "Returns a list of all disk backup policies for a given disk",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForDiskEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk",
              "description": "The disk to return disk backup policies for",
              "type": "CoreAPI/ArgumentSets/DiskLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForDiskEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForDiskEndpoint/DiskBackupPoliciesField",
            "name": "disk_backup_policies",
            "description": "The disk backup policies for the provided disk",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,retention,total_size,target[id,name],schedule[interval,next_invocation_at]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "disk_backup_policies",
          "disk_backup_policies:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ListForDiskEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk",
            "description": "The disk to return disk backup policies for",
            "type": "CoreAPI/ArgumentSets/DiskLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/InfoEndpoint",
        "name": "Get disk backup policy",
        "description": "Returns information about a specific disk backup policy",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_backup_policy",
              "description": "The disk backup policy to get information for",
              "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/InfoEndpoint/DiskBackupPolicyField",
            "name": "disk_backup_policy",
            "description": "The located disk backup policy",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,target[id,name]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "disk_backup_policies",
          "disk_backup_policies:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_backup_policy",
            "description": "The disk backup policy to get information for",
            "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
        "name": "Disk Backup Policy Lookup",
        "description": "Provides for disk backup policies to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ObjectInTrash",
          "CoreAPI/ArgumentSets/DiskBackupPolicyLookup/DiskBackupPolicyNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup/DiskBackupPolicyNotFound",
        "name": null,
        "description": "No disk backup policy was found matching any of the criteria provided in the arguments",
        "code": "disk_backup_policy_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/DeleteEndpoint",
        "name": "Delete disk backup policy",
        "description": "Deletes a disk backup policy and moves it to the trash",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_backup_policy",
              "description": "The disk backup policy to delete",
              "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/DeleteEndpoint/DiskBackupPolicyField",
            "name": "disk_backup_policy",
            "description": "The disk backup policy that has been destroyed",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "disk_backup_policies"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_backup_policy",
            "description": "The disk backup policy to delete",
            "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ScheduleDeleteEndpoint",
        "name": "Schedule delete disk backup policy",
        "description": "Schedules a disk backup policy to be moved to the trash at a specific time. The backup policy will continue to function as normal until this time is reached.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/ScheduleDeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_backup_policy",
              "description": "The disk backup policy to move to the trash",
              "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "timestamp",
              "description": "The time the disk backup policy will be moved to the trash automatically.",
              "type": "Apia/Scalars/UnixTime",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/ScheduleDeleteEndpoint/DiskBackupPolicyField",
            "name": "disk_backup_policy",
            "description": "The disk backup policy that has been scheduled for deletion",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,auto_move_to_trash_at,target[id]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Endpoints/DiskBackupPolicies/ScheduleDeleteEndpoint/InvalidTimestamp"
        ],
        "scopes": [
          "disk_backup_policies"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ScheduleDeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_backup_policy",
            "description": "The disk backup policy to move to the trash",
            "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "timestamp",
            "description": "The time the disk backup policy will be moved to the trash automatically.",
            "type": "Apia/Scalars/UnixTime",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/ScheduleDeleteEndpoint/InvalidTimestamp",
        "name": null,
        "description": "Timestamp must be at least 5 minutes in the future. If you want to delete something immediately, you use can use the delete endpoint.",
        "code": "invalid_timestamp",
        "http_status": 400,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/UpdateEndpoint",
        "name": "Update a disk backup policy",
        "description": "Updates the disk backup policy with the provided details",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk_backup_policy",
              "description": "The disk backup policy to update",
              "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "Details for the disk backup policy",
              "type": "CoreAPI/ArgumentSets/DiskBackupPolicyArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/UpdateEndpoint/DiskBackupPolicyField",
            "name": "disk_backup_policy",
            "description": "The disk backup policy that has been updated",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,retention,schedule,target[id]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "disk_backup_policies"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk_backup_policy",
            "description": "The disk backup policy to update",
            "type": "CoreAPI/ArgumentSets/DiskBackupPolicyLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "Details for the disk backup policy",
            "type": "CoreAPI/ArgumentSets/DiskBackupPolicyArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DiskBackupPolicyArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "retention",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "schedule",
            "description": null,
            "type": "CoreAPI/ArgumentSets/ScheduleArguments",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/ScheduleArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "frequency",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "interval",
            "description": null,
            "type": "CoreAPI/Objects/ScheduleIntervalTypeEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "minute",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "time",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForVirtualMachineEndpoint",
        "name": "Create disk backup policy for Virtual Machine",
        "description": "Creates a new disk backup policy for a virtual machine",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForVirtualMachineEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": "The virtual machine to create the disk backup policy for",
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "Details for the new disk backup policy",
              "type": "CoreAPI/ArgumentSets/DiskBackupPolicyArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForVirtualMachineEndpoint/DiskBackupPolicyField",
            "name": "disk_backup_policy",
            "description": "The new disk backup policy that has been created",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,target[id,name]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "disk_backup_policies"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForVirtualMachineEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": "The virtual machine to create the disk backup policy for",
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "Details for the new disk backup policy",
            "type": "CoreAPI/ArgumentSets/DiskBackupPolicyArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForDiskEndpoint",
        "name": "Create disk backup policy for disk",
        "description": "Creates a new disk backup policy for a disk",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForDiskEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "disk",
              "description": "The disk to create the disk backup policy for",
              "type": "CoreAPI/ArgumentSets/DiskLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "Details for the new disk backup policy",
              "type": "CoreAPI/ArgumentSets/DiskBackupPolicyArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForDiskEndpoint/DiskBackupPolicyField",
            "name": "disk_backup_policy",
            "description": "The new disk backup policy that has been created",
            "type": "CoreAPI/Objects/DiskBackupPolicy",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,target[id,name]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "disk_backup_policies"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DiskBackupPolicies/CreateForDiskEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "disk",
            "description": "The disk to create the disk backup policy for",
            "type": "CoreAPI/ArgumentSets/DiskLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "Details for the new disk backup policy",
            "type": "CoreAPI/ArgumentSets/DiskBackupPolicyArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/ListEndpoint",
        "name": "List DNS zones",
        "description": "Returns a list of all DNS zones for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to return DNS zones for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/ListEndpoint/DnsZonesField",
            "name": "dns_zones",
            "description": "The DNS zones for the provided organization",
            "type": "CoreAPI/LegacyDNS/Objects/DNSZone",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to return DNS zones for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSZone",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSZone/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSZone/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSZone/TtlField",
            "name": "ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSZone/VerifiedField",
            "name": "verified",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSZone/InfrastructureZoneField",
            "name": "infrastructure_zone",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/CreateEndpoint",
        "name": "Create DNS zone",
        "description": "Create a new DNS zone within an existing organization",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the new DNS zone inside of",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "details",
              "description": "The details for the new DNS zone",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/CreateEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The new DNS zone that has been created",
            "type": "CoreAPI/LegacyDNS/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ResourceCreationRestricted"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the new DNS zone inside of",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "details",
            "description": "The details for the new DNS zone",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/InfoEndpoint",
        "name": "Get DNS zone",
        "description": "Return information about a DNS zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": "The DNS zone to return information for",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/InfoEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The DNS zone object",
            "type": "CoreAPI/LegacyDNS/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": "The DNS zone to return information for",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
        "name": "DNS Zone Lookup",
        "description": "Provides for DNS zones to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup/DNSZoneNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup/DNSZoneNotFound",
        "name": null,
        "description": "No DNS zone was found matching any of the criteria provided in the arguments",
        "code": "dns_zone_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/DeleteEndpoint",
        "name": "Delete DNS zone",
        "description": "Delete a DNS zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": "The DNS zone to destroy",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/DeleteEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The DNS zone that has been destroyed",
            "type": "CoreAPI/LegacyDNS/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": "The DNS zone to destroy",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerificationDetailsEndpoint",
        "name": "Verification details",
        "description": "Settings required before a DNS zone can be verified",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerificationDetailsEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": "The DNS zone to get verification details for",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerificationDetailsEndpoint/DetailsField",
            "name": "details",
            "description": null,
            "type": "CoreAPI/LegacyDNS/Objects/DNSZoneVerificationDetails",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/LegacyDNS/Controllers/DNSZones/VerificationDetailsEndpoint/DNSZoneAlreadyVerified",
          "CoreAPI/LegacyDNS/Errors/InfrastructureDNSZoneCannotBeEdited"
        ],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerificationDetailsEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": "The DNS zone to get verification details for",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerificationDetailsEndpoint/DNSZoneAlreadyVerified",
        "name": null,
        "description": "This DNS zone is already verified, and does not require any verification details",
        "code": "dns_zone_already_verified",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/LegacyDNS/Errors/InfrastructureDNSZoneCannotBeEdited",
        "name": null,
        "description": "Infrastructure DNS zones cannot be edited through the API. These are managed exclusively by Katapult.",
        "code": "infrastructure_dns_zone_cannot_be_edited",
        "http_status": 403,
        "fields": []
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSZoneVerificationDetails",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSZoneVerificationDetails/NameserversField",
            "name": "nameservers",
            "description": "The nameservers that the domain must be pointed to",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint",
        "name": "Verify DNS zone",
        "description": "Attempt to verify a DNS zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": "The DNS zone to attempt to verify",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The DNS zone that has been verified",
            "type": "CoreAPI/LegacyDNS/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint/DNSZoneNotVerified"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": "The DNS zone to attempt to verify",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint/DNSZoneNotVerified",
        "name": null,
        "description": "The DNS zone could not be verified, check the nameservers are set correctly",
        "code": "dns_zone_not_verified",
        "http_status": 422,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/VerifyEndpoint/DNSZoneNotVerified/VerificationDetailsField",
            "name": "verification_details",
            "description": null,
            "type": "CoreAPI/LegacyDNS/Objects/DNSZoneVerificationDetails",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/UpdateTtlEndpoint",
        "name": "Update TTL",
        "description": "Update a DNS zone's TTL value",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/UpdateTtlEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": "The DNS zone to update the TTL for",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "ttl",
              "description": "The new TTL value for the DNS zone",
              "type": "Apia/Scalars/Integer",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/UpdateTtlEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The DNS zone with the new TTL value",
            "type": "CoreAPI/LegacyDNS/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/LegacyDNS/Errors/InfrastructureDNSZoneCannotBeEdited"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSZones/UpdateTtlEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": "The DNS zone to update the TTL for",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "ttl",
            "description": "The new TTL value for the DNS zone",
            "type": "Apia/Scalars/Integer",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/ListEndpoint",
        "name": "List DNS records",
        "description": "Provides a full list of all DNS records for a specific zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": "The DNS zone to find all DNS records for",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/ListEndpoint/DnsRecordsField",
            "name": "dns_records",
            "description": "The DNS records that belong to this DNS zone",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecord",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,record_type,ttl,properties[name,ip,flags,property_type,property_value,host,priority,weight,port,target,algorithm,fingerprint_type,fingerprint,data,virtual_machine[id,name,fqdn]]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": "The DNS zone to find all DNS records for",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecord",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecord/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecord/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecord/TtlField",
            "name": "ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecord/RecordTypeField",
            "name": "record_type",
            "description": null,
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypeEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecord/PropertiesField",
            "name": "properties",
            "description": null,
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordProperties",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypeEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "a",
            "description": null
          },
          {
            "name": "aaaa",
            "description": null
          },
          {
            "name": "caa",
            "description": null
          },
          {
            "name": "cname",
            "description": null
          },
          {
            "name": "mx",
            "description": null
          },
          {
            "name": "ns",
            "description": null
          },
          {
            "name": "srv",
            "description": null
          },
          {
            "name": "sshfp",
            "description": null
          },
          {
            "name": "txt",
            "description": null
          },
          {
            "name": "virtual_machine",
            "description": null
          },
          {
            "name": "alias",
            "description": null
          }
        ]
      }
    },
    {
      "type": "polymorph",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordProperties",
        "name": null,
        "description": null,
        "options": [
          {
            "name": "A",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/A"
          },
          {
            "name": "AAAA",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/AAAA"
          },
          {
            "name": "CAA",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CAA"
          },
          {
            "name": "CNAME",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CNAME"
          },
          {
            "name": "MX",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/MX"
          },
          {
            "name": "NS",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/NS"
          },
          {
            "name": "SRV",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SRV"
          },
          {
            "name": "SSHFP",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SSHFP"
          },
          {
            "name": "TXT",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/TXT"
          },
          {
            "name": "VirtualMachine",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/VirtualMachine"
          },
          {
            "name": "ALIAS",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/ALIAS"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/A",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/A/IpField",
            "name": "ip",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/AAAA",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/AAAA/IpField",
            "name": "ip",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CAA",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CAA/FlagsField",
            "name": "flags",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CAA/PropertyTypeField",
            "name": "property_type",
            "description": null,
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/PropertyTypeEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CAA/PropertyValueField",
            "name": "property_value",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/PropertyTypeEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "issue",
            "description": null
          },
          {
            "name": "issuewild",
            "description": null
          },
          {
            "name": "iodef",
            "description": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CNAME",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/CNAME/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/MX",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/MX/HostField",
            "name": "host",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/MX/PriorityField",
            "name": "priority",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/NS",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/NS/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SRV",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SRV/PriorityField",
            "name": "priority",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SRV/WeightField",
            "name": "weight",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SRV/PortField",
            "name": "port",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SRV/TargetField",
            "name": "target",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SSHFP",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SSHFP/AlgorithmField",
            "name": "algorithm",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SSHFP/FingerprintTypeField",
            "name": "fingerprint_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/SSHFP/FingerprintField",
            "name": "fingerprint",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/TXT",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/TXT/DataField",
            "name": "data",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/VirtualMachine",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/VirtualMachine/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/ALIAS",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/ALIAS/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/CreateEndpoint",
        "name": "Create DNS record",
        "description": "Create a DNS record with the provided details",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": "The DNS zone that the new record will belong to",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "details",
              "description": "The details for the new DNS record",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/CreateEndpoint/DnsRecordField",
            "name": "dns_record",
            "description": "The new DNS record that has been created",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecord",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,record_type,ttl,properties[name,ip,flags,property_type,property_value,host,priority,priority,weight,port,target,algorithm,fingerprint_type,fingerprint,data,virtual_machine[id,name,fqdn]]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": "The DNS zone that the new record will belong to",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "details",
            "description": "The details for the new DNS record",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "record_type",
            "description": null,
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypeEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": null,
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordPropertiesArguments",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordPropertiesArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "ip",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "flags",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "property_type",
            "description": null,
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecordTypes/PropertyTypeEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "property_value",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "host",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "priority",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "weight",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "port",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "target",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "algorithm",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "fingerprint_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "fingerprint",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "data",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/InfoEndpoint",
        "name": "Get DNS record",
        "description": "Return information about a DNS record",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_record",
              "description": "The DNS record to return information for",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/InfoEndpoint/DnsRecordField",
            "name": "dns_record",
            "description": "The DNS record details",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecord",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,record_type,ttl,properties[name,ip,flags,property_type,property_value,host,priority,priority,weight,port,target,algorithm,fingerprint_type,fingerprint,data,virtual_machine[id,name,fqdn]]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_record",
            "description": "The DNS record to return information for",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup",
        "name": "DNS Record Lookup",
        "description": "Provides for DNS records to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup/DNSRecordNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup/DNSRecordNotFound",
        "name": null,
        "description": "No DNS record was found matching any of the criteria provided in the arguments",
        "code": "dns_record_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/UpdateEndpoint",
        "name": "Update DNS record",
        "description": "Update a DNS record with new information",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_record",
              "description": "The DNS record that should be updated",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "details",
              "description": "The new details for the DNS record",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/UpdateEndpoint/DnsRecordField",
            "name": "dns_record",
            "description": "The updated DNS record",
            "type": "CoreAPI/LegacyDNS/Objects/DNSRecord",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,record_type,ttl,properties[name,ip,flags,property_type,property_value,host,priority,priority,weight,port,target,algorithm,fingerprint_type,fingerprint,data,virtual_machine[id,name,fqdn]]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_record",
            "description": "The DNS record that should be updated",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "details",
            "description": "The new details for the DNS record",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/DeleteEndpoint",
        "name": "Delete DNS record",
        "description": "Delete a DNS record",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_record",
              "description": "The DNS record to destroy",
              "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/DeleteEndpoint/SuccessField",
            "name": "success",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/LegacyDNS/Controllers/DNSRecords/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_record",
            "description": "The DNS record to destroy",
            "type": "CoreAPI/LegacyDNS/ArgumentSets/DNSRecordLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/ListEndpoint",
        "name": "List DNS zones",
        "description": "Return a list of all DNS zones",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSZones/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSZones/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/DNSZones/ListEndpoint/DnsZonesField",
            "name": "dns_zones",
            "description": "The DNS zones for the provided organization",
            "type": "CoreAPI/Objects/DNSZone",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DNSZone",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DNSZone/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSZone/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSZone/DefaultTtlField",
            "name": "default_ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSZone/VerifiedField",
            "name": "verified",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/NameserversEndpoint",
        "name": "List nameservers",
        "description": "Return a list of nameservers that should be used for DNS zones within a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSZones/NameserversEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSZones/NameserversEndpoint/NameserversField",
            "name": "nameservers",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/NameserversEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/CreateEndpoint",
        "name": "Create DNS zone",
        "description": "Create a new DNS zone within an existing organization",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSZones/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the new DNS zone inside of",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The details for the new DNS zone",
              "type": "CoreAPI/ArgumentSets/DNSZoneArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSZones/CreateEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The new DNS zone that has been created",
            "type": "CoreAPI/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ResourceCreationRestricted"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the new DNS zone inside of",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The details for the new DNS zone",
            "type": "CoreAPI/ArgumentSets/DNSZoneArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DNSZoneArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": "The name of the zone (only available for creation)",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "default_ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/InfoEndpoint",
        "name": "Get DNS zone",
        "description": "Return details for a specific DNS zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSZones/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSZones/InfoEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The DNS zones for the provided organization",
            "type": "CoreAPI/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DNSZoneLookup",
        "name": "DNS Zone Lookup",
        "description": "Provides for DNS zones to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/DNSZoneLookup/DNSZoneNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/DNSZoneLookup/DNSZoneNotFound",
        "name": null,
        "description": "No DNS zone was found matching any of the criteria provided in the arguments",
        "code": "dns_zone_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/UpdateEndpoint",
        "name": "Update DNS zone",
        "description": "Update properties for a DNS zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSZones/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSZoneArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSZones/UpdateEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The DNS zones for the provided organization",
            "type": "CoreAPI/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSZoneArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/DeleteEndpoint",
        "name": "Delete DNS zone",
        "description": "Delete a DNS zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSZones/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSZones/DeleteEndpoint/DeletedField",
            "name": "deleted",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/VerifyEndpoint",
        "name": "Verify DNS zone",
        "description": "Attempt to verify the nameservers for a given DNS zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSZones/VerifyEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSZones/VerifyEndpoint/DnsZoneField",
            "name": "dns_zone",
            "description": "The DNS zones for the provided organization",
            "type": "CoreAPI/Objects/DNSZone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Endpoints/DNSZones/VerifyEndpoint/DNSZoneNotVerified"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/VerifyEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/DNSZones/VerifyEndpoint/DNSZoneNotVerified",
        "name": null,
        "description": "The DNS zone could not be verified, check the nameservers are set correctly",
        "code": "dns_zone_not_verified",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/ListEndpoint",
        "name": "List DNS records",
        "description": "Return a list of all DNS records in a zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSRecords/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSRecords/ListEndpoint/DnsRecordsField",
            "name": "dns_records",
            "description": "The DNS record for the provided zone",
            "type": "CoreAPI/Objects/DNSRecord",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DNSRecord",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DNSRecord/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecord/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecord/FullNameField",
            "name": "full_name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecord/TtlField",
            "name": "ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecord/TypeField",
            "name": "type",
            "description": null,
            "type": "CoreAPI/Objects/DNSRecordTypesEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecord/PriorityField",
            "name": "priority",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecord/ContentField",
            "name": "content",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecord/ContentAttributesField",
            "name": "content_attributes",
            "description": null,
            "type": "CoreAPI/Objects/DNSRecordContentAttributes",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/DNSRecordTypesEnum",
        "name": "DNS record types",
        "description": "These are the options that are available as a type for any records.",
        "values": [
          {
            "name": "A",
            "description": "An A record"
          },
          {
            "name": "AAAA",
            "description": "An AAAA record"
          },
          {
            "name": "ALIAS",
            "description": "An ALIAS record"
          },
          {
            "name": "CAA",
            "description": "A CAA record"
          },
          {
            "name": "CNAME",
            "description": "A CNAME record"
          },
          {
            "name": "IPS",
            "description": "An IPS record"
          },
          {
            "name": "MX",
            "description": "A MX record"
          },
          {
            "name": "NS",
            "description": "A NS record"
          },
          {
            "name": "PTR",
            "description": "A PTR record"
          },
          {
            "name": "SOA",
            "description": "A SOA record"
          },
          {
            "name": "SRV",
            "description": "A SRV record"
          },
          {
            "name": "SSHFP",
            "description": "A SSHFP record"
          },
          {
            "name": "TXT",
            "description": "A TXT record"
          },
          {
            "name": "VirtualMachine",
            "description": "A VirtualMachine record"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/DNSRecordContentAttributes",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/AField",
            "name": "A",
            "description": null,
            "type": "RecordContentAttributesForA",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/AAAAField",
            "name": "AAAA",
            "description": null,
            "type": "RecordContentAttributesForAAAA",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/ALIASField",
            "name": "ALIAS",
            "description": null,
            "type": "RecordContentAttributesForALIAS",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/CAAField",
            "name": "CAA",
            "description": null,
            "type": "RecordContentAttributesForCAA",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/CNAMEField",
            "name": "CNAME",
            "description": null,
            "type": "RecordContentAttributesForCNAME",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/IPSField",
            "name": "IPS",
            "description": null,
            "type": "RecordContentAttributesForIPS",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/MXField",
            "name": "MX",
            "description": null,
            "type": "RecordContentAttributesForMX",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/NSField",
            "name": "NS",
            "description": null,
            "type": "RecordContentAttributesForNS",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/PTRField",
            "name": "PTR",
            "description": null,
            "type": "RecordContentAttributesForPTR",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/SOAField",
            "name": "SOA",
            "description": null,
            "type": "RecordContentAttributesForSOA",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/SRVField",
            "name": "SRV",
            "description": null,
            "type": "RecordContentAttributesForSRV",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/SSHFPField",
            "name": "SSHFP",
            "description": null,
            "type": "RecordContentAttributesForSSHFP",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/TXTField",
            "name": "TXT",
            "description": null,
            "type": "RecordContentAttributesForTXT",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/DNSRecordContentAttributes/VirtualMachineField",
            "name": "VirtualMachine",
            "description": null,
            "type": "RecordContentAttributesForVirtualMachine",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForA",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForA/IpAddressField",
            "name": "ip_address",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForAAAA",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForAAAA/IpAddressField",
            "name": "ip_address",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForALIAS",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForALIAS/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForCAA",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForCAA/FlagField",
            "name": "flag",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "RecordContentAttributesForCAA/TagField",
            "name": "tag",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "RecordContentAttributesForCAA/ValueField",
            "name": "value",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForCNAME",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForCNAME/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForIPS",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForIPS/IpAddressesField",
            "name": "ip_addresses",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForMX",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForMX/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForNS",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForNS/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForPTR",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForPTR/HostnameField",
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForSOA",
        "name": null,
        "description": null,
        "fields": []
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForSRV",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForSRV/WeightField",
            "name": "weight",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "RecordContentAttributesForSRV/PortField",
            "name": "port",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "RecordContentAttributesForSRV/TargetField",
            "name": "target",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForSSHFP",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForSSHFP/AlgorithmField",
            "name": "algorithm",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "RecordContentAttributesForSSHFP/FingerprintTypeField",
            "name": "fingerprint_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "RecordContentAttributesForSSHFP/FingerprintField",
            "name": "fingerprint",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForTXT",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForTXT/ContentField",
            "name": "content",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "RecordContentAttributesForVirtualMachine",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "RecordContentAttributesForVirtualMachine/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/CreateEndpoint",
        "name": "Create DNS record",
        "description": "Create a new DNS record",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSRecords/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_zone",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSRecordArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSRecords/CreateEndpoint/DnsRecordField",
            "name": "dns_record",
            "description": null,
            "type": "CoreAPI/Objects/DNSRecord",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_zone",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSZoneLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSRecordArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DNSRecordArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": "The name of the record",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "type",
            "description": null,
            "type": "CoreAPI/Objects/DNSRecordTypesEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "ttl",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "priority",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "content",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSRecordContentArguments",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DNSRecordContentArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "A",
            "description": null,
            "type": "DNSRecordContentArgumentsForA",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "AAAA",
            "description": null,
            "type": "DNSRecordContentArgumentsForAAAA",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "ALIAS",
            "description": null,
            "type": "DNSRecordContentArgumentsForALIAS",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "CAA",
            "description": null,
            "type": "DNSRecordContentArgumentsForCAA",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "CNAME",
            "description": null,
            "type": "DNSRecordContentArgumentsForCNAME",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "IPS",
            "description": null,
            "type": "DNSRecordContentArgumentsForIPS",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "MX",
            "description": null,
            "type": "DNSRecordContentArgumentsForMX",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "NS",
            "description": null,
            "type": "DNSRecordContentArgumentsForNS",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "PTR",
            "description": null,
            "type": "DNSRecordContentArgumentsForPTR",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "SOA",
            "description": null,
            "type": "DNSRecordContentArgumentsForSOA",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "SRV",
            "description": null,
            "type": "DNSRecordContentArgumentsForSRV",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "SSHFP",
            "description": null,
            "type": "DNSRecordContentArgumentsForSSHFP",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "TXT",
            "description": null,
            "type": "DNSRecordContentArgumentsForTXT",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "VirtualMachine",
            "description": null,
            "type": "DNSRecordContentArgumentsForVirtualMachine",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForA",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ip_address",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForAAAA",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ip_address",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForALIAS",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForCAA",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "flag",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "tag",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "value",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForCNAME",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForIPS",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ip_addresses",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForMX",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForNS",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForPTR",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "hostname",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForSOA",
        "name": null,
        "description": null,
        "arguments": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForSRV",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "weight",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "port",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "target",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForSSHFP",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "algorithm",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "fingerprint_type",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "fingerprint",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForTXT",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "content",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "DNSRecordContentArgumentsForVirtualMachine",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/InfoEndpoint",
        "name": "Get DNS record",
        "description": "Return details for a specific DNS record",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSRecords/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_record",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSRecordLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSRecords/InfoEndpoint/DnsRecordField",
            "name": "dns_record",
            "description": "The DNS record for the provided organization",
            "type": "CoreAPI/Objects/DNSRecord",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns",
          "dns:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_record",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSRecordLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/DNSRecordLookup",
        "name": "DNS Record Lookup",
        "description": "Provides for DNS records to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/DNSRecordLookup/DNSRecordNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/DNSRecordLookup/DNSRecordNotFound",
        "name": null,
        "description": "No DNS record was found matching any of the criteria provided in the arguments",
        "code": "dns_record_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/UpdateEndpoint",
        "name": "Update DNS record",
        "description": "Update a DNS record properties",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSRecords/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_record",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSRecordLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSRecordArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSRecords/UpdateEndpoint/DnsRecordField",
            "name": "dns_record",
            "description": "The DNS record that has been updated",
            "type": "CoreAPI/Objects/DNSRecord",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_record",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSRecordLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSRecordArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/DeleteEndpoint",
        "name": "Delete DNS record",
        "description": "Delete a DNS record",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/DNSRecords/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "dns_record",
              "description": null,
              "type": "CoreAPI/ArgumentSets/DNSRecordLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/DNSRecords/DeleteEndpoint/DeletedField",
            "name": "deleted",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "dns"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/DNSRecords/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "dns_record",
            "description": null,
            "type": "CoreAPI/ArgumentSets/DNSRecordLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/ListEndpoint",
        "name": "List security groups",
        "description": "Returns a list of all security groups for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroups/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to return all security groups for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroups/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/SecurityGroups/ListEndpoint/SecurityGroupsField",
            "name": "security_groups",
            "description": "The security groups owned by this organization",
            "type": "CoreAPI/Objects/SecurityGroup",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "security_groups",
          "security_groups:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to return all security groups for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/SecurityGroup",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/SecurityGroup/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroup/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroup/AllowAllInboundField",
            "name": "allow_all_inbound",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroup/AllowAllOutboundField",
            "name": "allow_all_outbound",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroup/AssociationsField",
            "name": "associations",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/CreateEndpoint",
        "name": "Create security group",
        "description": "Create a new security group for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroups/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the security group for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new security group",
              "type": "CoreAPI/ArgumentSets/SecurityGroupArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroups/CreateEndpoint/SecurityGroupField",
            "name": "security_group",
            "description": "The security group that has been created",
            "type": "CoreAPI/Objects/SecurityGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ResourceCreationRestricted"
        ],
        "scopes": [
          "security_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the security group for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new security group",
            "type": "CoreAPI/ArgumentSets/SecurityGroupArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/SecurityGroupArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "allow_all_inbound",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "allow_all_outbound",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "associations",
            "description": "Supply references to virtual machines, virtual machine groups or tags.",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": true,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/InfoEndpoint",
        "name": "Get security group",
        "description": "Returns details about a security group",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroups/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group",
              "description": "The security group to return the details for",
              "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroups/InfoEndpoint/SecurityGroupField",
            "name": "security_group",
            "description": "The security group",
            "type": "CoreAPI/Objects/SecurityGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "security_groups",
          "security_groups:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group",
            "description": "The security group to return the details for",
            "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/SecurityGroupLookup",
        "name": "Security group lookup",
        "description": "Provides for security groups to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/SecurityGroupLookup/SecurityGroupNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/SecurityGroupLookup/SecurityGroupNotFound",
        "name": null,
        "description": "No security group was found matching any of the criteria provided in the arguments",
        "code": "security_group_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/UpdateEndpoint",
        "name": "Update security group",
        "description": "Updates a security group with new properties",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroups/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group",
              "description": "The security group to update",
              "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The new properties for the security group",
              "type": "CoreAPI/ArgumentSets/SecurityGroupArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroups/UpdateEndpoint/SecurityGroupField",
            "name": "security_group",
            "description": "The security group that has been updated",
            "type": "CoreAPI/Objects/SecurityGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "security_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group",
            "description": "The security group to update",
            "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The new properties for the security group",
            "type": "CoreAPI/ArgumentSets/SecurityGroupArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/DeleteEndpoint",
        "name": "Delete security group",
        "description": "Delete a security group",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroups/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group",
              "description": "The security group to destroy",
              "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroups/DeleteEndpoint/SecurityGroupField",
            "name": "security_group",
            "description": "The security group that has been destroyed",
            "type": "CoreAPI/Objects/SecurityGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/DeletionRestricted"
        ],
        "scopes": [
          "security_group"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroups/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group",
            "description": "The security group to destroy",
            "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/ListEndpoint",
        "name": "List security group rules",
        "description": "Returns a list of all rules for a given security group",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroupRules/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group",
              "description": "The security group to return all load rules for",
              "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroupRules/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/SecurityGroupRules/ListEndpoint/SecurityGroupRulesField",
            "name": "security_group_rules",
            "description": "The security group rules for this security group",
            "type": "CoreAPI/Objects/SecurityGroupRule",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "*,-security_group"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "security_groups",
          "security_groups:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group",
            "description": "The security group to return all load rules for",
            "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/SecurityGroupRule",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/SecurityGroupField",
            "name": "security_group",
            "description": null,
            "type": "CoreAPI/Objects/SecurityGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/DirectionField",
            "name": "direction",
            "description": null,
            "type": "CoreAPI/Objects/SecurityGroupRuleDirectionEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/ProtocolField",
            "name": "protocol",
            "description": null,
            "type": "CoreAPI/Objects/SecurityGroupRuleProtocolEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/ActionField",
            "name": "action",
            "description": null,
            "type": "CoreAPI/Objects/SecurityGroupRuleActionEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/PortsField",
            "name": "ports",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/TargetsField",
            "name": "targets",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/SecurityGroupRule/NotesField",
            "name": "notes",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/SecurityGroupRuleDirectionEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "inbound",
            "description": null
          },
          {
            "name": "outbound",
            "description": null
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/SecurityGroupRuleProtocolEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "TCP",
            "description": null
          },
          {
            "name": "UDP",
            "description": null
          },
          {
            "name": "ICMP",
            "description": null
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/SecurityGroupRuleActionEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "allow",
            "description": null
          },
          {
            "name": "deny",
            "description": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/CreateEndpoint",
        "name": "Create security group rule",
        "description": "Create a new security group rule",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroupRules/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group",
              "description": "The security group to create the rule for",
              "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new security group rule",
              "type": "CoreAPI/ArgumentSets/SecurityGroupRuleArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroupRules/CreateEndpoint/SecurityGroupRuleField",
            "name": "security_group_rule",
            "description": "The security group rule that has been created",
            "type": "CoreAPI/Objects/SecurityGroupRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,security_group[id,name]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "security_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group",
            "description": "The security group to create the rule for",
            "type": "CoreAPI/ArgumentSets/SecurityGroupLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new security group rule",
            "type": "CoreAPI/ArgumentSets/SecurityGroupRuleArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/SecurityGroupRuleArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "direction",
            "description": null,
            "type": "CoreAPI/Objects/SecurityGroupRuleDirectionEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "protocol",
            "description": null,
            "type": "CoreAPI/Objects/SecurityGroupRuleProtocolEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "action",
            "description": null,
            "type": "CoreAPI/Objects/SecurityGroupRuleActionEnum",
            "required": false,
            "array": false,
            "default": "allow"
          },
          {
            "name": "ports",
            "description": "Either single port (ie. 80), multi-port (ie. 80,443) or range (ie. 2000-3000).",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "targets",
            "description": "Supply references to virtual machines, virtual machine groups, tags or custom IP addresses.",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": true,
            "default": null
          },
          {
            "name": "notes",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/InfoEndpoint",
        "name": "Get security group rule",
        "description": "Returns details about a security group rule",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroupRules/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group_rule",
              "description": "The security group rule to return the details for",
              "type": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroupRules/InfoEndpoint/SecurityGroupRuleField",
            "name": "security_group_rule",
            "description": "The resolved security group rule",
            "type": "CoreAPI/Objects/SecurityGroupRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,security_group[id,name]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "security_groups",
          "security_groups:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group_rule",
            "description": "The security group rule to return the details for",
            "type": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup",
        "name": "Security group rule lookup",
        "description": "Provides for security group rules to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/SecurityGroupRuleLookup/SecurityGroupRuleNotFound",
          "CoreAPI/Errors/PermissionDenied"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup/SecurityGroupRuleNotFound",
        "name": null,
        "description": "No security group rule was found matching any of the criteria provided in the arguments",
        "code": "security_group_rule_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/UpdateEndpoint",
        "name": "Update security group rule",
        "description": "Updates a security group rule with new properties",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroupRules/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group_rule",
              "description": "The security group rule to update",
              "type": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The new properties for the security group rule",
              "type": "CoreAPI/ArgumentSets/SecurityGroupRuleArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroupRules/UpdateEndpoint/SecurityGroupRuleField",
            "name": "security_group_rule",
            "description": "The security group that has been updated",
            "type": "CoreAPI/Objects/SecurityGroupRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,security_group[id,name]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "security_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group_rule",
            "description": "The security group rule to update",
            "type": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The new properties for the security group rule",
            "type": "CoreAPI/ArgumentSets/SecurityGroupRuleArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/DeleteEndpoint",
        "name": "Delete security group rule",
        "description": "Delete a security group rule",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/SecurityGroupRules/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "security_group_rule",
              "description": "The security group rule to destroy",
              "type": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/SecurityGroupRules/DeleteEndpoint/SecurityGroupRuleField",
            "name": "security_group_rule",
            "description": "The security group rule that has been destroyed",
            "type": "CoreAPI/Objects/SecurityGroupRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "security_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/SecurityGroupRules/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "security_group_rule",
            "description": "The security group rule to destroy",
            "type": "CoreAPI/ArgumentSets/SecurityGroupRuleLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/ListEndpoint",
        "name": "List file storage volumes",
        "description": "Returns a list of all file storage volumes for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/FileStorageVolumes/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to return all file storage volumes for.",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/FileStorageVolumes/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/FileStorageVolumes/ListEndpoint/FileStorageVolumesField",
            "name": "file_storage_volumes",
            "description": "A list of all file storage volumes for the given organization.",
            "type": "CoreAPI/Objects/FileStorageVolume",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "*,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "file_storage_volumes",
          "file_storage_volumes:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to return all file storage volumes for.",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/FileStorageVolume",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/FileStorageVolume/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/FileStorageVolume/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/FileStorageVolume/DataCenterField",
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/Objects/DataCenter",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/FileStorageVolume/AssociationsField",
            "name": "associations",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/FileStorageVolume/StateField",
            "name": "state",
            "description": null,
            "type": "CoreAPI/Objects/FileStorageVolumeStateEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/FileStorageVolume/NfsLocationField",
            "name": "nfs_location",
            "description": "The NFS location of where to mount the volume from.",
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/FileStorageVolume/SizeField",
            "name": "size",
            "description": "The size of the volume in bytes.",
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/FileStorageVolumeStateEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "pending",
            "description": null
          },
          {
            "name": "failed",
            "description": null
          },
          {
            "name": "ready",
            "description": null
          },
          {
            "name": "configuring",
            "description": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/InfoEndpoint",
        "name": "Get file storage volume",
        "description": "Returns details for a file storage volume.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/FileStorageVolumes/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "file_storage_volume",
              "description": "The file storage volume to return.",
              "type": "CoreAPI/ArgumentSets/FileStorageVolumeLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/FileStorageVolumes/InfoEndpoint/FileStorageVolumeField",
            "name": "file_storage_volume",
            "description": "The file storage volume.",
            "type": "CoreAPI/Objects/FileStorageVolume",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "file_storage_volumes",
          "file_storage_volumes:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "file_storage_volume",
            "description": "The file storage volume to return.",
            "type": "CoreAPI/ArgumentSets/FileStorageVolumeLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/FileStorageVolumeLookup",
        "name": "File Storage Volume Lookup",
        "description": "Provides for file storage volumes to be looked up.",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ObjectInTrash",
          "CoreAPI/ArgumentSets/FileStorageVolumeLookup/FileStorageVolumeNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/FileStorageVolumeLookup/FileStorageVolumeNotFound",
        "name": null,
        "description": "No file storage volume was found matching any of the criteria provided in the arguments.",
        "code": "file_storage_volume_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/CreateEndpoint",
        "name": "Create file storage volume",
        "description": "Create a new file storage volume for a given organization.",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/FileStorageVolumes/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the file storage volume for.",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new file storage volume.",
              "type": "CoreAPI/ArgumentSets/FileStorageVolumeArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/FileStorageVolumes/CreateEndpoint/FileStorageVolumeField",
            "name": "file_storage_volume",
            "description": "The file storage volume.",
            "type": "CoreAPI/Objects/FileStorageVolume",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ResourceCreationRestricted"
        ],
        "scopes": [
          "file_storage_volumes"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the file storage volume for.",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new file storage volume.",
            "type": "CoreAPI/ArgumentSets/FileStorageVolumeArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/FileStorageVolumeArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": "Unique name to help identify the volume.",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "data_center",
            "description": "The data center for the file storage volume. Cannot be changed on existing volumes.",
            "type": "CoreAPI/ArgumentSets/DataCenterLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "associations",
            "description": "The virtual machine IDs which can access this volume.",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": true,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/UpdateEndpoint",
        "name": "Update file storage volume",
        "description": "Update a file storage volume with new properties.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/FileStorageVolumes/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "file_storage_volume",
              "description": "The file storage volume to update.",
              "type": "CoreAPI/ArgumentSets/FileStorageVolumeLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new file storage volume.",
              "type": "CoreAPI/ArgumentSets/FileStorageVolumeArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/FileStorageVolumes/UpdateEndpoint/FileStorageVolumeField",
            "name": "file_storage_volume",
            "description": "The file storage volume.",
            "type": "CoreAPI/Objects/FileStorageVolume",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "file_storage_volumes"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "file_storage_volume",
            "description": "The file storage volume to update.",
            "type": "CoreAPI/ArgumentSets/FileStorageVolumeLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new file storage volume.",
            "type": "CoreAPI/ArgumentSets/FileStorageVolumeArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/DeleteEndpoint",
        "name": "Delete file storage volume",
        "description": "Delete a file storage volume.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/FileStorageVolumes/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "file_storage_volume",
              "description": "The file storage volume to destroy.",
              "type": "CoreAPI/ArgumentSets/FileStorageVolumeLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/FileStorageVolumes/DeleteEndpoint/TrashObjectField",
            "name": "trash_object",
            "description": null,
            "type": "CoreAPI/Objects/TrashObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/FileStorageVolumes/DeleteEndpoint/FileStorageVolumeField",
            "name": "file_storage_volume",
            "description": "The file storage volume that has been destroyed.",
            "type": "CoreAPI/Objects/FileStorageVolume",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "file_storage_volumes"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/FileStorageVolumes/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "file_storage_volume",
            "description": "The file storage volume to destroy.",
            "type": "CoreAPI/ArgumentSets/FileStorageVolumeLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Networks/ListEndpoint",
        "name": "List networks",
        "description": "Returns a list of all networks available for an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Networks/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Networks/ListEndpoint/NetworksField",
            "name": "networks",
            "description": null,
            "type": "CoreAPI/Objects/Network",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,permalink,data_center[id,name,permalink]"
            }
          },
          {
            "id": "CoreAPI/Endpoints/Networks/ListEndpoint/VirtualNetworksField",
            "name": "virtual_networks",
            "description": null,
            "type": "CoreAPI/Objects/VirtualNetwork",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Networks/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualNetwork",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualNetwork/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualNetwork/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualNetwork/DataCenterField",
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/Objects/DataCenter",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Networks/InfoEndpoint",
        "name": "Get Network",
        "description": "Returns details for a specific network",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Networks/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "network",
              "description": "The network to return",
              "type": "CoreAPI/ArgumentSets/NetworkLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Networks/InfoEndpoint/NetworkField",
            "name": "network",
            "description": "The details for the requested network",
            "type": "CoreAPI/Objects/Network",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Networks/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "network",
            "description": "The network to return",
            "type": "CoreAPI/ArgumentSets/NetworkLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/NetworkSpeedProfiles/ListEndpoint",
        "name": "List network speed profiles",
        "description": "Returns a list of all network speed profiles available to an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/NetworkSpeedProfiles/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to use when looking up network speed profiles",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/NetworkSpeedProfiles/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/NetworkSpeedProfiles/ListEndpoint/NetworkSpeedProfilesField",
            "name": "network_speed_profiles",
            "description": "The network speed profiles available to this organization",
            "type": "CoreAPI/Objects/NetworkSpeedProfile",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/NetworkSpeedProfiles/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to use when looking up network speed profiles",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/NetworkSpeedProfile",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/NetworkSpeedProfile/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/NetworkSpeedProfile/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/NetworkSpeedProfile/UploadSpeedInMbitField",
            "name": "upload_speed_in_mbit",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/NetworkSpeedProfile/DownloadSpeedInMbitField",
            "name": "download_speed_in_mbit",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/NetworkSpeedProfile/PermalinkField",
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/ListGlobalEndpoint",
        "name": "List global address lists",
        "description": "Returns a list of all global address lists.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressLists/ListGlobalEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressLists/ListGlobalEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/AddressLists/ListGlobalEndpoint/AddressListsField",
            "name": "address_lists",
            "description": "A list of all global address lists.",
            "type": "CoreAPI/Objects/AddressList",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "*,-entries"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "address_lists",
          "address_lists:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/ListGlobalEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/AddressList",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/AddressList/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/AddressList/NameField",
            "name": "name",
            "description": "Name of the address list.",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/AddressList/GlobalField",
            "name": "global",
            "description": "Whether the address list is global or not.",
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/AddressList/EntriesField",
            "name": "entries",
            "description": null,
            "type": "CoreAPI/Objects/AddressListEntry",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/AddressListEntry",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/AddressListEntry/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/AddressListEntry/AddressField",
            "name": "address",
            "description": "Address or network.",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/AddressListEntry/NameField",
            "name": "name",
            "description": "Optional name/comment.",
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/ListEndpoint",
        "name": "List address lists",
        "description": "Returns a list of all address lists for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressLists/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization for which the address lists should be returned.",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressLists/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/AddressLists/ListEndpoint/AddressListsField",
            "name": "address_lists",
            "description": "A list of all address lists for the given organization.",
            "type": "CoreAPI/Objects/AddressList",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "*,-entries"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists",
          "address_lists:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization for which the address lists should be returned.",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/InfoEndpoint",
        "name": "Get address list",
        "description": "Returns details for a address list.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressLists/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list",
              "description": "The address list to return.",
              "type": "CoreAPI/ArgumentSets/AddressListLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressLists/InfoEndpoint/AddressListField",
            "name": "address_list",
            "description": "The address list.",
            "type": "CoreAPI/Objects/AddressList",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "address_lists",
          "address_lists:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list",
            "description": "The address list to return.",
            "type": "CoreAPI/ArgumentSets/AddressListLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/AddressListLookup",
        "name": "Address List Lookup",
        "description": "Provides for address lists to be looked up.",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/AddressListLookup/AddressListNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/AddressListLookup/AddressListNotFound",
        "name": null,
        "description": "No address list was found matching any of the criteria provided in the arguments.",
        "code": "address_list_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/CreateEndpoint",
        "name": "Create address list",
        "description": "Create a new address list for a given organization.",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressLists/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the address list for.",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new address list.",
              "type": "CoreAPI/ArgumentSets/AddressListArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressLists/CreateEndpoint/AddressListField",
            "name": "address_list",
            "description": "The address list.",
            "type": "CoreAPI/Objects/AddressList",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the address list for.",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new address list.",
            "type": "CoreAPI/ArgumentSets/AddressListArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/AddressListArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": "Name of the address list.",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/UpdateEndpoint",
        "name": "Update address list",
        "description": "Update a address list with new properties.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressLists/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list",
              "description": "The address list to update.",
              "type": "CoreAPI/ArgumentSets/AddressListLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The updated properties for the address list.",
              "type": "CoreAPI/ArgumentSets/AddressListArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressLists/UpdateEndpoint/AddressListField",
            "name": "address_list",
            "description": "The address list.",
            "type": "CoreAPI/Objects/AddressList",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list",
            "description": "The address list to update.",
            "type": "CoreAPI/ArgumentSets/AddressListLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The updated properties for the address list.",
            "type": "CoreAPI/ArgumentSets/AddressListArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/DeleteEndpoint",
        "name": "Delete address list",
        "description": "Delete a address list.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressLists/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list",
              "description": "The address list to destroy.",
              "type": "CoreAPI/ArgumentSets/AddressListLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressLists/DeleteEndpoint/AddressListField",
            "name": "address_list",
            "description": "The address list that has been destroyed.",
            "type": "CoreAPI/Objects/AddressList",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressLists/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list",
            "description": "The address list to destroy.",
            "type": "CoreAPI/ArgumentSets/AddressListLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/ListEndpoint",
        "name": "List address list entries",
        "description": "Returns a list of all address list entries for a given address list",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressListEntries/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list",
              "description": "The address list for which the entries should be returned.",
              "type": "CoreAPI/ArgumentSets/AddressListLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressListEntries/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/AddressListEntries/ListEndpoint/AddressListEntriesField",
            "name": "address_list_entries",
            "description": "A list of all address list entries for the given address list.",
            "type": "CoreAPI/Objects/AddressListEntry",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists",
          "address_lists:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list",
            "description": "The address list for which the entries should be returned.",
            "type": "CoreAPI/ArgumentSets/AddressListLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/InfoEndpoint",
        "name": "Get address list entry",
        "description": "Returns details for an address list entry.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressListEntries/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list_entry",
              "description": "The address list entry to return.",
              "type": "CoreAPI/ArgumentSets/AddressListEntryLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressListEntries/InfoEndpoint/AddressListEntryField",
            "name": "address_list_entry",
            "description": "The address list entry.",
            "type": "CoreAPI/Objects/AddressListEntry",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "address_lists",
          "address_lists:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list_entry",
            "description": "The address list entry to return.",
            "type": "CoreAPI/ArgumentSets/AddressListEntryLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/AddressListEntryLookup",
        "name": "Address List Entry Lookup",
        "description": "Provides for address list entries to be looked up.",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/AddressListEntryLookup/AddressListEntryNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/AddressListEntryLookup/AddressListEntryNotFound",
        "name": null,
        "description": "No address list entry was found matching any of the criteria provided in the arguments.",
        "code": "address_list_entry_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/CreateEndpoint",
        "name": "Create address list entry",
        "description": "Create a new address list entry for a given address list.",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressListEntries/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list",
              "description": "The address list under which the new entry should be created.",
              "type": "CoreAPI/ArgumentSets/AddressListLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new address list entry.",
              "type": "CoreAPI/ArgumentSets/AddressListEntryArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressListEntries/CreateEndpoint/AddressListEntryField",
            "name": "address_list_entry",
            "description": "The address list entry.",
            "type": "CoreAPI/Objects/AddressListEntry",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list",
            "description": "The address list under which the new entry should be created.",
            "type": "CoreAPI/ArgumentSets/AddressListLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new address list entry.",
            "type": "CoreAPI/ArgumentSets/AddressListEntryArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/AddressListEntryArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address",
            "description": "Address or network to add to the list.",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "name",
            "description": "Optional name/comment.",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/UpdateEndpoint",
        "name": "Update address list entry",
        "description": "Update an address list entry with new properties.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressListEntries/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list_entry",
              "description": "The address list entry to update.",
              "type": "CoreAPI/ArgumentSets/AddressListEntryLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The updated properties for the address list entry.",
              "type": "CoreAPI/ArgumentSets/AddressListEntryArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressListEntries/UpdateEndpoint/AddressListEntryField",
            "name": "address_list_entry",
            "description": "The address list entry.",
            "type": "CoreAPI/Objects/AddressListEntry",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list_entry",
            "description": "The address list entry to update.",
            "type": "CoreAPI/ArgumentSets/AddressListEntryLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The updated properties for the address list entry.",
            "type": "CoreAPI/ArgumentSets/AddressListEntryArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/DeleteEndpoint",
        "name": "Delete address list entry",
        "description": "Delete an address list entry.",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/AddressListEntries/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "address_list_entry",
              "description": "The address list entry to destroy.",
              "type": "CoreAPI/ArgumentSets/AddressListEntryLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/AddressListEntries/DeleteEndpoint/AddressListEntryField",
            "name": "address_list_entry",
            "description": "The address list entry that has been destroyed.",
            "type": "CoreAPI/Objects/AddressListEntry",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "address_lists"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/AddressListEntries/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "address_list_entry",
            "description": "The address list entry to destroy.",
            "type": "CoreAPI/ArgumentSets/AddressListEntryLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Certificates/ListEndpoint",
        "name": "List certificates",
        "description": "Provides a full list of certificates",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Certificates/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": null,
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Certificates/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/Certificates/ListEndpoint/CertificatesField",
            "name": "certificates",
            "description": null,
            "type": "CoreAPI/Objects/Certificate",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,issuer,state,expires_at,last_issued_at"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "certificates",
          "certificates:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Certificates/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": null,
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/Certificate",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/Certificate/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/AdditionalNamesField",
            "name": "additional_names",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/IssuerField",
            "name": "issuer",
            "description": null,
            "type": "CoreAPI/Objects/IssuerEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/StateField",
            "name": "state",
            "description": null,
            "type": "CoreAPI/Objects/CertificateStateEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/CreatedAtField",
            "name": "created_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/ExpiresAtField",
            "name": "expires_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/LastIssuedAtField",
            "name": "last_issued_at",
            "description": null,
            "type": "Apia/Scalars/UnixTime",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/IssueErrorField",
            "name": "issue_error",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/AuthorizationMethodField",
            "name": "authorization_method",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/CertificateApiUrlField",
            "name": "certificate_api_url",
            "description": "This is the URL that can be used to access this certificate's details. through the certificate API (a different API to this one). If null, this means that it is no longer available. If that is the case, you can get a new URL by resetting the API token for this certificate.",
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/CertificateField",
            "name": "certificate",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/ChainField",
            "name": "chain",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/Certificate/PrivateKeyField",
            "name": "private_key",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/IssuerEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "lets_encrypt",
            "description": "CertificateIssuers::LetsEncrypt"
          },
          {
            "name": "custom",
            "description": "CertificateIssuers::Custom"
          },
          {
            "name": "self_signed",
            "description": "CertificateIssuers::SelfSigned"
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/CertificateStateEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "pending",
            "description": null
          },
          {
            "name": "issue_failed",
            "description": null
          },
          {
            "name": "issued",
            "description": null
          },
          {
            "name": "issuing",
            "description": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Certificates/InfoEndpoint",
        "name": "Get certificate",
        "description": "Return details for a specific certificate",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Certificates/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "certificate",
              "description": null,
              "type": "CoreAPI/ArgumentSets/CertificateLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Certificates/InfoEndpoint/CertificateField",
            "name": "certificate",
            "description": null,
            "type": "CoreAPI/Objects/Certificate",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "certificates",
          "certificates:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Certificates/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "certificate",
            "description": null,
            "type": "CoreAPI/ArgumentSets/CertificateLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/CertificateLookup",
        "name": "Certificate Lookup",
        "description": "Provides for certificates to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ObjectInTrash",
          "CoreAPI/ArgumentSets/CertificateLookup/CertificateNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/CertificateLookup/CertificateNotFound",
        "name": null,
        "description": "No certificate was found matching any of the criteria provided in the arguments",
        "code": "certificate_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/ListEndpoint",
        "name": "List load balancers",
        "description": "Returns a list of all load balancers for a given organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancers/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to return all load balancers for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancers/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/LoadBalancers/ListEndpoint/LoadBalancersField",
            "name": "load_balancers",
            "description": "The load balancers owned by this organization",
            "type": "CoreAPI/Objects/LoadBalancer",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,api_reference,resource_type,ip_address[address],resources[name,id],data_center[id,name],resource_ids"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "load_balancers",
          "load_balancers:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to return all load balancers for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancer",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/LoadBalancer/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/ApiReferenceField",
            "name": "api_reference",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/ResourceTypeField",
            "name": "resource_type",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerResourceTypesEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/ResourcesField",
            "name": "resources",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerResource",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/ResourceIdsField",
            "name": "resource_ids",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/IpAddressField",
            "name": "ip_address",
            "description": null,
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/HttpsRedirectField",
            "name": "https_redirect",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/BackendCertificateField",
            "name": "backend_certificate",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/BackendCertificateKeyField",
            "name": "backend_certificate_key",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/DataCenterField",
            "name": "data_center",
            "description": null,
            "type": "CoreAPI/Objects/DataCenter",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/EnableWeightingField",
            "name": "enable_weighting",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/WeightsField",
            "name": "weights",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerWeight",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancer/StandbyVmsField",
            "name": "standby_vms",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerResourceTypesEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "virtual_machines",
            "description": null
          },
          {
            "name": "virtual_machine_groups",
            "description": null
          },
          {
            "name": "tags",
            "description": null
          }
        ]
      }
    },
    {
      "type": "polymorph",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerResource",
        "name": null,
        "description": null,
        "options": [
          {
            "name": "VirtualMachine",
            "type": "CoreAPI/Objects/VirtualMachine"
          },
          {
            "name": "VirtualMachineGroup",
            "type": "CoreAPI/Objects/VirtualMachineGroup"
          },
          {
            "name": "Tag",
            "type": "CoreAPI/Objects/Tag"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerWeight",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/LoadBalancerWeight/VirtualMachineIdField",
            "name": "virtual_machine_id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerWeight/WeightField",
            "name": "weight",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/CreateEndpoint",
        "name": "Create load balancer",
        "description": "Create a new load balancer for a given organization",
        "http_status": 201,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancers/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the load balancer for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new load balancer",
              "type": "CoreAPI/ArgumentSets/LoadBalancerArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancers/CreateEndpoint/LoadBalancerField",
            "name": "load_balancer",
            "description": "The load balancer that has been created",
            "type": "CoreAPI/Objects/LoadBalancer",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,ip_address[id,address],data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ResourceCreationRestricted"
        ],
        "scopes": [
          "load_balancers"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the load balancer for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new load balancer",
            "type": "CoreAPI/ArgumentSets/LoadBalancerArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/LoadBalancerArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "api_reference",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "resource_type",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerResourceTypesEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "resource_ids",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": true,
            "default": null
          },
          {
            "name": "data_center",
            "description": "The data center for the load balancer",
            "type": "CoreAPI/ArgumentSets/DataCenterLookup",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "https_redirect",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "enable_weighting",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "weights",
            "description": null,
            "type": "CoreAPI/ArgumentSets/LoadBalancerWeightsArguments",
            "required": false,
            "array": true,
            "default": null
          },
          {
            "name": "standby_vms",
            "description": "The IDs of any virtual machines that should be used as standbys in a failover situation",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": true,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/LoadBalancerWeightsArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "weight",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/InfoEndpoint",
        "name": "Get load balancer",
        "description": "Returns details about a load balancer",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancers/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer",
              "description": "The load balancer to return the details for",
              "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancers/InfoEndpoint/LoadBalancerField",
            "name": "load_balancer",
            "description": "The load balancer",
            "type": "CoreAPI/Objects/LoadBalancer",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,ip_address[id,address],data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "load_balancers",
          "load_balancers:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer",
            "description": "The load balancer to return the details for",
            "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/LoadBalancerLookup",
        "name": "Load balancer lookup",
        "description": "Provides for load balancers to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "api_reference",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/LoadBalancerLookup/LoadBalancerNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/LoadBalancerLookup/LoadBalancerNotFound",
        "name": null,
        "description": "No load balancer was found matching any of the criteria provided in the arguments",
        "code": "load_balancer_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/UpdateEndpoint",
        "name": "Update load balancer",
        "description": "Updates a load balancer with new properties",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancers/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer",
              "description": "The load balancer to update",
              "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The new properties for the load balancer",
              "type": "CoreAPI/ArgumentSets/LoadBalancerArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancers/UpdateEndpoint/LoadBalancerField",
            "name": "load_balancer",
            "description": "The load balancer that has been updated",
            "type": "CoreAPI/Objects/LoadBalancer",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,ip_address[id,address],data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "load_balancers"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer",
            "description": "The load balancer to update",
            "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The new properties for the load balancer",
            "type": "CoreAPI/ArgumentSets/LoadBalancerArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/DeleteEndpoint",
        "name": "Delete load balancer",
        "description": "Delete a load balancer",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancers/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer",
              "description": "The load balancer to destroy",
              "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancers/DeleteEndpoint/LoadBalancerField",
            "name": "load_balancer",
            "description": "The load balancer that has been destroyed",
            "type": "CoreAPI/Objects/LoadBalancer",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,api_reference"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "load_balancers"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancers/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer",
            "description": "The load balancer to destroy",
            "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/ListEndpoint",
        "name": "List load balancer rules",
        "description": "Returns a list of all rules for a given load balancer",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancerRules/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer",
              "description": "The load balancer to return all load rules for",
              "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancerRules/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/LoadBalancerRules/ListEndpoint/LoadBalancerRulesField",
            "name": "load_balancer_rules",
            "description": "The load balancer rules for this load balancer",
            "type": "CoreAPI/Objects/LoadBalancerRule",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,listen_port,destination_port,protocol,algorithm,certificates[id,name],check_enabled"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "load_balancers",
          "load_balancers:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer",
            "description": "The load balancer to return all load rules for",
            "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerRule",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/AlgorithmField",
            "name": "algorithm",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleAlgorithmEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/DestinationPortField",
            "name": "destination_port",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/ListenPortField",
            "name": "listen_port",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/ProtocolField",
            "name": "protocol",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleProtocolEnum",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/ProxyProtocolField",
            "name": "proxy_protocol",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CertificatesField",
            "name": "certificates",
            "description": null,
            "type": "CoreAPI/Objects/Certificate",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/BackendSslField",
            "name": "backend_ssl",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/PassthroughSslField",
            "name": "passthrough_ssl",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckEnabledField",
            "name": "check_enabled",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckFallField",
            "name": "check_fall",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckIntervalField",
            "name": "check_interval",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckPathField",
            "name": "check_path",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckProtocolField",
            "name": "check_protocol",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleCheckProtocolEnum",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckRiseField",
            "name": "check_rise",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckTimeoutField",
            "name": "check_timeout",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/CheckHttpStatusesField",
            "name": "check_http_statuses",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleHTTPStatusesEnum",
            "null": true,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/LoadBalancerRule/LoadBalancerField",
            "name": "load_balancer",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancer",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerRuleAlgorithmEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "round_robin",
            "description": null
          },
          {
            "name": "least_connections",
            "description": null
          },
          {
            "name": "sticky",
            "description": null
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerRuleProtocolEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "HTTPS",
            "description": null
          },
          {
            "name": "TCP",
            "description": null
          },
          {
            "name": "HTTP",
            "description": null
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerRuleCheckProtocolEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "HTTP",
            "description": null
          },
          {
            "name": "TCP",
            "description": null
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/LoadBalancerRuleHTTPStatusesEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "2",
            "description": "All 2xx statuses"
          },
          {
            "name": "23",
            "description": "All 2xx and 3xx statuses"
          },
          {
            "name": "234",
            "description": "All 2xx, 3xx and 4xx statuses"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/CreateEndpoint",
        "name": "Create load balancer rule",
        "description": "Create a new load balancer rule",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancerRules/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer",
              "description": "The load balancer to create the rule for",
              "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The properties for the new load balancer rule",
              "type": "CoreAPI/ArgumentSets/LoadBalancerRuleArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancerRules/CreateEndpoint/LoadBalancerRuleField",
            "name": "load_balancer_rule",
            "description": "The load balancer rule that has been created",
            "type": "CoreAPI/Objects/LoadBalancerRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,certificates[id,name,additional_names,state],load_balancer[id,name]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "load_balancers"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer",
            "description": "The load balancer to create the rule for",
            "type": "CoreAPI/ArgumentSets/LoadBalancerLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The properties for the new load balancer rule",
            "type": "CoreAPI/ArgumentSets/LoadBalancerRuleArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/LoadBalancerRuleArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "algorithm",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleAlgorithmEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "destination_port",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "listen_port",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "protocol",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleProtocolEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "proxy_protocol",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "backend_ssl",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "passthrough_ssl",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "certificates",
            "description": null,
            "type": "CoreAPI/ArgumentSets/CertificateLookup",
            "required": false,
            "array": true,
            "default": null
          },
          {
            "name": "check_enabled",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "check_fall",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "check_interval",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "check_path",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "check_protocol",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleCheckProtocolEnum",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "check_rise",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "check_timeout",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "check_http_statuses",
            "description": null,
            "type": "CoreAPI/Objects/LoadBalancerRuleHTTPStatusesEnum",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/InfoEndpoint",
        "name": "Get load balancer rule",
        "description": "Returns details about a load balancer rule",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancerRules/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer_rule",
              "description": "The load balancer rule to return the details for",
              "type": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancerRules/InfoEndpoint/LoadBalancerRuleField",
            "name": "load_balancer_rule",
            "description": "The resolved load balancer rule",
            "type": "CoreAPI/Objects/LoadBalancerRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,certificates[id,name,additional_names,state],load_balancer[id,name]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "load_balancers",
          "load_balancers:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer_rule",
            "description": "The load balancer rule to return the details for",
            "type": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup",
        "name": "Load balancer rule lookup",
        "description": "Provides for load balancer rules to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/LoadBalancerRuleLookup/LoadBalancerRuleNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup/LoadBalancerRuleNotFound",
        "name": null,
        "description": "No load balancer rule was found matching any of the criteria provided in the arguments",
        "code": "load_balancer_rule_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/UpdateEndpoint",
        "name": "Update load balancer rule",
        "description": "Updates a load balancer rule with new properties",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancerRules/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer_rule",
              "description": "The load balancer rule to update",
              "type": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The new properties for the load balancer rule",
              "type": "CoreAPI/ArgumentSets/LoadBalancerRuleArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancerRules/UpdateEndpoint/LoadBalancerRuleField",
            "name": "load_balancer_rule",
            "description": "The load balancer that has been updated",
            "type": "CoreAPI/Objects/LoadBalancerRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "*,certificates[id,name,additional_names,state],load_balancer[id,name]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "load_balancers"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer_rule",
            "description": "The load balancer rule to update",
            "type": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The new properties for the load balancer rule",
            "type": "CoreAPI/ArgumentSets/LoadBalancerRuleArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/DeleteEndpoint",
        "name": "Delete load balancer rule",
        "description": "Delete a load balancer rule",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/LoadBalancerRules/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "load_balancer_rule",
              "description": "The load balancer rule to destroy",
              "type": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/LoadBalancerRules/DeleteEndpoint/LoadBalancerRuleField",
            "name": "load_balancer_rule",
            "description": "The load balancer rule that has been destroyed",
            "type": "CoreAPI/Objects/LoadBalancerRule",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "load_balancers"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/LoadBalancerRules/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "load_balancer_rule",
            "description": "The load balancer rule to destroy",
            "type": "CoreAPI/ArgumentSets/LoadBalancerRuleLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/ListEndpoint",
        "name": "List IP addresses",
        "description": "Returns a list of all IP addresses belonging to an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/IPAddresses/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to use when looking up IP addresses",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "allocated",
              "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses.",
              "type": "Apia/Scalars/Boolean",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/IPAddresses/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/IPAddresses/ListEndpoint/IpAddressesField",
            "name": "ip_addresses",
            "description": "The IP addresses belonging to this organization",
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,address,allocation_id,allocation_type,vip,reverse_dns"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "ip_addresses",
          "ip_addresses:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to use when looking up IP addresses",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "allocated",
            "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses.",
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/CreateEndpoint",
        "name": "Create IP Address",
        "description": "Creates a new IP address on this organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/IPAddresses/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the address for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "network",
              "description": "The network to create the IP address on",
              "type": "CoreAPI/ArgumentSets/NetworkLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "version",
              "description": "The IP address version to use",
              "type": "CoreAPI/Objects/IPAddressVersionEnum",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "vip",
              "description": "Whether or not to set this address as a VIP",
              "type": "Apia/Scalars/Boolean",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "label",
              "description": "The label to give this address if setting it as a VIP",
              "type": "Apia/Scalars/String",
              "required": false,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/IPAddresses/CreateEndpoint/IpAddressField",
            "name": "ip_address",
            "description": "The newly allocated IP address",
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/NoAvailableAddresses",
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "ip_addresses"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the address for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "network",
            "description": "The network to create the IP address on",
            "type": "CoreAPI/ArgumentSets/NetworkLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "version",
            "description": "The IP address version to use",
            "type": "CoreAPI/Objects/IPAddressVersionEnum",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "vip",
            "description": "Whether or not to set this address as a VIP",
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "label",
            "description": "The label to give this address if setting it as a VIP",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "enum",
      "value": {
        "id": "CoreAPI/Objects/IPAddressVersionEnum",
        "name": null,
        "description": null,
        "values": [
          {
            "name": "ipv4",
            "description": null
          },
          {
            "name": "ipv6",
            "description": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/NoAvailableAddresses",
        "name": null,
        "description": "Our pool of addresses for that version seems to have run dry. If this issue continues, please contact support.",
        "code": "no_available_addresses",
        "http_status": 503,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/InfoEndpoint",
        "name": "Get IP address",
        "description": "Returns information about a specific IP address",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/IPAddresses/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "ip_address",
              "description": "The IP address to find",
              "type": "CoreAPI/ArgumentSets/IPAddressLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/IPAddresses/InfoEndpoint/IpAddressField",
            "name": "ip_address",
            "description": "The IP address that has been located",
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/IPAddresses/InfoEndpoint/AllocationField",
            "name": "allocation",
            "description": "The resource this address is allocated to",
            "type": "CoreAPI/Objects/IPAddressAllocation",
            "null": true,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "ip_addresses",
          "ip_addresses:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ip_address",
            "description": "The IP address to find",
            "type": "CoreAPI/ArgumentSets/IPAddressLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "polymorph",
      "value": {
        "id": "CoreAPI/Objects/IPAddressAllocation",
        "name": null,
        "description": null,
        "options": [
          {
            "name": "VirtualMachine",
            "type": "CoreAPI/Objects/VirtualMachine"
          },
          {
            "name": "LoadBalancer",
            "type": "CoreAPI/Objects/LoadBalancer"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/UpdateEndpoint",
        "name": "Update IP address",
        "description": "Updates the details on an IP address",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/IPAddresses/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "ip_address",
              "description": "The IP address to update",
              "type": "CoreAPI/ArgumentSets/IPAddressLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "vip",
              "description": "Whether or not to set this address as a VIP",
              "type": "Apia/Scalars/Boolean",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "label",
              "description": "The label to give this address if setting it as a VIP",
              "type": "Apia/Scalars/String",
              "required": false,
              "array": false,
              "default": null
            },
            {
              "name": "reverse_dns",
              "description": "The reverse DNS to set for this IP address",
              "type": "Apia/Scalars/String",
              "required": false,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/IPAddresses/UpdateEndpoint/IpAddressField",
            "name": "ip_address",
            "description": "The IP address that has been updated",
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/ValidationError",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "ip_addresses"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ip_address",
            "description": "The IP address to update",
            "type": "CoreAPI/ArgumentSets/IPAddressLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "vip",
            "description": "Whether or not to set this address as a VIP",
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "label",
            "description": "The label to give this address if setting it as a VIP",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "reverse_dns",
            "description": "The reverse DNS to set for this IP address",
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/ReleaseEndpoint",
        "name": "Release an IP address",
        "description": "Release an IP address from its organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/IPAddresses/ReleaseEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "ip_address",
              "description": "The IP address to unassign",
              "type": "CoreAPI/ArgumentSets/IPAddressLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ResourceDoesNotSupportUnallocation"
        ],
        "scopes": [
          "ip_addresses"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/ReleaseEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ip_address",
            "description": "The IP address to unassign",
            "type": "CoreAPI/ArgumentSets/IPAddressLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Errors/ResourceDoesNotSupportUnallocation",
        "name": null,
        "description": "The resource this IP address belongs to does not allow you to unallocate it.",
        "code": "resource_does_not_support_unallocation",
        "http_status": 409,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/UnallocateEndpoint",
        "name": "Unallocate an IP address",
        "description": "Unallocate an IP address from its resource",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/IPAddresses/UnallocateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "ip_address",
              "description": "The IP address to unallocate",
              "type": "CoreAPI/ArgumentSets/IPAddressLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [],
        "potential_errors": [
          "CoreAPI/Endpoints/IPAddresses/UnallocateEndpoint/NoAllocation",
          "CoreAPI/Errors/ResourceDoesNotSupportUnallocation"
        ],
        "scopes": [
          "ip_addresses"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/UnallocateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "ip_address",
            "description": "The IP address to unallocate",
            "type": "CoreAPI/ArgumentSets/IPAddressLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/IPAddresses/UnallocateEndpoint/NoAllocation",
        "name": null,
        "description": "This IP address is not currently allocated to any object, and cannot be unallocated.",
        "code": "no_allocation",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ListEndpoint",
        "name": "List virtual machine network interfaces",
        "description": "Returns a list of virtual machine network interfaces",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": "The virtual machine to show network interfaces for",
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ListEndpoint/VirtualMachineNetworkInterfacesField",
            "name": "virtual_machine_network_interfaces",
            "description": "The network interfaces for this virtual machine",
            "type": "CoreAPI/Objects/VirtualMachineNetworkInterface",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,ip_addresses[id,address],network[name,id]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machines",
          "virtual_machines:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": "The virtual machine to show network interfaces for",
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "object",
      "value": {
        "id": "CoreAPI/Objects/VirtualMachineNetworkInterface",
        "name": null,
        "description": null,
        "fields": [
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/IdField",
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/VirtualMachineField",
            "name": "virtual_machine",
            "description": null,
            "type": "CoreAPI/Objects/VirtualMachine",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/NameField",
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/NetworkField",
            "name": "network",
            "description": null,
            "type": "CoreAPI/Objects/Network",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/MacAddressField",
            "name": "mac_address",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/StateField",
            "name": "state",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/IpAddressesField",
            "name": "ip_addresses",
            "description": null,
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Objects/VirtualMachineNetworkInterface/SpeedProfileField",
            "name": "speed_profile",
            "description": null,
            "type": "CoreAPI/Objects/NetworkSpeedProfile",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ForNetworkEndpoint",
        "name": "Get virtual machine network interface by network",
        "description": "Return information about a virtual machine network interface for a specific network",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ForNetworkEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine",
              "description": "The virtual machine to find the network interface for",
              "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "network",
              "description": "The network to find the network interface for",
              "type": "CoreAPI/ArgumentSets/NetworkLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ForNetworkEndpoint/VirtualMachineNetworkInterfaceField",
            "name": "virtual_machine_network_interface",
            "description": "The network interface details",
            "type": "CoreAPI/Objects/VirtualMachineNetworkInterface",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,virtual_machine[id,name],ip_addresses[id,address],mac_address,state,network[name,id]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ForNetworkEndpoint/InterfaceNotFound"
        ],
        "scopes": [
          "virtual_machines",
          "virtual_machines:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ForNetworkEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine",
            "description": "The virtual machine to find the network interface for",
            "type": "CoreAPI/ArgumentSets/VirtualMachineLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "network",
            "description": "The network to find the network interface for",
            "type": "CoreAPI/ArgumentSets/NetworkLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/ForNetworkEndpoint/InterfaceNotFound",
        "name": null,
        "description": "An interface could not be found for the specified network",
        "code": "interface_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/InfoEndpoint",
        "name": "Get virtual machine network interface",
        "description": "Return information about a given virtual machine network interface",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_network_interface",
              "description": "The network interface to show the information for",
              "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/InfoEndpoint/VirtualMachineNetworkInterfaceField",
            "name": "virtual_machine_network_interface",
            "description": "The network interface details",
            "type": "CoreAPI/Objects/VirtualMachineNetworkInterface",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,virtual_machine[id,name],ip_addresses[id,address],mac_address,state,network[name,id],speed_profile[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "virtual_machines",
          "virtual_machines:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_network_interface",
            "description": "The network interface to show the information for",
            "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
        "name": "Virtual Machine Network Interface Lookup",
        "description": "Provides for virtual machine network interfaces to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup/VirtualMachineNetworkInterfaceNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup/VirtualMachineNetworkInterfaceNotFound",
        "name": null,
        "description": "No network interface was found matching any of the criteria provided in the arguments",
        "code": "virtual_machine_network_interface_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/IpsAvailableForAllocationEndpoint",
        "name": "Get addresses available for network interface",
        "description": "Returns a list of IP addresses that can be allocated to a specific network interface",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/IpsAvailableForAllocationEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_network_interface",
              "description": "The network interface to get IP addresses for",
              "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "address_version",
              "description": "The IP address version to return results for",
              "type": "CoreAPI/Objects/IPAddressVersionEnum",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/IpsAvailableForAllocationEndpoint/IpAddressesField",
            "name": "ip_addresses",
            "description": "The IP addresses available for this network interface",
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "ip_addresses",
          "ip_addresses:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/IpsAvailableForAllocationEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_network_interface",
            "description": "The network interface to get IP addresses for",
            "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "address_version",
            "description": "The IP address version to return results for",
            "type": "CoreAPI/Objects/IPAddressVersionEnum",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateIPEndpoint",
        "name": "Allocate an IP address",
        "description": "Allocate a specific IP address to a given network interface",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateIPEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_network_interface",
              "description": "The network interface to allocate the IP to",
              "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "ip_address",
              "description": "The IP address to allocate to this network interface",
              "type": "CoreAPI/ArgumentSets/IPAddressLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateIPEndpoint/VirtualMachineNetworkInterfaceField",
            "name": "virtual_machine_network_interface",
            "description": "The network interface details",
            "type": "CoreAPI/Objects/VirtualMachineNetworkInterface",
            "null": false,
            "array": false,
            "spec": {
              "all": false,
              "spec": "id,name,virtual_machine[id,name],ip_addresses[id,address],mac_address,state,network[name,id]"
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/IPAlreadyAllocated",
          "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateIPEndpoint/InvalidIP"
        ],
        "scopes": [
          "ip_addresses"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateIPEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_network_interface",
            "description": "The network interface to allocate the IP to",
            "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "ip_address",
            "description": "The IP address to allocate to this network interface",
            "type": "CoreAPI/ArgumentSets/IPAddressLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateIPEndpoint/InvalidIP",
        "name": null,
        "description": "This IP address is not valid for this network interface.",
        "code": "invalid_ip",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateNewIPEndpoint",
        "name": "Allocate a new IP address",
        "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateNewIPEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_network_interface",
              "description": "The network interface to allocate the new IP to",
              "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "address_version",
              "description": "The IP address version to use for the new IP",
              "type": "CoreAPI/Objects/IPAddressVersionEnum",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateNewIPEndpoint/IpAddressField",
            "name": "ip_address",
            "description": "The newly allocated IP address",
            "type": "CoreAPI/Objects/IPAddress",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/NoAvailableAddresses",
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "ip_addresses"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/AllocateNewIPEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_network_interface",
            "description": "The network interface to allocate the new IP to",
            "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "address_version",
            "description": "The IP address version to use for the new IP",
            "type": "CoreAPI/Objects/IPAddressVersionEnum",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/UpdateSpeedProfileEndpoint",
        "name": "Update the network speed profile for a virtual machine network interface",
        "description": null,
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/UpdateSpeedProfileEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_network_interface",
              "description": "The network interface to update",
              "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "speed_profile",
              "description": "The network speed profile to assign to this virtual machine network interface",
              "type": "CoreAPI/ArgumentSets/NetworkSpeedProfileLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/UpdateSpeedProfileEndpoint/TaskField",
            "name": "task",
            "description": "The task responsible for updating the virtual machine network interface speed profile",
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/UpdateSpeedProfileEndpoint/SpeedProfileAlreadyAssigned",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "virtual_machines"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/UpdateSpeedProfileEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_network_interface",
            "description": "The network interface to update",
            "type": "CoreAPI/ArgumentSets/VirtualMachineNetworkInterfaceLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "speed_profile",
            "description": "The network speed profile to assign to this virtual machine network interface",
            "type": "CoreAPI/ArgumentSets/NetworkSpeedProfileLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/NetworkSpeedProfileLookup",
        "name": "Network Speed Profile Lookup",
        "description": "Provides for network speed profiles to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "permalink",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/NetworkSpeedProfileLookup/NetworkSpeedProfileNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/NetworkSpeedProfileLookup/NetworkSpeedProfileNotFound",
        "name": null,
        "description": "No network speed profile was found matching any of the criteria provided in the arguments",
        "code": "network_speed_profile_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineNetworkInterfaces/UpdateSpeedProfileEndpoint/SpeedProfileAlreadyAssigned",
        "name": null,
        "description": "This network speed profile is already assigned to this virtual machine network interface.",
        "code": "speed_profile_already_assigned",
        "http_status": 422,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/ListEndpoint",
        "name": "List tags",
        "description": "Returns a list of all tags for an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Tags/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to list the tags for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Tags/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/Tags/ListEndpoint/TagsField",
            "name": "tags",
            "description": "The details for the tags on the organization",
            "type": "CoreAPI/Objects/Tag",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name"
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "tags",
          "tags:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to list the tags for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/CreateEndpoint",
        "name": "Create a tag",
        "description": "Creates a new tag with the provided properties",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Tags/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to create the new tag for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The details for the new tag to be created",
              "type": "CoreAPI/ArgumentSets/TagArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Tags/CreateEndpoint/TagField",
            "name": "tag",
            "description": "The newly created tag",
            "type": "CoreAPI/Objects/Tag",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "tags"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to create the new tag for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The details for the new tag to be created",
            "type": "CoreAPI/ArgumentSets/TagArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/TagArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "color",
            "description": null,
            "type": "CoreAPI/Objects/TagColorsEnum",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/InfoEndpoint",
        "name": "Get tag",
        "description": "Returns details about a specific tag",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Tags/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "tag",
              "description": "The tag to load the details for",
              "type": "CoreAPI/ArgumentSets/TagLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Tags/InfoEndpoint/TagField",
            "name": "tag",
            "description": "The details for the requested tag",
            "type": "CoreAPI/Objects/Tag",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "tags",
          "tags:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "tag",
            "description": "The tag to load the details for",
            "type": "CoreAPI/ArgumentSets/TagLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/TagLookup",
        "name": "Tag Lookup",
        "description": "Provides for tags to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/TagLookup/TagNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/TagLookup/TagNotFound",
        "name": null,
        "description": "No tag was found matching any of the criteria provided in the arguments",
        "code": "tag_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/UpdateEndpoint",
        "name": "Update a tag",
        "description": "Updates a tag with the provided properties",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Tags/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "tag",
              "description": "The tag to update",
              "type": "CoreAPI/ArgumentSets/TagLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The new details for the tag",
              "type": "CoreAPI/ArgumentSets/TagArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Tags/UpdateEndpoint/TagField",
            "name": "tag",
            "description": "The newly updated tag",
            "type": "CoreAPI/Objects/Tag",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "tags"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "tag",
            "description": "The tag to update",
            "type": "CoreAPI/ArgumentSets/TagLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The new details for the tag",
            "type": "CoreAPI/ArgumentSets/TagArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/DeleteEndpoint",
        "name": "Delete a tag",
        "description": "Deletes a tag",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Tags/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "tag",
              "description": "The tag to delete",
              "type": "CoreAPI/ArgumentSets/TagLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Tags/DeleteEndpoint/TagField",
            "name": "tag",
            "description": "The newly deleted tag",
            "type": "CoreAPI/Objects/Tag",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "tags"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Tags/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "tag",
            "description": "The tag to delete",
            "type": "CoreAPI/ArgumentSets/TagLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/ListEndpoint",
        "name": "List virtual machine groups",
        "description": "Return a list of all virtual machine groups for an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineGroups/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to return groups for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineGroups/ListEndpoint/VirtualMachineGroupsField",
            "name": "virtual_machine_groups",
            "description": "The virtual machine groups for the provided organization",
            "type": "CoreAPI/Objects/VirtualMachineGroup",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "virtual_machine_groups",
          "virtual_machine_groups:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to return groups for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/CreateEndpoint",
        "name": "Create a virtual machine group",
        "description": "Create a new virtual machine group with the provided details",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineGroups/CreateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization in which to create the new group",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The details for the new group",
              "type": "CoreAPI/ArgumentSets/VirtualMachineGroupArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineGroups/CreateEndpoint/VirtualMachineGroupField",
            "name": "virtual_machine_group",
            "description": "The new virtual machine group details",
            "type": "CoreAPI/Objects/VirtualMachineGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "virtual_machine_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/CreateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization in which to create the new group",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The details for the new group",
            "type": "CoreAPI/ArgumentSets/VirtualMachineGroupArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/VirtualMachineGroupArguments",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "name",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "segregate",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "auto_segregate",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "required": false,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/InfoEndpoint",
        "name": "Get virtual machine group",
        "description": "Return detailed information about a virtual machine group",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineGroups/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_group",
              "description": "The virtual machine group to retrieve",
              "type": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineGroups/InfoEndpoint/VirtualMachineGroupField",
            "name": "virtual_machine_group",
            "description": "The virtual machine group details",
            "type": "CoreAPI/Objects/VirtualMachineGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "virtual_machine_groups",
          "virtual_machine_groups:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_group",
            "description": "The virtual machine group to retrieve",
            "type": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/UpdateEndpoint",
        "name": "Update a virtual machine group",
        "description": "Update a virtual machine group with the provided details",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineGroups/UpdateEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_group",
              "description": "The virtual machine group to update",
              "type": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "properties",
              "description": "The new details for the group",
              "type": "CoreAPI/ArgumentSets/VirtualMachineGroupArguments",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineGroups/UpdateEndpoint/VirtualMachineGroupField",
            "name": "virtual_machine_group",
            "description": "The updated virtual machine group details",
            "type": "CoreAPI/Objects/VirtualMachineGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/ValidationError"
        ],
        "scopes": [
          "virtual_machine_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/UpdateEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_group",
            "description": "The virtual machine group to update",
            "type": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "properties",
            "description": "The new details for the group",
            "type": "CoreAPI/ArgumentSets/VirtualMachineGroupArguments",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/DeleteEndpoint",
        "name": "Delete a virtual machine group",
        "description": null,
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/VirtualMachineGroups/DeleteEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "virtual_machine_group",
              "description": "The virtual machine group to delete",
              "type": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/VirtualMachineGroups/DeleteEndpoint/VirtualMachineGroupField",
            "name": "virtual_machine_group",
            "description": "The details for the deleted virtual machine group",
            "type": "CoreAPI/Objects/VirtualMachineGroup",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/DeletionRestricted"
        ],
        "scopes": [
          "virtual_machine_groups"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/VirtualMachineGroups/DeleteEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "virtual_machine_group",
            "description": "The virtual machine group to delete",
            "type": "CoreAPI/ArgumentSets/VirtualMachineGroupLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/OperatingSystems/ListEndpoint",
        "name": "List operating systems",
        "description": "Return a list of all operating systems",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/OperatingSystems/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/OperatingSystems/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/OperatingSystems/ListEndpoint/OperatingSystemsField",
            "name": "operating_systems",
            "description": "The list of available operating systems",
            "type": "CoreAPI/Objects/DiskTemplate",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/OperatingSystems/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/OperatingSystems/InfoEndpoint",
        "name": "Get operating system",
        "description": "Return details for a specific operating system",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/OperatingSystems/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "operating_system",
              "description": "The operating system to return",
              "type": "CoreAPI/ArgumentSets/OperatingSystemLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/OperatingSystems/InfoEndpoint/OperatingSystemField",
            "name": "operating_system",
            "description": "The operating system details",
            "type": "CoreAPI/Objects/OperatingSystem",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/OperatingSystems/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "operating_system",
            "description": "The operating system to return",
            "type": "CoreAPI/ArgumentSets/OperatingSystemLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/ListEndpoint",
        "name": "List trash objects",
        "description": "Provides a full list of all trash objects for a specific organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/TrashObjects/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to find all trash objects for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/TrashObjects/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/TrashObjects/ListEndpoint/TrashObjectsField",
            "name": "trash_objects",
            "description": "The trash objects that belong to this organization",
            "type": "CoreAPI/Objects/TrashObject",
            "null": false,
            "array": true,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "trash_objects:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to find all trash objects for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/PurgeAllEndpoint",
        "name": "Purge all trash objects",
        "description": "Purge all trash objects for an organization",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/TrashObjects/PurgeAllEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "organization",
              "description": "The organization to find all trash objects for",
              "type": "CoreAPI/ArgumentSets/OrganizationLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/TrashObjects/PurgeAllEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "trash_objects:purge"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/PurgeAllEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "organization",
            "description": "The organization to find all trash objects for",
            "type": "CoreAPI/ArgumentSets/OrganizationLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/InfoEndpoint",
        "name": "Get trash object",
        "description": "Provides information on a specific trash object",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/TrashObjects/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "trash_object",
              "description": "The trash object to find",
              "type": "CoreAPI/ArgumentSets/TrashObjectLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/TrashObjects/InfoEndpoint/TrashObjectField",
            "name": "trash_object",
            "description": "The requested trash object",
            "type": "CoreAPI/Objects/TrashObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "trash_objects:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "trash_object",
            "description": "The trash object to find",
            "type": "CoreAPI/ArgumentSets/TrashObjectLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/TrashObjectLookup",
        "name": "Trash Object Lookup",
        "description": "Provides for trash objects to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "object_id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/TrashObjectLookup/TrashObjectNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/TrashObjectLookup/TrashObjectNotFound",
        "name": null,
        "description": "No trash object was found matching any of the criteria provided in the arguments",
        "code": "trash_object_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/PurgeEndpoint",
        "name": "Purge a trash object",
        "description": "Purge a specific trash object",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/TrashObjects/PurgeEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "trash_object",
              "description": "The trash object to purge",
              "type": "CoreAPI/ArgumentSets/TrashObjectLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/TrashObjects/PurgeEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied",
          "CoreAPI/Errors/TaskQueueingError"
        ],
        "scopes": [
          "trash_objects:purge"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/PurgeEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "trash_object",
            "description": "The trash object to purge",
            "type": "CoreAPI/ArgumentSets/TrashObjectLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/RestoreEndpoint",
        "name": "Restore a trash object",
        "description": "Restore a trashed object to its original location",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/TrashObjects/RestoreEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "trash_object",
              "description": "The trash object to restore",
              "type": "CoreAPI/ArgumentSets/TrashObjectLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/TrashObjects/RestoreEndpoint/TrashObjectField",
            "name": "trash_object",
            "description": "The requested trash object",
            "type": "CoreAPI/Objects/TrashObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Errors/PermissionDenied"
        ],
        "scopes": [
          "trash_objects:restore"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/TrashObjects/RestoreEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "trash_object",
            "description": "The trash object to restore",
            "type": "CoreAPI/ArgumentSets/TrashObjectLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Zones/ListEndpoint",
        "name": "List zones",
        "description": "Returns a list of all zones on the system for the current identity",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Zones/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": []
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Zones/ListEndpoint/ZonesField",
            "name": "zones",
            "description": "The zones available to the current identity",
            "type": "CoreAPI/Objects/Zone",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,permalink,data_center[id,name,permalink]"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Zones/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Zones/InfoEndpoint",
        "name": "Get zone",
        "description": "Returns the details for a specific zone",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Zones/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "zone",
              "description": "The zone to find",
              "type": "CoreAPI/ArgumentSets/ZoneLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Zones/InfoEndpoint/ZoneField",
            "name": "zone",
            "description": "The zone details",
            "type": "CoreAPI/Objects/Zone",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Zones/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "zone",
            "description": "The zone to find",
            "type": "CoreAPI/ArgumentSets/ZoneLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Countries/ListEndpoint",
        "name": "List countries",
        "description": "Return a list of all countries available in Katapult",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Countries/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Countries/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/Countries/ListEndpoint/CountriesField",
            "name": "countries",
            "description": "The list of countries",
            "type": "CoreAPI/Objects/Country",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Countries/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Countries/InfoEndpoint",
        "name": "Get country",
        "description": "Return details for a specific country",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Countries/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "country",
              "description": "The country to return",
              "type": "CoreAPI/ArgumentSets/CountryLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Countries/InfoEndpoint/CountryField",
            "name": "country",
            "description": "The country details",
            "type": "CoreAPI/Objects/Country",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Countries/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "country",
            "description": "The country to return",
            "type": "CoreAPI/ArgumentSets/CountryLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/CountryLookup",
        "name": "Country Lookup",
        "description": "Provides for countries to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "iso_code2",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "iso_code3",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/CountryLookup/CountryNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/CountryLookup/CountryNotFound",
        "name": null,
        "description": "No country was found matching any of the criteria provided in the arguments",
        "code": "country_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/CountryStates/ListEndpoint",
        "name": "List country states",
        "description": "Return a list of all country states for a specific country",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/CountryStates/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "country",
              "description": "The country to return states for",
              "type": "CoreAPI/ArgumentSets/CountryLookup",
              "required": true,
              "array": false,
              "default": null
            },
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/CountryStates/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/CountryStates/ListEndpoint/CountryStatesField",
            "name": "country_states",
            "description": "The list of country states for the given country",
            "type": "CoreAPI/Objects/CountryState",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/CountryStates/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "country",
            "description": "The country to return states for",
            "type": "CoreAPI/ArgumentSets/CountryLookup",
            "required": true,
            "array": false,
            "default": null
          },
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/CountryStates/InfoEndpoint",
        "name": "Get country state",
        "description": "Return details for a specific country state",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/CountryStates/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "country_state",
              "description": "The country state to return",
              "type": "CoreAPI/ArgumentSets/CountryStateLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/CountryStates/InfoEndpoint/CountryStateField",
            "name": "country_state",
            "description": "The country state details",
            "type": "CoreAPI/Objects/CountryState",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/CountryStates/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "country_state",
            "description": "The country state to return",
            "type": "CoreAPI/ArgumentSets/CountryStateLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/CountryStateLookup",
        "name": "Country State Lookup",
        "description": "Provides for country states to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/CountryStateLookup/CountryStateNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/CountryStateLookup/CountryStateNotFound",
        "name": null,
        "description": "No country state was found matching any of the criteria provided in the arguments",
        "code": "country_state_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Currencies/ListEndpoint",
        "name": "List currencies",
        "description": "Return a list of all currencies available in Katapult",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Currencies/ListEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "1"
            },
            {
              "name": "per_page",
              "description": null,
              "type": "Apia/Scalars/Integer",
              "required": false,
              "array": false,
              "default": "30"
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Currencies/ListEndpoint/PaginationField",
            "name": "pagination",
            "description": null,
            "type": "Apia/PaginationObject",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/Currencies/ListEndpoint/CurrenciesField",
            "name": "currencies",
            "description": "The list of currencies",
            "type": "CoreAPI/Objects/Currency",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name"
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Currencies/ListEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "1"
          },
          {
            "name": "per_page",
            "description": null,
            "type": "Apia/Scalars/Integer",
            "required": false,
            "array": false,
            "default": "30"
          }
        ]
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Currencies/InfoEndpoint",
        "name": "Get currency",
        "description": "Return details for a specific currency",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Currencies/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "currency",
              "description": "The currency to return",
              "type": "CoreAPI/ArgumentSets/CurrencyLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Currencies/InfoEndpoint/CurrencyField",
            "name": "currency",
            "description": "The currency details",
            "type": "CoreAPI/Objects/Currency",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Currencies/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "currency",
            "description": "The currency to return",
            "type": "CoreAPI/ArgumentSets/CurrencyLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/CurrencyLookup",
        "name": "Currency Lookup",
        "description": "Provides for currencies to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          },
          {
            "name": "iso_code",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/CurrencyLookup/CurrencyNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/CurrencyLookup/CurrencyNotFound",
        "name": null,
        "description": "No currency was found matching any of the criteria provided in the arguments",
        "code": "currency_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Tasks/InfoEndpoint",
        "name": "Get Task",
        "description": "Returns details about a specific task",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Tasks/InfoEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": [
            {
              "name": "task",
              "description": null,
              "type": "CoreAPI/ArgumentSets/TaskLookup",
              "required": true,
              "array": false,
              "default": null
            }
          ]
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Tasks/InfoEndpoint/TaskField",
            "name": "task",
            "description": null,
            "type": "CoreAPI/Objects/Task",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [],
        "scopes": [
          "tasks",
          "tasks:read"
        ]
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Tasks/InfoEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": [
          {
            "name": "task",
            "description": null,
            "type": "CoreAPI/ArgumentSets/TaskLookup",
            "required": true,
            "array": false,
            "default": null
          }
        ]
      }
    },
    {
      "type": "lookup_argument_set",
      "value": {
        "id": "CoreAPI/ArgumentSets/TaskLookup",
        "name": "Task Lookup",
        "description": "Provides for tasks to be looked up",
        "arguments": [
          {
            "name": "id",
            "description": null,
            "type": "Apia/Scalars/String",
            "required": false,
            "array": false,
            "default": null
          }
        ],
        "potential_errors": [
          "CoreAPI/ArgumentSets/TaskLookup/TaskNotFound"
        ]
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/ArgumentSets/TaskLookup/TaskNotFound",
        "name": null,
        "description": "No task was found matching any of the criteria provided in the arguments",
        "code": "task_not_found",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Users/CurrentEndpoint",
        "name": "Get current user details",
        "description": "This endpoint returns details for the currently authenticated user. If the API token used to\nauthenticate to the API is not associated with a user, this method will return an error.\n",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Users/CurrentEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": []
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Users/CurrentEndpoint/UserField",
            "name": "user",
            "description": null,
            "type": "CoreAPI/Objects/User",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          },
          {
            "id": "CoreAPI/Endpoints/Users/CurrentEndpoint/OrganizationsField",
            "name": "organizations",
            "description": null,
            "type": "CoreAPI/Objects/Organization",
            "null": false,
            "array": true,
            "spec": {
              "all": false,
              "spec": "id,name,sub_domain"
            }
          },
          {
            "id": "CoreAPI/Endpoints/Users/CurrentEndpoint/ApiTokenIdField",
            "name": "api_token_id",
            "description": null,
            "type": "Apia/Scalars/String",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Endpoints/Users/CurrentEndpoint/NoUserAssociatedWithIdentity"
        ],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Users/CurrentEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/Users/CurrentEndpoint/NoUserAssociatedWithIdentity",
        "name": null,
        "description": "There is no user associated with this API token",
        "code": "no_user_associated_with_identity",
        "http_status": 404,
        "fields": []
      }
    },
    {
      "type": "endpoint",
      "value": {
        "id": "CoreAPI/Endpoints/Users/InvalidateLinkedWebSessionEndpoint",
        "name": "Invalidate linked web session",
        "description": "This endpoint allows you to invalidate the web session which is associated with your authenticated\nidentity. This will only work for API identities (most likely API tokens) that were generated using the first-party application\nlogin flow.\n",
        "http_status": 200,
        "authenticator": null,
        "argument_set": {
          "id": "CoreAPI/Endpoints/Users/InvalidateLinkedWebSessionEndpoint/BaseArgumentSet",
          "name": null,
          "description": null,
          "arguments": []
        },
        "fields": [
          {
            "id": "CoreAPI/Endpoints/Users/InvalidateLinkedWebSessionEndpoint/StatusField",
            "name": "status",
            "description": null,
            "type": "Apia/Scalars/Boolean",
            "null": false,
            "array": false,
            "spec": {
              "all": true,
              "spec": null
            }
          }
        ],
        "potential_errors": [
          "CoreAPI/Endpoints/Users/InvalidateLinkedWebSessionEndpoint/IdentityNotLinkedToWebSession"
        ],
        "scopes": []
      }
    },
    {
      "type": "argument_set",
      "value": {
        "id": "CoreAPI/Endpoints/Users/InvalidateLinkedWebSessionEndpoint/BaseArgumentSet",
        "name": null,
        "description": null,
        "arguments": []
      }
    },
    {
      "type": "error",
      "value": {
        "id": "CoreAPI/Endpoints/Users/InvalidateLinkedWebSessionEndpoint/IdentityNotLinkedToWebSession",
        "name": null,
        "description": "The authenticated identity is not linked to a web session",
        "code": "identity_not_linked_to_web_session",
        "http_status": 400,
        "fields": []
      }
    }
  ]
}