Equinix · Capability

Metal API — Licenses

Metal API — Licenses. 5 operations. Lead operation: Delete the license. Self-contained Naftiko capability covering one Equinix business surface.

Run with Naftiko EquinixLicenses

What You Can Do

DELETE
Deletelicense — Delete the license
/v1/licenses/{id}
GET
Findlicensebyid — Retrieve a license
/v1/licenses/{id}
PUT
Updatelicense — Update the license
/v1/licenses/{id}
GET
Findprojectlicenses — Retrieve all licenses
/v1/projects/{id}/licenses
POST
Createlicense — Create a License
/v1/projects/{id}/licenses

MCP Tools

delete-license

Delete the license

idempotent
retrieve-license

Retrieve a license

read-only idempotent
update-license

Update the license

idempotent
retrieve-all-licenses

Retrieve all licenses

read-only idempotent
create-license

Create a License

Capability Spec

metal-licenses.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Metal API — Licenses
  description: 'Metal API — Licenses. 5 operations. Lead operation: Delete the license. Self-contained Naftiko capability
    covering one Equinix business surface.'
  tags:
  - Equinix
  - Licenses
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    EQUINIX_API_KEY: EQUINIX_API_KEY
capability:
  consumes:
  - type: http
    namespace: metal-licenses
    baseUri: https://api.equinix.com/metal/v1
    description: Metal API — Licenses business capability. Self-contained, no shared references.
    resources:
    - name: licenses-id
      path: /licenses/{id}
      operations:
      - name: deletelicense
        method: DELETE
        description: Delete the license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: License UUID
          required: true
      - name: findlicensebyid
        method: GET
        description: Retrieve a license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: License UUID
          required: true
        - name: include
          in: query
          type: array
          description: Nested attributes to include. Included objects will return their full
        - name: exclude
          in: query
          type: array
          description: Nested attributes to exclude. Excluded objects will return only the href
      - name: updatelicense
        method: PUT
        description: Update the license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: License UUID
          required: true
        - name: include
          in: query
          type: array
          description: Nested attributes to include. Included objects will return their full
        - name: exclude
          in: query
          type: array
          description: Nested attributes to exclude. Excluded objects will return only the href
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-id-licenses
      path: /projects/{id}/licenses
      operations:
      - name: findprojectlicenses
        method: GET
        description: Retrieve all licenses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Project UUID
          required: true
        - name: include
          in: query
          type: array
          description: Nested attributes to include. Included objects will return their full
        - name: exclude
          in: query
          type: array
          description: Nested attributes to exclude. Excluded objects will return only the href
        - name: page
          in: query
          type: integer
          description: Page to return
        - name: per_page
          in: query
          type: integer
          description: Items returned per page
      - name: createlicense
        method: POST
        description: Create a License
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Project UUID
          required: true
        - name: include
          in: query
          type: array
          description: Nested attributes to include. Included objects will return their full
        - name: exclude
          in: query
          type: array
          description: Nested attributes to exclude. Excluded objects will return only the href
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: X-Auth-Token
      value: '{{env.EQUINIX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: metal-licenses-rest
    port: 8080
    description: REST adapter for Metal API — Licenses. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/licenses/{id}
      name: licenses-id
      description: REST surface for licenses-id.
      operations:
      - method: DELETE
        name: deletelicense
        description: Delete the license
        call: metal-licenses.deletelicense
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: findlicensebyid
        description: Retrieve a license
        call: metal-licenses.findlicensebyid
        with:
          id: rest.id
          include: rest.include
          exclude: rest.exclude
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatelicense
        description: Update the license
        call: metal-licenses.updatelicense
        with:
          id: rest.id
          include: rest.include
          exclude: rest.exclude
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{id}/licenses
      name: projects-id-licenses
      description: REST surface for projects-id-licenses.
      operations:
      - method: GET
        name: findprojectlicenses
        description: Retrieve all licenses
        call: metal-licenses.findprojectlicenses
        with:
          id: rest.id
          include: rest.include
          exclude: rest.exclude
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlicense
        description: Create a License
        call: metal-licenses.createlicense
        with:
          id: rest.id
          include: rest.include
          exclude: rest.exclude
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: metal-licenses-mcp
    port: 9090
    transport: http
    description: MCP adapter for Metal API — Licenses. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: delete-license
      description: Delete the license
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: metal-licenses.deletelicense
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-license
      description: Retrieve a license
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metal-licenses.findlicensebyid
      with:
        id: tools.id
        include: tools.include
        exclude: tools.exclude
      outputParameters:
      - type: object
        mapping: $.
    - name: update-license
      description: Update the license
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: metal-licenses.updatelicense
      with:
        id: tools.id
        include: tools.include
        exclude: tools.exclude
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-all-licenses
      description: Retrieve all licenses
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metal-licenses.findprojectlicenses
      with:
        id: tools.id
        include: tools.include
        exclude: tools.exclude
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: create-license
      description: Create a License
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metal-licenses.createlicense
      with:
        id: tools.id
        include: tools.include
        exclude: tools.exclude
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.