openapi: 3.0.1 info: title: Equinix API Authentication Plans API description: 'Equinix APIs use the OAuth 2.0 for authentication and authorization. Equinix supports the resource owner password and the client credentials flow. To begin, obtain OAuth 2.0 client credentials from the Equinix Developer Console under "My Apps". Then your client application requests an access token from the Equinix API Authorization endpoint, extracts the access_token from the response, and sends the Bearer token to the API that you want to access' termsOfService: https://www.equinix.com/about/legal/terms contact: name: Equinix API Support url: https://docs.equinix.com/api-support.htm version: '1.2' servers: - url: https://api.equinix.com tags: - description: 'Plan Management (Device). Check out the product docs to learn more about [Device Plans](https://metal.equinix.com/developers/docs/servers/). ' name: Plans paths: /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: $ref: '#/components/schemas/findOrganizationDevices_categories_parameter_inner' type: array - description: Filter plans by its plan type in: query name: type schema: $ref: '#/components/schemas/findPlans_type_parameter' - 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 /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 components: schemas: Plan_specs_drives_inner_category: enum: - boot - cache - storage type: string PlanList: example: plans: - legacy: true line: line available_in_metros: - price: hour: 1.23 href: href - price: hour: 1.23 href: href description: description available_in: - price: hour: 1.23 href: href - price: hour: 1.23 href: href type: null specs: features: txt: true uefi: true raid: true memory: total: total cpus: - count: 6 type: type - count: 6 type: type drives: - size: 3.84TB count: 1 type: type category: null - size: 3.84TB count: 1 type: type category: null nics: - count: 2 type: type - count: 2 type: type deployment_types: - null - null name: name categories: - categories - categories id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 class: m3.large.x86 pricing: '{}' slug: m3.large.x86 - legacy: true line: line available_in_metros: - price: hour: 1.23 href: href - price: hour: 1.23 href: href description: description available_in: - price: hour: 1.23 href: href - price: hour: 1.23 href: href type: null specs: features: txt: true uefi: true raid: true memory: total: total cpus: - count: 6 type: type - count: 6 type: type drives: - size: 3.84TB count: 1 type: type category: null - size: 3.84TB count: 1 type: type category: null nics: - count: 2 type: type - count: 2 type: type deployment_types: - null - null name: name categories: - categories - categories id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 class: m3.large.x86 pricing: '{}' slug: m3.large.x86 properties: plans: items: $ref: '#/components/schemas/Plan' type: array type: object Plan_available_in_inner_price: example: hour: 1.23 properties: hour: example: 1.23 format: double type: number type: object Plan_specs: example: features: txt: true uefi: true raid: true memory: total: total cpus: - count: 6 type: type - count: 6 type: type drives: - size: 3.84TB count: 1 type: type category: null - size: 3.84TB count: 1 type: type category: null nics: - count: 2 type: type - count: 2 type: type 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 Plan_specs_memory: example: total: total properties: total: type: string 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 Plan_specs_nics_inner: example: count: 2 type: type properties: count: example: 2 type: integer type: type: string type: object Plan_specs_cpus_inner: example: count: 6 type: type properties: count: type: integer type: type: string type: object Plan_deployment_types_inner: enum: - on_demand - spot_market type: string Plan_available_in_inner: example: price: hour: 1.23 href: href properties: href: description: href to the Facility type: string price: $ref: '#/components/schemas/Plan_available_in_inner_price' type: object Plan_specs_features: example: txt: true uefi: true raid: true properties: raid: type: boolean txt: type: boolean uefi: type: boolean type: object findOrganizationDevices_categories_parameter_inner: enum: - compute - storage - vmce - legacy_gen - current_gen example: compute type: string Plan_specs_drives_inner: example: size: 3.84TB count: 1 type: type category: null properties: count: type: integer type: type: string size: example: 3.84TB type: string category: $ref: '#/components/schemas/Plan_specs_drives_inner_category' type: object Plan_type: description: The plan type enum: - standard - workload_optimized - custom type: string findPlans_type_parameter: enum: - standard - workload_optimized - custom example: standard type: string Plan_available_in_metros_inner: example: price: hour: 1.23 href: href properties: href: description: href to the Metro type: string price: $ref: '#/components/schemas/Plan_available_in_inner_price' type: object Plan: example: legacy: true line: line available_in_metros: - price: hour: 1.23 href: href - price: hour: 1.23 href: href description: description available_in: - price: hour: 1.23 href: href - price: hour: 1.23 href: href type: null specs: features: txt: true uefi: true raid: true memory: total: total cpus: - count: 6 type: type - count: 6 type: type drives: - size: 3.84TB count: 1 type: type category: null - size: 3.84TB count: 1 type: type category: null nics: - count: 2 type: type - count: 2 type: type deployment_types: - null - null name: name categories: - categories - categories id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 class: m3.large.x86 pricing: '{}' slug: m3.large.x86 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: $ref: '#/components/schemas/Plan_deployment_types_inner' 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: $ref: '#/components/schemas/Plan_type' type: object x-eqx-api-linter-skip-rules: - 3 - 38