NimbusNexus V1:glance:image API
The v1:glance:image API from NimbusNexus — 4 operation(s) for v1:glance:image.
The v1:glance:image API from NimbusNexus — 4 operation(s) for v1:glance:image.
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-glance-image-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:glance:image 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:glance:image
paths:
/api/v1/image/:
post:
tags:
- v1:glance:image
summary: Image Create
description: Creates a new image record and resolves its billing product for the calling project.
operationId: image_create_api_v1_image__post
security:
- SwaggerLogin: []
- ApiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImageCreate'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ImageCreateSuccessOut'
'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'
'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'
'500':
description: Internal Server Error
content:
application/json:
example:
success: false
message: Internal Server Error
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
get:
tags:
- v1:glance:image
summary: Images List
description: Lists images visible to the caller, applying the supplied filters and pagination.
operationId: images_list_api_v1_image__get
security:
- SwaggerLogin: []
- ApiKeyAuth: []
parameters:
- name: limit
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
title: Limit
- name: marker
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Marker
- name: name
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Name
- name: owner
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Owner
- name: protected
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Protected
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Status
- name: tag
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Tag
- name: visibility
in: query
required: false
schema:
anyOf:
- enum:
- public
- private
- community
- shared
- all
type: string
- type: 'null'
title: Visibility
- name: os_hidden
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Os Hidden
- name: member_status
in: query
required: false
schema:
anyOf:
- enum:
- accepted
- pending
- rejected
- all
type: string
- type: 'null'
title: Member Status
- name: size_max
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Size Max
- name: size_min
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Size Min
- name: created_at
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Created At
- name: updated_at
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Updated At
- name: sort_dir
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Sort Dir
- name: sort_key
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Sort Key
- name: sort
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Sort
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ImageListOut'
'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'
'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'
delete:
tags:
- v1:glance:image
summary: Images Delete
description: admin_domain, admin_project are only for admin
operationId: images_delete_api_v1_image__delete
security:
- SwaggerLogin: []
- ApiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImagesDelete'
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'
'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/image/file:
post:
tags:
- v1:glance:image
summary: Image Upload
description: Uploads the binary contents of a previously created image from the supplied file.
operationId: image_upload_api_v1_image_file_post
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_image_upload_api_v1_image_file_post'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseSuccessOutBase'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Forbidden
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
code: 429
message: Too many requests
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Internal Server Error
security:
- SwaggerLogin: []
- ApiKeyAuth: []
/api/v1/image/import:
post:
tags:
- v1:glance:image
summary: Image Import
description: Imports an image into the catalog by fetching its contents from a remote URL.
operationId: image_import_api_v1_image_import_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImageImport'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseSuccessOutBase'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Unauthorized | Invalid token | Expired token | Authentication required
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Forbidden
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'429':
description: Too Many Requests
headers:
Retry-After:
description: Seconds to wait before retrying the request
schema:
type: string
example: '30'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
code: 429
message: Too many requests
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Internal Server Error
security:
- SwaggerLogin: []
- ApiKeyAuth: []
/api/v1/image/{image_id}:
patch:
tags:
- v1:glance:image
summary: Image Update
description: Updates the editable fields of an image owned by the caller's project.
operationId: image_update_api_v1_image__image_id__patch
security:
- SwaggerLogin: []
- ApiKeyAuth: []
parameters:
- name: image_id
in: path
required: true
schema:
type: string
format: uuid
title: Image Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImageUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ImageOut'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ImageCreate:
properties:
name:
type: string
minLength: 5
title: Name
description:
anyOf:
- type: string
maxLength: 64
- type: 'null'
title: Description
disk_format:
type: string
minLength: 1
title: Disk Format
container_format:
type: string
minLength: 1
title: Container Format
visibility:
type: string
minLength: 1
title: Visibility
default: private
product_category:
type: string
title: Product Category
description: Product category for billing
default: productImage
subscription:
allOf:
- $ref: '#/components/schemas/PlanType'
description: Subscription plan type
default: Hourly
type: object
required:
- name
- disk_format
- container_format
title: ImageCreate
ImageCreateSuccessOut:
properties:
success:
type: boolean
title: Success
default: true
id:
type: string
title: Id
description: Unique identifier of the created image
type: object
required:
- id
title: ImageCreateSuccessOut
ImageImport:
properties:
id:
type: string
title: Id
url:
type: string
title: Url
type: object
required:
- id
- url
title: ImageImport
Body_image_upload_api_v1_image_file_post:
properties:
file:
type: string
format: binary
title: File
description: File to upload
image_id:
type: string
format: uuid
title: Image Id
description: Image ID
type: object
required:
- file
- image_id
title: Body_image_upload_api_v1_image_file_post
ImagesDelete:
properties:
admin_domain:
anyOf:
- type: string
- type: 'null'
title: Admin Domain
admin_project:
anyOf:
- type: string
- type: 'null'
title: Admin Project
project:
anyOf:
- type: string
- type: 'null'
title: Project
ids:
items:
type: string
type: array
title: Ids
type: object
required:
- ids
title: ImagesDelete
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
ImageOut:
properties:
success:
type: boolean
title: Success
default: true
data:
$ref: '#/components/schemas/Image'
type: object
required:
- data
title: ImageOut
ImageListOut:
properties:
success:
type: boolean
title: Success
default: true
data:
items:
$ref: '#/components/schemas/Image'
type: array
title: Data
type: object
required:
- data
title: ImageListOut
ResponseSuccessOutBase:
properties:
success:
type: boolean
title: Success
default: true
type: object
title: ResponseSuccessOutBase
ResponseBaseErrorOut:
properties:
success:
type: boolean
title: Success
default: false
message:
type: string
title: Message
type: object
required:
- message
title: ResponseBaseErrorOut
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
ImageUpdate:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description:
anyOf:
- type: string
maxLength: 64
- type: 'null'
title: Description
metadata:
anyOf:
- type: object
- type: 'null'
title: Metadata
type: object
title: ImageUpdate
Image:
properties:
id:
anyOf:
- type: string
- type: 'null'
title: Id
name:
anyOf:
- type: string
- type: 'null'
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
container_format:
anyOf:
- type: string
- type: 'null'
title: Container Format
disk_format:
anyOf:
- type: string
- type: 'null'
title: Disk Format
visibility:
anyOf:
- type: string
- type: 'null'
title: Visibility
status:
anyOf:
- type: string
- type: 'null'
title: Status
size:
anyOf:
- type: integer
- type: 'null'
title: Size
project:
anyOf:
- type: string
- type: 'null'
title: Project
protected:
anyOf:
- type: boolean
- type: 'null'
title: Protected
created_at:
anyOf:
- type: string
- type: 'null'
title: Created At
updated_at:
anyOf:
- type: string
- type: 'null'
title: Updated At
type: object
title: Image
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>')