diff --git a/Makefile.metalv1 b/Makefile.metalv1 index 9719add3..5179545a 100644 --- a/Makefile.metalv1 +++ b/Makefile.metalv1 @@ -65,6 +65,8 @@ codegen: -o /local/${CODE_DIR} \ -i /local/${SPEC_BASE_DIR}/${PACKAGE_NAME}/temp_merged_spec/${SPEC_ROOT_FILE} # -i /local/${SPEC_PATCHED_DIR}/${SPEC_ROOT_FILE} # switch back to this when the temporary merged spec is removed + + rm -rf /local/${SPEC_BASE_DIR}/${PACKAGE_NAME}/temp_merged_spec validate: ${OPENAPI_GENERATOR} validate \ diff --git a/spec/services/metalv1/temp_merged_spec/.openapi-generator-ignore b/spec/services/metalv1/temp_merged_spec/.openapi-generator-ignore deleted file mode 100644 index 7484ee59..00000000 --- a/spec/services/metalv1/temp_merged_spec/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/spec/services/metalv1/temp_merged_spec/.openapi-generator/FILES b/spec/services/metalv1/temp_merged_spec/.openapi-generator/FILES deleted file mode 100644 index dd0ffedc..00000000 --- a/spec/services/metalv1/temp_merged_spec/.openapi-generator/FILES +++ /dev/null @@ -1,3 +0,0 @@ -.openapi-generator-ignore -README.md -openapi3.yaml diff --git a/spec/services/metalv1/temp_merged_spec/.openapi-generator/VERSION b/spec/services/metalv1/temp_merged_spec/.openapi-generator/VERSION deleted file mode 100644 index ba7f754d..00000000 --- a/spec/services/metalv1/temp_merged_spec/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -7.4.0 diff --git a/spec/services/metalv1/temp_merged_spec/README.md b/spec/services/metalv1/temp_merged_spec/README.md deleted file mode 100644 index 613c6d78..00000000 --- a/spec/services/metalv1/temp_merged_spec/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# OpenAPI YAML -This is a OpenAPI YAML built by the [openapi-generator](https://github.com/openapitools/openapi-generator) project. \ No newline at end of file diff --git a/spec/services/metalv1/temp_merged_spec/openapi3.yaml b/spec/services/metalv1/temp_merged_spec/openapi3.yaml deleted file mode 100644 index a6b9e9c5..00000000 --- a/spec/services/metalv1/temp_merged_spec/openapi3.yaml +++ /dev/null @@ -1,18438 +0,0 @@ -openapi: 3.0.0 -info: - contact: - email: support@equinixmetal.com - name: Equinix Metal API Team - description: | - # Introduction - Equinix Metal provides a RESTful HTTP API which can be reached at . This document describes the API and how to use it. - - The API allows you to programmatically interact with all - of your Equinix Metal resources, including devices, networks, addresses, organizations, - projects, and your user account. Every feature of the Equinix Metal web interface is accessible through the API. - - The API docs are generated from the Equinix Metal OpenAPI specification and are officially hosted at . - - # Common Parameters - - The Equinix Metal API uses a few methods to minimize network traffic and improve throughput. These parameters are not used in all API calls, but are used often enough to warrant their own section. Look for these parameters in the documentation for the API calls that support them. - - ## Pagination - - Pagination is used to limit the number of results returned in a single request. The API will return a maximum of 100 results per page. To retrieve additional results, you can use the `page` and `per_page` query parameters. - - The `page` parameter is used to specify the page number. The first page is `1`. The `per_page` parameter is used to specify the number of results per page. The maximum number of results differs by resource type. - - ## Sorting - - Where offered, the API allows you to sort results by a specific field. To sort results use the `sort_by` query parameter with the root level field name as the value. The `sort_direction` parameter is used to specify the sort direction, either either `asc` (ascending) or `desc` (descending). - - ## Filtering - - Filtering is used to limit the results returned in a single request. The API supports filtering by certain fields in the response. To filter results, you can use the field as a query parameter. - - For example, to filter the IP list to only return public IPv4 addresses, you can filter by the `type` field, as in the following request: - - ```sh - curl -H 'X-Auth-Token: my_authentication_token' \ - https://api.equinix.com/metal/v1/projects/id/ips?type=public_ipv4 - ``` - - Only IP addresses with the `type` field set to `public_ipv4` will be returned. - - ## Searching - - Searching is used to find matching resources using multiple field comparissons. The API supports searching in resources that define this behavior. Currently the search parameter is only available on devices, ssh_keys, api_keys and memberships endpoints. - - To search resources you can use the `search` query parameter. - - ## Include and Exclude - - For resources that contain references to other resources, sucha as a Device that refers to the Project it resides in, the Equinix Metal API will returns `href` values (API links) to the associated resource. - - ```json - { - ... - "project": { - "href": "/metal/v1/projects/f3f131c8-f302-49ef-8c44-9405022dc6dd" - } - } - ``` - - If you're going need the project details, you can avoid a second API request. Specify the contained `href` resources and collections that you'd like to have included in the response using the `include` query parameter. - - For example: - - ```sh - curl -H 'X-Auth-Token: my_authentication_token' \ - https://api.equinix.com/metal/v1/user?include=projects - ``` - - The `include` parameter is generally accepted in `GET`, `POST`, `PUT`, and `PATCH` requests where `href` resources are presented. - - To have multiple resources include, use a comma-separated list (e.g. `?include=emails,projects,memberships`). - - ```sh - curl -H 'X-Auth-Token: my_authentication_token' \ - https://api.equinix.com/metal/v1/user?include=emails,projects,memberships - ``` - - You may also include nested associations up to three levels deep using dot notation (`?include=memberships.projects`): - - ```sh - curl -H 'X-Auth-Token: my_authentication_token' \ - https://api.equinix.com/metal/v1/user?include=memberships.projects - ``` - - To exclude resources, and optimize response delivery, use the `exclude` query parameter. The `exclude` parameter is generally accepted in `GET`, `POST`, `PUT`, and `PATCH` requests for fields with nested object responses. When excluded, these fields will be replaced with an object that contains only an `href` field. - license: - name: Equinix Metal - url: https://www.equinix.com/about/legal/terms - termsOfService: https://www.equinix.com/about/legal/privacy - title: Metal API - version: 1.0.0 -servers: -- url: https://api.equinix.com/metal/v1 -security: -- x_auth_token: [] -tags: -- description: | - Nearly all of the endpoints in the API require authentication. Authentication is performed by providing an authentication token (interchangeably referred to as an API key) in the `X-Auth-Token` HTTP request header. - - - - User API keys can be obtained by creating them in the Equinix Metal Portal or by using the [Create a User API Key](#operation/createAPIKey) endpoint. - - Project API keys can also be obtained by creating them in the Equinix Metal Portal or by using the [Create a Project API Key](#operation/createProjectAPIKey) endpoint. Project API keys are scoped to a single project and can only be used to access resources within that project. - - For example, to use an authenticated API token, you would make a request like the following: - - ```bash - curl -H 'X-Auth-Token: my_authentication_token' \ - https://api.equinix.com/metal/v1/user/api-keys - ``` - - Applications can take advantage of the Equinix Metal API and API keys to perform any of the actions that can be performed in the Equinix Metal Portal. For example, you can use the API to create and manage devices, projects, and other resources. - - API keys can be deleted without affecting any of the resources created with them. Access to applications using the API can be revoked by deleting the API key used to authenticate the application. - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/identity-access-management/api-keys/ - name: Authentication -- description: | - Equinix Metal uses conventional HTTP response codes to indicate the success or failure of an API request. - - In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.). Codes in the 5xx range indicate an error with Equinix Metal's servers (these are rare). - - | Code | Summary - | ---------------------------------- | ------------------------------------------------------ - | 200 OK | Everything worked as expected. - | 201 Create | Everything worked as expected, the resource was created. - | 422 Bad Request | The request was unacceptable, often due to missing a required parameter. - | 401 Unauthorized | No valid API key provided. - | 404 Not Found | The requested resource doesn't exist. - | 500, 502, 503, 504 - Server Errors | Something went wrong on Equinix Metal's end. (These are rare.) - - Errors (4xx, 5xx) reported by the API will include a JSON error response. This response will be structured as one of the following: - - ```json - {"error": "the error message"} - ``` - - or - - ```json - {"errors": ["one error", "another error"} - ``` - - The JSON response is not guaranteed so check the HTTP status message. JSON may not be included if the error is reported by an API intermediary, like a loadbalancer service. - name: Errors -- description: | - Manage device batches. See project endpoints to list batches for a particular project. Check out the product docs to learn more about [Batch Deployment](https://deploy.equinix.com/developers/docs/metal/deploy/batch-deployment/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/deploy/batch-deployment/ - name: Batches -- description: | - Manage BGP configs and sessions. See device endpoints to create and list BGP sessions for a particular device. Check out the product docs to learn more about [Local and Global BGP](https://deploy.equinix.com/developers/docs/metal/bgp/bgp-on-equinix-metal/#local-bgp-vs-global-bgp). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/bgp/bgp-on-equinix-metal/ - name: BGP -- description: | - Capacity Management. Check out the product docs to learn more about [Capacity](https://deploy.equinix.com/developers/docs/metal/locations/capacity/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/locations/capacity/ - name: Capacity -- description: | - Network Interconnections. See Instructions to create Network Interconnections at Check out the product docs to learn more about [Equinix Fabric](https://deploy.equinix.com/developers/docs/metal/interconnections/dedicated-ports-fabric/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/interconnections/introduction/ - name: Interconnections -- description: | - Device Management. Check out the product docs to learn more about [Server Devices](https://deploy.equinix.com/developers/docs/metal/hardware/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/deploy/on-demand/ - name: Devices -- description: Email Management - name: Emails -- description: Event Management - name: Events -- description: | - Facility Management. Check out the product docs to learn more about [Facilities](https://deploy.equinix.com/developers/docs/metal/locations/metros/). - name: Facilities -- description: | - Firmware Sets Management. Notice: Firmware Sets are a test feature currently under active development, and only available to certain users. Please contact Customer Success for more information. - name: FirmwareSets -- description: | - Console Log Details. Notice: This is a test feature currently under active development, and only available to certain users. Please contact Customer Success for more information. - name: ConsoleLogDetails -- description: | - Global BGP Range Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/bgp/global-bgp/ - name: GlobalBgpRanges -- description: | - Hardware Reservation Management. Check out the product docs to learn more about [Reserved Hardware](https://deploy.equinix.com/developers/docs/metal/deploy/reserved/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/deploy/reserved/ - name: HardwareReservations -- description: | - Incident Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/locations/maintenance/ - name: Incidents -- description: | - Manage invitations. See project endpoints to create a new invitation. Check out the product docs to learn more about [Invitations](https://deploy.equinix.com/developers/docs/metal/identity-access-management/users//). - name: Invitations -- description: | - Manage IP addresses. See device and project endpoints to list and create IP assignments for a particular project or device. Check out the product docs to learn more about [the basic networking features](https://deploy.equinix.com/developers/docs/metal/networking/ip-addresses/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/networking/server-level-networking/ - name: IPAddresses -- description: | - Manage licenses. See project endpoints to list and create licenses for a particular project. - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/operating-systems/licensed/ - name: Licenses -- description: | - Membership Management (Project). Check out the product docs to learn more about [Membership](https://deploy.equinix.com/developers/docs/metal/projects/managing-a-project/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/projects/managing-a-project/ - name: Memberships -- description: | - Device Metadata - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/server-metadata/metadata/ - name: Metadata -- description: | - Metal Gateway Management.Check out the product docs to learn more about [Metal Gateways](https://deploy.equinix.com/developers/docs/metal/networking/vrf/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/networking/vrf/ - name: MetalGateways -- description: "Metro Management. Check out the product docs to learn more about [Metros](https://deploy.equinix.com/developers/docs/metal/locations/metros/)." - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/locations/metros/ - name: Metros -- description: | - Operating System Management. Check out the product docs to learn more about [Operating Systems choices](https://deploy.equinix.com/developers/docs/metal/operating-systems/licensed/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/operating-systems/supported/ - name: OperatingSystems -- description: "Organizations Management. Check out the product docs to learn more\ - \ about [Organizations](https://deploy.equinix.com/developers/docs/metal/identity-access-management/organizations/)." - name: Organizations -- description: | - OTP Management. Check out the product docs to learn more about [OTP](https://deploy.equinix.com/developers/docs/metal/identity-access-management/users/#multi-factor-authentication). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/identity-access-management/users/#multi-factor-authentication - name: OTPs -- description: | - Password Reset Token Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/identity-access-management/users/#changing-your-password - name: PasswordResetTokens -- description: | - Payment Method Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/billing/payment-methods/ - name: PaymentMethods -- description: | - Plan Management (Device). Check out the product docs to learn more about [Device Plans](https://deploy.equinix.com/developers/docs/metal/hardware/). - name: Plans -- description: | - Port Management. Check out the product docs to learn more about [Port configurations](https://deploy.equinix.com/developers/docs/metal/layer2-networking/overview/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/layer2-networking/overview/ - name: Ports -- description: | - Project Management. Check out the product docs to learn more about [Projects](https://deploy.equinix.com/developers/docs/metal/projects/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/projects/ - name: Projects -- description: | - Self Service Reservations - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/deploy/reserved/ - name: SelfServiceReservations -- description: | - Spot Market Pricing and Requests Management. Check out the product docs to learn more about [Spot Market features](https://deploy.equinix.com/developers/docs/metal/deploy/spot-market/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/deploy/spot-market/ - name: SpotMarket -- description: | - Manage SSH keys. See project endpoints to list and create project-level SSH keys. - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/identity-access-management/ssh-keys/ - name: SSHKeys -- description: | - Support request - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/support-center/ - name: SupportRequest -- description: | - Project Transfer Requests Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/projects/#transferring-a-project - name: TransferRequests -- description: | - Two Factor Authentication Management. Check out the product docs to learn more about [2FA](https://deploy.equinix.com/developers/docs/metal/identity-access-management/users/#multi-factor-authentication). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/identity-access-management/users/#multi-factor-authentication - name: TwoFactorAuth -- description: Usage Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/billing/checking-usage/ - name: Usages -- description: | - Userdata Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/server-metadata/user-data/ - name: Userdata -- description: | - User Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/identity-access-management/users/ - name: Users -- description: | - User Verification Token Management - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/identity-access-management/organizations/#adding-team-members-to-an-organization - name: UserVerificationTokens -- description: | - Manage virtual networks (VLANs). See project endpoints to list and create virtual networks. Check out the product docs to learn more about [VLANs](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vlans/). - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/layer2-networking/vlans/ - name: VLANs -- description: | - Volume Management (Block Storage). Notice: Block storage support will be deprecated soon. Please check here: https://deploy.equinix.com/developers/docs/metal/storage/storage-appliances/ for more details. - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/storage/storage-appliances/ - name: Volumes -- description: | - VRF Management. A VRF is a project-scoped virtual router resource that defines a collection of customer-managed IP blocks that can be used in BGP peering on one or more virtual networks. Metal Gateways and Interconnection Virtual Circuits can take advantage of VRFs to enable Layer 3 routing with custom network ranges. - name: VRFs -paths: - /api-keys/{id}: - delete: - description: Deletes the API key. - operationId: deleteAPIKey - parameters: - - description: API Key UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the API key - tags: - - Authentication - /batches/{id}: - delete: - description: Deletes the Batch. - operationId: deleteBatch - parameters: - - description: Batch UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Delete all instances created from this batch - in: query - name: remove_associated_instances - schema: - default: false - type: boolean - responses: - "204": - description: no content - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the Batch - tags: - - Batches - get: - description: Returns a Batch - operationId: findBatchById - parameters: - - description: Batch UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Batch' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a Batch - tags: - - Batches - /bgp/sessions/{id}: - delete: - description: Deletes the BGP session. - operationId: deleteBgpSession - parameters: - - description: BGP session UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the BGP session - tags: - - BGP - get: - description: Returns a BGP session - operationId: findBgpSessionById - parameters: - - description: BGP session UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpSession' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a BGP session - tags: - - BGP - put: - description: Updates the BGP session by either enabling or disabling the default - route functionality. - operationId: updateBgpSession - parameters: - - description: BGP session UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - type: boolean - description: Default route - required: true - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the BGP session - tags: - - BGP - /bgp-dynamic-neighbors/{id}: - delete: - description: Trigger the removal of a BGP Neighbor range from a VRF - operationId: deleteBgpDynamicNeighborById - parameters: - - description: BGP Dynamic Neighbor UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpDynamicNeighbor' - description: Accepted - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - summary: Delete a VRF BGP Dynamic Neighbor - tags: - - VRFs - get: - description: Return a single BGP Dynamic Neighbor resource - parameters: - - description: BGP Dynamic Neighbor UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpDynamicNeighbor' - description: OK - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - summary: Retrieve a BGP Dynamic Neighbor - tags: - - VRFs - /capacity: - get: - description: Returns a list of facilities and plans with their current capacity. - operationId: findCapacityForFacility - responses: - "200": - content: - application/json: - example: - capacity: - am6: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - da11: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - sv15: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - schema: - $ref: '#/components/schemas/CapacityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: View capacity - tags: - - Capacity - post: - deprecated: true - description: Validates if a deploy can be fulfilled. - operationId: checkCapacityForFacility - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CapacityInput' - description: Facility to check capacity in - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/CapacityCheckPerFacilityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Check capacity - tags: - - Capacity - /capacity/metros: - get: - description: Returns a list of metros and plans with their current capacity. - operationId: findCapacityForMetro - responses: - "200": - content: - application/json: - example: - capacity: - am: - c2.medium.x86: - level: string - available_servers: 25 - m2.xlarge.x86: - level: string - available_servers: 15 - da: - c2.medium.x86: - level: string - available_servers: 26 - m2.xlarge.x86: - level: string - available_servers: 11 - dc: - c2.medium.x86: - level: string - available_servers: 14 - m2.xlarge.x86: - level: string - available_servers: 10 - schema: - $ref: '#/components/schemas/CapacityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: View capacity for metros - tags: - - Capacity - post: - description: Validates if a deploy can be fulfilled in a metro. - operationId: checkCapacityForMetro - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CapacityInput' - description: Metro to check capacity in - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/CapacityCheckPerMetroList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Check capacity for a metro - tags: - - Capacity - /connections/metros: - get: - description: Displays which providers you can connect to directly from Equinix - Metal Metros. - operationId: getInterconnectionMetros - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InterconnectionMetroList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Get connectivity to network provider by metro - tags: - - Interconnections - /connections/prices: - get: - description: Displays pricing information for connecting to networks outside - of Equinix. - operationId: getInterconnectionPricing - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InterconnectionPricingList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Get Interconnection Pricing - tags: - - Interconnections - /connections/{connection_id}: - delete: - description: "Delete a interconnection, its associated ports and virtual circuits." - operationId: deleteInterconnection - parameters: - - description: Interconnection UUID - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/Interconnection' - description: accepted - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete interconnection - tags: - - Interconnections - get: - description: Get the details of a interconnection - operationId: getInterconnection - parameters: - - description: Interconnection UUID - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Interconnection' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Get interconnection - tags: - - Interconnections - put: - description: Update the details of a interconnection - operationId: updateInterconnection - parameters: - - description: Interconnection UUID - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/InterconnectionUpdateInput' - description: Updated interconnection details - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Interconnection' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Update interconnection - tags: - - Interconnections - /connections/{connection_id}/events: - get: - description: Returns a list of the interconnection events - operationId: findInterconnectionEvents - parameters: - - description: Interconnection UUID - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/EventList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve interconnection events - tags: - - Events - x-equinix-metal-paginated-property: Events - /connections/{connection_id}/ports: - get: - description: List the ports associated to an interconnection. - operationId: listInterconnectionPorts - parameters: - - description: UUID of the interconnection - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InterconnectionPortList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List a interconnection's ports - tags: - - Interconnections - /connections/{connection_id}/virtual-circuits: - get: - description: List the virtual circuit record(s) associated with a particular - interconnection id. - operationId: listInterconnectionVirtualCircuits - parameters: - - description: UUID of the interconnection - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuitList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List a interconnection's virtual circuits - tags: - - Interconnections - /connections/{connection_id}/ports/{id}: - get: - description: Get the details of an interconnection port. - operationId: getInterconnectionPort - parameters: - - description: UUID of the interconnection - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InterconnectionPort' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Get a interconnection port - tags: - - Interconnections - /connections/{connection_id}/ports/{id}/events: - get: - description: Returns a list of the interconnection port events - operationId: findInterconnectionPortEvents - parameters: - - description: Interconnection UUID - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: Interconnection Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve interconnection port events - tags: - - Events - /connections/{connection_id}/ports/{port_id}/virtual-circuits: - get: - description: List the virtual circuit record(s) associatiated with a particular - interconnection port. - operationId: listInterconnectionPortVirtualCircuits - parameters: - - description: UUID of the interconnection - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: UUID of the interconnection port - in: path - name: port_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuitList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List a interconnection port's virtual circuits - tags: - - Interconnections - post: - description: "Create a new Virtual Circuit on a Dedicated Port. To create a\ - \ regular Virtual Circuit, specify a Virtual Network record and an NNI VLAN\ - \ value. To create a VRF-based Virtual Circuit, specify the VRF ID and subnet,\ - \ along with the NNI VLAN value." - operationId: createInterconnectionPortVirtualCircuit - parameters: - - description: UUID of the interconnection - in: path - name: connection_id - required: true - schema: - format: uuid - type: string - - description: UUID of the interconnection port - in: path - name: port_id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuitCreateInput' - description: Virtual Circuit details - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuit' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Create a new Virtual Circuit - tags: - - Interconnections - /devices/{id}: - delete: - description: Deletes a device and deprovisions it in our datacenter. - operationId: deleteDevice - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: "Force the deletion of the device, by detaching any storage volume\ - \ still active." - in: query - name: force_delete - schema: - type: boolean - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Delete the device - tags: - - Devices - get: - description: |- - Type-specific options (such as facility for baremetal devices) will be included as part of the main data structure. - State value can be one of: active inactive queued or provisioning - operationId: findDeviceById - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a device - tags: - - Devices - put: - description: Updates the device. - operationId: updateDevice - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceUpdateInput' - description: Device to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the device - tags: - - Devices - /devices/{id}/actions: - post: - description: "Performs an action for the given device. Possible actions include:\ - \ power_on, power_off, reboot, reinstall, and rescue (reboot the device into\ - \ rescue OS.)" - operationId: performAction - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceActionInput' - description: Action to perform - required: true - responses: - "202": - description: accepted - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Perform an action - tags: - - Devices - /devices/{id}/bandwidth: - get: - description: Retrieve an instance bandwidth for a given period of time. - operationId: findInstanceBandwidth - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Timestamp from range - in: query - name: from - required: true - schema: - type: string - - description: Timestamp to range - in: query - name: until - required: true - schema: - type: string - responses: - "200": - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve an instance bandwidth - tags: - - Devices - /devices/{id}/bgp/neighbors: - get: - description: Provides a summary of the BGP neighbor data associated to the BGP - sessions for this device. - operationId: getBgpNeighborData - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpSessionNeighbors' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve BGP neighbor data for this device - tags: - - Devices - /devices/{id}/bgp/sessions: - get: - description: Provides a listing of available BGP sessions for the device. - operationId: findBgpSessions - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpSessionList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - summary: Retrieve all BGP sessions - tags: - - Devices - post: - description: Creates a BGP session. - operationId: createBgpSession - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BGPSessionInput' - description: BGP session to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpSession' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a BGP session - tags: - - Devices - /devices/{id}/customdata: - get: - description: Provides the custom metadata stored for this instance in json format - operationId: findDeviceCustomdata - parameters: - - description: Instance UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the custom metadata of an instance - tags: - - Devices - /devices/{id}/diagnostics/screenshot: - get: - description: "Capture a screenshot from the device, if supported, via the BMC." - operationId: captureScreenshot - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/jpeg: - schema: - format: binary - type: string - description: An image file - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "501": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not implemented for device - tags: - - ConsoleLogDetails - /devices/{id}/diagnostics/health/rollup: - get: - description: Returns the health rollup status of the device. - operationId: getDeviceHealthRollup - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceHealthRollup' - description: Successful operation - "401": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "404": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "500": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Internal Server Error - summary: Get Device's Health Status - tags: - - Devices - /devices/{id}/events: - get: - description: Returns a list of events pertaining to a specific device - operationId: findDeviceEvents - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/EventList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve device's events - tags: - - Events - x-equinix-metal-paginated-property: Events - /devices/{id}/firmware-sets: - get: - description: "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." - operationId: getDeviceFirmwareSets - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/FirmwareSetResponse' - description: Successful operation - "401": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "404": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "500": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Internal Server Error - summary: Get Device's associated Firmware Set - tags: - - Devices - /devices/{id}/ips: - get: - description: Returns all ip assignments for a device. - operationId: findIPAssignments - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/IPAssignmentList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all ip assignments - tags: - - Devices - post: - description: Creates an ip assignment for a device. - operationId: createIPAssignment - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/IPAssignmentInput' - description: IPAssignment to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/IPAssignment' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an ip assignment - tags: - - Devices - /devices/{id}/metadata: - get: - description: Retrieve device metadata - operationId: findDeviceMetadataByID - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Metadata' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Retrieve metadata - tags: - - Devices - /devices/{id}/ssh-keys: - get: - description: Returns a collection of the device's ssh keys. - operationId: findDeviceSSHKeys - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: "Search by key, label, or fingerprint" - in: query - name: Search string - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKeyList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve a device's ssh keys - tags: - - SSHKeys - /devices/{id}/traffic: - get: - description: | - Returns the total amount of inbound or outbound traffic for a specific device. The default time period is 1 hour. - - Please note the results capture all network traffic for the server, but not all traffic may come from or be destined to the Internet and may be non-billable. Only Internet bound traffic is charged. - operationId: findTraffic - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Traffic direction - in: query - name: direction - required: true - schema: - enum: - - inbound - - outbound - type: string - - description: Traffic interval - in: query - name: interval - schema: - enum: - - minute - - hour - - day - - week - - month - - year - - hour_of_day - - day_of_week - - day_of_month - - month_of_year - type: string - - description: Traffic bucket - in: query - name: bucket - schema: - enum: - - internal - - external - type: string - - explode: true - in: query - name: timeframe - schema: - $ref: '#/components/schemas/findTraffic_timeframe_parameter' - style: deepObject - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve device traffic - tags: - - Devices - /devices/{id}/usages: - get: - description: Returns all usages for a device. - operationId: findDeviceUsages - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Filter usages created after this date - in: query - name: "created[after]" - schema: - format: datetime - type: string - - description: Filter usages created before this date - in: query - name: "created[before]" - schema: - format: datetime - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceUsageList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all usages for device - tags: - - Usages - /devices/{id}/userdata: - get: - description: Retrieve device userdata - operationId: findDeviceUserdataByID - parameters: - - description: Device UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Userdata' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Retrieve userdata - tags: - - Devices - /devices/{instance_id}/ips/{id}/customdata: - get: - description: Provides the custom metadata stored for this IP Assignment in json - format - operationId: findIPAssignmentCustomdata - parameters: - - description: Instance UUID - in: path - name: instance_id - required: true - schema: - format: uuid - type: string - - description: Ip Assignment UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the custom metadata of an IP Assignment - tags: - - Devices - /emails: - post: - deprecated: true - description: Add a new email address to the current user. - operationId: createEmail - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateEmailInput' - description: Email to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Email' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an email - tags: - - Emails - /emails/{id}: - delete: - description: Deletes the email. - operationId: deleteEmail - parameters: - - description: Email UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the email - tags: - - Emails - get: - description: Provides one of the user’s emails. - operationId: findEmailById - parameters: - - description: Email UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Email' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve an email - tags: - - Emails - put: - description: Updates the email. - operationId: updateEmail - parameters: - - description: Email UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateEmailInput' - description: email to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Email' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the email - tags: - - Emails - /events: - get: - description: Returns a list of the current user’s events - operationId: findEvents - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/EventList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve current user's events - tags: - - Events - x-equinix-metal-paginated-property: Events - /events/{id}: - get: - description: Returns a single event if the user has access - operationId: findEventById - parameters: - - description: Event UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve an event - tags: - - Events - /facilities: - get: - deprecated: true - description: Provides a listing of available datacenters where you can provision - Packet devices. - operationId: findFacilities - parameters: - - description: Nested attributes to include. Included objects will return their - full attributes. Attribute names can be dotted (up to 3 levels) to included - deeply nested objects. - in: query - name: include - schema: - items: - enum: - - address - - labels - type: string - type: array - style: form - - description: Nested attributes to exclude. Excluded objects will return only - the href attribute. Attribute names can be dotted (up to 3 levels) to exclude - deeply nested objects. - in: query - name: exclude - schema: - default: - - address - items: - enum: - - address - - labels - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/FacilityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all facilities - tags: - - Facilities - /hardware-reservations/{id}: - get: - description: Returns a single hardware reservation - operationId: findHardwareReservationById - parameters: - - description: HardwareReservation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/HardwareReservation' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a hardware reservation - tags: - - HardwareReservations - /hardware-reservations/{id}/activate: - post: - description: Activate a spare hardware reservation - operationId: activateHardwareReservation - parameters: - - description: Hardware Reservation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/activateHardwareReservation_request' - description: Note to attach to the reservation - required: false - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/HardwareReservation' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Activate a spare hardware reservation - tags: - - HardwareReservations - /hardware-reservations/{id}/move: - post: - description: Move a hardware reservation to another project - operationId: moveHardwareReservation - parameters: - - description: Hardware Reservation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/moveHardwareReservation_request' - description: Destination Project UUID - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/HardwareReservation' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Move a hardware reservation - tags: - - HardwareReservations - /incidents: - get: - description: Retrieve the number of incidents. - operationId: findIncidents - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve the number of incidents - tags: - - Incidents - /invitations: - get: - description: Returns all invitations in current user. - operationId: findInvitations - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InvitationList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve current user invitations - tags: - - Users - /invitations/{id}: - delete: - description: Decline an invitation. - operationId: declineInvitation - parameters: - - description: Invitation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Decline an invitation - tags: - - Invitations - get: - description: Returns a single invitation. (It include the `invitable` to maintain - backward compatibility but will be removed soon) - operationId: findInvitationById - parameters: - - description: Invitation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Invitation' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: View an invitation - tags: - - Invitations - put: - description: Accept an invitation. - operationId: acceptInvitation - parameters: - - description: Invitation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Membership' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Accept an invitation - tags: - - Invitations - /invoices/{id}: - get: - description: Returns the invoice identified by the provided id - operationId: getInvoiceById - parameters: - - description: Invoice UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Invoice' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve an invoice - tags: - - Invoices - /ips/{id}: - delete: - description: | - This call can be used to un-assign an IP assignment or delete - an IP reservation. - - Un-assign an IP address record. - Use the assignment UUID you - get after attaching the IP. This will remove the relationship between an IP and the device or metal gateway and will make the IP address available to be assigned to another device, once the IP has been un-configured from the network. - - Delete an IP reservation. - Use the reservation UUID you get after adding the IP to the project. This will permanently delete the IP block reservation from the project. - operationId: deleteIPAddress - parameters: - - description: IP Address UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Unassign an ip address - tags: - - IPAddresses - get: - description: Returns a single ip address if the user has access. - operationId: findIPAddressById - parameters: - - description: IP Address UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/findIPAddressById_200_response' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve an ip address - tags: - - IPAddresses - patch: - description: Update details about an ip address - operationId: updateIPAddress - parameters: - - description: IP Address UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/IPAssignmentUpdateInput' - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/findIPAddressById_200_response' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Update an ip address - tags: - - IPAddresses - /ips/{id}/available: - get: - description: Provides a list of IP resevations for a single project. - operationId: findIPAvailabilities - parameters: - - description: IP Reservation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Size of subnets in bits - in: query - name: cidr - required: true - schema: - enum: - - "20" - - "21" - - "22" - - "23" - - "24" - - "25" - - "26" - - "27" - - "28" - - "29" - - "30" - - "31" - - "32" - - "33" - - "34" - - "35" - - "36" - - "37" - - "38" - - "39" - - "40" - - "41" - - "42" - - "43" - - "44" - - "45" - - "46" - - "47" - - "48" - - "49" - - "50" - - "51" - - "52" - - "53" - - "54" - - "55" - - "56" - - "57" - - "58" - - "59" - - "60" - - "61" - - "62" - - "63" - - "64" - - "65" - - "66" - - "67" - - "68" - - "69" - - "70" - - "71" - - "72" - - "73" - - "74" - - "75" - - "76" - - "77" - - "78" - - "79" - - "80" - - "81" - - "82" - - "83" - - "84" - - "85" - - "86" - - "87" - - "88" - - "89" - - "90" - - "91" - - "92" - - "93" - - "94" - - "95" - - "96" - - "97" - - "98" - - "99" - - "100" - - "101" - - "102" - - "103" - - "104" - - "105" - - "106" - - "107" - - "108" - - "109" - - "110" - - "111" - - "112" - - "113" - - "114" - - "115" - - "116" - - "117" - - "118" - - "119" - - "120" - - "121" - - "122" - - "123" - - "124" - - "125" - - "126" - - "127" - - "128" - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/IPAvailabilitiesList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all available subnets of a particular reservation - tags: - - IPAddresses - /ips/{id}/customdata: - get: - description: Provides the custom metadata stored for this IP Reservation or - IP Assignment in json format - operationId: findIPAddressCustomdata - parameters: - - description: Ip Reservation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the custom metadata of an IP Reservation or IP Assignment - tags: - - IPAddresses - /licenses/{id}: - delete: - description: Deletes a license. - operationId: deleteLicense - parameters: - - description: License UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the license - tags: - - Licenses - get: - description: Returns a license - operationId: findLicenseById - parameters: - - description: License UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/License' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a license - tags: - - Licenses - put: - description: Updates the license. - operationId: updateLicense - parameters: - - description: License UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LicenseUpdateInput' - description: License to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/License' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the license - tags: - - Licenses - /locations/metros: - get: - description: Provides a listing of available metros - operationId: findMetros - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/MetroList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all metros - tags: - - Metros - /locations/metros/{id}: - get: - description: "Show the details for a metro, including name, code, and country." - operationId: getMetro - parameters: - - description: Metro UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Metro' - description: ok - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a specific Metro's details - tags: - - Metros - /market/spot/prices: - get: - description: Get Equinix Metal current spot market prices. - operationId: findSpotMarketPrices - parameters: - - description: Facility to check spot market prices - in: query - name: facility - schema: - type: string - - description: Plan to check spot market prices - in: query - name: plan - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SpotMarketPricesList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Get current spot market prices - tags: - - SpotMarket - /market/spot/prices/history: - get: - description: |- - Get spot market prices for a given plan and facility in a fixed period of time - - *Note: In the `200` response, the property `datapoints` contains arrays of `[float, integer]`.* - operationId: findSpotMarketPricesHistory - parameters: - - description: Facility to check spot market prices - in: query - name: facility - required: true - schema: - type: string - - description: Plan to check spot market prices - in: query - name: plan - required: true - schema: - type: string - - description: Metro to check spot market price history - in: query - name: metro - schema: - type: string - - description: Timestamp from range - in: query - name: from - required: true - schema: - type: string - - description: Timestamp to range - in: query - name: until - required: true - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SpotPricesHistoryReport' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Get spot market prices for a given period of time - tags: - - SpotMarket - /market/spot/prices/metros: - get: - description: Get Equinix Metal current spot market prices for all metros. - operationId: findMetroSpotMarketPrices - parameters: - - description: Metro to filter spot market prices - in: query - name: metro - schema: - type: string - - description: Plan to filter spot market prices - in: query - name: plan - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SpotMarketPricesPerMetroList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Get current spot market prices for metros - tags: - - SpotMarket - /memberships/{id}: - delete: - description: Deletes the membership. - operationId: deleteMembership - parameters: - - description: Membership UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the membership - tags: - - Memberships - get: - description: Returns a single membership. - operationId: findMembershipById - parameters: - - description: Membership UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Membership' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a membership - tags: - - Memberships - put: - description: Updates the membership. - operationId: updateMembership - parameters: - - description: Membership UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MembershipInput' - description: Membership to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Membership' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the membership - tags: - - Memberships - /metal-gateways/{id}: - delete: - description: Deletes a metal gateway and any elastic IP assignments associated - with this metal gateway. - operationId: deleteMetalGateway - parameters: - - description: Metal Gateway UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/findMetalGatewayById_200_response' - description: accepted - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Deletes the metal gateway - tags: - - MetalGateways - get: - description: Returns a specific metal gateway - operationId: findMetalGatewayById - parameters: - - description: Metal Gateway UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/findMetalGatewayById_200_response' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Returns the metal gateway - tags: - - MetalGateways - /metal-gateways/{id}/bgp-dynamic-neighbors: - get: - description: Returns the list of VRF BGP Dynamic Neighbors for this Metal Gateway - operationId: getBgpDynamicNeighbors - parameters: - - description: Metal Gateway UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpDynamicNeighborList' - description: OK - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - summary: List BGP Dynamic Neighbors - tags: - - MetalGateways - post: - description: | - Create a VRF BGP Dynamic Neighbor range. - - BGP Dynamic Neighbor records are limited to 2 per Virtual Network. - operationId: createBgpDynamicNeighbor - parameters: - - description: Metal Gateway UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BgpDynamicNeighborCreateInput' - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpDynamicNeighbor' - description: Created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unprocessable entity - summary: Create a VRF BGP Dynamic Neighbor range - tags: - - MetalGateways - /metal-gateways/{id}/ips: - get: - description: Returns the list of Elastic IPs assigned to this Metal Gateway - operationId: getMetalGatewayElasticIps - parameters: - - description: Metal Gateway UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/IPAssignmentList' - description: OK - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - summary: List Metal Gateway Elastic IPs - tags: - - MetalGateways - post: - description: | - Create a new Elastic IP on this Metal Gateway. - - Assign an IPv4 range as an elastic IP to the Metal Gateway, with a specified next-hop address contained within the Metal Gateway. - - Notice: Elastic IPs on Metal Gateways are a test feature currently under active development, and only available to certain users. Please contact Customer Success for more information. - operationId: createMetalGatewayElasticIp - parameters: - - description: Metal Gateway UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MetalGatewayElasticIpCreateInput' - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/IPAssignment' - description: Created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unprocessable entity - summary: Create a Metal Gateway Elastic IP - tags: - - MetalGateways - /operating-system-versions: - get: - description: Provides a listing of available operating system versions. - operationId: findOperatingSystemVersion - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/OperatingSystemList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all operating system versions - tags: - - OperatingSystems - /operating-systems: - get: - description: Provides a listing of available operating systems to provision - your new device with. - operationId: findOperatingSystems - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/OperatingSystemList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all operating systems - tags: - - OperatingSystems - /organizations: - get: - description: Returns a list of organizations that are accessible to the current - user. - operationId: findOrganizations - parameters: - - description: "Include, exclude or show only personal organizations." - in: query - name: personal - schema: - enum: - - include - - exclude - - only - type: string - - description: "Include, exclude or show only organizations that have no projects." - in: query - name: without_projects - schema: - enum: - - include - - exclude - - only - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/OrganizationList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all organizations - tags: - - Organizations - x-equinix-metal-paginated-property: Organizations - post: - description: Creates an organization. - operationId: createOrganization - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OrganizationInput' - description: Organization to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Organization' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an organization - tags: - - Organizations - /organizations/{id}: - delete: - description: Deletes the organization. - operationId: deleteOrganization - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the organization - tags: - - Organizations - get: - description: "Returns a single organization's details, if the user is authorized\ - \ to view it." - operationId: findOrganizationById - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Organization' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve an organization's details - tags: - - Organizations - put: - description: Updates the organization. - operationId: updateOrganization - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OrganizationInput' - description: Organization to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Organization' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the organization - tags: - - Organizations - /organizations/{id}/capacity: - get: - description: Returns a list of facilities and plans with their current capacity. - operationId: findOrganizationCapacityPerFacility - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - example: - capacity: - am6: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - da11: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - sv15: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - schema: - $ref: '#/components/schemas/CapacityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - summary: View available hardware plans per Facility for given organization - tags: - - Capacity - /organizations/{id}/capacity/metros: - get: - description: Returns a list of metros and plans with their current capacity. - operationId: findOrganizationCapacityPerMetro - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - example: - capacity: - am: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - da: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - dc: - c2.medium.x86: - level: string - m2.xlarge.x86: - level: string - schema: - $ref: '#/components/schemas/CapacityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - summary: View available hardware plans per Metro for given organization - tags: - - Capacity - /organizations/{id}/customdata: - get: - description: Provides the custom metadata stored for this organization in json - format - operationId: findOrganizationCustomdata - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the custom metadata of an organization - tags: - - Organizations - /organizations/{id}/devices: - get: - description: Provides a collection of devices for a given organization. - operationId: findOrganizationDevices - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - 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." - in: query - name: search - schema: - type: string - - description: Filter by plan category - in: query - name: categories - schema: - items: - enum: - - compute - - storage - - vmce - - legacy_gen - - current_gen - example: compute - type: string - type: array - - description: Filter by device facility - in: query - name: facility - schema: - type: string - - description: Filter by partial hostname - in: query - name: hostname - schema: - type: string - - description: "Filter only reserved instances. When set to true, only include\ - \ reserved instances. When set to false, only include on-demand instances." - in: query - name: reserved - schema: - type: boolean - - description: Filter by device tag - in: query - name: tag - schema: - type: string - - description: "Filter by instance type (ondemand,spot,reserved)" - in: query - name: type - schema: - type: string - - 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." - in: query - name: has_termination_time - schema: - type: boolean - - description: Filter by MAC address - in: query - name: mac_address - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all devices of an organization - tags: - - Devices - x-equinix-metal-paginated-property: Devices - /organizations/{id}/events: - get: - description: Returns a list of events for a single organization - operationId: findOrganizationEvents - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/EventList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve organization's events - tags: - - Events - x-equinix-metal-paginated-property: Events - /organizations/{id}/facilities: - get: - deprecated: true - description: Returns a listing of available datacenters for the given organization - operationId: findFacilitiesByOrganization - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/FacilityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all facilities visible by the organization - tags: - - Facilities - /organizations/{id}/firmware-sets: - get: - description: Returns all firmware sets associated with the organization. - operationId: getOrganizationFirmwareSets - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: page number to return - in: query - name: page - schema: - type: integer - - description: items returned per page. - in: query - name: per_page - schema: - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/FirmwareSetListResponse' - description: Successful operation - "401": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "404": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "500": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Internal Server Error - summary: Get Organization's Firmware Sets - tags: - - FirmwareSets - /organizations/{id}/invitations: - get: - description: Returns all invitations in an organization. - operationId: findOrganizationInvitations - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InvitationList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve organization invitations - tags: - - Organizations - post: - description: |- - In order to add a user to an organization, they must first be invited. - To invite to several projects the parameter `projects_ids:[a,b,c]` can be used - operationId: createOrganizationInvitation - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/InvitationInput' - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Invitation' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an invitation for an organization - tags: - - Organizations - /organizations/{id}/invoices: - get: - description: Returns all invoices for an organization - operationId: findOrganizationInvoices - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: page number - in: query - name: page - schema: - type: integer - - description: per page - in: query - name: per_page - schema: - type: integer - - description: filter by status - in: query - name: status - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InvoiceList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all invoices for an organization - tags: - - Invoices - /organizations/{id}/operating-systems: - get: - description: Returns a listing of available operating systems for the given - organization - operationId: findOperatingSystemsByOrganization - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/OperatingSystemList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all operating systems visible by the organization - tags: - - Organizations - /organizations/{id}/payment-methods: - get: - description: Returns all payment methods of an organization. - operationId: findOrganizationPaymentMethods - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethodList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all payment methods of an organization - tags: - - Organizations - post: - description: Creates a payment method. - operationId: createPaymentMethod - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethodCreateInput' - description: Payment Method to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethod' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a payment method for the given organization - tags: - - Organizations - /organizations/{id}/plans: - get: - description: Returns a listing of available plans for the given organization - operationId: findPlansByOrganization - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PlanList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all plans visible by the organization - tags: - - Organizations - /organizations/{id}/projects: - get: - description: Returns a collection of projects that belong to the organization. - operationId: findOrganizationProjects - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Filter results by name. - in: query - name: name - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all projects of an organization - tags: - - Organizations - x-equinix-metal-paginated-property: Projects - post: - description: Creates a new project for the organization - operationId: createOrganizationProject - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectCreateInput' - description: Project to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Project' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a project for the organization - tags: - - Organizations - /organizations/{id}/transfers: - get: - description: Provides a collection of project transfer requests from or to the - organization. - operationId: findOrganizationTransfers - parameters: - - description: Organization UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRequestList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - summary: Retrieve all project transfer requests from or to an organization - tags: - - Organizations - /organizations/{organization_id}/connections: - get: - description: List the connections belonging to the organization - operationId: organizationListInterconnections - parameters: - - description: UUID of the organization - in: path - name: organization_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InterconnectionList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List organization connections - tags: - - Interconnections - post: - description: Creates a new interconnection request. A Project ID must be specified - in the request body for connections on shared ports. - operationId: createOrganizationInterconnection - parameters: - - description: UUID of the organization - in: path - name: organization_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/InterconnectionCreateInput' - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Interconnection' - description: created - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Request a new interconnection for the organization - tags: - - Interconnections - /payment-methods/{id}: - delete: - description: Deletes the payment method. - operationId: deletePaymentMethod - parameters: - - description: Payment Method UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the payment method - tags: - - PaymentMethods - get: - description: Returns a payment method - operationId: findPaymentMethodById - parameters: - - description: Payment Method UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethod' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a payment method - tags: - - PaymentMethods - put: - description: Updates the payment method. - operationId: updatePaymentMethod - parameters: - - description: Payment Method UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethodUpdateInput' - description: Payment Method to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethod' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the payment method - tags: - - PaymentMethods - /plans: - get: - description: Provides a listing of available plans to provision your device - on. - operationId: findPlans - parameters: - - description: Filter plans by its category - in: query - name: "categories[]" - schema: - items: - enum: - - compute - - storage - - vmce - - legacy_gen - - current_gen - example: compute - type: string - type: array - - description: Filter plans by its plan type - in: query - name: type - schema: - enum: - - standard - - workload_optimized - - custom - example: standard - type: string - - description: Filter plans by slug - in: query - name: slug - schema: - example: c3.small.x86 - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PlanList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all plans - tags: - - Plans - /ports/{id}: - get: - description: Returns a port - operationId: findPortById - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a port - tags: - - Ports - /ports/{id}/assign: - post: - description: Assign a hardware port to a virtual network. - operationId: assignPort - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/PortAssignInput' - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Assign a port to virtual network - tags: - - Ports - /ports/{id}/bond: - post: - description: Enabling bonding for one or all ports - operationId: bondPort - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: enable both ports - in: query - name: bulk_enable - schema: - type: boolean - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Enabling bonding - tags: - - Ports - /ports/{id}/convert/layer-2: - post: - description: Converts a bond port to Layer 2. IP assignments of the port will - be removed. - operationId: convertLayer2 - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/PortAssignInput' - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Convert to Layer 2 - tags: - - Ports - /ports/{id}/convert/layer-3: - post: - description: Converts a bond port to Layer 3. VLANs must first be unassigned. - operationId: convertLayer3 - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PortConvertLayer3Input' - description: IPs to request - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Convert to Layer 3 - tags: - - Ports - /ports/{id}/disbond: - post: - description: Disabling bonding for one or all ports - operationId: disbondPort - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: disable both ports - in: query - name: bulk_disable - schema: - type: boolean - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Disabling bonding - tags: - - Ports - /ports/{id}/native-vlan: - delete: - description: Removes the native VLAN from this port - operationId: deleteNativeVlan - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Remove native VLAN - tags: - - Ports - post: - description: Sets a virtual network on this port as a "native VLAN". The VLAN - must have already been assigned using the using the "Assign a port to a virtual - network" operation. - operationId: assignNativeVlan - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: "Virtual Network ID. May be the UUID of the Virtual Network record,\ - \ or the VLAN value itself (ex: '1001')." - in: query - name: vnid - required: true - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Assign a native VLAN - tags: - - Ports - /ports/{id}/unassign: - post: - description: Unassign a port for a hardware. - operationId: unassignPort - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/PortAssignInput' - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Port' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Unassign a port - tags: - - Ports - /ports/{id}/vlan-assignments: - get: - description: "Show the port's current VLAN assignments, including if this VLAN\ - \ is set as native, and the current state of the assignment (ex. 'assigned'\ - \ or 'unassigning')" - operationId: findPortVlanAssignments - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Nested attributes to include. Included objects will return their - full attributes. Attribute names can be dotted (up to 3 levels) to included - deeply nested objects. - in: query - name: include - schema: - default: - - port - - virtual_network - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PortVlanAssignmentList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List Current VLAN assignments for a port - tags: - - Ports - /ports/{id}/vlan-assignments/{assignment_id}: - get: - description: "Show the details of a specific Port-VLAN assignment, including\ - \ the current state and if the VLAN is set as native." - operationId: findPortVlanAssignmentByPortIdAndAssignmentId - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Assignment ID - in: path - name: assignment_id - required: true - schema: - format: uuid - type: string - - description: Nested attributes to include. Included objects will return their - full attributes. Attribute names can be dotted (up to 3 levels) to included - deeply nested objects. - in: query - name: include - schema: - default: - - port - - virtual_network - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PortVlanAssignment' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Show a particular Port VLAN assignment's details - tags: - - Ports - /ports/{id}/vlan-assignments/batches: - get: - description: Show all the VLAN assignment batches that have been created for - managing this port's VLAN assignments - operationId: findPortVlanAssignmentBatches - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PortVlanAssignmentBatchList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List the VLAN Assignment Batches for a port - tags: - - Ports - post: - description: Create a new asynchronous batch request which handles adding and/or - removing the VLANs to which the port is assigned. - operationId: createPortVlanAssignmentBatch - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PortVlanAssignmentBatchCreateInput' - description: VLAN Assignment batch details - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/PortVlanAssignmentBatch' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a new Port-VLAN Assignment management batch - tags: - - Ports - /ports/{id}/vlan-assignments/batches/{batch_id}: - get: - description: "Returns the details of an existing Port-VLAN Assignment batch,\ - \ including the list of VLANs to assign or unassign, and the current state\ - \ of the batch." - operationId: findPortVlanAssignmentBatchByPortIdAndBatchId - parameters: - - description: Port UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Batch ID - in: path - name: batch_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PortVlanAssignmentBatch' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a VLAN Assignment Batch's details - tags: - - Ports - /projects: - get: - description: Returns a collection of projects that the current user is a member - of. - operationId: findProjects - parameters: - - description: Filter results by name. - in: query - name: name - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all projects - tags: - - Projects - x-equinix-metal-paginated-property: Projects - post: - description: "Creates a new project for the user's default organization. If\ - \ the user does not have a default organization, the API will look for a personal\ - \ organization belonging to the user with the name \"{User's Full Name} Projects\"\ - \ to associate the project with. If that organization does not exist a new\ - \ organization named \"{User's Full Name} Projects\" will be created and the\ - \ new project will be tied to that organization." - operationId: createProject - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectCreateFromRootInput' - description: Project to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Project' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a project - tags: - - Projects - /projects/{id}: - delete: - description: Deletes the project. - operationId: deleteProject - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the project - tags: - - Projects - get: - description: Returns a single project if the user has access - operationId: findProjectById - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Project' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a project - tags: - - Projects - put: - description: Updates the project. - operationId: updateProject - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectUpdateInput' - description: Project to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Project' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the project - tags: - - Projects - /projects/{id}/api-keys: - get: - description: Returns all API keys for a specific project. - operationId: findProjectAPIKeys - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/AuthTokenList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all API keys for the project. - tags: - - Authentication - post: - description: Creates an API key for a project. - operationId: createProjectAPIKey - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AuthTokenInput' - description: API Key to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/AuthToken' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an API key for a project. - tags: - - Authentication - /projects/{id}/batches: - get: - description: Returns all batches for the given project - operationId: findBatchesByProject - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BatchesList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all batches by project - tags: - - Batches - /projects/{id}/bgp-config: - get: - description: Returns a bgp config - operationId: findBgpConfigByProject - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpConfig' - description: | - ok - - When BGP configuration is not enabled empty structure is returned. - When BGP configuration is disabled after being enabled BGP configuration data is returned with status disabled. - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: | - not found - - The project was not found. - summary: Retrieve a bgp config - tags: - - BGP - /projects/{id}/bgp-configs: - post: - description: Requests to enable bgp configuration for a project. - operationId: requestBgpConfig - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BgpConfigRequestInput' - description: BGP config Request to create - required: true - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Requesting bgp config - tags: - - BGP - /projects/{id}/bgp/sessions: - get: - description: Provides a listing of available BGP sessions for the project. - operationId: findProjectBgpSessions - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/BgpSessionList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all BGP sessions for project - tags: - - BGP - /projects/{id}/customdata: - get: - description: Provides the custom metadata stored for this project in json format - operationId: findProjectCustomdata - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the custom metadata of a project - tags: - - Projects - /projects/{id}/devices: - get: - description: Provides a collection of devices for a given project. - operationId: findProjectDevices - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - 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." - in: query - name: search - schema: - type: string - - description: Filter by plan category - in: query - name: categories - schema: - items: - enum: - - compute - - storage - - vmce - - legacy_gen - - current_gen - example: compute - type: string - type: array - - description: Filter by device facility - in: query - name: facility - schema: - type: string - - description: Filter by device metro - in: query - name: metro - schema: - type: string - - description: Filter by partial hostname - in: query - name: hostname - schema: - type: string - - description: "Filter only reserved instances. When set to true, only include\ - \ reserved instances. When set to false, only include on-demand instances." - in: query - name: reserved - schema: - type: boolean - - description: Filter by device tag - in: query - name: tag - schema: - type: string - - description: "Filter by instance type (ondemand,spot,reserved)" - in: query - name: type - schema: - type: string - - 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." - in: query - name: has_termination_time - schema: - type: boolean - - description: Filter by MAC address - in: query - name: mac_address - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all devices of a project - tags: - - Devices - x-equinix-metal-paginated-property: Devices - post: - description: |- - Creates a new device and provisions it in the specified location. - - Device 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`. - operationId: createDevice - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/createDevice_request' - description: Device to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a device - tags: - - Devices - /projects/{id}/devices/batch: - post: - description: Creates new devices in batch and provisions them in our datacenter. - operationId: createDeviceBatch - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/InstancesBatchCreateInput' - description: Batches to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/BatchesList' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a devices batch - tags: - - Batches - /projects/{id}/events: - get: - description: Returns a list of events for a single project - operationId: findProjectEvents - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/EventList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve project's events - tags: - - Events - x-equinix-metal-paginated-property: Events - /projects/{id}/facilities: - get: - deprecated: true - description: Returns a listing of available datacenters for the given project - operationId: findFacilitiesByProject - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/FacilityList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all facilities visible by the project - tags: - - Facilities - /projects/{id}/firmware-sets: - get: - description: Returns all firmware sets associated with the project or organization. - operationId: getProjectFirmwareSets - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: page number to return - in: query - name: page - schema: - type: integer - - description: items returned per page. - in: query - name: per_page - schema: - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/FirmwareSetListResponse' - description: Successful operation - "401": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "404": - description: Error responses are included with 4xx and 5xx HTTP responses - from the API service. Either "error" or "errors" will be set. - "500": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Internal Server Error - summary: Get Project's Firmware Sets - tags: - - FirmwareSets - /projects/{id}/global-bgp-ranges: - get: - description: Returns all global bgp ranges for a project - operationId: findGlobalBgpRanges - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/GlobalBgpRangeList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all global bgp ranges - tags: - - BGP - /projects/{id}/hardware-reservations: - get: - description: Provides a collection of hardware reservations for a given project. - operationId: findProjectHardwareReservations - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: "Search by facility code, plan name, project name, reservation\ - \ short ID or device hostname" - in: query - name: query - schema: - type: string - - description: Filter by hardware reservation state - in: query - name: state - schema: - enum: - - active - - spare - - need_of_service - type: string - - description: Filter hardware reservation that is provisionable - in: query - name: provisionable - schema: - enum: - - only - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/HardwareReservationList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all hardware reservations for a given project - tags: - - HardwareReservations - x-equinix-metal-paginated-property: HardwareReservations - /projects/{id}/ips: - get: - description: Provides a paginated list of IP reservations for a single project. - operationId: findIPReservations - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Filter project IP reservations by reservation type - in: query - name: types - schema: - items: - enum: - - global_ipv4 - - private_ipv4 - - public_ipv4 - - public_ipv6 - - vrf - type: string - type: array - style: form - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 250 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/IPReservationList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all ip reservations - tags: - - IPAddresses - x-equinix-metal-paginated-property: IpAddresses - post: - description: "Request more IP space for a project in order to have additional\ - \ IP addresses to assign to devices. If the request is within the max quota,\ - \ an IP reservation will be created. If the project will exceed its IP quota,\ - \ a request will be submitted for review, and will return an IP Reservation\ - \ with a `state` of `pending`. You can automatically have the request fail\ - \ with HTTP status 422 instead of triggering the review process by providing\ - \ the `fail_on_approval_required` parameter set to `true` in the request." - operationId: requestIPReservation - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/requestIPReservation_request' - description: IP Reservation Request to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/requestIPReservation_201_response' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Requesting IP reservations - tags: - - IPAddresses - /projects/{id}/licenses: - get: - description: Provides a collection of licenses for a given project. - operationId: findProjectLicenses - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/LicenseList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all licenses - tags: - - Licenses - post: - description: Creates a new license for the given project - operationId: createLicense - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LicenseCreateInput' - description: License to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/License' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a License - tags: - - Licenses - /projects/{id}/plans: - get: - description: Returns a listing of available plans for the given project - operationId: findPlansByProject - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/PlanList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all plans visible by the project - tags: - - Plans - /projects/{id}/spot-market-requests: - get: - description: View all spot market requests for a given project. - operationId: listSpotMarketRequests - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SpotMarketRequestList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List spot market requests - tags: - - SpotMarket - post: - description: |- - Creates a new spot market request. - - Type-specific options (such as operating_system for baremetal devices) should be included in the main data structure alongside hostname and plan. - - The features attribute allows you to optionally specify what features your server should have. For example, if you require a server with a TPM chip, you may specify `{ "features": { "tpm": "required" } }` (or `{ "features": ["tpm"] }` in shorthand). - - The request will fail if there are no available servers matching your criteria. Alternatively, if you do not require a certain feature, but would prefer to be assigned a server with that feature if there are any available, you may specify that feature with a preferred value (see the example request below). - - The request will not fail if we have no servers with that feature in our inventory. - operationId: createSpotMarketRequest - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SpotMarketRequestCreateInput' - description: Spot Market Request to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/SpotMarketRequest' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a spot market request - tags: - - SpotMarket - /projects/{id}/ssh-keys: - get: - description: Returns a collection of the project's ssh keys. - operationId: findProjectSSHKeys - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: "Search by key, label, or fingerprint" - in: query - name: query - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKeyList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve a project's ssh keys - tags: - - SSHKeys - post: - description: Creates a ssh key. - operationId: createProjectSSHKey - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKeyCreateInput' - description: ssh key to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKey' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a ssh key for the given project - tags: - - SSHKeys - /projects/{id}/transfers: - post: - deprecated: true - description: Organization owners can transfer their projects to other organizations. - operationId: createTransferRequest - parameters: - - description: UUID of the project to be transferred - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRequestInput' - description: Transfer Request to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRequest' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a transfer request - tags: - - Projects - /projects/{id}/usages: - get: - description: Returns all usages for a project. - operationId: findProjectUsage - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Filter usages created after this date - in: query - name: "created[after]" - schema: - format: datetime - type: string - - description: Filter usages created before this date - in: query - name: "created[before]" - schema: - format: datetime - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectUsageList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all usages for project - tags: - - Usages - /projects/{id}/virtual-networks: - get: - description: Provides a list of virtual networks for a single project. - operationId: findVirtualNetworks - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - deprecated: true - description: Filter by Facility ID (uuid) or Facility Code - in: query - name: facility - schema: - type: string - - description: Filter by Metro ID (uuid) or Metro Code - in: query - name: metro - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualNetworkList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all virtual networks - tags: - - VLANs - post: - description: Creates an virtual network. - operationId: createVirtualNetwork - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualNetworkCreateInput' - description: Virtual Network to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualNetwork' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a virtual network - tags: - - VLANs - /projects/{id}/vrfs: - get: - description: Returns the list of VRFs for a single project. - operationId: findVrfs - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Filter by Metro ID (uuid) or Metro Code - in: query - name: metro - schema: - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all VRFs in the project - tags: - - VRFs - post: - description: Creates a new VRF in the specified project - operationId: createVrf - parameters: - - description: Project UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VrfCreateInput' - description: VRF to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Vrf' - description: created - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a new VRF in the specified project - tags: - - VRFs - /projects/{project_id}/connections: - get: - description: List the connections belonging to the project - operationId: projectListInterconnections - parameters: - - description: UUID of the project - in: path - name: project_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InterconnectionList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: List project connections - tags: - - Interconnections - x-equinix-metal-paginated-property: Interconnections - post: - description: Creates a new interconnection request - operationId: createProjectInterconnection - parameters: - - description: UUID of the project - in: path - name: project_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/InterconnectionCreateInput' - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Interconnection' - description: created - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Request a new interconnection for the project's organization - tags: - - Interconnections - /projects/{project_id}/invitations: - get: - description: Returns all invitations in a project. - operationId: findProjectInvitations - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/InvitationList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve project invitations - tags: - - Projects - post: - description: "In order to add a user to a project, they must first be invited." - operationId: createProjectInvitation - parameters: - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/InvitationInput' - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/Invitation' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an invitation for a project - tags: - - Projects - /projects/{project_id}/ips/{id}/customdata: - get: - description: Provides the custom metadata stored for this IP Reservation in - json format - operationId: findIPReservationCustomdata - parameters: - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - - description: Ip Reservation UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the custom metadata of an IP Reservation - tags: - - Projects - /projects/{project_id}/memberships: - get: - description: Returns all memberships in a project. - operationId: findProjectMemberships - parameters: - - description: "Search by member full name, id and email." - in: query - name: search - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/MembershipList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve project memberships - tags: - - Projects - /projects/{project_id}/metal-gateways: - get: - description: Return all metal gateways for a project - operationId: findMetalGatewaysByProject - parameters: - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/MetalGatewayList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Returns all metal gateways for a project - tags: - - MetalGateways - x-equinix-metal-paginated-property: MetalGateways - post: - description: Create a metal gateway in a project - operationId: createMetalGateway - parameters: - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/createMetalGateway_request' - description: Metal Gateway to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/findMetalGatewayById_200_response' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a metal gateway - tags: - - MetalGateways - /projects/{project_id}/self-service/reservations: - get: - description: Returns all reservations. - operationId: findSelfServiceReservations - parameters: - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - - description: Filter reservations by items category - in: query - name: categories - schema: - items: - enum: - - compute - - storage - - vmce - - legacy_gen - - current_gen - example: compute - type: string - type: array - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SelfServiceReservationList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all reservations - tags: - - SelfServiceReservations - post: - description: Creates a reservation. - operationId: createSelfServiceReservation - parameters: - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateSelfServiceReservationRequest' - description: reservation to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/SelfServiceReservationResponse' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a reservation - tags: - - SelfServiceReservations - /projects/{project_id}/self-service/reservations/{id}: - get: - description: Returns a reservation - operationId: findSelfServiceReservation - parameters: - - description: Reservation short_id - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Project UUID - in: path - name: project_id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SelfServiceReservationResponse' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a reservation - tags: - - SelfServiceReservations - /reset-password: - delete: - description: Resets current user password. - operationId: resetPassword - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/NewPassword' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Reset current user password - tags: - - PasswordResetTokens - post: - description: Creates a password reset token - operationId: createPasswordResetToken - parameters: - - description: Email of user to create password reset token - in: query - name: email - required: true - schema: - type: string - responses: - "201": - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a password reset token - tags: - - PasswordResetTokens - /routes/{id}: - delete: - description: "Trigger the deletion of a VRF Route resource. The status of the\ - \ route will update to 'deleting', and the route resource will remain accessible\ - \ while background operations remove the route from the network. Once the\ - \ route has been removed from the network, the resource will be fully deleted." - operationId: deleteVrfRouteById - parameters: - - description: VRF Route UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfRoute' - description: Accepted - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - summary: Delete a VRF Route - tags: - - VRFs - get: - description: Returns a single VRF Route resource - operationId: findVrfRouteById - parameters: - - description: VRF Route UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfRoute' - description: OK - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - summary: Retrieve a VRF Route - tags: - - VRFs - put: - description: Requests a VRF Route be redeployed across the network. Updating - the prefix or next-hop address on a route is not currently supported. - operationId: updateVrfRouteById - parameters: - - description: VRF Route UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VrfRouteUpdateInput' - required: true - responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfRoute' - description: Accepted - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unprocessable Entity - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Too Many Requests - summary: Update a VRF Route - tags: - - VRFs - /routes/{id}/events: - get: - description: Returns a list of the VRF route events - operationId: findVrfRouteEvents - parameters: - - description: VRF Route UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve VRF route events - tags: - - Events - /spot-market-requests/{id}: - delete: - description: Deletes the spot market request. - operationId: deleteSpotMarketRequest - parameters: - - description: SpotMarketRequest UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Terminate associated spot instances - in: query - name: force_termination - schema: - type: boolean - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the spot market request - tags: - - SpotMarket - get: - description: Returns a single spot market request - operationId: findSpotMarketRequestById - parameters: - - description: SpotMarketRequest UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SpotMarketRequest' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a spot market request - tags: - - SpotMarket - /ssh-keys: - get: - description: Returns a collection of the user’s ssh keys. - operationId: findSSHKeys - parameters: - - description: "Search by key, label, or fingerprint" - in: query - name: search - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKeyList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all ssh keys - tags: - - SSHKeys - post: - description: Creates a ssh key. - operationId: createSSHKey - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - $ref: '#/components/requestBodies/SSHKeyCreateInput' - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKey' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a ssh key for the current user - tags: - - SSHKeys - /ssh-keys/{id}: - delete: - description: Deletes the ssh key. - operationId: deleteSSHKey - parameters: - - description: ssh key UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the ssh key - tags: - - SSHKeys - get: - description: Returns a single ssh key if the user has access - operationId: findSSHKeyById - parameters: - - description: SSH Key UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKey' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a ssh key - tags: - - SSHKeys - put: - description: Updates the ssh key. - operationId: updateSSHKey - parameters: - - description: SSH Key UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKeyInput' - description: ssh key to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKey' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the ssh key - tags: - - SSHKeys - /support-requests: - post: - description: Support Ticket. - operationId: requestSupport - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SupportRequestInput' - description: Support Request to create - required: true - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a support ticket - tags: - - SupportRequest - /transfers/{id}: - delete: - description: Decline a transfer request. - operationId: declineTransferRequest - parameters: - - description: Transfer request UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Decline a transfer request - tags: - - TransferRequests - get: - description: Returns a single transfer request. - operationId: findTransferRequestById - parameters: - - description: Transfer request UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRequest' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: View a transfer request - tags: - - TransferRequests - put: - description: Accept a transfer request. - operationId: acceptTransferRequest - parameters: - - description: Transfer request UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Accept a transfer request - tags: - - TransferRequests - /user: - get: - description: Returns the user object for the currently logged-in user. - operationId: findCurrentUser - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/User' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve the current user - tags: - - Users - put: - description: Updates the currently logged-in user. - operationId: updateCurrentUser - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserUpdateInput' - description: User to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/User' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the current user - tags: - - Users - /user/api-keys: - get: - description: Returns all API keys for the current user. - operationId: findAPIKeys - parameters: - - description: Search by description - in: query - name: search - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/AuthTokenList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all user API keys - tags: - - Authentication - post: - description: Creates a API key for the current user. - operationId: createAPIKey - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AuthTokenInput' - description: API key to create - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/AuthToken' - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an API key - tags: - - Authentication - /user/api-keys/{id}: - delete: - description: Deletes the current user API key. - operationId: deleteUserAPIKey - parameters: - - description: API Key UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the API key - tags: - - Authentication - /user/otp/app: - delete: - description: Disables two factor authentication. - operationId: disableTfaApp - parameters: - - in: header - name: x-otp-token - required: true - schema: - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Disable two factor authentication - tags: - - TwoFactorAuth - post: - description: Enables two factor authentication using authenticator app. - operationId: enableTfaApp - parameters: - - in: header - name: x-otp-token - required: true - schema: - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Enable two factor auth using app - tags: - - TwoFactorAuth - /userdata/validate: - post: - description: Validates user data (Userdata) - operationId: validateUserdata - parameters: - - description: Userdata to validate - in: query - name: userdata - schema: - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Validate user data - tags: - - Userdata - /users: - get: - description: "Returns a list of users that the are accessible to the current\ - \ user (all users in the current user’s projects, essentially)." - operationId: findUsers - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/UserList' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - summary: Retrieve all users - tags: - - Users - x-equinix-metal-paginated-property: Users - post: - description: Creates a user. - operationId: createUser - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserCreateInput' - description: User to create - required: true - responses: - "202": - description: accepted - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - example: - errors: - - username@example.com is not a valid email address - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create a user - tags: - - Users - /users/{id}: - get: - description: Returns a single user if the user has access - operationId: findUserById - parameters: - - description: User UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/User' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a user - tags: - - Users - /users/{id}/customdata: - get: - description: Provides the custom metadata stored for this user in json format - operationId: findUserCustomdata - parameters: - - description: User UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the custom metadata of a user - tags: - - Users - /verify-email: - post: - description: Creates an email verification request - operationId: createValidationRequest - parameters: - - description: Email for verification request - in: query - name: login - required: true - schema: - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - responses: - "201": - description: created - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Create an email verification request - tags: - - UserVerificationTokens - put: - description: Consumes an email verification token and verifies the user associated - with it. - operationId: consumeVerificationRequest - parameters: - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VerifyEmail' - description: Email to create - required: true - responses: - "200": - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Verify a user using an email verification token - tags: - - UserVerificationTokens - /virtual-circuits/{id}/events: - get: - description: Returns a list of the virtual circuit events - operationId: findVirtualCircuitEvents - parameters: - - description: Virtual Circuit UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve virtual circuit events - tags: - - Events - /virtual-circuits/{id}: - delete: - description: Delete a virtual circuit from a Dedicated Port. - operationId: deleteVirtualCircuit - parameters: - - description: Virtual Circuit UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuit' - description: accepted - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete a virtual circuit - tags: - - Interconnections - get: - description: Get the details of a virtual circuit - operationId: getVirtualCircuit - parameters: - - description: Virtual Circuit UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuit' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Get a virtual circuit - tags: - - Interconnections - put: - description: Update the details of a virtual circuit. - operationId: updateVirtualCircuit - parameters: - - description: Virtual Circuit UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuitUpdateInput' - description: Updated Virtual Circuit details - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuit' - description: ok - "202": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualCircuit' - description: accepted - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Update a virtual circuit - tags: - - Interconnections - /virtual-networks/{id}: - delete: - description: Deletes a virtual network. - operationId: deleteVirtualNetwork - parameters: - - description: Virtual Network UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Delete a virtual network - tags: - - VLANs - get: - description: Get a virtual network. - operationId: getVirtualNetwork - parameters: - - description: Virtual Network UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualNetwork' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Get a virtual network - tags: - - VLANs - put: - description: Updates the virtual network. - operationId: updateVirtualNetwork - parameters: - - description: Virtual Network UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualNetworkUpdateInput' - description: Virtual network to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VirtualNetwork' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - "429": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: too many requests - summary: Updates the virtual network - tags: - - VLANs - /vrfs/{id}: - delete: - description: Deletes the VRF - operationId: deleteVrf - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "204": - description: no content - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Delete the VRF - tags: - - VRFs - get: - description: Returns a single VRF resource - operationId: findVrfById - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Vrf' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve a VRF - tags: - - VRFs - put: - description: Updates the VRF. - operationId: updateVrf - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VrfUpdateInput' - description: VRF to update - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/Vrf' - description: ok - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: unprocessable entity - summary: Update the VRF - tags: - - VRFs - /vrfs/{id}/ips: - get: - description: Returns the list of VRF IP Reservations for the VRF. - operationId: findVrfIpReservations - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Nested attributes to include. Included objects will return their - full attributes. Attribute names can be dotted (up to 3 levels) to included - deeply nested objects. - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: Nested attributes to exclude. Excluded objects will return only - the href attribute. Attribute names can be dotted (up to 3 levels) to exclude - deeply nested objects. - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfIpReservationList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve all VRF IP Reservations in the VRF - tags: - - VRFs - /vrfs/{vrf_id}/ips/{id}: - get: - description: Returns the specified IP Reservation for the VRF. - operationId: findVrfIpReservation - parameters: - - description: VRF UUID - in: path - name: vrf_id - required: true - schema: - format: uuid - type: string - - description: IP UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: Nested attributes to include. Included objects will return their - full attributes. Attribute names can be dotted (up to 3 levels) to included - deeply nested objects. - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: Nested attributes to exclude. Excluded objects will return only - the href attribute. Attribute names can be dotted (up to 3 levels) to exclude - deeply nested objects. - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfIpReservation' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve the Specified VRF IP Reservation - tags: - - VRFs - /vrfs/{id}/routes: - get: - description: Returns the list of routes for the VRF - operationId: getVrfRoutes - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfRouteList' - description: OK - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - summary: Retrieve all routes in the VRF - tags: - - VRFs - post: - description: | - Create a route in a VRF. Currently only static default routes are supported. - operationId: createVrfRoute - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VrfRouteCreateInput' - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfRoute' - description: OK - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unauthorized - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Not Found - "422": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: Unprocessable entity - summary: Create a VRF route - tags: - - VRFs - /vrfs/{id}/learned-routes: - get: - description: Provides information about learned routes for the VRF. The VRF - builds this information dynamically though BGP from other routers in the network. - operationId: getVrfLearnedRoutes - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfLearnedRoutesList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve learned L3 routes within the VRF - tags: - - VRFs - /vrfs/{id}/bgp-neighbors: - get: - description: Provides BGP peering information such as the IP and state of the - neighbor. - operationId: getVrfBGPNeighbors - parameters: - - description: VRF UUID - in: path - name: id - required: true - schema: - format: uuid - type: string - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/VrfBGPNeighborsList' - description: ok - "403": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: forbidden - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - description: not found - summary: Retrieve BGP neighbor states for the VRF - tags: - - VRFs -components: - parameters: - DeviceSearch: - 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." - in: query - name: search - schema: - type: string - ProjectName: - description: Filter results by name. - in: query - name: name - schema: - type: string - Page: - description: Page to return - in: query - name: page - schema: - default: 1 - format: int32 - maximum: 100000 - minimum: 1 - type: integer - PerPage: - description: Items returned per page - in: query - name: per_page - schema: - default: 10 - format: int32 - maximum: 1000 - minimum: 1 - type: integer - Include: - description: |- - Nested attributes to include. Included objects will return their full - attributes. Attribute names can be dotted (up to 3 levels) to included deeply - nested objects. - explode: false - in: query - name: include - schema: - items: - type: string - type: array - style: form - Exclude: - description: |- - Nested attributes to exclude. Excluded objects will return only the href - attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply - nested objects. - explode: false - in: query - name: exclude - schema: - items: - type: string - type: array - style: form - XOtpToken: - in: header - name: x-otp-token - required: true - schema: - type: string - requestBodies: - InterconnectionCreateInput: - content: - application/json: - schema: - $ref: '#/components/schemas/createOrganizationInterconnection_request' - description: "Dedicated port or shared interconnection (also known as Fabric\ - \ VC) creation request.\n\nShared interconnections can be created with the\ - \ following request types:\n* `VlanCSPConnectionCreateInput` creates a layer\ - \ 2 interconnection directly to your Cloud Service Provider.\n* `SharedPortVCVlanCreateInput`\ - \ creates a layer 2 interconnection that you can finish configuration in Fabric.\ - \ For new connections, this type is preferred to `VlanFabricVCCreateInput`.\n\ - * `VlanFabricVCCreateInput` creates a layer 2 interconnection that you can\ - \ connect through Fabric with a service token.\n* `VrfFabricVCCreateInput`\ - \ creates a layer 3 interconnection that you can connect through Fabric with\ - \ a service token. " - required: true - InvitationInput: - content: - application/json: - schema: - $ref: '#/components/schemas/InvitationInput' - description: Invitation to create - required: true - PortAssignInput: - content: - application/json: - schema: - $ref: '#/components/schemas/PortAssignInput' - description: "Virtual Network ID. May be the UUID of the Virtual Network record,\ - \ or the VLAN value itself (ex: '1001')." - required: true - SSHKeyCreateInput: - content: - application/json: - schema: - $ref: '#/components/schemas/SSHKeyCreateInput' - description: ssh key to create - required: true - responses: - Error: - description: Error responses are included with 4xx and 5xx HTTP responses from - the API service. Either "error" or "errors" will be set. - schemas: - Address: - properties: - address: - type: string - address2: - type: string - city: - type: string - coordinates: - $ref: '#/components/schemas/Coordinates' - country: - type: string - state: - type: string - zip_code: - type: string - required: - - address - - country - - zip_code - type: object - Attribute: - properties: - namespace: - description: Attribute namespace - readOnly: true - type: string - created_at: - description: Datetime when the block was created. - format: date-time - readOnly: true - type: string - updated_at: - description: Datetime when the block was updated. - format: date-time - readOnly: true - type: string - data: - $ref: '#/components/schemas/AttributeData' - type: object - AttributeData: - properties: - latest: - description: Boolean flag to know if the firmware set is the latest for - the model and vendor - readOnly: true - type: boolean - model: - description: Model on which this firmware set can be applied - readOnly: true - type: string - vendor: - description: Vendor on which this firmware set can be applied - readOnly: true - type: string - plan: - description: Plan where the firmware set can be applied - readOnly: true - type: string - type: object - AuthToken: - properties: - created_at: - format: date-time - type: string - description: - description: Available only for API keys - type: string - id: - format: uuid - type: string - project: - $ref: '#/components/schemas/AuthToken_project' - read_only: - type: boolean - token: - type: string - updated_at: - format: date-time - type: string - user: - $ref: '#/components/schemas/AuthToken_user' - type: object - AuthTokenInput: - properties: - description: - type: string - read_only: - type: boolean - type: object - AuthTokenList: - properties: - api_keys: - items: - $ref: '#/components/schemas/AuthToken' - type: array - type: object - BGPSessionInput: - properties: - address_family: - description: Address family for BGP session. - enum: - - ipv4 - - ipv6 - example: ipv4 - type: string - default_route: - default: false - description: Set the default route policy. - type: boolean - type: object - Batch: - properties: - created_at: - format: date-time - type: string - devices: - items: - $ref: '#/components/schemas/Href' - type: array - error_messages: - items: - type: string - type: array - id: - format: uuid - type: string - project: - $ref: '#/components/schemas/Href' - quantity: - type: integer - state: - type: string - updated_at: - format: date-time - type: string - type: object - BatchesList: - properties: - batches: - items: - $ref: '#/components/schemas/Batch' - type: array - type: object - BgpConfig: - properties: - asn: - description: "Autonomous System Number. ASN is required with Global BGP.\ - \ With Local BGP the private ASN, 65000, is assigned." - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - created_at: - format: date-time - type: string - deployment_type: - description: | - In a Local BGP deployment, a customer uses an internal ASN to control routes within a single Equinix Metal datacenter. This means that the routes are never advertised to the global Internet. Global BGP, on the other hand, requires a customer to have a registered ASN and IP space. - enum: - - global - - local - example: local - type: string - href: - type: string - id: - format: uuid - type: string - max_prefix: - default: 10 - description: The maximum number of route filters allowed per server - type: integer - md5: - description: (Optional) Password for BGP session in plaintext (not a checksum) - nullable: true - type: string - project: - $ref: '#/components/schemas/Href' - ranges: - description: The IP block ranges associated to the ASN (Populated in Global - BGP only) - items: - $ref: '#/components/schemas/GlobalBgpRange' - type: array - requested_at: - format: date-time - type: string - route_object: - description: Specifies AS-MACRO (aka AS-SET) to use when building client - route filters - type: string - sessions: - description: The direct connections between neighboring routers that want - to exchange routing information. - items: - $ref: '#/components/schemas/BgpSession' - type: array - status: - description: Status of the BGP Config. Status "requested" is valid only - with the "global" deployment_type. - enum: - - requested - - enabled - - disabled - type: string - type: object - BgpConfigRequestInput: - properties: - asn: - description: Autonomous System Number for local BGP deployment. - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - deployment_type: - description: Wether the BGP deployment is local or global. Local deployments - are configured immediately. Global deployments will need to be reviewed - by Equinix Metal engineers. - enum: - - local - - global - example: local - type: string - md5: - description: | - The plaintext password to share between BGP neighbors as an MD5 checksum: - * must be 10-20 characters long - * may not include punctuation - * must be a combination of numbers and letters - * must contain at least one lowercase, uppercase, and digit character - pattern: "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{10,20}$" - type: string - use_case: - description: A use case explanation (necessary for global BGP request review). - type: string - required: - - asn - - deployment_type - type: object - BgpDynamicNeighbor: - properties: - id: - description: The unique identifier for the resource - example: aea82f16-57ec-412c-9523-b7f2b27635b2 - format: uuid - readOnly: true - type: string - bgp_neighbor_asn: - description: The ASN of the dynamic BGP neighbor - example: 12345 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - bgp_neighbor_range: - description: Network range of the dynamic BGP neighbor in CIDR format - example: 192.168.1.0/25 - type: string - metal_gateway: - $ref: '#/components/schemas/VrfMetalGateway' - state: - enum: - - active - - deleting - - pending - - ready - readOnly: true - type: string - href: - example: /bgp-dynamic-neighbors/aea82f16-57ec-412c-9523-b7f2b27635b2 - readOnly: true - type: string - created_at: - format: date-time - readOnly: true - type: string - created_by: - $ref: '#/components/schemas/UserLimited' - updated_at: - format: date-time - readOnly: true - type: string - tags: - items: - type: string - type: array - type: object - BgpDynamicNeighborCreateInput: - properties: - bgp_neighbor_range: - description: Network range of the dynamic BGP neighbor in CIDR format - example: 192.168.1.0/25 - type: string - bgp_neighbor_asn: - description: The ASN of the dynamic BGP neighbor - example: 12345 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - tags: - items: - type: string - type: array - required: - - bgp_neighbor_asn - - bgp_neighbor_range - type: object - BgpDynamicNeighborList: - properties: - bgp_dynamic_neighbors: - items: - $ref: '#/components/schemas/BgpDynamicNeighbor' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - BgpNeighborData: - properties: - address_family: - description: Address Family for IP Address. Accepted values are 4 or 6 - example: 4 - format: int32 - type: integer - customer_as: - description: "The customer's ASN. In a local BGP deployment, this will be\ - \ an internal ASN used to route within the data center. For a global BGP\ - \ deployment, this will be the your own ASN, configured when you set up\ - \ BGP for your project." - example: 65000 - format: int32 - type: integer - customer_ip: - description: "The device's IP address. For an IPv4 BGP session, this is\ - \ typically the private bond0 address for the device." - example: 10.32.16.1 (IPv4) or 2604:1380:4111:2700::1 (IPv6) - type: string - md5_enabled: - description: True if an MD5 password is configured for the project. - type: boolean - md5_password: - description: "The MD5 password configured for the project, if set." - type: string - multihop: - description: True when the BGP session should be configured as multihop. - type: boolean - peer_as: - description: The Peer ASN to use when configuring BGP on your device. - example: 65530 - format: int32 - type: integer - peer_ips: - description: "A list of one or more IP addresses to use for the Peer IP\ - \ section of your BGP configuration. For non-multihop sessions, this will\ - \ typically be a single gateway address for the device. For multihop sessions,\ - \ it will be a list of IPs." - example: - - 169.254.255.1 - - 169.254.255.2 - items: - type: string - type: array - routes_in: - description: A list of project subnets - example: - - exact: true - route: 10.32.16.0/31 - items: - $ref: '#/components/schemas/BgpRoute' - type: array - routes_out: - description: A list of outgoing routes. Only populated if the BGP session - has default route enabled. - example: - - exact: true - route: 0.0.0.0/0 - items: - $ref: '#/components/schemas/BgpRoute' - type: array - type: object - BgpSession: - properties: - address_family: - enum: - - ipv4 - - ipv6 - type: string - created_at: - format: date-time - type: string - default_route: - type: boolean - device: - $ref: '#/components/schemas/Href' - href: - type: string - id: - format: uuid - type: string - learned_routes: - items: - description: IPv4 or IPv6 range - example: 10.32.16.0/31 - type: string - type: array - status: - description: " The status of the BGP Session. Multiple status values may\ - \ be reported when the device is connected to multiple switches, one value\ - \ per switch. Each status will start with \"unknown\" and progress to\ - \ \"up\" or \"down\" depending on the connected device. Subsequent \"\ - unknown\" values indicate a problem acquiring status from the switch. " - example: "up,down" - type: string - updated_at: - format: date-time - type: string - required: - - address_family - type: object - BgpSessionList: - properties: - bgp_sessions: - items: - $ref: '#/components/schemas/BgpSession' - type: array - type: object - BgpSessionNeighbors: - properties: - bgp_neighbors: - description: A list of BGP session neighbor data - items: - $ref: '#/components/schemas/BgpNeighborData' - type: array - type: object - CapacityCheckPerFacilityInfo: - properties: - available: - type: boolean - facility: - type: string - plan: - type: string - quantity: - type: string - type: object - CapacityCheckPerFacilityList: - properties: - servers: - items: - $ref: '#/components/schemas/CapacityCheckPerFacilityInfo' - type: array - type: object - CapacityCheckPerMetroInfo: - properties: - available: - description: Returns true if there is enough capacity in the metro to fulfill - the quantity set. Returns false if there is not enough. - type: boolean - metro: - description: The metro ID or code sent to check capacity. - type: string - plan: - description: The plan ID or slug sent to check capacity. - type: string - quantity: - description: The number of servers sent to check capacity. - type: string - type: object - CapacityCheckPerMetroList: - properties: - servers: - items: - $ref: '#/components/schemas/CapacityCheckPerMetroInfo' - type: array - type: object - CapacityInput: - properties: - servers: - items: - $ref: '#/components/schemas/ServerInfo' - type: array - type: object - CapacityLevelPerBaremetal: - properties: - level: - type: string - type: object - CapacityList: - properties: - capacity: - additionalProperties: - additionalProperties: - $ref: '#/components/schemas/CapacityLevelPerBaremetal' - type: object - type: object - type: object - CapacityReport: - additionalProperties: - additionalProperties: - $ref: '#/components/schemas/CapacityLevelPerBaremetal' - type: object - type: object - Component: - properties: - uuid: - description: Component UUID - example: 0516463a-47ee-4809-9a66-ece8c740eed9 - format: uuid - readOnly: true - type: string - vendor: - description: Component vendor - example: equinix - readOnly: true - type: string - model: - description: List of models where this component version can be applied - items: - example: romed8hm3 - type: string - readOnly: true - type: array - filename: - description: name of the file - readOnly: true - type: string - version: - description: Version of the component - example: 1.5.0 - readOnly: true - type: string - component: - description: Component type - example: bmc - readOnly: true - type: string - checksum: - description: File checksum - readOnly: true - type: string - upstream_url: - description: Location of the file - readOnly: true - type: string - repository_url: - description: Location of the file in the repository - readOnly: true - type: string - created_at: - description: Datetime when the block was created. - format: date-time - readOnly: true - type: string - updated_at: - description: Datetime when the block was updated. - format: date-time - readOnly: true - type: string - type: object - Coordinates: - properties: - latitude: - type: string - longitude: - type: string - type: object - CreateEmailInput: - properties: - address: - type: string - required: - - address - type: object - CreateSelfServiceReservationRequest: - properties: - item: - items: - $ref: '#/components/schemas/SelfServiceReservationItemRequest' - type: array - notes: - type: string - period: - $ref: '#/components/schemas/CreateSelfServiceReservationRequest_period' - start_date: - format: date-time - type: string - type: object - DedicatedPortCreateInput: - properties: - billing_account_name: - description: The billing account name of the Equinix Fabric account. - type: string - contact_email: - description: The preferred email used for communication and notifications - about the Equinix Fabric interconnection. Optional and defaults to the - primary user email address when using a User API key or the organization - owner email address when using a Project API key. - format: email - type: string - description: - type: string - facility_id: - type: string - x-deprecated: true - metro: - description: "A Metro ID or code. For interconnections with Dedicated Ports,\ - \ this will be the location of the issued Dedicated Ports." - type: string - mode: - description: |- - The mode of the interconnection (only relevant to Dedicated Ports). Fabric VCs won't have this field. Can be either 'standard' or 'tunnel'. - The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. - In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances. - enum: - - standard - - tunnel - example: standard - type: string - name: - type: string - project: - type: string - redundancy: - description: Either 'primary' or 'redundant'. - type: string - speed: - description: "A interconnection speed, in bps, mbps, or gbps. For Dedicated\ - \ Ports, this can be 10Gbps or 100Gbps." - example: "10000000000" - type: string - tags: - items: - type: string - type: array - type: - description: "When requesting for a dedicated port, the value of this field\ - \ should be 'dedicated'." - enum: - - dedicated - type: string - use_case: - description: The intended use case of the dedicated port. - type: string - required: - - metro - - name - - redundancy - - type - type: object - Device: - properties: - always_pxe: - type: boolean - billing_cycle: - type: string - bonding_mode: - type: integer - created_at: - format: date-time - type: string - created_by: - $ref: '#/components/schemas/Device_created_by' - customdata: - additionalProperties: true - default: {} - type: object - description: - type: string - facility: - $ref: '#/components/schemas/Facility' - firmware_set_id: - description: The UUID of the firmware set to associate with the device. - format: uuid - type: string - hardware_reservation: - $ref: '#/components/schemas/HardwareReservation' - hostname: - type: string - href: - type: string - id: - format: uuid - type: string - image_url: - type: string - ip_addresses: - items: - $ref: '#/components/schemas/IPAssignment' - type: array - ipxe_script_url: - type: string - iqn: - type: string - locked: - description: Prevents accidental deletion of this resource when set to true. - type: boolean - metro: - $ref: '#/components/schemas/Device_metro' - network_frozen: - description: "Whether network mode changes such as converting to/from Layer2\ - \ or Layer3 networking, bonding or disbonding network interfaces are permitted\ - \ for the device." - type: boolean - network_ports: - description: "By default, servers at Equinix Metal are configured in a “\ - bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC\ - \ server is configured with a single bond (namely bond0) with both interfaces\ - \ eth0 and eth1 as members of the bond in a default Layer 3 mode. Some\ - \ device plans may have a different number of ports and bonds available." - items: - $ref: '#/components/schemas/Port' - type: array - operating_system: - $ref: '#/components/schemas/OperatingSystem' - actions: - description: Actions supported by the device instance. - items: - $ref: '#/components/schemas/Device_actions_inner' - type: array - plan: - $ref: '#/components/schemas/Plan' - project: - $ref: '#/components/schemas/Project' - project_lite: - $ref: '#/components/schemas/Device_project_lite' - provisioning_events: - items: - $ref: '#/components/schemas/Event' - type: array - provisioning_percentage: - description: Only visible while device provisioning - format: float - type: number - root_password: - description: Root password is automatically generated when server is provisioned - and it is removed after 24 hours - type: string - short_id: - type: string - spot_instance: - description: Whether or not the device is a spot instance. - type: boolean - spot_price_max: - description: |- - The maximum price per hour you are willing to pay to keep this spot - instance. If you are outbid, the termination will be set allowing two - minutes before shutdown. - format: float - type: number - ssh_keys: - items: - $ref: '#/components/schemas/Href' - type: array - state: - description: "The current state the instance is in.\n\n* When an instance\ - \ is initially created it will be in the `queued` state until it is picked\ - \ up by the provisioner.\n* Once provisioning has begun on the instance\ - \ it's state will move to `provisioning`.\n* When an instance is deleted,\ - \ it will move to `deprovisioning` state until the deprovision is completed\ - \ and the instance state moves to `deleted`.\n* If an instance fails to\ - \ provision or deprovision it will move to `failed` state.\n* Once an\ - \ instance has completed provisioning it will move to `active` state.\n\ - * If an instance is currently powering off or powering on it will move\ - \ to `powering_off` or `powering_on` states respectively. \n* When the\ - \ instance is powered off completely it will move to the `inactive` state.\n\ - * When an instance is powered on completely it will move to the `active`\ - \ state.\n* Using the reinstall action to install a new OS on the instance\ - \ will cause the instance state to change to `reinstalling`.\n* When the\ - \ reinstall action is complete the instance will move to `active` state." - enum: - - queued - - provisioning - - deprovisioning - - reinstalling - - active - - inactive - - failed - - powering_on - - powering_off - - deleted - type: string - storage: - $ref: '#/components/schemas/Storage' - switch_uuid: - description: |- - Switch short id. This can be used to determine if two devices are - connected to the same switch, for example. - type: string - tags: - items: - type: string - type: array - termination_time: - description: |- - When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC. - - This is commonly set in advance for - ephemeral spot market instances but this field may also be set with - on-demand and reservation instances to automatically delete the resource - at a given time. The termination time can also be used to release a - hardware reservation instance at a given time, keeping the reservation - open for other uses. On a spot market device, the termination time will - be set automatically when outbid. - example: 2021-09-03T16:32:00+03:00 - format: date-time - type: string - updated_at: - format: date-time - type: string - user: - type: string - userdata: - type: string - volumes: - items: - $ref: '#/components/schemas/Href' - type: array - sos: - description: Hostname used to connect to the instance via the SOS (Serial - over SSH) out-of-band console. - type: string - type: object - DeviceCreateInput: - properties: - always_pxe: - default: false - description: |- - When true, devices with a `custom_ipxe` OS will always boot to iPXE. The - default setting of false ensures that iPXE will be used on only the - first boot. - type: boolean - billing_cycle: - description: The billing cycle of the device. - enum: - - hourly - - daily - - monthly - - yearly - type: string - customdata: - additionalProperties: true - default: {} - description: |- - Customdata is an arbitrary JSON value that can be accessed via the - metadata service. - type: object - description: - description: |- - Any description of the device or how it will be used. This may be used - to inform other API consumers with project access. - type: string - features: - description: |- - The features attribute allows you to optionally specify what features your server should have. - - In the API shorthand syntax, all features listed are `required`: - - ``` - { "features": ["tpm"] } - ``` - - Alternatively, if you do not require a certain feature, but would prefer to be assigned a server with that feature if there are any available, you may specify that feature with a `preferred` value. The request will not fail if we have no servers with that feature in our inventory. The API offers an alternative syntax for mixing preferred and required features: - - ``` - { "features": { "tpm": "required", "raid": "preferred" } } - ``` - - The request will only fail if there are no available servers matching the required `tpm` criteria. - items: - type: string - type: array - hardware_reservation_id: - default: "" - description: |- - The Hardware Reservation UUID to provision. Alternatively, `next-available` can be specified to select from any of the available hardware reservations. An error will be returned if the requested reservation option is not available. - - See [Reserved Hardware](https://deploy.equinix.com/developers/docs/metal/deploy/reserved/) for more details. - example: next-available - type: string - hostname: - description: The hostname to use within the operating system. The same hostname - may be used on multiple devices within a project. - type: string - ip_addresses: - default: - - address_family: 4 - public: true - - address_family: 4 - public: false - - address_family: 6 - public: true - description: |- - The `ip_addresses attribute will allow you to specify the addresses you want created with your device. - - The default value configures public IPv4, public IPv6, and private IPv4. - - Private IPv4 address is required. When specifying `ip_addresses`, one of the array items must enable private IPv4. - - Some operating systems require public IPv4 address. In those cases you will receive an error message if public IPv4 is not enabled. - - For example, to only configure your server with a private IPv4 address, you can send `{ "ip_addresses": [{ "address_family": 4, "public": false }] }`. - - It is possible to request a subnet size larger than a `/30` by assigning addresses using the UUID(s) of ip_reservations in your project. - - For example, `{ "ip_addresses": [..., {"address_family": 4, "public": true, "ip_reservations": ["uuid1", "uuid2"]}] }` - - To access a server without public IPs, you can use our Out-of-Band console access (SOS) or proxy through another server in the project with public IPs enabled. - items: - $ref: '#/components/schemas/IPAddress' - type: array - ipxe_script_url: - description: |- - When set, the device will chainload an iPXE Script at boot fetched from the supplied URL. - - See [Custom iPXE](https://deploy.equinix.com/developers/docs/metal/operating-systems/custom-ipxe/) for more details. - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/operating-systems/custom-ipxe/ - type: string - locked: - default: false - description: "Whether the device should be locked, preventing accidental\ - \ deletion." - type: boolean - network_frozen: - description: "If true, this instance can not be converted to a different\ - \ network type." - type: boolean - no_ssh_keys: - default: false - description: Overrides default behaviour of attaching all of the organization - members ssh keys and project ssh keys to device if no specific keys specified - type: boolean - operating_system: - description: "The slug of the operating system to provision. Check the Equinix\ - \ Metal operating system documentation for rules that may be imposed per\ - \ operating system, including restrictions on IP address options and device\ - \ plans." - type: string - plan: - description: The slug of the device plan to provision. - example: c3.large.x86 - type: string - private_ipv4_subnet_size: - description: Deprecated. Use ip_addresses. Subnet range for addresses allocated - to this device. - format: int32 - type: integer - x-deprecated: true - project_ssh_keys: - description: | - A list of UUIDs identifying the device parent project - that should be authorized to access this device (typically - via /root/.ssh/authorized_keys). These keys will also appear in the device metadata. - - If no SSH keys are specified (`user_ssh_keys`, `project_ssh_keys`, and `ssh_keys` are all empty lists or omitted), - all parent project keys, parent project members keys and organization members keys will be included. This behaviour can - be changed with 'no_ssh_keys' option to omit any SSH key being added. - items: - format: uuid - type: string - type: array - public_ipv4_subnet_size: - description: Deprecated. Use ip_addresses. Subnet range for addresses allocated - to this device. Your project must have addresses available for a non-default - request. - format: int32 - type: integer - x-deprecated: true - spot_instance: - description: "Create a spot instance. Spot instances are created with a\ - \ maximum bid price. If the bid price is not met, the spot instance will\ - \ be terminated as indicated by the `termination_time` field." - type: boolean - spot_price_max: - description: The maximum amount to bid for a spot instance. - example: 1.23 - format: float - type: number - ssh_keys: - description: | - A list of new or existing project ssh_keys - that should be authorized to access this device (typically - via /root/.ssh/authorized_keys). These keys will also - appear in the device metadata. - - These keys are added in addition to any keys defined by - `project_ssh_keys` and `user_ssh_keys`. - items: - $ref: '#/components/schemas/SSHKeyInput' - type: array - storage: - $ref: '#/components/schemas/Storage' - tags: - items: - type: string - type: array - termination_time: - description: | - When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC. - - This is commonly set in advance for - ephemeral spot market instances but this field may also be set with - on-demand and reservation instances to automatically delete the resource - at a given time. The termination time can also be used to release a - hardware reservation instance at a given time, keeping the reservation - open for other uses. On a spot market device, the termination time will - be set automatically when outbid. - example: 2021-09-03T16:32:00+03:00 - format: date-time - type: string - user_ssh_keys: - description: | - A list of UUIDs identifying the users - that should be authorized to access this device (typically - via /root/.ssh/authorized_keys). These keys will also - appear in the device metadata. - - The users must be members of the project or organization. - - If no SSH keys are specified (`user_ssh_keys`, `project_ssh_keys`, and `ssh_keys` are all empty lists or omitted), - all parent project keys, parent project members keys and organization members keys will be included. This behaviour can - be changed with 'no_ssh_keys' option to omit any SSH key being added. - items: - format: uuid - type: string - type: array - userdata: - description: |- - The userdata presented in the metadata service for this device. Userdata is fetched and interpreted by the operating system installed on the device. Acceptable formats are determined by the operating system, with the exception of a special iPXE enabling syntax which is handled before the operating system starts. - - See [Server User Data](https://deploy.equinix.com/developers/docs/metal/server-metadata/user-data/) and [Provisioning with Custom iPXE](https://deploy.equinix.com/developers/docs/metal/operating-systems/custom-ipxe/#provisioning-with-custom-ipxe) for more details. - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/server-metadata/user-data/ - type: string - required: - - operating_system - - plan - type: object - DeviceHealthRollup: - description: Represents a Device Health Status - properties: - health_rollup: - description: Health Status - enum: - - ok - - warning - - critical - readOnly: true - type: string - updated_at: - description: Last update of health status. - format: date-time - readOnly: true - type: string - type: object - DeviceCreateInFacilityInput: - allOf: - - $ref: '#/components/schemas/FacilityInput' - - $ref: '#/components/schemas/DeviceCreateInput' - DeviceCreateInMetroInput: - allOf: - - $ref: '#/components/schemas/MetroInput' - - $ref: '#/components/schemas/DeviceCreateInput' - DeviceList: - properties: - devices: - items: - $ref: '#/components/schemas/Device' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - DeviceUpdateInput: - properties: - always_pxe: - type: boolean - billing_cycle: - type: string - customdata: - additionalProperties: true - default: {} - type: object - description: - type: string - hostname: - type: string - firmware_set_id: - type: string - ipxe_script_url: - type: string - locked: - description: "Whether the device should be locked, preventing accidental\ - \ deletion." - type: boolean - network_frozen: - description: "If true, this instance can not be converted to a different\ - \ network type." - type: boolean - spot_instance: - description: Can be set to false to convert a spot-market instance to on-demand. - externalDocs: - url: https://deploy.equinix.com/developers/docs/metal/deploy/spot-market/#converting-a-spot-market-server-to-on-demand - type: boolean - tags: - items: - type: string - type: array - userdata: - type: string - type: object - DeviceUsage: - properties: - quantity: - type: string - total: - type: string - unit: - type: string - type: object - DeviceUsageList: - properties: - usages: - items: - $ref: '#/components/schemas/DeviceUsage' - type: array - type: object - Email: - properties: - address: - type: string - default: - type: boolean - href: - type: string - id: - format: uuid - type: string - verified: - type: boolean - type: object - EmailInput: - properties: - address: - type: string - default: - type: boolean - required: - - address - type: object - Entitlement: - properties: - description: - type: string - feature_access: - type: object - href: - type: string - id: - format: uuid - type: string - instance_quota: - type: object - ip_quota: - type: object - name: - type: string - project_quota: - default: 0 - type: integer - slug: - type: string - volume_limits: - type: object - volume_quota: - type: object - weight: - type: integer - required: - - id - - slug - - weight - type: object - Error: - description: Error responses are included with 4xx and 5xx HTTP responses from - the API service. Either "error" or "errors" will be set. - properties: - error: - description: A description of the error that caused the request to fail. - type: string - errors: - description: A list of errors that contributed to the request failing. - items: - description: An error message that contributed to the request failing. - type: string - type: array - type: object - Event: - properties: - body: - type: string - created_at: - format: date-time - type: string - href: - type: string - id: - format: uuid - type: string - interpolated: - type: string - relationships: - items: - $ref: '#/components/schemas/Href' - type: array - state: - type: string - type: - type: string - modified_by: - type: object - ip: - type: string - type: object - EventList: - properties: - events: - items: - $ref: '#/components/schemas/Event' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - FabricServiceToken: - properties: - expires_at: - description: "The expiration date and time of the Fabric service token.\ - \ Once a service token is expired, it is no longer redeemable." - format: date-time - type: string - id: - description: "The UUID that can be used on the Fabric Portal to redeem either\ - \ an A-Side or Z-Side Service Token.\nFor Fabric VCs (Metal Billed), this\ - \ UUID will represent an A-Side Service Token, which will allow interconnections\n\ - to be made from Equinix Metal to other Service Providers on Fabric. For\ - \ Fabric VCs (Fabric Billed), this UUID will\nrepresent a Z-Side Service\ - \ Token, which will allow interconnections to be made to connect an owned\ - \ Fabric Port or \nVirtual Device to Equinix Metal." - format: uuid - type: string - max_allowed_speed: - description: "The maximum speed that can be selected on the Fabric Portal\ - \ when configuring a interconnection with either \nan A-Side or Z-Side\ - \ Service Token. For Fabric VCs (Metal Billed), this is what the billing\ - \ is based off of, and can be one\nof the following options, '50mbps',\ - \ '200mbps', '500mbps', '1gbps', '2gbps', '5gbps' or '10gbps'. For Fabric\ - \ VCs\n(Fabric Billed), this will default to 10Gbps." - example: 10000000000 - format: int64 - type: integer - role: - description: "Either primary or secondary, depending on which interconnection\ - \ the service token is associated to." - enum: - - primary - - secondary - type: string - service_token_type: - description: "Either 'a_side' or 'z_side', depending on which type of Fabric\ - \ VC was requested." - enum: - - a_side - - z_side - type: string - state: - description: |- - The state of the service token that corresponds with the service - token state on Fabric. An 'inactive' state refers to a token that has not been - redeemed yet on the Fabric side, an 'active' state refers to a token that has - already been redeemed, and an 'expired' state refers to a token that has reached - its expiry time. - enum: - - inactive - - active - - expired - type: string - type: object - Facility: - properties: - address: - $ref: '#/components/schemas/Address' - code: - type: string - features: - example: - - baremetal - - backend_transfer - - global_ipv4 - items: - enum: - - baremetal - - backend_transfer - - layer_2 - - global_ipv4 - - ibx - type: string - type: array - id: - format: uuid - type: string - ip_ranges: - description: IP ranges registered in facility. Can be used for GeoIP location - example: - - 2604:1380::/36 - - 147.75.192.0/21 - items: - type: string - type: array - metro: - $ref: '#/components/schemas/Device_metro' - name: - type: string - type: object - FacilityInput: - properties: - facility: - deprecated: true - description: |- - The datacenter where the device should be created. - - Either metro or facility must be provided. - - The API will accept either a single facility `{ "facility": "f1" }`, or it can be instructed to create the device in the best available datacenter `{ "facility": "any" }`. - - Additionally it is possible to set a prioritized location selection. For example `{ "facility": ["f3", "f2", "any"] }` can be used to prioritize `f3` and then `f2` before accepting `any` facility. If none of the facilities provided have availability for the requested device the request will fail. - example: - - sv15 - items: - type: string - type: array - required: - - facility - type: object - FacilityList: - properties: - facilities: - items: - $ref: '#/components/schemas/Facility' - type: array - type: object - FirmwareSet: - description: Represents a Firmware Set - properties: - uuid: - description: Firmware Set UUID - example: 0516463a-47ee-4809-9a66-ece8c740eed9 - format: uuid - readOnly: true - type: string - name: - description: Firmware Set Name - readOnly: true - type: string - created_at: - description: Datetime when the block was created. - format: date-time - readOnly: true - type: string - updated_at: - description: Datetime when the block was updated. - format: date-time - readOnly: true - type: string - attributes: - description: Represents a list of attributes - items: - $ref: '#/components/schemas/Attribute' - type: array - component_firmware: - description: List of components versions - items: - $ref: '#/components/schemas/Component' - type: array - required: - - name - - uuid - type: object - FirmwareSetList: - description: Represents a list of FirmwareSets - items: - $ref: '#/components/schemas/FirmwareSet' - type: array - FirmwareSetListResponse: - description: Represents collection of Firmware Sets - properties: - page_size: - description: Max number of items returned in a page - type: integer - page: - description: Page returned - type: integer - page_count: - description: Items returned in current page - type: integer - total_pages: - description: Total count of pages - type: integer - total_record_count: - description: Total count of items - type: integer - records: - description: Represents a list of FirmwareSets - items: - $ref: '#/components/schemas/FirmwareSet' - type: array - type: object - FirmwareSetResponse: - description: Represents single Firmware set response - properties: - record: - $ref: '#/components/schemas/FirmwareSet' - type: object - GlobalBgpRange: - properties: - address_family: - type: integer - href: - type: string - id: - format: uuid - type: string - project: - $ref: '#/components/schemas/Href' - range: - type: string - type: object - GlobalBgpRangeList: - properties: - global_bgp_ranges: - items: - $ref: '#/components/schemas/GlobalBgpRange' - type: array - type: object - HardwareReservation: - properties: - created_at: - format: date-time - type: string - custom_rate: - description: Amount that will be charged for every billing_cycle. - example: 1050.5 - format: float - type: number - device: - $ref: '#/components/schemas/Device' - facility: - $ref: '#/components/schemas/Facility' - href: - type: string - id: - format: uuid - type: string - need_of_service: - description: Whether this Device requires assistance from Equinix Metal. - type: boolean - plan: - $ref: '#/components/schemas/Plan' - project: - $ref: '#/components/schemas/Project' - provisionable: - description: Whether the reserved server is provisionable or not. Spare - devices can't be provisioned unless they are activated first. - type: boolean - short_id: - description: Short version of the ID. - format: string - type: string - spare: - description: Whether the Hardware Reservation is a spare. Spare Hardware - Reservations are used when a Hardware Reservations requires service from - Equinix Metal - type: boolean - switch_uuid: - description: "Switch short id. This can be used to determine if two devices\ - \ are connected to the same switch, for example." - type: string - termination_time: - description: Expiration date for the reservation. - format: date-time - type: string - type: object - HardwareReservationList: - properties: - hardware_reservations: - items: - $ref: '#/components/schemas/HardwareReservation' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - Href: - properties: - href: - type: string - required: - - href - type: object - IPAddress: - properties: - address_family: - description: Address Family for IP Address - enum: - - 4 - - 6 - example: 4 - format: int32 - type: integer - cidr: - description: "Cidr Size for the IP Block created. Valid values depends on\ - \ the operating system being provisioned. (28..32 for IPv4 addresses,\ - \ 124..127 for IPv6 addresses)" - example: 28 - format: int32 - type: integer - ip_reservations: - description: UUIDs of any IP reservations to use when assigning IPs - items: - type: string - type: array - public: - default: true - description: Address Type for IP Address - example: false - type: boolean - type: object - IPAssignment: - properties: - address: - type: string - address_family: - type: integer - assigned_to: - $ref: '#/components/schemas/Href' - cidr: - type: integer - created_at: - format: date-time - type: string - enabled: - type: boolean - gateway: - type: string - global_ip: - type: boolean - href: - type: string - id: - format: uuid - type: string - manageable: - type: boolean - management: - type: boolean - metro: - $ref: '#/components/schemas/IPAssignment_metro' - netmask: - type: string - network: - type: string - parent_block: - $ref: '#/components/schemas/ParentBlock' - public: - type: boolean - state: - description: | - Only set when this is a Metal Gateway Elastic IP Assignment. - - Describes the current configuration state of this IP on the network. - enum: - - pending - - active - - deleting - type: string - next_hop: - description: | - Only set when this is a Metal Gateway Elastic IP Assignment. - - The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded. - format: ipv4 - type: string - type: - enum: - - IPAssignment - type: string - type: object - IPAssignmentInput: - properties: - address: - type: string - customdata: - type: object - required: - - address - type: object - IPAssignmentList: - properties: - ip_addresses: - items: - $ref: '#/components/schemas/IPAssignment' - type: array - type: object - IPAvailabilitiesList: - properties: - available: - items: - type: string - type: array - type: object - IPReservation: - additionalProperties: false - properties: - addon: - type: boolean - address: - type: string - address_family: - type: integer - assignments: - items: - $ref: '#/components/schemas/IPAssignment' - type: array - available: - type: string - bill: - type: boolean - cidr: - type: integer - created_at: - format: date-time - type: string - customdata: - type: object - enabled: - type: boolean - details: - type: string - facility: - $ref: '#/components/schemas/IPReservation_facility' - gateway: - type: string - global_ip: - type: boolean - href: - type: string - id: - format: uuid - type: string - manageable: - type: boolean - management: - type: boolean - metal_gateway: - $ref: '#/components/schemas/MetalGatewayLite' - metro: - $ref: '#/components/schemas/IPReservation_metro' - netmask: - type: string - network: - type: string - project: - $ref: '#/components/schemas/Project' - project_lite: - $ref: '#/components/schemas/Href' - requested_by: - $ref: '#/components/schemas/Href' - public: - type: boolean - state: - type: string - tags: - items: - type: string - type: array - type: - enum: - - global_ipv4 - - public_ipv4 - - private_ipv4 - - public_ipv6 - type: string - required: - - type - type: object - IPReservationList: - properties: - ip_addresses: - items: - $ref: '#/components/schemas/IPReservationList_ip_addresses_inner' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - IPReservationRequestInput: - properties: - comments: - type: string - customdata: - type: object - details: - type: string - facility: - type: string - fail_on_approval_required: - type: boolean - metro: - description: The code of the metro you are requesting the IP reservation - in. - example: SV - type: string - quantity: - type: integer - tags: - items: - type: string - type: array - type: - type: string - required: - - quantity - - type - type: object - InstancesBatchCreateInput: - properties: - batches: - items: - $ref: '#/components/schemas/InstancesBatchCreateInput_batches_inner' - type: array - type: object - Interconnection: - properties: - contact_email: - type: string - description: - type: string - facility: - $ref: '#/components/schemas/Facility' - id: - format: uuid - type: string - metro: - $ref: '#/components/schemas/Metro' - mode: - description: |- - The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. - The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. - In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances. - enum: - - standard - - tunnel - example: standard - type: string - name: - type: string - organization: - $ref: '#/components/schemas/Organization' - ports: - description: "For Fabric VCs, these represent Virtual Port(s) created for\ - \ the interconnection. For dedicated interconnections, these represent\ - \ the Dedicated Port(s)." - items: - $ref: '#/components/schemas/InterconnectionPort' - type: array - project: - $ref: '#/components/schemas/Project' - redundancy: - description: "Either 'primary', meaning a single interconnection, or 'redundant',\ - \ meaning a redundant interconnection." - enum: - - primary - - redundant - type: string - service_tokens: - description: "For Fabric VCs (Metal Billed), this will show details of the\ - \ A-Side service tokens issued for the interconnection. For Fabric VCs\ - \ (Fabric Billed), this will show the details of the Z-Side service tokens\ - \ issued for the interconnection. Dedicated interconnections will not\ - \ have any service tokens issued. There will be one per interconnection,\ - \ so for redundant interconnections, there should be two service tokens\ - \ issued." - items: - $ref: '#/components/schemas/FabricServiceToken' - type: array - authorization_code: - description: "For Fabric VCs (Metal Billed), this allows Fabric to connect\ - \ the Metal network to any connection Fabric facilitates. Fabric uses\ - \ this token to be able to give more detailed information about the Metal\ - \ end of the network, when viewing resources from within Fabric." - type: string - speed: - description: "For interconnections on Dedicated Ports and shared connections,\ - \ this represents the interconnection's speed in bps. For Fabric VCs,\ - \ this field refers to the maximum speed of the interconnection in bps.\ - \ This value will default to 10Gbps for Fabric VCs (Fabric Billed)." - example: 10000000000 - format: int64 - type: integer - status: - type: string - tags: - items: - type: string - type: array - token: - description: This token is used for shared interconnections to be used as - the Fabric Token. This field is entirely deprecated. - format: uuid - type: string - type: - description: "The 'shared' type of interconnection refers to shared connections,\ - \ or later also known as Fabric Virtual Connections (or Fabric VCs). The\ - \ 'dedicated' type of interconnection refers to interconnections created\ - \ with Dedicated Ports. The 'shared_port_vlan' type of interconnection\ - \ refers to shared connections created without service tokens. The 'shared_port_vlan_to_csp'\ - \ type of interconnection refers to connections created directly to a\ - \ supported cloud service provider." - enum: - - shared - - dedicated - - shared_port_vlan - - shared_port_vlan_to_csp - type: string - fabric_provider: - $ref: '#/components/schemas/Interconnection_fabric_provider' - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - requested_by: - $ref: '#/components/schemas/Href' - type: object - InterconnectionList: - properties: - interconnections: - items: - $ref: '#/components/schemas/Interconnection' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - InterconnectionPort: - properties: - id: - format: uuid - type: string - organization: - $ref: '#/components/schemas/Href' - role: - description: Either 'primary' or 'secondary'. - enum: - - primary - - secondary - type: string - status: - description: "For both Fabric VCs and Dedicated Ports, this will be 'requested'\ - \ on creation and 'deleting' on deletion. Once the Fabric VC has found\ - \ its corresponding Fabric connection, this will turn to 'active'. For\ - \ Dedicated Ports, once the dedicated port is associated, this will also\ - \ turn to 'active'. For Fabric VCs, this can turn into an 'expired' state\ - \ if the service token associated is expired." - enum: - - requested - - active - - deleting - - expired - - delete_failed - type: string - switch_id: - description: A switch 'short ID' - type: string - virtual_circuits: - items: - $ref: '#/components/schemas/VirtualCircuit' - type: array - name: - type: string - speed: - format: int64 - type: integer - link_status: - type: string - href: - type: string - type: object - InterconnectionPortList: - properties: - ports: - items: - $ref: '#/components/schemas/InterconnectionPort' - type: array - type: object - InterconnectionUpdateInput: - properties: - contact_email: - type: string - description: - type: string - mode: - description: |- - The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. - The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. - In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances. - enum: - - standard - - tunnel - example: standard - type: string - name: - type: string - tags: - items: - type: string - type: array - type: object - Invitation: - properties: - created_at: - format: date-time - type: string - href: - type: string - id: - format: uuid - type: string - invitation: - $ref: '#/components/schemas/Href' - invited_by: - $ref: '#/components/schemas/Href' - invitee: - format: email - type: string - nonce: - type: string - organization: - $ref: '#/components/schemas/Href' - projects: - items: - $ref: '#/components/schemas/Href' - type: array - roles: - items: - enum: - - admin - - billing - - collaborator - - limited_collaborator - type: string - type: array - updated_at: - format: date-time - type: string - type: object - InvitationInput: - properties: - invitee: - format: email - type: string - message: - type: string - organization_id: - format: uuid - type: string - projects_ids: - items: - format: uuid - type: string - type: array - roles: - items: - enum: - - admin - - billing - - collaborator - - limited_collaborator - type: string - type: array - required: - - invitee - type: object - InvitationList: - properties: - invitations: - items: - $ref: '#/components/schemas/Membership' - type: array - type: object - Invoice: - properties: - amount: - format: float - type: number - balance: - format: float - type: number - created_on: - format: date - type: string - credit_amount: - format: float - type: number - credits_applied: - format: float - type: number - currency: - example: USD - type: string - due_on: - format: date - type: string - id: - format: uuid - type: string - items: - items: - $ref: '#/components/schemas/LineItem' - type: array - number: - type: string - project: - $ref: '#/components/schemas/ProjectIdName' - reference_number: - type: string - status: - type: string - target_date: - format: date - type: string - type: object - InvoiceList: - properties: - invoices: - items: - $ref: '#/components/schemas/Invoice' - type: array - type: object - License: - properties: - description: - type: string - id: - format: uuid - type: string - license_key: - type: string - licensee_product: - $ref: '#/components/schemas/Href' - project: - $ref: '#/components/schemas/Href' - size: - type: number - type: object - LicenseCreateInput: - properties: - description: - type: string - licensee_product_id: - type: string - size: - type: number - type: object - LicenseList: - properties: - licenses: - items: - $ref: '#/components/schemas/License' - type: array - type: object - LicenseUpdateInput: - properties: - description: - type: string - size: - type: number - type: object - LineItem: - properties: - amount: - format: float - type: number - currency: - type: string - description: - type: string - details: - type: string - plan: - $ref: '#/components/schemas/PlanIdName' - unit: - type: string - unit_price: - format: float - type: number - hostname: - type: string - location: - type: string - item_type: - type: string - service_id: - format: uuid - type: string - start_date: - format: date - type: string - end_date: - format: date - type: string - project_id: - format: uuid - type: string - plan_id: - format: uuid - type: string - project: - $ref: '#/components/schemas/ProjectIdName' - adjustments: - description: Adjustments for the line item - items: - $ref: '#/components/schemas/LineItemAdjustment' - type: array - type: object - Membership: - properties: - created_at: - format: date-time - type: string - href: - type: string - id: - format: uuid - type: string - project: - $ref: '#/components/schemas/Href' - roles: - items: - type: string - type: array - updated_at: - format: date-time - type: string - user: - $ref: '#/components/schemas/Href' - type: object - MembershipInput: - properties: - role: - items: - type: string - type: array - type: object - MembershipList: - properties: - memberships: - items: - $ref: '#/components/schemas/Membership' - type: array - type: object - Meta: - properties: - first: - $ref: '#/components/schemas/Href' - last: - $ref: '#/components/schemas/Href' - next: - $ref: '#/components/schemas/Href' - previous: - $ref: '#/components/schemas/Href' - self: - $ref: '#/components/schemas/Href' - total: - type: integer - current_page: - type: integer - last_page: - type: integer - type: object - Metadata: - properties: - class: - type: string - customdata: - additionalProperties: true - default: {} - type: object - facility: - description: The facility code of the instance - type: string - hostname: - type: string - id: - format: uuid - type: string - iqn: - type: string - metro: - description: The metro code of the instance - type: string - network: - $ref: '#/components/schemas/Metadata_network' - operating_system: - type: object - plan: - description: The plan slug of the instance - type: string - private_subnets: - description: An array of the private subnets - items: - type: string - type: array - reserved: - type: boolean - specs: - description: The specs of the plan version of the instance - type: object - ssh_keys: - items: - type: string - type: array - switch_short_id: - type: string - state: - description: "The current state the instance is in.\n\n* When an instance\ - \ is initially created it will be in the `queued` state until it is picked\ - \ up by the provisioner.\n* Once provisioning has begun on the instance\ - \ it's state will move to `provisioning`.\n* When an instance is deleted,\ - \ it will move to `deprovisioning` state until the deprovision is completed\ - \ and the instance state moves to `deleted`.\n* If an instance fails to\ - \ provision or deprovision it will move to `failed` state.\n* Once an\ - \ instance has completed provisioning it will move to `active` state.\n\ - * If an instance is currently powering off or powering on it will move\ - \ to `powering_off` or `powering_on` states respectively. \n* When the\ - \ instance is powered off completely it will move to the `inactive` state.\n\ - * When an instance is powered on completely it will move to the `active`\ - \ state.\n* Using the reinstall action to install a new OS on the instance\ - \ will cause the instance state to change to `reinstalling`.\n* When the\ - \ reinstall action is complete the instance will move to `active` state." - enum: - - queued - - provisioning - - deprovisioning - - reinstalling - - active - - inactive - - failed - - powering_on - - powering_off - - deleted - type: string - tags: - items: - type: string - type: array - volumes: - items: - type: string - type: array - type: object - MetalGateway: - properties: - created_at: - format: date-time - type: string - created_by: - $ref: '#/components/schemas/Href' - href: - type: string - id: - format: uuid - type: string - ip_reservation: - $ref: '#/components/schemas/IPReservation' - project: - $ref: '#/components/schemas/Project' - state: - description: "The current state of the Metal Gateway. 'Ready' indicates\ - \ the gateway record has been configured, but is currently not active\ - \ on the network. 'Active' indicates the gateway has been configured on\ - \ the network. 'Deleting' is a temporary state used to indicate that the\ - \ gateway is in the process of being un-configured from the network, after\ - \ which the gateway record will be deleted." - enum: - - ready - - active - - deleting - type: string - updated_at: - format: date-time - type: string - virtual_network: - $ref: '#/components/schemas/VirtualNetwork' - type: object - MetalGatewayCreateInput: - properties: - ip_reservation_id: - description: The UUID of an IP reservation that belongs to the same project - as where the metal gateway will be created in. This field is required - unless the private IPv4 subnet size is specified. - format: uuid - type: string - private_ipv4_subnet_size: - description: |- - The subnet size (8, 16, 32, 64, or 128) of the private IPv4 reservation that will be created for the metal gateway. This field is required unless a project IP reservation was specified. - Please keep in mind that the number of private metal gateway ranges are limited per project. If you would like to increase the limit per project, please contact support for assistance. - type: integer - virtual_network_id: - description: The UUID of a metro virtual network that belongs to the same - project as where the metal gateway will be created in. - format: uuid - type: string - required: - - virtual_network_id - type: object - MetalGatewayElasticIpCreateInput: - properties: - address: - description: An IP address (or IP Address range) contained within one of - the project's IP Reservations - example: 147.75.234.8/31 - type: string - next_hop: - description: An IP address contained within the Metal Gateways' IP Reservation - range. - example: 192.168.12.13 - format: ipv4 - type: string - customdata: - additionalProperties: true - description: Optional User-defined JSON object value. - type: object - tags: - description: Optional list of User-defined tags. Can be used by users to - provide additional details or context regarding the purpose or usage of - this resource. - example: - - NY - - prod - - public - items: - type: string - type: array - required: - - address - - next_hop - type: object - MetalGatewayList: - properties: - metal_gateways: - items: - $ref: '#/components/schemas/MetalGatewayList_metal_gateways_inner' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - MetalGatewayLite: - properties: - created_at: - format: date-time - type: string - gateway_address: - description: "The gateway address with subnet CIDR value for this Metal\ - \ Gateway. For example, a Metal Gateway using an IP reservation with block\ - \ 10.1.2.0/27 would have a gateway address of 10.1.2.1/27." - example: 10.1.2.1/27 - type: string - href: - type: string - id: - format: uuid - type: string - state: - description: "The current state of the Metal Gateway. 'Ready' indicates\ - \ the gateway record has been configured, but is currently not active\ - \ on the network. 'Active' indicates the gateway has been configured on\ - \ the network. 'Deleting' is a temporary state used to indicate that the\ - \ gateway is in the process of being un-configured from the network, after\ - \ which the gateway record will be deleted." - enum: - - ready - - active - - deleting - type: string - updated_at: - format: date-time - type: string - vlan: - description: The VLAN id of the Virtual Network record associated to this - Metal Gateway. - example: 1001 - type: integer - type: object - Metro: - properties: - code: - type: string - country: - type: string - id: - format: uuid - type: string - name: - type: string - type: object - MetroInput: - properties: - metro: - description: |- - Metro code or ID of where the device should be provisioned in, or it can be instructed to create the device in the best available metro with `{ "metro": "any" }`. - The special metro value of any means anywhere, any metro. When any is chosen in the request, the metro location is picked per our scheduling algorithms that favor the following factors: hardware reservation location (if requesting reserved hardware), ip reservations, spot instances, etc. - The any keyword *does not* optimize for cost, this means that usage costs (instance, transfer, other features dependent on location) will vary. Please check metro value in response to see where the device was created. - Either metro or facility must be provided. - example: sv - type: string - required: - - metro - type: object - MetroList: - properties: - metros: - items: - $ref: '#/components/schemas/Metro' - type: array - type: object - NewPassword: - properties: - new_password: - type: string - type: object - OperatingSystem: - properties: - build_date: - description: The date on which the current OS image was build and released - format: date - type: string - deprecation_date: - description: The date when the OS is deprecated - format: date - type: string - distro: - type: string - distro_label: - type: string - end_of_life_date: - description: The OS no longer receives any updates and may be disabled at - any time - format: date - type: string - end_of_service_date: - description: "When the OS is nearing end of life, typically 30 days before\ - \ end of life" - format: date - type: string - id: - format: uuid - type: string - licensed: - description: Licenced OS is priced according to pricing property - type: boolean - lifecycle_state: - description: Where in the support lifecycle the OS is - type: string - name: - type: string - preinstallable: - description: Servers can be already preinstalled with OS in order to shorten - provision time. - type: boolean - pricing: - description: This object contains price per time unit and optional multiplier - value if licence price depends on hardware plan or components (e.g. number - of cores) - type: object - provisionable_on: - items: - type: string - type: array - release_date: - description: The date when the OS was released - format: date - type: string - release_notes: - description: "The current release notes for this OS image, typically in\ - \ Markdown format" - type: string - slug: - type: string - version: - type: string - default_operating_system: - description: Default operating system for the distro. - readOnly: true - type: boolean - type: object - OperatingSystemList: - properties: - operating_systems: - items: - $ref: '#/components/schemas/OperatingSystem' - type: array - type: object - Organization: - properties: - address: - $ref: '#/components/schemas/Address' - billing_address: - $ref: '#/components/schemas/Address' - created_at: - format: date-time - type: string - credit_amount: - format: float - type: number - customdata: - type: object - description: - type: string - enforce_2fa_at: - description: "Force to all members to have enabled the two factor authentication\ - \ after that date, unless the value is null" - format: date-time - type: string - href: - type: string - id: - format: uuid - type: string - logo: - type: string - members: - items: - $ref: '#/components/schemas/Href' - type: array - memberships: - items: - $ref: '#/components/schemas/Href' - type: array - name: - type: string - projects: - items: - $ref: '#/components/schemas/Href' - type: array - terms: - type: integer - twitter: - type: string - updated_at: - format: date-time - type: string - website: - type: string - type: object - OrganizationInput: - properties: - address: - $ref: '#/components/schemas/Address' - billing_address: - $ref: '#/components/schemas/Address' - customdata: - type: object - description: - type: string - enforce_2fa_at: - description: "Force to all members to have enabled the two factor authentication\ - \ after that date, unless the value is null" - format: date-time - type: string - name: - type: string - twitter: - type: string - website: - type: string - type: object - OrganizationList: - properties: - meta: - $ref: '#/components/schemas/Meta' - organizations: - items: - $ref: '#/components/schemas/Organization' - type: array - type: object - ParentBlock: - properties: - cidr: - type: integer - href: - type: string - netmask: - type: string - network: - type: string - type: object - PaymentMethod: - properties: - billing_address: - $ref: '#/components/schemas/PaymentMethodBillingAddress' - card_type: - type: string - cardholder_name: - type: string - created_at: - format: date-time - type: string - created_by_user: - $ref: '#/components/schemas/Href' - default: - type: boolean - email: - type: string - expiration_month: - type: string - expiration_year: - type: string - id: - format: uuid - type: string - name: - type: string - organization: - $ref: '#/components/schemas/Href' - projects: - items: - $ref: '#/components/schemas/Href' - type: array - type: - type: string - updated_at: - format: date-time - type: string - type: object - PaymentMethodBillingAddress: - properties: - country_code_alpha2: - type: string - postal_code: - type: string - street_address: - type: string - type: object - PaymentMethodCreateInput: - properties: - default: - type: boolean - name: - type: string - nonce: - type: string - required: - - name - - nonce - type: object - PaymentMethodList: - properties: - payment_methods: - items: - $ref: '#/components/schemas/PaymentMethod' - type: array - type: object - PaymentMethodUpdateInput: - properties: - billing_address: - type: object - cardholder_name: - type: string - default: - type: boolean - expiration_month: - type: string - expiration_year: - type: integer - name: - type: string - type: object - Plan: - properties: - available_in: - description: "Shows which facilities the plan is available in, and the facility-based\ - \ price if it is different from the default price." - items: - $ref: '#/components/schemas/Plan_available_in_inner' - type: array - available_in_metros: - description: "Shows which metros the plan is available in, and the metro-based\ - \ price if it is different from the default price." - items: - $ref: '#/components/schemas/Plan_available_in_metros_inner' - type: array - categories: - description: "Categories of the plan, like compute or storage. A Plan can\ - \ belong to multiple categories." - items: - type: string - type: array - class: - example: m3.large.x86 - type: string - description: - type: string - deployment_types: - items: - enum: - - on_demand - - spot_market - type: string - minItems: 0 - type: array - uniqueItems: true - id: - format: uuid - type: string - legacy: - description: Deprecated. Always return false - type: boolean - x-deprecated: true - line: - type: string - name: - type: string - pricing: - type: object - slug: - example: m3.large.x86 - type: string - specs: - $ref: '#/components/schemas/Plan_specs' - type: - description: The plan type - enum: - - standard - - workload_optimized - - custom - type: string - type: object - PlanList: - properties: - plans: - items: - $ref: '#/components/schemas/Plan' - type: array - type: object - Port: - description: Port is a hardware port associated with a reserved or instantiated - hardware device. - properties: - bond: - $ref: '#/components/schemas/BondPortData' - data: - $ref: '#/components/schemas/PortData' - disbond_operation_supported: - description: Indicates whether or not the bond can be broken on the port - (when applicable). - type: boolean - href: - type: string - id: - format: uuid - type: string - name: - example: bond0 - type: string - type: - description: Type is either "NetworkBondPort" for bond ports or "NetworkPort" - for bondable ethernet ports - enum: - - NetworkPort - - NetworkBondPort - type: string - network_type: - description: Composite network type of the bond - enum: - - layer2-bonded - - layer2-individual - - layer3 - - hybrid - - hybrid-bonded - type: string - native_virtual_network: - $ref: '#/components/schemas/VirtualNetwork' - virtual_networks: - items: - $ref: '#/components/schemas/VirtualNetwork' - type: array - type: object - PortAssignInput: - properties: - vnid: - description: | - Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself. - example: "1001" - type: string - type: object - PortConvertLayer3Input: - properties: - request_ips: - items: - $ref: '#/components/schemas/PortConvertLayer3Input_request_ips_inner' - type: array - type: object - PortVlanAssignment: - properties: - created_at: - format: date-time - type: string - id: - format: uuid - type: string - native: - type: boolean - port: - $ref: '#/components/schemas/Href' - state: - enum: - - assigned - - unassigning - type: string - updated_at: - format: date-time - type: string - virtual_network: - $ref: '#/components/schemas/Href' - vlan: - type: integer - type: object - PortVlanAssignmentBatch: - properties: - created_at: - format: date-time - type: string - error_messages: - items: - type: string - type: array - id: - format: uuid - type: string - port: - $ref: '#/components/schemas/Port' - quantity: - type: integer - state: - enum: - - queued - - in_progress - - completed - - failed - type: string - updated_at: - format: date-time - type: string - vlan_assignments: - items: - $ref: '#/components/schemas/PortVlanAssignmentBatch_vlan_assignments_inner' - type: array - project: - $ref: '#/components/schemas/Href' - type: object - PortVlanAssignmentBatchCreateInput: - properties: - vlan_assignments: - items: - $ref: '#/components/schemas/PortVlanAssignmentBatchCreateInput_vlan_assignments_inner' - type: array - type: object - PortVlanAssignmentBatchList: - properties: - batches: - items: - $ref: '#/components/schemas/PortVlanAssignmentBatch' - type: array - type: object - PortVlanAssignmentList: - properties: - vlan_assignments: - items: - $ref: '#/components/schemas/PortVlanAssignment' - type: array - type: object - Project: - properties: - backend_transfer_enabled: - type: boolean - bgp_config: - $ref: '#/components/schemas/Href' - created_at: - format: date-time - type: string - customdata: - type: object - devices: - items: - $ref: '#/components/schemas/Href' - type: array - href: - type: string - id: - format: uuid - type: string - invitations: - items: - $ref: '#/components/schemas/Href' - type: array - max_devices: - type: object - members: - items: - $ref: '#/components/schemas/Href' - type: array - memberships: - items: - $ref: '#/components/schemas/Href' - type: array - name: - description: The name of the project. Cannot contain characters encoded - in greater than 3 bytes such as emojis. - maxLength: 80 - minLength: 1 - type: string - network_status: - type: object - organization: - $ref: '#/components/schemas/Organization' - payment_method: - $ref: '#/components/schemas/Href' - ssh_keys: - items: - $ref: '#/components/schemas/Href' - type: array - updated_at: - format: date-time - type: string - url: - type: string - volumes: - items: - $ref: '#/components/schemas/Href' - type: array - type: - description: The type of the project. Projects of type `vmce` are part of - an in development feature and not available to all customers. - enum: - - default - - vmce - type: string - tags: - items: - type: string - type: array - type: object - ProjectCreateFromRootInput: - properties: - customdata: - type: object - name: - description: The name of the project. Cannot contain characters encoded - in greater than 3 bytes such as emojis. - maxLength: 80 - minLength: 1 - type: string - organization_id: - format: uuid - type: string - payment_method_id: - format: uuid - type: string - type: - description: The type of the project. If no type is specified the project - type will automatically be `default` Projects of type 'vmce' are part - of an in development feature and not available to all customers. - enum: - - default - - vmce - type: string - tags: - items: - type: string - type: array - required: - - name - type: object - ProjectCreateInput: - properties: - customdata: - type: object - name: - description: The name of the project. Cannot contain characters encoded - in greater than 3 bytes such as emojis. - maxLength: 80 - minLength: 1 - type: string - payment_method_id: - format: uuid - type: string - type: - description: The type of the project. If no type is specified the project - type will automatically be `default` Projects of type 'vmce' are part - of an in development feature and not available to all customers. - enum: - - default - - vmce - type: string - tags: - items: - type: string - type: array - required: - - name - type: object - ProjectIdName: - properties: - id: - format: uuid - type: string - name: - type: string - type: object - ProjectList: - properties: - meta: - $ref: '#/components/schemas/Meta' - projects: - items: - $ref: '#/components/schemas/Project' - type: array - type: object - ProjectUpdateInput: - properties: - backend_transfer_enabled: - type: boolean - customdata: - type: object - name: - description: The name of the project. Cannot contain characters encoded - in greater than 3 bytes such as emojis. - maxLength: 80 - minLength: 1 - type: string - payment_method_id: - format: uuid - type: string - tags: - items: - type: string - type: array - type: object - ProjectUsage: - properties: - facility: - type: string - name: - type: string - plan: - type: string - plan_version: - type: string - price: - type: string - quantity: - type: string - total: - type: string - type: - type: string - unit: - type: string - type: object - ProjectUsageList: - properties: - usages: - items: - $ref: '#/components/schemas/ProjectUsage' - type: array - type: object - SSHKey: - properties: - created_at: - format: date-time - type: string - entity: - $ref: '#/components/schemas/Href' - fingerprint: - type: string - href: - type: string - id: - format: uuid - type: string - key: - type: string - label: - type: string - updated_at: - format: date-time - type: string - tags: - items: - type: string - type: array - type: object - SSHKeyCreateInput: - properties: - instances_ids: - description: |- - List of instance UUIDs to associate SSH key with, when empty array is sent all instances belonging - to entity will be included - items: - format: uuid - type: string - type: array - key: - type: string - label: - type: string - tags: - items: - type: string - type: array - type: object - SSHKeyInput: - properties: - key: - type: string - label: - type: string - tags: - items: - type: string - type: array - type: object - SSHKeyList: - properties: - ssh_keys: - items: - $ref: '#/components/schemas/SSHKey' - type: array - type: object - SelfServiceReservationItemRequest: - properties: - metro_id: - description: Metro ID of the item. - format: uuid - type: string - plan_id: - description: Plan ID of the item. - format: uuid - type: string - quantity: - description: Number of items. - type: integer - term: - description: Contract term of the item. - type: string - type: object - SelfServiceReservationItemResponse: - properties: - amount: - format: float - type: number - id: - type: string - metro_code: - type: string - metro_id: - format: uuid - type: string - metro_name: - type: string - plan: - $ref: '#/components/schemas/Plan' - plan_id: - format: uuid - type: string - x-deprecated: true - plan_name: - type: string - x-deprecated: true - plan_slug: - type: string - x-deprecated: true - plan_categories: - items: - type: string - type: array - x-deprecated: true - quantity: - type: integer - term: - type: string - type: object - SelfServiceReservationList: - properties: - reservations: - items: - $ref: '#/components/schemas/SelfServiceReservationResponse' - type: array - type: object - SelfServiceReservationResponse: - properties: - created_at: - format: date-time - type: string - item: - items: - $ref: '#/components/schemas/SelfServiceReservationItemResponse' - type: array - notes: - type: string - organization: - type: string - organization_id: - format: uuid - type: string - period: - $ref: '#/components/schemas/CreateSelfServiceReservationRequest_period' - project: - type: string - project_id: - format: uuid - type: string - start_date: - format: date-time - type: string - status: - type: string - total_cost: - type: integer - type: object - ServerInfo: - properties: - facility: - deprecated: true - type: string - metro: - description: The metro ID or code to check the capacity in. - type: string - plan: - description: The plan ID or slug to check the capacity of. - type: string - quantity: - description: The number of servers to check the capacity of. - type: string - type: object - SharedPortVCVlanCreateInput: - properties: - contact_email: - description: The preferred email used for communication and notifications - about the Equinix Fabric interconnection. Optional and defaults to the - primary user email address when using a User API key or the organization - owner email address when using a Project API key. - format: email - type: string - description: - type: string - name: - type: string - project: - type: string - metro: - description: "A Metro ID or code. When creating Fabric VCs (Metal Billed),\ - \ this is where interconnection will be originating from, as we pre-authorize\ - \ the use of one of our shared ports as the origin of the interconnection\ - \ using A-Side service tokens. We only allow local connections for Fabric\ - \ VCs (Metal Billed), so the destination location must be the same as\ - \ the origin. For Fabric VCs (Fabric Billed), or shared connections, this\ - \ will be the destination of the interconnection. We allow remote connections\ - \ for Fabric VCs (Fabric Billed), so the origin of the interconnection\ - \ can be a different metro set here." - type: string - speed: - description: |- - A interconnection speed, in bps, mbps, or gbps. For Fabric VCs, this represents the maximum speed of the interconnection. For Fabric VCs (Metal Billed), this can only be one of the following: - ''50mbps'', ''200mbps'', ''500mbps'', ''1gbps'', ''2gbps'', ''5gbps'' or ''10gbps'', and is required for creation. For Fabric VCs (Fabric Billed), this field will always default to ''10gbps'' even if it is not provided. - For example, ''500000000'', ''50m'', or' ''500mbps'' will all work as valid inputs. - example: "10000000000" - type: string - tags: - items: - type: string - type: array - type: - enum: - - shared_port_vlan - type: string - vlans: - description: "A list of one or two metro-based VLANs that will be set on\ - \ the virtual circuits of primary and/or secondary interconnections respectively\ - \ when creating Fabric VCs. VLANs can also be set after the interconnection\ - \ is created, but are required to fully activate the virtual circuits." - example: - - 1000 - - 1001 - items: - type: integer - type: array - required: - - metro - - name - - project - - type - - vlans - type: object - SpotMarketPricesList: - properties: - spot_market_prices: - $ref: '#/components/schemas/SpotPricesReport' - type: object - SpotMarketPricesPerMetroList: - properties: - spot_market_prices: - $ref: '#/components/schemas/SpotMarketPricesPerMetroReport' - type: object - SpotMarketPricesPerMetroReport: - properties: - am: - $ref: '#/components/schemas/SpotPricesPerFacility' - ch: - $ref: '#/components/schemas/SpotPricesPerFacility' - da: - $ref: '#/components/schemas/SpotPricesPerFacility' - la: - $ref: '#/components/schemas/SpotPricesPerFacility' - ny: - $ref: '#/components/schemas/SpotPricesPerFacility' - sg: - $ref: '#/components/schemas/SpotPricesPerFacility' - sv: - $ref: '#/components/schemas/SpotPricesPerFacility' - type: object - SpotMarketRequest: - properties: - created_at: - format: date-time - type: string - devices_max: - type: integer - devices_min: - type: integer - end_at: - format: date-time - type: string - facilities: - $ref: '#/components/schemas/Href' - href: - type: string - id: - format: uuid - type: string - instances: - $ref: '#/components/schemas/Href' - max_bid_price: - format: float - type: number - metro: - $ref: '#/components/schemas/SpotMarketRequest_metro' - project: - $ref: '#/components/schemas/Href' - type: object - SpotMarketRequestCreateInput: - properties: - devices_max: - type: integer - devices_min: - type: integer - end_at: - format: date-time - type: string - facilities: - deprecated: true - items: - format: uuid - type: string - type: array - instance_parameters: - $ref: '#/components/schemas/SpotMarketRequestCreateInput_instance_parameters' - max_bid_price: - format: float - type: number - metro: - description: The metro ID or code the spot market request will be created - in. - type: string - type: object - SpotMarketRequestList: - properties: - spot_market_requests: - items: - $ref: '#/components/schemas/SpotMarketRequest' - type: array - type: object - SpotPricesDatapoints: - properties: - datapoints: - items: - $ref: '#/components/schemas/SpotPricesDatapointsList' - type: array - type: object - SpotPricesDatapointsList: - items: - type: number - type: array - SpotPricesHistoryReport: - properties: - prices_history: - $ref: '#/components/schemas/SpotPricesDatapoints' - type: object - SpotPricesPerBaremetal: - properties: - price: - format: float - type: number - type: object - SpotPricesPerFacility: - properties: - baremetal_0: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - baremetal_1: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - baremetal_2: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - baremetal_2a: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - baremetal_2a2: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - baremetal_3: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - baremetal_s: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - c2.medium.x86: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - m2.xlarge.x86: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - type: object - SpotPricesPerNewFacility: - properties: - baremetal_1e: - $ref: '#/components/schemas/SpotPricesPerBaremetal' - type: object - SpotPricesReport: - properties: - ams1: - $ref: '#/components/schemas/SpotPricesPerFacility' - atl1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - dfw1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - ewr1: - $ref: '#/components/schemas/SpotPricesPerFacility' - fra1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - iad1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - lax1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - nrt1: - $ref: '#/components/schemas/SpotPricesPerFacility' - ord1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - sea1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - sin1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - sjc1: - $ref: '#/components/schemas/SpotPricesPerFacility' - syd1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - yyz1: - $ref: '#/components/schemas/SpotPricesPerNewFacility' - type: object - SupportRequestInput: - properties: - device_id: - type: string - message: - type: string - priority: - enum: - - urgent - - high - - medium - - low - type: string - project_id: - type: string - subject: - type: string - required: - - message - - subject - type: object - TransferRequest: - properties: - created_at: - format: date-time - type: string - href: - type: string - id: - format: uuid - type: string - project: - $ref: '#/components/schemas/Href' - target_organization: - $ref: '#/components/schemas/Href' - updated_at: - format: date-time - type: string - type: object - TransferRequestInput: - properties: - target_organization_id: - format: uuid - type: string - type: object - TransferRequestList: - properties: - transfers: - items: - $ref: '#/components/schemas/TransferRequest' - type: array - type: object - UpdateEmailInput: - properties: - default: - type: boolean - type: object - User: - properties: - avatar_thumb_url: - type: string - avatar_url: - type: string - created_at: - format: date-time - type: string - customdata: - type: object - default_organization_id: - format: uuid - type: string - default_project_id: - format: uuid - type: string - email: - type: string - emails: - items: - $ref: '#/components/schemas/Href' - type: array - first_name: - type: string - fraud_score: - type: string - full_name: - type: string - href: - type: string - id: - format: uuid - type: string - last_login_at: - format: date-time - type: string - last_name: - type: string - max_organizations: - type: integer - max_projects: - type: integer - phone_number: - type: string - short_id: - type: string - timezone: - type: string - two_factor_auth: - type: string - updated_at: - format: date-time - type: string - type: object - UserCreateInput: - properties: - company_name: - type: string - company_url: - type: string - customdata: - type: object - emails: - items: - $ref: '#/components/schemas/EmailInput' - type: array - first_name: - type: string - last_name: - type: string - level: - type: string - password: - type: string - phone_number: - type: string - social_accounts: - type: object - timezone: - type: string - title: - type: string - two_factor_auth: - type: string - verified_at: - format: date-time - type: string - invitation_id: - format: uuid - type: string - nonce: - type: string - required: - - emails - - first_name - - last_name - type: object - Userdata: - properties: - userdata: - type: string - type: object - UserLimited: - properties: - avatar_thumb_url: - description: Avatar thumbnail URL of the User - type: string - avatar_url: - description: Avatar URL of the User - type: string - full_name: - description: Full name of the User - type: string - href: - description: API URL uniquely representing the User - type: string - id: - description: ID of the User - format: uuid - type: string - required: - - id - type: object - UserList: - properties: - meta: - $ref: '#/components/schemas/Meta' - users: - items: - $ref: '#/components/schemas/User' - type: array - type: object - UserLite: - properties: - avatar_thumb_url: - description: Avatar thumbnail URL of the User - type: string - created_at: - description: When the user was created - format: date-time - type: string - email: - description: Primary email address of the User - type: string - first_name: - description: First name of the User - type: string - full_name: - description: Full name of the User - type: string - href: - description: API URL uniquely representing the User - type: string - id: - description: ID of the User - format: uuid - type: string - last_name: - description: Last name of the User - type: string - short_id: - description: Short ID of the User - type: string - updated_at: - description: When the user details were last updated - format: date-time - type: string - required: - - id - - short_id - type: object - UserUpdateInput: - properties: - customdata: - type: object - first_name: - type: string - last_name: - type: string - password: - type: string - phone_number: - type: string - timezone: - type: string - type: object - VerifyEmail: - properties: - user_token: - description: User verification token - type: string - writeOnly: true - required: - - user_token - type: object - VirtualCircuit: - oneOf: - - $ref: '#/components/schemas/VlanVirtualCircuit' - - $ref: '#/components/schemas/VrfVirtualCircuit' - VirtualCircuitCreateInput: - oneOf: - - $ref: '#/components/schemas/VlanVirtualCircuitCreateInput' - - $ref: '#/components/schemas/VrfVirtualCircuitCreateInput' - VirtualCircuitList: - properties: - virtual_circuits: - items: - $ref: '#/components/schemas/VirtualCircuit' - type: array - type: object - VirtualCircuitUpdateInput: - oneOf: - - $ref: '#/components/schemas/VlanVirtualCircuitUpdateInput' - - $ref: '#/components/schemas/VrfVirtualCircuitUpdateInput' - VirtualNetwork: - properties: - assigned_to: - $ref: '#/components/schemas/Project' - assigned_to_virtual_circuit: - description: True if the virtual network is attached to a virtual circuit. - False if not. - type: boolean - description: - type: string - facility: - $ref: '#/components/schemas/Href' - href: - type: string - created_at: - format: date-time - type: string - id: - format: uuid - type: string - instances: - description: A list of instances with ports currently associated to this - Virtual Network. - items: - $ref: '#/components/schemas/Device' - type: array - metal_gateways: - description: A list of metal gateways currently associated to this Virtual - Network. - items: - $ref: '#/components/schemas/MetalGatewayLite' - type: array - metro: - $ref: '#/components/schemas/Metro' - metro_code: - description: The Metro code of the metro in which this Virtual Network is - defined. - type: string - vxlan: - type: integer - tags: - items: - type: string - type: array - type: object - VirtualNetworkCreateInput: - properties: - description: - type: string - facility: - deprecated: true - description: The UUID (or facility code) for the Facility in which to create - this Virtual network. - type: string - metro: - description: The UUID (or metro code) for the Metro in which to create this - Virtual Network. - type: string - vxlan: - description: "VLAN ID between 2-3999. Must be unique for the project within\ - \ the Metro in which this Virtual Network is being created. If no value\ - \ is specified, the next-available VLAN ID in the range 1000-1999 will\ - \ be automatically selected." - example: 1099 - type: integer - tags: - items: - type: string - type: array - type: object - VirtualNetworkList: - properties: - virtual_networks: - items: - $ref: '#/components/schemas/VirtualNetwork' - type: array - type: object - VlanCSPConnectionCreateInput: - properties: - contact_email: - description: The preferred email used for communication and notifications - about the Equinix Fabric interconnection. Optional and defaults to the - primary user email address when using a User API key or the organization - owner email address when using a Project API key. - format: email - type: string - description: - type: string - name: - type: string - project: - type: string - metro: - description: "A Metro ID or code. When creating Fabric VCs (Metal Billed),\ - \ this is where interconnection will be originating from, as we pre-authorize\ - \ the use of one of our shared ports as the origin of the interconnection\ - \ using A-Side service tokens. We only allow local connections for Fabric\ - \ VCs (Metal Billed), so the destination location must be the same as\ - \ the origin. For Fabric VCs (Fabric Billed), or shared connections, this\ - \ will be the destination of the interconnection. We allow remote connections\ - \ for Fabric VCs (Fabric Billed), so the origin of the interconnection\ - \ can be a different metro set here." - type: string - speed: - description: |- - A interconnection speed, in bps, mbps, or gbps. For Fabric VCs, this represents the maximum speed of the interconnection. For Fabric VCs (Metal Billed), this can only be one of the following: - ''50mbps'', ''200mbps'', ''500mbps'', ''1gbps'', ''2gbps'', ''5gbps'' or ''10gbps'', and is required for creation. For Fabric VCs (Fabric Billed), this field will always default to ''10gbps'' even if it is not provided. - For example, ''500000000'', ''50m'', or' ''500mbps'' will all work as valid inputs. - example: "10000000000" - type: string - tags: - items: - type: string - type: array - type: - enum: - - shared_port_vlan_to_csp - type: string - vlans: - description: "A list of one or two metro-based VLANs that will be set on\ - \ the virtual circuits of primary and/or secondary interconnections respectively\ - \ when creating Fabric VCs. VLANs can also be set after the interconnection\ - \ is created, but are required to fully activate the virtual circuits." - example: - - 1000 - - 1001 - items: - type: integer - type: array - fabric_provider: - $ref: '#/components/schemas/VlanCSPConnectionCreateInput_fabric_provider' - required: - - fabric_provider - - metro - - name - - project - - type - - vlans - type: object - VlanFabricVcCreateInput: - properties: - contact_email: - description: The preferred email used for communication and notifications - about the Equinix Fabric interconnection. Optional and defaults to the - primary user email address when using a User API key or the organization - owner email address when using a Project API key. - format: email - type: string - description: - type: string - facility_id: - type: string - x-deprecated: true - metro: - description: "A Metro ID or code. When creating Fabric VCs (Metal Billed),\ - \ this is where interconnection will be originating from, as we pre-authorize\ - \ the use of one of our shared ports as the origin of the interconnection\ - \ using A-Side service tokens. We only allow local connections for Fabric\ - \ VCs (Metal Billed), so the destination location must be the same as\ - \ the origin. For Fabric VCs (Fabric Billed), or shared connections, this\ - \ will be the destination of the interconnection. We allow remote connections\ - \ for Fabric VCs (Fabric Billed), so the origin of the interconnection\ - \ can be a different metro set here." - type: string - name: - type: string - project: - type: string - redundancy: - description: Either 'primary' or 'redundant'. - type: string - service_token_type: - description: "Either 'a_side' or 'z_side'. Setting this field to 'a_side'\ - \ will create an interconnection with Fabric VCs (Metal Billed). Setting\ - \ this field to 'z_side' will create an interconnection with Fabric VCs\ - \ (Fabric Billed). This is required when the 'type' is 'shared', but this\ - \ is not applicable when the 'type' is 'dedicated'. This parameter is\ - \ included in the specification as a developer preview and is generally\ - \ unavailable. Please contact our Support team for more details." - enum: - - a_side - - z_side - example: a_side - type: string - speed: - description: "A interconnection speed, in bps, mbps, or gbps. For Fabric\ - \ VCs, this represents the maximum speed of the interconnection. For Fabric\ - \ VCs (Metal Billed), this can only be one of the following: \n''50mbps'',\ - \ ''200mbps'', ''500mbps'', ''1gbps'', ''2gbps'', ''5gbps'' or ''10gbps'',\ - \ and is required for creation. For Fabric VCs (Fabric Billed), this field\ - \ will always default to ''10gbps'' even if it is not provided.\nFor example,\ - \ ''500000000'', ''50m'', or' ''500mbps'' will all work as valid inputs." - example: "10000000000" - type: string - tags: - items: - type: string - type: array - type: - description: "When requesting for a Fabric VC, the value of this field should\ - \ be 'shared'." - enum: - - shared - type: string - vlans: - description: "A list of one or two metro-based VLANs that will be set on\ - \ the virtual circuits of primary and/or secondary (if redundant) interconnections\ - \ respectively when creating Fabric VCs. VLANs can also be set after the\ - \ interconnection is created, but are required to fully activate the virtual\ - \ circuits." - example: - - 1000 - - 1001 - items: - type: integer - type: array - required: - - metro - - name - - redundancy - - service_token_type - - type - - vlans - type: object - VlanVirtualCircuit: - properties: - bill: - default: false - description: "True if the Virtual Circuit is being billed. Currently, only\ - \ Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage\ - \ will start the first time the Virtual Circuit becomes active, and will\ - \ not stop until it is deleted from Metal." - type: boolean - bill_type: - description: Fabric Billed if the Virtual Circuit is billed by Fabric. Metal - Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits - will have a value of nil. - enum: - - metal_billed - - fabric_billed - nullable: true - type: string - description: - type: string - id: - format: uuid - type: string - name: - type: string - nni_vlan: - type: integer - port: - $ref: '#/components/schemas/InterconnectionPort' - project: - $ref: '#/components/schemas/Project' - speed: - description: "For Virtual Circuits on shared and dedicated connections,\ - \ this speed should match the one set on their Interconnection Ports.\ - \ For Virtual Circuits on Fabric VCs (both Metal and Fabric Billed) that\ - \ have found their corresponding Fabric connection, this is the actual\ - \ speed of the interconnection that was configured when setting up the\ - \ interconnection on the Fabric Portal. Details on Fabric VCs are included\ - \ in the specification as a developer preview and is generally unavailable.\ - \ Please contact our Support team for more details." - format: int64 - type: integer - status: - description: "The status of a Virtual Circuit is always 'pending' on creation.\ - \ The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was\ - \ not set yet on the Virtual Circuit and is the last step needed for full\ - \ activation. For Dedicated interconnections, as long as the Dedicated\ - \ Port has been associated to the Virtual Circuit and a NNI VNID has been\ - \ set, it will turn to 'waiting_on_customer_vlan'. For Fabric VCs, it\ - \ will only change to 'waiting_on_customer_vlan' once the corresponding\ - \ Fabric connection has been found on the Fabric side. If the Fabric service\ - \ token associated with the Virtual Circuit hasn't been redeemed on Fabric\ - \ within the expiry time, it will change to an `expired` status. Once\ - \ a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can\ - \ be set on creation of a Fabric VC) and the necessary set up is done,\ - \ it will turn into 'Activating' status as it tries to activate the Virtual\ - \ Circuit. Once the Virtual Circuit fully activates and is configured\ - \ on the switch, it will turn to staus 'active'. For Fabric VCs (Metal\ - \ Billed), we will start billing the moment the status of the Virtual\ - \ Circuit turns to 'active'. If there are any changes to the VLAN after\ - \ the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan'\ - \ if a new VLAN has been provided, or 'deactivating' if we are removing\ - \ the VLAN. When a deletion request is issued for the Virtual Circuit,\ - \ it will move to a 'deleting' status, and we will immediately unconfigure\ - \ the switch for the Virtual Circuit and issue a deletion on any associated\ - \ Fabric connections. Any associated Metro VLANs on the virtual circuit\ - \ will also be unassociated after the switch has been successfully unconfigured.\ - \ If there are any associated Fabric connections, we will only fully delete\ - \ the Virtual Circuit once we have checked that the Fabric connection\ - \ was fully deprovisioned on Fabric." - enum: - - pending - - waiting_on_customer_vlan - - activating - - changing_vlan - - deactivating - - deleting - - active - - expired - - activation_failed - - changing_vlan_failed - - deactivation_failed - - delete_failed - - configure_fabric_routing_protocols - type: string - provider_connection_id: - description: "This field is relevant if using the `shared_port_vlan_to_csp`\ - \ interconnection type. Once activated on the CSP, this field should contain\ - \ the resource name that the virtual circuit is connected to on the provider's\ - \ end." - example: dxcon-fggxx63k - type: string - tags: - items: - type: string - type: array - type: - enum: - - vlan - type: string - virtual_network: - $ref: '#/components/schemas/Href' - vnid: - type: integer - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - type: object - VlanVirtualCircuitCreateInput: - properties: - description: - type: string - name: - type: string - nni_vlan: - maximum: 4094 - minimum: 2 - type: integer - project_id: - format: uuid - type: string - speed: - description: speed can be passed as integer number representing bps speed - or string (e.g. '52m' or '100g' or '4 gbps') - type: string - tags: - items: - type: string - type: array - vnid: - description: A Virtual Network record UUID or the VNID of a Metro Virtual - Network in your project (sent as integer). - format: uuid - type: string - required: - - project_id - type: object - VlanVirtualCircuitUpdateInput: - properties: - description: - type: string - name: - type: string - speed: - description: Speed can be changed only if it is an interconnection on a - Dedicated Port - type: string - tags: - items: - type: string - type: array - vnid: - description: A Virtual Network record UUID or the VNID of a Metro Virtual - Network in your project. - type: string - type: object - Vrf: - properties: - id: - format: uuid - type: string - name: - type: string - description: - description: Optional field that can be set to describe the VRF - type: string - bill: - default: false - description: "True if the VRF is being billed. Usage will start when the\ - \ first VRF Virtual Circuit is active, and will only stop when the VRF\ - \ has been deleted." - type: boolean - bgp_dynamic_neighbors_enabled: - description: Toggle to enable the dynamic bgp neighbors feature on the VRF - type: boolean - bgp_dynamic_neighbors_export_route_map: - description: Toggle to export the VRF route-map to the dynamic bgp neighbors - type: boolean - bgp_dynamic_neighbors_bfd_enabled: - description: Toggle BFD on dynamic bgp neighbors sessions - type: boolean - local_asn: - description: A 4-byte ASN associated with the VRF. - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - virtual_circuits: - description: Virtual circuits that are in the VRF - items: - $ref: '#/components/schemas/VrfVirtualCircuit' - type: array - ip_ranges: - description: "A list of CIDR network addresses. Like [\"10.0.0.0/16\", \"\ - 2001:d78::/59\"]." - items: - type: string - type: array - project: - $ref: '#/components/schemas/Project' - metro: - $ref: '#/components/schemas/Metro' - created_by: - $ref: '#/components/schemas/User' - href: - type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - tags: - items: - type: string - type: array - type: object - VrfCreateInput: - properties: - bgp_dynamic_neighbors_enabled: - description: Toggle to enable the dynamic bgp neighbors feature on the VRF - type: boolean - bgp_dynamic_neighbors_export_route_map: - description: Toggle to export the VRF route-map to the dynamic bgp neighbors - type: boolean - bgp_dynamic_neighbors_bfd_enabled: - description: Toggle BFD on dynamic bgp neighbors sessions - type: boolean - description: - type: string - ip_ranges: - description: "A list of CIDR network addresses. Like [\"10.0.0.0/16\", \"\ - 2001:d78::/59\"]. IPv4 blocks must be between /8 and /29 in size. IPv6\ - \ blocks must be between /59 and /64. A VRF\\'s IP ranges must be defined\ - \ in order to create VRF IP Reservations, which can then be used for Metal\ - \ Gateways or Virtual Circuits." - items: - type: string - type: array - local_asn: - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - metro: - description: The UUID (or metro code) for the Metro in which to create this - VRF. - type: string - name: - type: string - tags: - items: - type: string - type: array - required: - - metro - - name - type: object - VrfFabricVcCreateInput: - properties: - contact_email: - description: The preferred email used for communication and notifications - about the Equinix Fabric interconnection. Optional and defaults to the - primary user email address when using a User API key or the organization - owner email address when using a Project API key. - format: email - type: string - description: - type: string - facility_id: - type: string - x-deprecated: true - metro: - description: "A Metro ID or code. When creating Fabric VCs (Metal Billed),\ - \ this is where interconnection will be originating from, as we pre-authorize\ - \ the use of one of our shared ports as the origin of the interconnection\ - \ using A-Side service tokens. We only allow local connections for Fabric\ - \ VCs (Metal Billed), so the destination location must be the same as\ - \ the origin. For Fabric VCs (Fabric Billed), or shared connections, this\ - \ will be the destination of the interconnection. We allow remote connections\ - \ for Fabric VCs (Fabric Billed), so the origin of the interconnection\ - \ can be a different metro set here." - type: string - name: - type: string - project: - type: string - redundancy: - description: Either 'primary' or 'redundant'. - type: string - service_token_type: - description: "Either 'a_side' or 'z_side'. Setting this field to 'a_side'\ - \ will create an interconnection with Fabric VCs (Metal Billed). Setting\ - \ this field to 'z_side' will create an interconnection with Fabric VCs\ - \ (Fabric Billed). This is required when the 'type' is 'shared', but this\ - \ is not applicable when the 'type' is 'dedicated'. This parameter is\ - \ included in the specification as a developer preview and is generally\ - \ unavailable. Please contact our Support team for more details." - enum: - - a_side - - z_side - example: a_side - type: string - speed: - description: "A interconnection speed, in bps, mbps, or gbps. For Fabric\ - \ VCs, this represents the maximum speed of the interconnection. For Fabric\ - \ VCs (Metal Billed), this can only be one of the following: \n''50mbps'',\ - \ ''200mbps'', ''500mbps'', ''1gbps'', ''2gbps'', ''5gbps'' or ''10gbps'',\ - \ and is required for creation. For Fabric VCs (Fabric Billed), this field\ - \ will always default to ''10gbps'' even if it is not provided.\nFor example,\ - \ ''500000000'', ''50m'', or' ''500mbps'' will all work as valid inputs." - example: "10000000000" - type: string - tags: - items: - type: string - type: array - type: - description: "When requesting for a Fabric VC, the value of this field should\ - \ be 'shared'." - enum: - - shared - type: string - vrfs: - description: "This field holds a list of VRF UUIDs that will be set automatically\ - \ on the virtual circuits of Fabric VCs on creation, and can hold up to\ - \ two UUIDs. Two UUIDs are required when requesting redundant Fabric VCs.\ - \ The first UUID will be set on the primary virtual circuit, while the\ - \ second UUID will be set on the secondary. The two UUIDs can be the same\ - \ if both the primary and secondary virtual circuits will be in the same\ - \ VRF. This parameter is included in the specification as a developer\ - \ preview and is generally unavailable. Please contact our Support team\ - \ for more details." - items: - format: uuid - type: string - type: array - required: - - metro - - name - - redundancy - - service_token_type - - type - - vrfs - type: object - VrfIpRangeCreateInput: - description: "A list of CIDR network addresses. Like [\"10.0.0.0/16\", \"2001:d78::/59\"\ - ]. IPv4 blocks must be between /8 and /29 in size. IPv6 blocks must be between\ - \ /59 and /64. A VRF\\'s IP ranges must be defined in order to create VRF\ - \ IP Reservations, which can then be used for Metal Gateways or Virtual Circuits." - items: - type: string - type: array - VrfIpRangeList: - description: "A list of CIDR network addresses. Like [\"10.0.0.0/16\", \"2001:d78::/59\"\ - ]." - items: - type: string - type: array - VrfIpRangeUpdateInput: - description: "A list of CIDR network addresses. Like [\"10.0.0.0/16\", \"2001:d78::/59\"\ - ]. IPv4 blocks must be between /8 and /29 in size. IPv6 blocks must be between\ - \ /59 and /64. A VRF\\'s IP ranges must be defined in order to create VRF\ - \ IP Reservations, which can then be used for Metal Gateways or Virtual Circuits.\ - \ Adding a new CIDR address to the list will result in the creation of a new\ - \ IP Range for this VRF. Removal of an existing CIDR address from the list\ - \ will result in the deletion of an existing IP Range for this VRF. Deleting\ - \ an IP Range will result in the deletion of any VRF IP Reservations contained\ - \ within the IP Range, as well as the VRF IP Reservation\\'s associated Metal\ - \ Gateways or Virtual Circuits. If you do not wish to add or remove IP Ranges,\ - \ either include the full existing list of IP Ranges in the update request,\ - \ or do not specify the `ip_ranges` field in the update request. Specifying\ - \ a value of `[]` will remove all existing IP Ranges from the VRF." - items: - type: string - type: array - VrfIpReservation: - properties: - address_family: - type: integer - cidr: - type: integer - created_at: - format: date-time - type: string - created_by: - $ref: '#/components/schemas/Href' - details: - type: string - href: - type: string - id: - format: uuid - type: string - metal_gateway: - $ref: '#/components/schemas/MetalGatewayLite' - netmask: - type: string - network: - type: string - project: - $ref: '#/components/schemas/Project' - state: - type: string - tags: - items: - type: string - type: array - type: - enum: - - vrf - type: string - vrf: - $ref: '#/components/schemas/Vrf' - public: - type: boolean - management: - type: boolean - manageable: - type: boolean - customdata: - type: object - bill: - type: boolean - project_lite: - $ref: '#/components/schemas/Project' - address: - type: string - gateway: - type: string - metro: - $ref: '#/components/schemas/Metro' - required: - - type - - vrf - type: object - VrfIpReservationCreateInput: - properties: - cidr: - description: | - The size of the VRF IP Reservation's subnet. The following subnet sizes are supported: - - IPv4: between 22 - 29 inclusive - - IPv6: exactly 64 - example: 22 - type: integer - customdata: - type: object - details: - type: string - network: - description: The starting address for this VRF IP Reservation's subnet. - Both IPv4 and IPv6 are supported. - example: 10.1.2.0 - type: string - tags: - items: - type: string - type: array - type: - description: Must be set to 'vrf' - example: vrf - type: string - vrf_id: - description: The ID of the VRF in which this VRF IP Reservation is created. - The VRF must have an existing IP Range that contains the requested subnet. - This field may be aliased as just 'vrf'. - format: uuid - type: string - required: - - cidr - - network - - type - - vrf_id - type: object - VrfIpReservationList: - properties: - ip_addresses: - items: - $ref: '#/components/schemas/VrfIpReservation' - type: array - type: object - VrfList: - properties: - meta: - $ref: '#/components/schemas/Meta' - vrfs: - items: - $ref: '#/components/schemas/Vrf' - type: array - type: object - VrfMetalGateway: - properties: - created_at: - format: date-time - type: string - created_by: - $ref: '#/components/schemas/Href' - href: - type: string - id: - format: uuid - type: string - ip_reservation: - $ref: '#/components/schemas/VrfIpReservation' - project: - $ref: '#/components/schemas/Project' - state: - description: "The current state of the Metal Gateway. 'Ready' indicates\ - \ the gateway record has been configured, but is currently not active\ - \ on the network. 'Active' indicates the gateway has been configured on\ - \ the network. 'Deleting' is a temporary state used to indicate that the\ - \ gateway is in the process of being un-configured from the network, after\ - \ which the gateway record will be deleted." - enum: - - ready - - active - - deleting - type: string - updated_at: - format: date-time - type: string - virtual_network: - $ref: '#/components/schemas/VirtualNetwork' - vrf: - $ref: '#/components/schemas/Vrf' - type: object - VrfMetalGatewayCreateInput: - properties: - ip_reservation_id: - description: "The UUID an a VRF IP Reservation that belongs to the same\ - \ project as the one in which the Metal Gateway is to be created. Additionally,\ - \ the VRF IP Reservation and the Virtual Network must reside in the same\ - \ Metro." - format: uuid - type: string - virtual_network_id: - description: "The UUID of a Metro Virtual Network that belongs to the same\ - \ project as the one in which the Metal Gateway is to be created. Additionally,\ - \ the Virtual Network and the VRF IP Reservation must reside in the same\ - \ metro. In the case of the IP reservation being an IPv6 based VRF IP\ - \ Reservation, the Virtual Network must not already have an associated\ - \ IPv6 based VRF IP Reservation. There can be exactly one IPv6 based VRF\ - \ IP Reservation associated to a Virtual Network." - format: uuid - type: string - required: - - ip_reservation_id - - virtual_network_id - type: object - VrfRoute: - properties: - id: - description: The unique identifier for the newly-created resource - example: e1ff9c2b-051a-4688-965f-153e274f77e0 - format: uuid - readOnly: true - type: string - status: - description: "The status of the route. Potential values are \"pending\"\ - , \"active\", \"deleting\", and \"error\", representing various lifecycle\ - \ states of the route and whether or not it has been successfully configured\ - \ on the network" - enum: - - pending - - active - - deleting - - error - example: active - readOnly: true - type: string - prefix: - description: "The IPv4 prefix for the route, in CIDR-style notation" - example: 0.0.0.0/0 - type: string - next_hop: - description: The next-hop IPv4 address for the route - example: 192.168.1.254 - format: ipv4 - type: string - type: - description: "VRF route type, like 'bgp', 'connected', and 'static'. Currently,\ - \ only static routes are supported" - enum: - - static - example: static - readOnly: true - type: string - created_at: - format: date-time - readOnly: true - type: string - updated_at: - format: date-time - readOnly: true - type: string - metal_gateway: - $ref: '#/components/schemas/VrfMetalGateway' - virtual_network: - $ref: '#/components/schemas/VirtualNetwork' - vrf: - $ref: '#/components/schemas/Vrf' - href: - example: /routes/e1ff9c2b-051a-4688-965f-153e274f77e0 - readOnly: true - type: string - tags: - items: - type: string - type: array - type: object - VrfRouteCreateInput: - properties: - prefix: - description: "The IPv4 prefix for the route, in CIDR-style notation. For\ - \ a static default route, this will always be \"0.0.0.0/0\"" - example: 0.0.0.0/0 - type: string - next_hop: - description: The IPv4 address within the VRF of the host that will handle - this route - example: 192.168.1.254 - format: ipv4 - type: string - tags: - items: - type: string - type: array - required: - - next_hop - - prefix - type: object - VrfRouteUpdateInput: - properties: - prefix: - description: "The IPv4 prefix for the route, in CIDR-style notation. For\ - \ a static default route, this will always be \"0.0.0.0/0\"" - example: 0.0.0.0/0 - type: string - next_hop: - description: The IPv4 address within the VRF of the host that will handle - this route - example: 192.168.1.254 - format: ipv4 - type: string - tags: - items: - type: string - type: array - type: object - VrfRouteList: - properties: - routes: - items: - $ref: '#/components/schemas/VrfRoute' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - VrfUpdateInput: - properties: - bgp_dynamic_neighbors_enabled: - description: Toggle to enable the dynamic bgp neighbors feature on the VRF - type: boolean - bgp_dynamic_neighbors_export_route_map: - description: Toggle to export the VRF route-map to the dynamic bgp neighbors - type: boolean - bgp_dynamic_neighbors_bfd_enabled: - description: Toggle BFD on dynamic bgp neighbors sessions - type: boolean - description: - type: string - ip_ranges: - description: "A list of CIDR network addresses. Like [\"10.0.0.0/16\", \"\ - 2001:d78::/59\"]. IPv4 blocks must be between /8 and /29 in size. IPv6\ - \ blocks must be between /59 and /64. A VRF\\'s IP ranges must be defined\ - \ in order to create VRF IP Reservations, which can then be used for Metal\ - \ Gateways or Virtual Circuits. Adding a new CIDR address to the list\ - \ will result in the creation of a new IP Range for this VRF. Removal\ - \ of an existing CIDR address from the list will result in the deletion\ - \ of an existing IP Range for this VRF. Deleting an IP Range will result\ - \ in the deletion of any VRF IP Reservations contained within the IP Range,\ - \ as well as the VRF IP Reservation\\'s associated Metal Gateways or Virtual\ - \ Circuits. If you do not wish to add or remove IP Ranges, either include\ - \ the full existing list of IP Ranges in the update request, or do not\ - \ specify the `ip_ranges` field in the update request. Specifying a value\ - \ of `[]` will remove all existing IP Ranges from the VRF." - items: - type: string - type: array - local_asn: - description: "The new `local_asn` value for the VRF. This field cannot be\ - \ updated when there are active Interconnection Virtual Circuits associated\ - \ to the VRF, or if any of the VLANs of the VRF's metal gateway has been\ - \ assigned on an instance." - format: int32 - type: integer - name: - type: string - tags: - items: - type: string - type: array - type: object - VrfVirtualCircuit: - properties: - customer_ip: - description: "An IPv4 address from the subnet that will be used on the Customer\ - \ side. This parameter is optional, but if supplied, we will use the other\ - \ usable IP address in the subnet as the Metal IP. By default, the last\ - \ usable IP address in the subnet will be used." - example: 12.0.0.2 - type: string - customer_ipv6: - description: "An IPv6 address from the subnet IPv6 that will be used on\ - \ the Customer side. This parameter is optional, but if supplied, we will\ - \ use the other usable IP address in the subnet IPv6 as the Metal IPv6.\ - \ By default, the last usable IP address in the subnet IPv6 will be used." - example: 2604:1380:4641:a00::6 - type: string - description: - type: string - id: - format: uuid - type: string - md5: - description: The MD5 password for the BGP peering in plaintext (not a checksum). - type: string - metal_ip: - description: "An IPv4 address from the subnet that will be used on the Metal\ - \ side. This parameter is optional, but if supplied, we will use the other\ - \ usable IP address in the subnet as the Customer IP. By default, the\ - \ first usable IP address in the subnet will be used." - example: 12.0.0.1 - type: string - metal_ipv6: - description: "An IPv6 address from the subnet IPv6 that will be used on\ - \ the Metal side. This parameter is optional, but if supplied, we will\ - \ use the other usable IPv6 address in the subnet IPv6 as the Customer\ - \ IP. By default, the first usable IPv6 address in the subnet IPv6 will\ - \ be used." - example: 2604:1380:4641:a00::6 - type: string - name: - type: string - port: - $ref: '#/components/schemas/InterconnectionPort' - nni_vlan: - type: integer - peer_asn: - description: The peer ASN that will be used with the VRF on the Virtual - Circuit. - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - project: - $ref: '#/components/schemas/Project' - speed: - description: integer representing bps speed - format: int64 - type: integer - status: - description: "The status changes of a VRF virtual circuit are generally\ - \ the same as Virtual Circuits that aren't in a VRF. However, for VRF\ - \ Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details'\ - \ once the Fabric service token associated with the virtual circuit has\ - \ been redeemed on Fabric, and Metal has found the associated Fabric connection.\ - \ At this point, users can update the subnet, MD5 password, customer IP\ - \ and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports,\ - \ we require all peering details to be set on creation of a VRF Virtual\ - \ Circuit. The status will change to `changing_peering_details` whenever\ - \ an active VRF Virtual Circuit has any of its peering details updated." - enum: - - pending - - waiting_on_peering_details - - activating - - changing_peering_details - - deactivating - - deleting - - active - - expired - - activation_failed - - changing_peering_details_failed - - deactivation_failed - - delete_failed - type: string - subnet: - description: "The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that\ - \ will be used with the VRF for the Virtual Circuit. This subnet does\ - \ not have to be an existing VRF IP reservation, as we will create the\ - \ VRF IP reservation on creation if it does not exist. The Metal IP and\ - \ Customer IP must be IPs from this subnet. For /30 subnets, the network\ - \ and broadcast IPs cannot be used as the Metal or Customer IP." - example: 12.0.0.0/30 - type: string - subnet_ipv6: - description: "The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that\ - \ will be used with the VRF for the Virtual Circuit. This subnet does\ - \ not have to be an existing VRF IP reservation, as we will create the\ - \ VRF IP reservation on creation if it does not exist. The Metal IPv6\ - \ and Customer IPv6 must be IPs from this subnet. For /126 subnets, the\ - \ network and broadcast IPs cannot be used as the Metal IPv6 or Customer\ - \ IPv6. The subnet specified must be contained within an already-defined\ - \ IP Range for the VRF." - example: 2604:1380:4641:a00::4/126 - type: string - tags: - items: - type: string - type: array - type: - enum: - - vrf - type: string - vrf: - $ref: '#/components/schemas/Vrf' - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - required: - - vrf - type: object - VrfVirtualCircuitCreateInput: - properties: - customer_ip: - description: "An IPv4 address from the subnet that will be used on the Customer\ - \ side. This parameter is optional, but if supplied, we will use the other\ - \ usable IP address in the subnet as the Metal IP. By default, the last\ - \ usable IP address in the subnet will be used." - example: 12.0.0.2 - type: string - description: - type: string - md5: - description: | - The plaintext BGP peering password shared by neighbors as an MD5 checksum: - * must be 10-20 characters long - * may not include punctuation - * must be a combination of numbers and letters - * must contain at least one lowercase, uppercase, and digit character - nullable: true - pattern: "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{10,20}$" - type: string - metal_ip: - description: "An IPv4 address from the subnet that will be used on the Metal\ - \ side. This parameter is optional, but if supplied, we will use the other\ - \ usable IP address in the subnet as the Customer IP. By default, the\ - \ first usable IP address in the subnet will be used." - example: 12.0.0.1 - type: string - name: - type: string - nni_vlan: - maximum: 4094 - minimum: 2 - type: integer - peer_asn: - description: The peer ASN that will be used with the VRF on the Virtual - Circuit. - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - project_id: - format: uuid - type: string - speed: - description: speed can be passed as integer number representing bps speed - or string (e.g. '52m' or '100g' or '4 gbps') - type: string - subnet: - description: "The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that\ - \ will be used with the VRF for the Virtual Circuit. This subnet does\ - \ not have to be an existing VRF IP reservation, as we will create the\ - \ VRF IP reservation on creation if it does not exist. The Metal IP and\ - \ Customer IP must be IPs from this subnet. For /30 subnets, the network\ - \ and broadcast IPs cannot be used as the Metal or Customer IP. The subnet\ - \ specified must be contained within an already-defined IP Range for the\ - \ VRF." - example: 12.0.0.0/30 - type: string - tags: - items: - type: string - type: array - vrf: - description: The UUID of the VRF that will be associated with the Virtual - Circuit. - format: uuid - type: string - subnet_ipv6: - description: "The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that\ - \ will be used with the VRF for the Virtual Circuit. This subnet does\ - \ not have to be an existing VRF IP reservation, as we will create the\ - \ VRF IP reservation on creation if it does not exist. The Metal IPv6\ - \ and Customer IPv6 must be IPs from this subnet. For /126 subnets, the\ - \ network and broadcast IPs cannot be used as the Metal IPv6 or Customer\ - \ IPv6. The subnet specified must be contained within an already-defined\ - \ IP Range for the VRF." - example: 2604:1380:4641:a00::4/126 - type: string - customer_ipv6: - description: "An IPv6 address from the subnet IPv6 that will be used on\ - \ the Customer side. This parameter is optional, but if supplied, we will\ - \ use the other usable IP address in the subnet IPv6 as the Metal IPv6.\ - \ By default, the last usable IP address in the subnet IPv6 will be used." - example: 2604:1380:4641:a00::6 - type: string - metal_ipv6: - description: "An IPv6 address from the subnet IPv6 that will be used on\ - \ the Metal side. This parameter is optional, but if supplied, we will\ - \ use the other usable IPv6 address in the subnet IPv6 as the Customer\ - \ IP. By default, the first usable IPv6 address in the subnet IPv6 will\ - \ be used." - example: 2604:1380:4641:a00::6 - type: string - required: - - nni_vlan - - peer_asn - - project_id - - subnet - - vrf - type: object - VrfVirtualCircuitUpdateInput: - properties: - customer_ip: - description: "An IPv4 address from the subnet that will be used on the Customer\ - \ side. This parameter is optional, but if supplied, we will use the other\ - \ usable IP address in the subnet as the Metal IP. By default, the last\ - \ usable IP address in the subnet will be used." - example: 12.0.0.2 - type: string - description: - type: string - md5: - description: | - The plaintext BGP peering password shared by neighbors as an MD5 checksum: - * must be 10-20 characters long - * may not include punctuation - * must be a combination of numbers and letters - * must contain at least one lowercase, uppercase, and digit character - pattern: "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{10,20}$" - type: string - metal_ip: - description: "An IPv4 address from the subnet that will be used on the Metal\ - \ side. This parameter is optional, but if supplied, we will use the other\ - \ usable IP address in the subnet as the Customer IP. By default, the\ - \ first usable IP address in the subnet will be used." - example: 12.0.0.1 - type: string - name: - type: string - peer_asn: - description: The peer ASN that will be used with the VRF on the Virtual - Circuit. - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - speed: - description: Speed can be changed only if it is an interconnection on a - Dedicated Port - type: string - subnet: - description: "The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that\ - \ will be used with the VRF for the Virtual Circuit. This subnet does\ - \ not have to be an existing VRF IP reservation, as we will create the\ - \ VRF IP reservation on creation if it does not exist. The Metal IP and\ - \ Customer IP must be IPs from this subnet. For /30 subnets, the network\ - \ and broadcast IPs cannot be used as the Metal or Customer IP." - example: 12.0.0.0/30 - type: string - subnet_ipv6: - description: "The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that\ - \ will be used with the VRF for the Virtual Circuit. This subnet does\ - \ not have to be an existing VRF IP reservation, as we will create the\ - \ VRF IP reservation on creation if it does not exist. The Metal IPv6\ - \ and Customer IPv6 must be IPs from this subnet. For /126 subnets, the\ - \ network and broadcast IPs cannot be used as the Metal IPv6 or Customer\ - \ IPv6. The subnet specified must be contained within an already-defined\ - \ IP Range for the VRF." - example: 2604:1380:4641:a00::4/126 - type: string - customer_ipv6: - description: "An IPv6 address from the subnet IPv6 that will be used on\ - \ the Customer side. This parameter is optional, but if supplied, we will\ - \ use the other usable IP address in the subnet IPv6 as the Metal IPv6.\ - \ By default, the last usable IP address in the subnet IPv6 will be used." - example: 2604:1380:4641:a00::6 - type: string - metal_ipv6: - description: "An IPv6 address from the subnet IPv6 that will be used on\ - \ the Metal side. This parameter is optional, but if supplied, we will\ - \ use the other usable IPv6 address in the subnet IPv6 as the Customer\ - \ IP. By default, the first usable IPv6 address in the subnet IPv6 will\ - \ be used." - example: 2604:1380:4641:a00::6 - type: string - tags: - items: - type: string - type: array - type: object - VrfBGPNeighbors: - properties: - peer_ip: - example: 8.8.8.8 - type: string - peer_as: - description: The ASN of the peer that advertised the prefix. - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - state: - description: The current status of the connection to the BGP peer. State - is either up or down. - example: up - type: string - type: object - VrfLearnedRoutes: - properties: - prefix: - example: 8.8.8.0/24 - type: string - origin_as: - description: The ASN of the peer that advertised the prefix. - example: 65000 - format: int64 - maximum: 4294967295 - minimum: 0 - type: integer - type: object - InterconnectionMetroList: - properties: - metros: - items: - $ref: '#/components/schemas/InterconnectionMetroList_metros_inner' - type: array - meta: - $ref: '#/components/schemas/Meta' - type: object - InterconnectionPricingList: - properties: - provider_pricing: - description: Pricing information per connection provider. - items: - $ref: '#/components/schemas/InterconnectionPricingList_provider_pricing_inner' - type: array - type: object - DeviceActionInput: - properties: - type: - description: Action to perform. See Device.actions for possible actions. - enum: - - power_on - - power_off - - reboot - - rescue - - reinstall - type: string - force_delete: - description: May be required to perform actions under certain conditions - type: boolean - deprovision_fast: - description: "When type is `reinstall`, enabling fast deprovisioning will\ - \ bypass full disk wiping." - type: boolean - preserve_data: - description: "When type is `reinstall`, preserve the existing data on all\ - \ disks except the operating-system disk." - type: boolean - operating_system: - description: "When type is `reinstall`, use this `operating_system` (defaults\ - \ to the current `operating system`)" - example: ubuntu_22_04 - type: string - ipxe_script_url: - description: "When type is `reinstall`, use this `ipxe_script_url` (`operating_system`\ - \ must be `custom_ipxe`, defaults to the current `ipxe_script_url`)" - type: string - required: - - type - type: object - IPAssignmentUpdateInput: - properties: - details: - type: string - customdata: - type: object - tags: - items: - type: string - type: array - type: object - VirtualNetworkUpdateInput: - properties: - description: - type: string - tags: - items: - type: string - type: array - type: object - VrfLearnedRoutesList: - properties: - learned_routes: - items: - $ref: '#/components/schemas/VrfLearnedRoutes' - type: array - type: object - VrfBGPNeighborsList: - properties: - bgp_neighbors: - items: - $ref: '#/components/schemas/VrfBGPNeighbors' - type: array - type: object - Storage: - properties: - disks: - items: - $ref: '#/components/schemas/Disk' - type: array - raid: - items: - $ref: '#/components/schemas/Raid' - type: array - filesystems: - items: - $ref: '#/components/schemas/Filesystem' - type: array - type: object - AWSFabricProvider: - properties: - type: - enum: - - CSP_AWS - type: string - account_id: - description: AWS Account ID - example: "123412341234" - pattern: "^\\d{12}$" - type: string - location: - example: us-west-1 - type: string - required: - - account_id - - type - type: object - PlanIdName: - properties: - id: - format: uuid - type: string - name: - type: string - type: object - LineItemAdjustment: - properties: - amount: - format: float - type: number - description: - type: string - type: object - BondPortData: - properties: - id: - description: ID of the bonding port - format: uuid - type: string - name: - description: Name of the port interface for the bond ("bond0") - type: string - type: object - PortData: - properties: - mac: - description: MAC address is set for NetworkPort ports - type: string - bonded: - description: Bonded is true for NetworkPort ports in a bond and NetworkBondPort - ports that are active - type: boolean - type: object - BgpRoute: - properties: - exact: - type: boolean - route: - example: 10.32.16.0/31 - type: string - type: object - Disk: - properties: - device: - type: string - wipeTable: - type: boolean - partitions: - items: - $ref: '#/components/schemas/Partition' - type: array - type: object - Raid: - properties: - devices: - items: - type: string - type: array - level: - type: string - name: - type: string - type: object - Filesystem: - properties: - mount: - $ref: '#/components/schemas/Mount' - type: object - Partition: - properties: - label: - type: string - number: - format: int32 - type: integer - size: - type: string - type: object - Mount: - properties: - device: - type: string - format: - type: string - point: - type: string - options: - items: - type: string - type: array - type: object - findTraffic_timeframe_parameter: - properties: - ended_at: - format: date-time - type: string - started_at: - format: date-time - type: string - required: - - ended_at - - started_at - type: object - activateHardwareReservation_request: - properties: - description: - type: string - type: object - moveHardwareReservation_request: - properties: - project_id: - format: uuid - type: string - type: object - findIPAddressById_200_response: - oneOf: - - $ref: '#/components/schemas/IPAssignment' - - $ref: '#/components/schemas/IPReservation' - - $ref: '#/components/schemas/VrfIpReservation' - findMetalGatewayById_200_response: - oneOf: - - $ref: '#/components/schemas/MetalGateway' - - $ref: '#/components/schemas/VrfMetalGateway' - createOrganizationInterconnection_request: - oneOf: - - $ref: '#/components/schemas/DedicatedPortCreateInput' - - $ref: '#/components/schemas/VlanFabricVcCreateInput' - - $ref: '#/components/schemas/VrfFabricVcCreateInput' - - $ref: '#/components/schemas/SharedPortVCVlanCreateInput' - - $ref: '#/components/schemas/VlanCSPConnectionCreateInput' - createDevice_request: - oneOf: - - $ref: '#/components/schemas/DeviceCreateInMetroInput' - - $ref: '#/components/schemas/DeviceCreateInFacilityInput' - requestIPReservation_request: - oneOf: - - $ref: '#/components/schemas/IPReservationRequestInput' - - $ref: '#/components/schemas/VrfIpReservationCreateInput' - requestIPReservation_201_response: - oneOf: - - $ref: '#/components/schemas/IPReservation' - - $ref: '#/components/schemas/VrfIpReservation' - createMetalGateway_request: - oneOf: - - $ref: '#/components/schemas/MetalGatewayCreateInput' - - $ref: '#/components/schemas/VrfMetalGatewayCreateInput' - AuthToken_project: - allOf: - - $ref: '#/components/schemas/Project' - - description: Available only for project tokens - type: object - AuthToken_user: - allOf: - - $ref: '#/components/schemas/User' - - description: Available only for user tokens - type: object - CreateSelfServiceReservationRequest_period: - properties: - count: - enum: - - 12 - - 36 - type: integer - unit: - enum: - - monthly - type: string - type: object - Device_created_by: - allOf: - - $ref: '#/components/schemas/UserLite' - - description: The user that created the device. - type: object - Device_metro: - allOf: - - $ref: '#/components/schemas/Metro' - - description: The metro the facility is in - type: object - Device_actions_inner: - properties: - type: - type: string - name: - type: string - type: object - Device_project_lite: - allOf: - - $ref: '#/components/schemas/Href' - - description: Lite version of project object when included - type: object - IPAssignment_metro: - allOf: - - $ref: '#/components/schemas/Metro' - - description: The metro the IP address is in - type: object - IPReservation_facility: - allOf: - - $ref: '#/components/schemas/Facility' - - description: "The facility the IP reservation is in. If the facility the IP\ - \ reservation was requested in is in a metro, a metro value will also be\ - \ set, and the subsequent IP reservation can be used on a metro level. Can\ - \ be null if requesting an IP reservation in a metro." - type: object - IPReservation_metro: - allOf: - - $ref: '#/components/schemas/Metro' - - description: "The metro the IP reservation is in. As long as the IP reservation\ - \ has a metro, it can be used on a metro level. Can be null if requesting\ - \ an IP reservation in a facility that is not in a metro." - type: object - IPReservationList_ip_addresses_inner: - anyOf: - - $ref: '#/components/schemas/IPReservation' - - $ref: '#/components/schemas/VrfIpReservation' - InstancesBatchCreateInput_batches_inner: - allOf: - - properties: - hostnames: - items: - type: string - type: array - quantity: - description: "The number of devices to create in this batch. The hostname\ - \ may contain an `{{index}}` placeholder, which will be replaced with\ - \ the index of the device in the batch. For example, if the hostname\ - \ is `device-{{index}}`, the first device in the batch will have the\ - \ hostname `device-01`, the second device will have the hostname `device-02`,\ - \ and so on." - type: integer - type: object - - oneOf: - - $ref: '#/components/schemas/DeviceCreateInMetroInput' - - $ref: '#/components/schemas/DeviceCreateInFacilityInput' - Interconnection_fabric_provider: - description: Configuration information for connecting to external cloud service - provider. Only available if the fabric_provider param was used when creating - the interconnection. - oneOf: - - $ref: '#/components/schemas/AWSFabricProvider' - Metadata_network_network_bonding: - properties: - link_aggregation: - type: string - mac: - type: string - mode: - type: integer - type: object - Metadata_network_network: - properties: - bonding: - $ref: '#/components/schemas/Metadata_network_network_bonding' - type: object - Metadata_network: - properties: - addresses: - items: - type: string - type: array - interfaces: - items: - type: object - type: array - network: - $ref: '#/components/schemas/Metadata_network_network' - type: object - MetalGatewayList_metal_gateways_inner: - anyOf: - - $ref: '#/components/schemas/MetalGateway' - - $ref: '#/components/schemas/VrfMetalGateway' - Plan_available_in_inner_price: - properties: - hour: - example: 1.23 - format: double - type: number - type: object - Plan_available_in_inner: - properties: - href: - description: href to the Facility - type: string - price: - $ref: '#/components/schemas/Plan_available_in_inner_price' - type: object - Plan_available_in_metros_inner: - properties: - href: - description: href to the Metro - type: string - price: - $ref: '#/components/schemas/Plan_available_in_inner_price' - type: object - Plan_specs_cpus_inner: - properties: - count: - type: integer - type: - type: string - type: object - Plan_specs_memory: - properties: - total: - type: string - type: object - Plan_specs_drives_inner: - properties: - count: - type: integer - type: - description: "Values may include 'HDD', 'SSD', 'NVME'" - type: string - size: - example: 3.84TB - type: string - category: - description: "Values may include 'boot', 'cache', 'storage'" - type: string - type: object - Plan_specs_nics_inner: - properties: - count: - example: 2 - type: integer - type: - description: "Values may include '1Gbps', '10Gbps', '25Gbps'" - type: string - type: object - Plan_specs_features: - properties: - raid: - type: boolean - txt: - type: boolean - uefi: - type: boolean - type: object - Plan_specs: - properties: - cpus: - items: - $ref: '#/components/schemas/Plan_specs_cpus_inner' - type: array - memory: - $ref: '#/components/schemas/Plan_specs_memory' - drives: - items: - $ref: '#/components/schemas/Plan_specs_drives_inner' - type: array - nics: - items: - $ref: '#/components/schemas/Plan_specs_nics_inner' - type: array - features: - $ref: '#/components/schemas/Plan_specs_features' - type: object - PortConvertLayer3Input_request_ips_inner: - properties: - address_family: - type: integer - public: - type: boolean - type: object - PortVlanAssignmentBatch_vlan_assignments_inner: - properties: - id: - format: uuid - type: string - native: - type: boolean - state: - enum: - - assigned - - unassigned - type: string - vlan: - type: integer - type: object - PortVlanAssignmentBatchCreateInput_vlan_assignments_inner: - properties: - native: - type: boolean - state: - enum: - - assigned - - unassigned - type: string - vlan: - type: string - type: object - SpotMarketRequest_metro: - allOf: - - $ref: '#/components/schemas/Metro' - - description: The metro the spot market request was created in - type: object - SpotMarketRequestCreateInput_instance_parameters: - properties: - always_pxe: - type: boolean - billing_cycle: - type: string - customdata: - type: object - description: - type: string - features: - items: - type: string - type: array - hostname: - type: string - hostnames: - items: - type: string - type: array - locked: - description: "Whether the device should be locked, preventing accidental\ - \ deletion." - type: boolean - no_ssh_keys: - type: boolean - operating_system: - type: string - plan: - type: string - private_ipv4_subnet_size: - type: integer - project_ssh_keys: - items: - format: uuid - type: string - type: array - public_ipv4_subnet_size: - type: integer - tags: - items: - type: string - type: array - termination_time: - format: date-time - type: string - user_ssh_keys: - description: The UUIDs of users whose SSH keys should be included on the - provisioned device. - items: - format: uuid - type: string - type: array - userdata: - type: string - type: object - VlanCSPConnectionCreateInput_fabric_provider: - description: Configuration information for connecting to external cloud service - provider. - oneOf: - - $ref: '#/components/schemas/AWSFabricProvider' - InterconnectionMetroList_metros_inner_allOf_providers_inner: - properties: - type: - example: CSP_AWS - type: string - name: - example: AWS Direct Connect - type: string - locations: - items: - description: The provider's network region name that is equivalent to - the Equinix Metro. - example: us-east-1 - type: string - type: array - bandwidths: - items: - description: Supported bandwidths in Mbps - example: 50 - type: integer - type: array - features: - items: - description: Additional features available in this profile. - example: high capacity - type: string - type: array - type: object - InterconnectionMetroList_metros_inner: - allOf: - - $ref: '#/components/schemas/Metro' - - properties: - providers: - description: A list of providers and their equivalent regions available - for connecting to the provider network. - items: - $ref: '#/components/schemas/InterconnectionMetroList_metros_inner_allOf_providers_inner' - type: array - type: object - InterconnectionPricingList_provider_pricing_inner_tiers_inner: - properties: - bandwidth: - description: Bandwidth tier in Mbps - example: 500 - type: integer - price: - example: 10.04 - format: float - type: number - billing_cycle: - example: monthly - type: string - type: object - InterconnectionPricingList_provider_pricing_inner: - properties: - provider: - example: CSP_AWS - type: string - tiers: - items: - $ref: '#/components/schemas/InterconnectionPricingList_provider_pricing_inner_tiers_inner' - type: array - type: object - securitySchemes: - x_auth_token: - description: | - HTTP header containing the User or Project API key that will be used to authenticate the request. - in: header - name: X-Auth-Token - type: apiKey - x-displayName: X-Auth-Token -x-tagGroups: -- name: Accounts and Organization - tags: - - Authentication - - Emails - - Invitations - - Memberships - - Organizations - - OTPs - - PasswordResetTokens - - PaymentMethods - - Projects - - SSHKeys - - SupportRequest - - TransferRequests - - TwoFactorAuth - - Users - - UserVerificationTokens -- name: Services and Billing - tags: - - Events - - Facilities - - Incidents - - Invoices - - Licenses - - Metros - - Plans - - Usages -- name: Servers - tags: - - Devices - - Batches - - Capacity - - ConsoleLogDetails - - FirmwareSets - - HardwareReservations - - OperatingSystems - - Ports - - SelfServiceReservations - - SpotMarket - - Userdata - - Volumes -- name: Networking - tags: - - BGP - - Interconnections - - IPAddresses - - MetalGateways - - VLANs - - VRFs