NimbusNexus V1:nova:instance Interface API
The v1:nova:instance-interface API from NimbusNexus — 3 operation(s) for v1:nova:instance-interface.
The v1:nova:instance-interface API from NimbusNexus — 3 operation(s) for v1:nova:instance-interface.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/nimbusnexus:nimbusnexus-v1-nova-instance-interface-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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>')