Equinix SelfServiceReservations API

Self Service Reservations

Operations 3

GET /projects/{project_id}/self-service/reservations Retrieve all reservations #
POST /projects/{project_id}/self-service/reservations Create a reservation #
GET /projects/{project_id}/self-service/reservations/{id} Retrieve a reservation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/equinix-selfservicereservations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

equinix-selfservicereservations-api-openapi.yml Raw ↑
openapi: 3.2.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 .'
  license:
    name: Equinix Metal
    url: https://metal.equinix.com/legal/
  termsOfService: https://metal.equinix.com/legal/
  title: Metal Self Service Reservations API
  version: 1.0.0
servers:
- url: https://api.equinix.com/metal/v1
security:
- x_auth_token: []
tags:
- description: Self Service Reservations
  externalDocs:
    url: https://metal.equinix.com/developers/docs/deploy/reserved/
  name: SelfServiceReservations
paths:
  /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:
            $ref: '#/components/schemas/findOrganizationDevices_categories_parameter_inner'
          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
components:
  schemas:
    SelfServiceReservationItemResponse:
      example:
        plan_slug: plan_slug
        amount: 0.8008282
        metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        quantity: 6
        metro_code: metro_code
        metro_name: metro_name
        term: term
        id: id
        plan_categories:
        - plan_categories
        - plan_categories
        plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        plan_name: plan_name
      properties:
        amount:
          format: float
          type: number
        id:
          type: string
        metro_code:
          type: string
        metro_id:
          format: uuid
          type: string
        metro_name:
          type: string
        plan_id:
          format: uuid
          type: string
        plan_name:
          type: string
        plan_slug:
          type: string
        plan_categories:
          items:
            type: string
          type: array
        quantity:
          type: integer
        term:
          type: string
      type: object
    CreateSelfServiceReservationRequest_period:
      example:
        unit: null
        count: null
      properties:
        count:
          $ref: '#/components/schemas/CreateSelfServiceReservationRequest_period_count'
        unit:
          $ref: '#/components/schemas/CreateSelfServiceReservationRequest_period_unit'
      type: object
    SelfServiceReservationItemRequest:
      example:
        amount: 0.8008282
        metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        quantity: 6
        term: term
        plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        amount:
          format: float
          type: number
        metro_id:
          format: uuid
          type: string
        plan_id:
          format: uuid
          type: string
        quantity:
          type: integer
        term:
          type: string
      type: object
    CreateSelfServiceReservationRequest:
      example:
        item:
        - amount: 0.8008282
          metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          quantity: 6
          term: term
          plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        - amount: 0.8008282
          metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          quantity: 6
          term: term
          plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        period:
          unit: null
          count: null
        notes: notes
        start_date: 2000-01-23 04:56:07+00:00
      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
    SelfServiceReservationResponse:
      example:
        item:
        - plan_slug: plan_slug
          amount: 0.8008282
          metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          quantity: 6
          metro_code: metro_code
          metro_name: metro_name
          term: term
          id: id
          plan_categories:
          - plan_categories
          - plan_categories
          plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          plan_name: plan_name
        - plan_slug: plan_slug
          amount: 0.8008282
          metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          quantity: 6
          metro_code: metro_code
          metro_name: metro_name
          term: term
          id: id
          plan_categories:
          - plan_categories
          - plan_categories
          plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          plan_name: plan_name
        period:
          unit: null
          count: null
        notes: notes
        total_cost: 1
        project_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        organization: organization
        organization_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        created_at: 2000-01-23 04:56:07+00:00
        project: project
        start_date: 2000-01-23 04:56:07+00:00
        status: status
      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
    CreateSelfServiceReservationRequest_period_unit:
      enum:
      - monthly
      type: string
    CreateSelfServiceReservationRequest_period_count:
      enum:
      - 12
      - 36
      type: integer
    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
    findOrganizationDevices_categories_parameter_inner:
      enum:
      - compute
      - storage
      - vmce
      - legacy_gen
      - current_gen
      example: compute
      type: string
    SelfServiceReservationList:
      example:
        reservations:
        - item:
          - plan_slug: plan_slug
            amount: 0.8008282
            metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            quantity: 6
            metro_code: metro_code
            metro_name: metro_name
            term: term
            id: id
            plan_categories:
            - plan_categories
            - plan_categories
            plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            plan_name: plan_name
          - plan_slug: plan_slug
            amount: 0.8008282
            metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            quantity: 6
            metro_code: metro_code
            metro_name: metro_name
            term: term
            id: id
            plan_categories:
            - plan_categories
            - plan_categories
            plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            plan_name: plan_name
          period:
            unit: null
            count: null
          notes: notes
          total_cost: 1
          project_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          organization: organization
          organization_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          created_at: 2000-01-23 04:56:07+00:00
          project: project
          start_date: 2000-01-23 04:56:07+00:00
          status: status
        - item:
          - plan_slug: plan_slug
            amount: 0.8008282
            metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            quantity: 6
            metro_code: metro_code
            metro_name: metro_name
            term: term
            id: id
            plan_categories:
            - plan_categories
            - plan_categories
            plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            plan_name: plan_name
          - plan_slug: plan_slug
            amount: 0.8008282
            metro_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            quantity: 6
            metro_code: metro_code
            metro_name: metro_name
            term: term
            id: id
            plan_categories:
            - plan_categories
            - plan_categories
            plan_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            plan_name: plan_name
          period:
            unit: null
            count: null
          notes: notes
          total_cost: 1
          project_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          organization: organization
          organization_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          created_at: 2000-01-23 04:56:07+00:00
          project: project
          start_date: 2000-01-23 04:56:07+00:00
          status: status
      properties:
        reservations:
          items:
            $ref: '#/components/schemas/SelfServiceReservationResponse'
          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
  - HardwareReservations
  - OperatingSystems
  - Ports
  - SelfServiceReservations
  - SpotMarket
  - Userdata
  - Volumes
- name: Networking
  tags:
  - BGP
  - Interconnections
  - IPAddresses
  - MetalGateways
  - VLANs
  - VRFs