{ "opencollection": "1.0.0", "info": { "name": "Metal Authentication Devices API", "version": "1.0.0" }, "request": { "auth": { "type": "apikey", "key": "X-Auth-Token", "value": "{{X-Auth-Token}}", "placement": "header" } }, "items": [ { "info": { "name": "Devices", "type": "folder" }, "items": [ { "info": { "name": "Retrieve a device", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." }, { "name": "exclude", "value": "", "type": "query", "description": "Nested attributes to exclude. Excluded objects will return only the href\nattribute. Attribute names can be dotted (up to 3 levels) to exclude deeply\nnested objects." } ] }, "docs": "Type-specific options (such as facility for baremetal devices) will be included as part of the main data structure.\n State value can be one of: active inactive queued or provisioning" }, { "info": { "name": "Update the device", "type": "http" }, "http": { "method": "PUT", "url": "https://api.equinix.com/metal/v1/devices/:id", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." }, { "name": "exclude", "value": "", "type": "query", "description": "Nested attributes to exclude. Excluded objects will return only the href\nattribute. Attribute names can be dotted (up to 3 levels) to exclude deeply\nnested objects." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates the device." }, { "info": { "name": "Delete the device", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.equinix.com/metal/v1/devices/:id", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "force_delete", "value": "", "type": "query", "description": "Force the deletion of the device, by detaching any storage volume still active." } ] }, "docs": "Deletes a device and deprovisions it in our datacenter." }, { "info": { "name": "Perform an action", "type": "http" }, "http": { "method": "POST", "url": "https://api.equinix.com/metal/v1/devices/:id/actions", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Performs an action for the given device. Possible actions include: power_on, power_off, reboot, reinstall, and rescue (reboot the device into rescue OS.)" }, { "info": { "name": "Retrieve an instance bandwidth", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/bandwidth", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "from", "value": "", "type": "query", "description": "Timestamp from range" }, { "name": "until", "value": "", "type": "query", "description": "Timestamp to range" } ] }, "docs": "Retrieve an instance bandwidth for a given period of time." }, { "info": { "name": "Retrieve BGP neighbor data for this device", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/bgp/neighbors", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." } ] }, "docs": "Provides a summary of the BGP neighbor data associated to the BGP sessions for this device." }, { "info": { "name": "Retrieve all BGP sessions", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/bgp/sessions", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." } ] }, "docs": "Provides a listing of available BGP sessions for the device." }, { "info": { "name": "Create a BGP session", "type": "http" }, "http": { "method": "POST", "url": "https://api.equinix.com/metal/v1/devices/:id/bgp/sessions", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates a BGP session." }, { "info": { "name": "Retrieve the custom metadata of an instance", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/customdata", "params": [ { "name": "id", "value": "", "type": "path", "description": "Instance UUID" } ] }, "docs": "Provides the custom metadata stored for this instance in json format" }, { "info": { "name": "Get Device's Health Status", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/diagnostics/health/rollup", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" } ] }, "docs": "Returns the health rollup status of the device." }, { "info": { "name": "Get Device's associated Firmware Set", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/firmware-sets", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" } ] }, "docs": "Returns the firmware set associated with the device. If a custom firmware set is associated with the device, then it is returned. Otherwise, if a default firmware set is available it is returned." }, { "info": { "name": "Retrieve all ip assignments", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/ips", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." }, { "name": "exclude", "value": "", "type": "query", "description": "Nested attributes to exclude. Excluded objects will return only the href\nattribute. Attribute names can be dotted (up to 3 levels) to exclude deeply\nnested objects." } ] }, "docs": "Returns all ip assignments for a device." }, { "info": { "name": "Create an ip assignment", "type": "http" }, "http": { "method": "POST", "url": "https://api.equinix.com/metal/v1/devices/:id/ips", "params": [ { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." }, { "name": "exclude", "value": "", "type": "query", "description": "Nested attributes to exclude. Excluded objects will return only the href\nattribute. Attribute names can be dotted (up to 3 levels) to exclude deeply\nnested objects." }, { "name": "id", "value": "", "type": "path", "description": "Device UUID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates an ip assignment for a device." }, { "info": { "name": "Retrieve metadata", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/metadata", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" } ] }, "docs": "Retrieve device metadata" }, { "info": { "name": "Retrieve device traffic", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/traffic", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" }, { "name": "direction", "value": "", "type": "query", "description": "Traffic direction" }, { "name": "interval", "value": "", "type": "query", "description": "Traffic interval" }, { "name": "bucket", "value": "", "type": "query", "description": "Traffic bucket" }, { "name": "timeframe", "value": "", "type": "query" } ] }, "docs": "Returns traffic for a specific device." }, { "info": { "name": "Retrieve userdata", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:id/userdata", "params": [ { "name": "id", "value": "", "type": "path", "description": "Device UUID" } ] }, "docs": "Retrieve device userdata" }, { "info": { "name": "Retrieve the custom metadata of an IP Assignment", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/devices/:instance_id/ips/:id/customdata", "params": [ { "name": "instance_id", "value": "", "type": "path", "description": "Instance UUID" }, { "name": "id", "value": "", "type": "path", "description": "Ip Assignment UUID" } ] }, "docs": "Provides the custom metadata stored for this IP Assignment in json format" }, { "info": { "name": "Retrieve all devices of an organization", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/organizations/:id/devices", "params": [ { "name": "id", "value": "", "type": "path", "description": "Organization UUID" }, { "name": "search", "value": "", "type": "query", "description": "Search by hostname, description, short_id, reservation short_id, tags, plan name, plan slug, facility code, facility name, operating system name, operating system slug, IP addresses." }, { "name": "categories", "value": "", "type": "query", "description": "Filter by plan category" }, { "name": "facility", "value": "", "type": "query", "description": "Filter by device facility" }, { "name": "hostname", "value": "", "type": "query", "description": "Filter by partial hostname" }, { "name": "reserved", "value": "", "type": "query", "description": "Filter only reserved instances. When set to true, only include reserved instances. When set to false, only include on-demand instances." }, { "name": "tag", "value": "", "type": "query", "description": "Filter by device tag" }, { "name": "type", "value": "", "type": "query", "description": "Filter by instance type (ondemand,spot,reserved)" }, { "name": "has_termination_time", "value": "", "type": "query", "description": "Filter only instances marked for termination. When set to true, only include instances that have a termination time. When set to false, only include instances that do not have a termination time." }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." }, { "name": "exclude", "value": "", "type": "query", "description": "Nested attributes to exclude. Excluded objects will return only the href\nattribute. Attribute names can be dotted (up to 3 levels) to exclude deeply\nnested objects." }, { "name": "page", "value": "", "type": "query", "description": "Page to return" }, { "name": "per_page", "value": "", "type": "query", "description": "Items returned per page" } ] }, "docs": "Provides a collection of devices for a given organization." }, { "info": { "name": "Retrieve all devices of a project", "type": "http" }, "http": { "method": "GET", "url": "https://api.equinix.com/metal/v1/projects/:id/devices", "params": [ { "name": "id", "value": "", "type": "path", "description": "Project UUID" }, { "name": "search", "value": "", "type": "query", "description": "Search by hostname, description, short_id, reservation short_id, tags, plan name, plan slug, facility code, facility name, operating system name, operating system slug, IP addresses." }, { "name": "categories", "value": "", "type": "query", "description": "Filter by plan category" }, { "name": "facility", "value": "", "type": "query", "description": "Filter by device facility" }, { "name": "metro", "value": "", "type": "query", "description": "Filter by device metro" }, { "name": "hostname", "value": "", "type": "query", "description": "Filter by partial hostname" }, { "name": "reserved", "value": "", "type": "query", "description": "Filter only reserved instances. When set to true, only include reserved instances. When set to false, only include on-demand instances." }, { "name": "tag", "value": "", "type": "query", "description": "Filter by device tag" }, { "name": "type", "value": "", "type": "query", "description": "Filter by instance type (ondemand,spot,reserved)" }, { "name": "has_termination_time", "value": "", "type": "query", "description": "Filter only instances marked for termination. When set to true, only include instances that have a termination time. When set to false, only include instances that do not have a termination time." }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." }, { "name": "exclude", "value": "", "type": "query", "description": "Nested attributes to exclude. Excluded objects will return only the href\nattribute. Attribute names can be dotted (up to 3 levels) to exclude deeply\nnested objects." }, { "name": "page", "value": "", "type": "query", "description": "Page to return" }, { "name": "per_page", "value": "", "type": "query", "description": "Items returned per page" } ] }, "docs": "Provides a collection of devices for a given project." }, { "info": { "name": "Create a device", "type": "http" }, "http": { "method": "POST", "url": "https://api.equinix.com/metal/v1/projects/:id/devices", "params": [ { "name": "id", "value": "", "type": "path", "description": "Project UUID" }, { "name": "include", "value": "", "type": "query", "description": "Nested attributes to include. Included objects will return their full\nattributes. Attribute names can be dotted (up to 3 levels) to included deeply\nnested objects." }, { "name": "exclude", "value": "", "type": "query", "description": "Nested attributes to exclude. Excluded objects will return only the href\nattribute. Attribute names can be dotted (up to 3 levels) to exclude deeply\nnested objects." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new device and provisions it in the specified location.\n\nDevice type-specific options are accepted. For example, `baremetal` devices accept `operating_system`, `hostname`, and `plan`. These parameters may not be accepted for other device types. The default device type is `baremetal`." } ] } ], "bundled": true }