NimbusNexus V1:nova:instance Interface API

The v1:nova:instance-interface API from NimbusNexus — 3 operation(s) for v1:nova:instance-interface.

Operations 4

GET /api/v1/instance/{server_id}/interfaces/ List Interfaces #
POST /api/v1/instance/{server_id}/interfaces/ Attach Interface #
DELETE /api/v1/instance/{server_id}/interfaces/{port_id} Detach Interface #
GET /api/v1/instance/{server_id}/interfaces/artifacts Interface Artifacts #

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/nimbusnexus:nimbusnexus-v1-nova-instance-interface-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

nimbusnexus-v1-nova-instance-interface-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NimbusNexus API — External V1:nova:instance Interface API
  description: 'External (public) API intended for client-facing integrations and the web portal.


    Authentication:

    - This API uses JWT Bearer authentication.

    - In Swagger UI, click ''Authorize'' and sign in via the configured token endpoint.

    - Swagger will automatically attach the header: Authorization: Bearer .'
  version: test
servers:
- url: /
  description: Current host
- url: https://fastapi.dev.nimbusnexus.net
  description: Development
security:
- SwaggerLogin: []
- ApiKeyAuth: []
tags:
- name: v1:nova:instance-interface
paths:
  /api/v1/instance/{server_id}/interfaces/:
    get:
      tags:
      - v1:nova:instance-interface
      summary: List Interfaces
      description: List network interfaces currently attached to a virtual machine instance.
      operationId: list_interfaces_api_v1_instance__server_id__interfaces__get
      security:
      - SwaggerLogin: []
      - ApiKeyAuth: []
      parameters:
      - name: server_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Server Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterfaceListSuccessOut'
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                success: false
                message: Unauthorized | Invalid token | Expired token | Authentication required
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                success: false
                message: Forbidden
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '404':
          description: Not Found
          content:
            application/json:
              example:
                success: false
                message: Not Found
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '422':
          description: Validation error
          content:
            application/json:
              example:
                success: false
                errors:
                  field:
                  - Invalid value
              schema:
                $ref: '#/components/schemas/ResponseValidationErrorOut'
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Seconds to wait before retrying the request
              schema:
                type: string
              example: '30'
          content:
            application/json:
              example:
                code: 429
                message: Too many requests
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                success: false
                message: Internal Server Error
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
    post:
      tags:
      - v1:nova:instance-interface
      summary: Attach Interface
      description: Attach a new network interface (port) to a virtual machine instance.
      operationId: attach_interface_api_v1_instance__server_id__interfaces__post
      security:
      - SwaggerLogin: []
      - ApiKeyAuth: []
      parameters:
      - name: server_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Server Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InterfaceAttach'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterfaceAttachSuccessOut'
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                success: false
                message: Bad Request
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                success: false
                message: Unauthorized | Invalid token | Expired token | Authentication required
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                success: false
                message: Forbidden
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '404':
          description: Not Found
          content:
            application/json:
              example:
                success: false
                message: Not Found
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '409':
          description: Conflict
          content:
            application/json:
              example:
                success: false
                message: Conflict
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '422':
          description: Validation error
          content:
            application/json:
              example:
                success: false
                errors:
                  field:
                  - Invalid value
              schema:
                $ref: '#/components/schemas/ResponseValidationErrorOut'
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Seconds to wait before retrying the request
              schema:
                type: string
              example: '30'
          content:
            application/json:
              example:
                code: 429
                message: Too many requests
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                success: false
                message: Internal Server Error
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
  /api/v1/instance/{server_id}/interfaces/{port_id}:
    delete:
      tags:
      - v1:nova:instance-interface
      summary: Detach Interface
      description: Detach a network interface (port) from a virtual machine instance.
      operationId: detach_interface_api_v1_instance__server_id__interfaces__port_id__delete
      security:
      - SwaggerLogin: []
      - ApiKeyAuth: []
      parameters:
      - name: server_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Server Id
      - name: port_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Port Id
      responses:
        '204':
          description: Successful Response
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                success: false
                message: Bad Request
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                success: false
                message: Unauthorized | Invalid token | Expired token | Authentication required
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                success: false
                message: Forbidden
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '404':
          description: Not Found
          content:
            application/json:
              example:
                success: false
                message: Not Found
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '409':
          description: Conflict
          content:
            application/json:
              example:
                success: false
                message: Conflict
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '422':
          description: Validation error
          content:
            application/json:
              example:
                success: false
                errors:
                  field:
                  - Invalid value
              schema:
                $ref: '#/components/schemas/ResponseValidationErrorOut'
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Seconds to wait before retrying the request
              schema:
                type: string
              example: '30'
          content:
            application/json:
              example:
                code: 429
                message: Too many requests
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                success: false
                message: Internal Server Error
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
  /api/v1/instance/{server_id}/interfaces/artifacts:
    get:
      tags:
      - v1:nova:instance-interface
      summary: Interface Artifacts
      description: Return reference data needed to attach a new interface (available networks, subnets and ports for the instance).
      operationId: interface_artifacts_api_v1_instance__server_id__interfaces_artifacts_get
      security:
      - SwaggerLogin: []
      - ApiKeyAuth: []
      parameters:
      - name: server_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Server Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterfaceArtifactsSuccessOut'
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                success: false
                message: Unauthorized | Invalid token | Expired token | Authentication required
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                success: false
                message: Forbidden
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '404':
          description: Not Found
          content:
            application/json:
              example:
                success: false
                message: Not Found
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '422':
          description: Validation error
          content:
            application/json:
              example:
                success: false
                errors:
                  field:
                  - Invalid value
              schema:
                $ref: '#/components/schemas/ResponseValidationErrorOut'
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Seconds to wait before retrying the request
              schema:
                type: string
              example: '30'
          content:
            application/json:
              example:
                code: 429
                message: Too many requests
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                success: false
                message: Internal Server Error
              schema:
                $ref: '#/components/schemas/ResponseBaseErrorOut'
components:
  schemas:
    website__schemas__api__instance_interface__InterfaceArtifactsData:
      properties:
        networks:
          items:
            $ref: '#/components/schemas/InterfaceNetworkChoice'
          type: array
          title: Networks
        ports:
          items:
            $ref: '#/components/schemas/InterfacePortChoice'
          type: array
          title: Ports
      type: object
      title: InterfaceArtifactsData
    InterfaceOut:
      properties:
        port_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Port Id
        net_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Net Id
        mac_addr:
          anyOf:
          - type: string
          - type: 'null'
          title: Mac Addr
        port_state:
          anyOf:
          - type: string
          - type: 'null'
          title: Port State
        fixed_ips:
          items:
            $ref: '#/components/schemas/FixedIp'
          type: array
          title: Fixed Ips
      type: object
      title: InterfaceOut
    InterfaceNetworkChoice:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        shared:
          type: boolean
          title: Shared
          default: false
        external:
          type: boolean
          title: External
          default: false
        connected:
          type: boolean
          title: Connected
          default: false
      type: object
      required:
      - id
      title: InterfaceNetworkChoice
    InterfaceAttachSuccessOut:
      properties:
        success:
          type: boolean
          title: Success
          default: true
        data:
          $ref: '#/components/schemas/InterfaceOut'
      type: object
      required:
      - data
      title: InterfaceAttachSuccessOut
    ResponseBaseErrorOut:
      properties:
        success:
          type: boolean
          title: Success
          default: false
        message:
          type: string
          title: Message
      type: object
      required:
      - message
      title: ResponseBaseErrorOut
    InterfaceAttach:
      properties:
        port_id:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: Port Id
        net_id:
          anyOf:
          - type: string
            maxLength: 255
            minLength: 1
          - type: 'null'
          title: Net Id
        fixed_ip:
          anyOf:
          - type: string
            maxLength: 64
            minLength: 1
          - type: 'null'
          title: Fixed Ip
        bandwidth_subscription:
          anyOf:
          - $ref: '#/components/schemas/PlanType'
          - type: 'null'
      type: object
      title: InterfaceAttach
      description: 'Request body for attaching a network interface to a server.


        Either port_id (attach an existing port the user owns) OR net_id

        (attach a new port on a network, optionally at fixed_ip) must be

        provided. They are mutually exclusive on the Nova side.


        bandwidth_subscription is required by the backend when the target

        network is external (a provider network). The backend enforces the

        check, clients cannot opt out of bandwidth billing by omitting the

        field.'
    InterfaceArtifactsSuccessOut:
      properties:
        success:
          type: boolean
          title: Success
          default: true
        data:
          $ref: '#/components/schemas/website__schemas__api__instance_interface__InterfaceArtifactsData'
      type: object
      required:
      - data
      title: InterfaceArtifactsSuccessOut
    ResponseValidationErrorOut:
      properties:
        success:
          type: boolean
          title: Success
          default: false
        errors:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
          title: Errors
      type: object
      required:
      - errors
      title: ResponseValidationErrorOut
    InterfacePortChoice:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        network_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Network Id
        mac_address:
          anyOf:
          - type: string
          - type: 'null'
          title: Mac Address
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      type: object
      required:
      - id
      title: InterfacePortChoice
    FixedIp:
      properties:
        ip_address:
          anyOf:
          - type: string
          - type: 'null'
          title: Ip Address
        subnet_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Subnet Id
      type: object
      title: FixedIp
    InterfaceListSuccessOut:
      properties:
        success:
          type: boolean
          title: Success
          default: true
        data:
          items:
            $ref: '#/components/schemas/InterfaceOut'
          type: array
          title: Data
      type: object
      required:
      - data
      title: InterfaceListSuccessOut
    PlanType:
      type: string
      enum:
      - Once
      - Hourly
      - Daily
      - Monthly
      - Yearly
      title: PlanType
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    SwaggerLogin:
      type: oauth2
      flows:
        password:
          tokenUrl: /api/v1/account/login_swagger
          scopes: {}
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API Key format -  base64('<id>:<secret>')