Equinix · Capability

Metal API — SpotMarket

Metal API — SpotMarket. 7 operations. Lead operation: Get current spot market prices. Self-contained Naftiko capability covering one Equinix business surface.

Run with Naftiko EquinixSpotMarket

What You Can Do

GET
Findspotmarketprices — Get current spot market prices
/v1/market/spot/prices
GET
Findspotmarketpriceshistory — Get spot market prices for a given period of time
/v1/market/spot/prices/history
GET
Findmetrospotmarketprices — Get current spot market prices for metros
/v1/market/spot/prices/metros
GET
Listspotmarketrequests — List spot market requests
/v1/projects/{id}/spot-market-requests
POST
Createspotmarketrequest — Create a spot market request
/v1/projects/{id}/spot-market-requests
DELETE
Deletespotmarketrequest — Delete the spot market request
/v1/spot-market-requests/{id}
GET
Findspotmarketrequestbyid — Retrieve a spot market request
/v1/spot-market-requests/{id}

MCP Tools

get-current-spot-market-prices

Get current spot market prices

read-only idempotent
get-spot-market-prices-given

Get spot market prices for a given period of time

read-only idempotent
get-current-spot-market-prices-2

Get current spot market prices for metros

read-only idempotent
list-spot-market-requests

List spot market requests

read-only idempotent
create-spot-market-request

Create a spot market request

delete-spot-market-request

Delete the spot market request

idempotent
retrieve-spot-market-request

Retrieve a spot market request

read-only idempotent

Capability Spec

metal-spotmarket.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Metal API — SpotMarket
  description: 'Metal API — SpotMarket. 7 operations. Lead operation: Get current spot market prices. Self-contained Naftiko
    capability covering one Equinix business surface.'
  tags:
  - Equinix
  - SpotMarket
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    EQUINIX_API_KEY: EQUINIX_API_KEY
capability:
  consumes:
  - type: http
    namespace: metal-spotmarket
    baseUri: https://api.equinix.com/metal/v1
    description: Metal API — SpotMarket business capability. Self-contained, no shared references.
    resources:
    - name: market-spot-prices
      path: /market/spot/prices
      operations:
      - name: findspotmarketprices
        method: GET
        description: Get current spot market prices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: facility
          in: query
          type: string
          description: Facility to check spot market prices
        - name: plan
          in: query
          type: string
          description: Plan to check spot market prices
    - name: market-spot-prices-history
      path: /market/spot/prices/history
      operations:
      - name: findspotmarketpriceshistory
        method: GET
        description: Get spot market prices for a given period of time
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: facility
          in: query
          type: string
          description: Facility to check spot market prices
          required: true
        - name: plan
          in: query
          type: string
          description: Plan to check spot market prices
          required: true
        - name: metro
          in: query
          type: string
          description: Metro to check spot market price history
        - name: from
          in: query
          type: string
          description: Timestamp from range
          required: true
        - name: until
          in: query
          type: string
          description: Timestamp to range
          required: true
    - name: market-spot-prices-metros
      path: /market/spot/prices/metros
      operations:
      - name: findmetrospotmarketprices
        method: GET
        description: Get current spot market prices for metros
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: metro
          in: query
          type: string
          description: Metro to filter spot market prices
        - name: plan
          in: query
          type: string
          description: Plan to filter spot market prices
    - name: projects-id-spot-market-requests
      path: /projects/{id}/spot-market-requests
      operations:
      - name: listspotmarketrequests
        method: GET
        description: List spot market requests
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Project UUID
          required: true
      - name: createspotmarketrequest
        method: POST
        description: Create a spot market request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Project UUID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: spot-market-requests-id
      path: /spot-market-requests/{id}
      operations:
      - name: deletespotmarketrequest
        method: DELETE
        description: Delete the spot market request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: SpotMarketRequest UUID
          required: true
        - name: force_termination
          in: query
          type: boolean
          description: Terminate associated spot instances
      - name: findspotmarketrequestbyid
        method: GET
        description: Retrieve a spot market request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: SpotMarketRequest UUID
          required: true
        - name: include
          in: query
          type: array
          description: Nested attributes to include. Included objects will return their full
    authentication:
      type: apikey
      key: X-Auth-Token
      value: '{{env.EQUINIX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: metal-spotmarket-rest
    port: 8080
    description: REST adapter for Metal API — SpotMarket. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/market/spot/prices
      name: market-spot-prices
      description: REST surface for market-spot-prices.
      operations:
      - method: GET
        name: findspotmarketprices
        description: Get current spot market prices
        call: metal-spotmarket.findspotmarketprices
        with:
          facility: rest.facility
          plan: rest.plan
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/market/spot/prices/history
      name: market-spot-prices-history
      description: REST surface for market-spot-prices-history.
      operations:
      - method: GET
        name: findspotmarketpriceshistory
        description: Get spot market prices for a given period of time
        call: metal-spotmarket.findspotmarketpriceshistory
        with:
          facility: rest.facility
          plan: rest.plan
          metro: rest.metro
          from: rest.from
          until: rest.until
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/market/spot/prices/metros
      name: market-spot-prices-metros
      description: REST surface for market-spot-prices-metros.
      operations:
      - method: GET
        name: findmetrospotmarketprices
        description: Get current spot market prices for metros
        call: metal-spotmarket.findmetrospotmarketprices
        with:
          metro: rest.metro
          plan: rest.plan
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{id}/spot-market-requests
      name: projects-id-spot-market-requests
      description: REST surface for projects-id-spot-market-requests.
      operations:
      - method: GET
        name: listspotmarketrequests
        description: List spot market requests
        call: metal-spotmarket.listspotmarketrequests
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createspotmarketrequest
        description: Create a spot market request
        call: metal-spotmarket.createspotmarketrequest
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/spot-market-requests/{id}
      name: spot-market-requests-id
      description: REST surface for spot-market-requests-id.
      operations:
      - method: DELETE
        name: deletespotmarketrequest
        description: Delete the spot market request
        call: metal-spotmarket.deletespotmarketrequest
        with:
          id: rest.id
          force_termination: rest.force_termination
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: findspotmarketrequestbyid
        description: Retrieve a spot market request
        call: metal-spotmarket.findspotmarketrequestbyid
        with:
          id: rest.id
          include: rest.include
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: metal-spotmarket-mcp
    port: 9090
    transport: http
    description: MCP adapter for Metal API — SpotMarket. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-current-spot-market-prices
      description: Get current spot market prices
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metal-spotmarket.findspotmarketprices
      with:
        facility: tools.facility
        plan: tools.plan
      outputParameters:
      - type: object
        mapping: $.
    - name: get-spot-market-prices-given
      description: Get spot market prices for a given period of time
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metal-spotmarket.findspotmarketpriceshistory
      with:
        facility: tools.facility
        plan: tools.plan
        metro: tools.metro
        from: tools.from
        until: tools.until
      outputParameters:
      - type: object
        mapping: $.
    - name: get-current-spot-market-prices-2
      description: Get current spot market prices for metros
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metal-spotmarket.findmetrospotmarketprices
      with:
        metro: tools.metro
        plan: tools.plan
      outputParameters:
      - type: object
        mapping: $.
    - name: list-spot-market-requests
      description: List spot market requests
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metal-spotmarket.listspotmarketrequests
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-spot-market-request
      description: Create a spot market request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metal-spotmarket.createspotmarketrequest
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-spot-market-request
      description: Delete the spot market request
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: metal-spotmarket.deletespotmarketrequest
      with:
        id: tools.id
        force_termination: tools.force_termination
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-spot-market-request
      description: Retrieve a spot market request
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metal-spotmarket.findspotmarketrequestbyid
      with:
        id: tools.id
        include: tools.include
      outputParameters:
      - type: object
        mapping: $.