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/nexgen-cloud-profile-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 email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Nexgen Cloud Profile API
version: '1.0'
description: 'Operations tagged Profile across 2 of this provider''s published API definitions: nexgen-cloud-hyperstack-openapi.json, nexgen-cloud-infrahub-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://infrahub-api.nexgencloud.com/v1
tags:
- name: Profile
description: Saved virtual-machine deployment configurations that can be reused across new VMs.
paths:
/core/profiles:
get:
tags:
- Profile
summary: List profiles
description: Returns a list of your existing provisioning profiles, providing virtual machine configuration details for each. For additional information about profiles, see [Load a provisioning profile](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles#load-a-provisioning-profile).
operationId: List_profiles
responses:
'200':
description: Getting profiles success.
content:
application/json:
schema:
$ref: '#/components/schemas/Profile_List_Response'
example:
status: true
message: Getting profiles success.
profiles:
- id: 7613
name: new-profile
description: ''
data: '{"name": "focused-tesla", "environment_name": "default-NORWAY-1", "image_name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2", "volume_name": "", "flavor_name": "n1-cpu-large", "assign_floating_ip": false, "security_rules": [], "key_name": "example-key", "user_data": "", "labels": [], "count": 1}'
created_at: '2026-05-06T15:18:42Z'
examples:
default:
summary: Successful response
value:
status: true
message: Getting profiles success.
profiles:
- id: 7613
name: new-profile
description: ''
data: '{"name": "focused-tesla", "environment_name": "default-NORWAY-1", "image_name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2", "volume_name": "", "flavor_name": "n1-cpu-large", "assign_floating_ip": false, "security_rules": [], "key_name": "example-key", "user_data": "", "labels": [], "count": 1}'
created_at: '2026-05-06T15:18:42Z'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'500':
description: Internal Server Error
content:
application/json:
examples: {}
security:
- apiKey: []
post:
tags:
- Profile
summary: Create profile
description: Creates a [**provisioning profile**](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles) by saving the configuration of a virtual machine for future use. Provide a `name`, optional `description`, and the virtual machine configuration in the `data` object. For the full set of virtual machine configuration fields, see the [**Create virtual machines**](https://docs.hyperstack.cloud/docs/api-reference/create-vms) endpoint.
operationId: Create_profile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Create_Profile_Payload'
example:
name: example-profile
description: Example profile
data:
environment_name: canada-1
flavor_name: n2-cpu-medium
key_name: example-keypair
name: example-vm
count: '1'
image_name: Ubuntu Server 24.04 LTS (Noble Numbat)
assign_floating_ip: 'false'
properties: {}
example:
data:
environment_name: canada-1
flavor_name: n2-cpu-medium
key_name: example-keypair
name: example-vm
count: '1'
image_name: Ubuntu Server 24.04 LTS (Noble Numbat)
assign_floating_ip: 'false'
name: example-profile
description: Example profile
required: true
responses:
'201':
description: Profile created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Create_Profile_Response'
example:
status: true
message: Profile created successfully
profile:
id: 3287
name: example-profile
description: Example profile
data: '{"environment_name": "canada-1","flavor_name": "n2-cpu-medium","key_name": "example-keypair","name": "example-vm","count": "1","image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)","assign_floating_ip": "false"}'
created_at: '2026-05-06T16:04:09Z'
examples:
default:
summary: Successful response
value:
status: true
message: Profile created successfully
profile:
id: 3287
name: example-profile
description: Example profile
data: '{"environment_name": "canada-1","flavor_name": "n2-cpu-medium","key_name": "example-keypair","name": "example-vm","count": "1","image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)","assign_floating_ip": "false"}'
created_at: '2026-05-06T16:04:09Z'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'500':
description: Internal Server Error
content:
application/json:
examples: {}
security:
- apiKey: []
servers:
- url: https://infrahub-api.nexgencloud.com/v1
/core/profiles/{id}:
get:
tags:
- Profile
summary: Retrieve profile details
description: Retrieves the details of an existing [**provisioning profile**](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles) containing the saved configuration of a virtual machine, ready for deployment. Include the profile ID in the path to retrieve the details.
operationId: Get_profile
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: ID of the profiles.
responses:
'200':
description: Profile details retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Create_Profile_Response'
example:
status: true
message: Getting profile detail success.
profile:
id: 3287
name: example-profile
description: Example profile
data: '{"environment_name": "canada-1","flavor_name": "n2-cpu-medium","key_name": "example-keypair","name": "example-vm","count": "1","image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)","assign_floating_ip": "false"}'
created_at: '2026-05-06T16:04:09Z'
examples:
default:
summary: Successful response
value:
status: true
message: Getting profile detail success.
profile:
id: 3287
name: example-profile
description: Example profile
data: '{"environment_name": "canada-1","flavor_name": "n2-cpu-medium","key_name": "example-keypair","name": "example-vm","count": "1","image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)","assign_floating_ip": "false"}'
created_at: '2026-05-06T16:04:09Z'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'500':
description: Internal Server Error
content:
application/json:
examples: {}
security:
- apiKey: []
delete:
tags:
- Profile
summary: Delete profile
description: Deletes an existing [**provisioning profile**](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles) containing the saved configuration of a virtual machine. Include the profile ID in the path to delete the specified profile.
operationId: Delete_profile
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: ID of the profiles.
responses:
'200':
description: Profile deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseModel'
example:
status: true
message: Profile example-profile deleted.
examples:
default:
summary: Successful response
value:
status: true
message: Profile example-profile deleted.
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
examples: {}
'500':
description: Internal Server Error
content:
application/json:
examples: {}
security:
- apiKey: []
servers:
- url: https://infrahub-api.nexgencloud.com/v1
components:
schemas:
ResponseModel:
type: object
properties:
status:
type: boolean
description: Whether the request succeeded.
example: true
message:
type: string
description: Human-readable description of the result.
example: Instance is being deleted.
Profile_Fields:
type: object
properties:
id:
type: integer
description: Unique numeric identifier.
example: 1402
name:
type: string
description: Name of the provisioning profile.
example: new-profile
description:
type: string
description: Human-readable description of the resource.
example: example
data:
type: string
description: Provisioning profile configuration stored as a serialized string.
example: '{"name": "focused-tesla", "environment_name": "default-NORWAY-1", "image_name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2", "volume_name": "", "flavor_name": "n1-cpu-large", "assign_floating_ip": false, "security_rules": [], "key_name": "example-key", "user_data": "", "labels": [], "count": 1}'
created_at:
type: string
format: date-time
description: ISO 8601 UTC timestamp marking when the resource was created.
example: '2026-05-06T16:04:09Z'
Create_Profile_Payload:
required:
- data
- name
type: object
properties:
data:
type: object
description: An object containing the virtual machine configuration to save in this profile. Must include all fields required by the [**Create virtual machines**](https://docs.hyperstack.cloud/docs/api-reference/create-vms) endpoint (`environment_name`, `flavor_name`, `key_name`, `name`, `count`). Can also include optional fields such as `image_name` or `assign_floating_ip`. All values must be provided as strings.
properties:
environment_name:
type: string
description: Name of the environment in which to create the virtual machine.
flavor_name:
type: string
description: Name of the GPU hardware configuration ([flavor](https://docs.hyperstack.cloud/docs/hardware/flavors)) for the virtual machine.
key_name:
type: string
description: Name of the SSH key pair to use for access to the virtual machine.
name:
type: string
description: Name to assign to the virtual machine when deployed from this profile.
count:
type: string
description: Number of virtual machines to create (as a string, e.g. `"1"`).
name:
maxLength: 50
type: string
description: Name of the profile being created.
description:
maxLength: 150
type: string
description: Optional description for the profile being created.
Profile_List_Response:
type: object
properties:
status:
type: boolean
description: Whether the request succeeded.
example: true
message:
type: string
description: Human-readable description of the result.
example: Getting profiles success.
profiles:
type: array
items:
$ref: '#/components/schemas/Profile_Fields'
description: List of provisioning profiles available to the user.
Create_Profile_Response:
type: object
properties:
status:
type: boolean
description: Whether the request succeeded.
example: true
message:
type: string
description: Human-readable description of the result.
example: Profile created successfully
profile:
$ref: '#/components/schemas/Profile_Fields'
description: An object containing the configuration of the virtual machine saved in the created profile.
ErrorResponseModel:
type: object
properties:
status:
type: boolean
default: false
description: Whether the request succeeded.
message:
type: string
description: Human-readable description of the result.
error_reason:
type: string
description: Short machine-readable reason code when the request fails.
ResponseModel_2:
type: object
properties:
status:
type: boolean
message:
type: string
Profile_Fields_2:
type: object
properties:
id:
type: integer
name:
type: string
description:
type: string
data:
type: string
created_at:
type: string
format: date-time
Create_Profile_Payload_2:
required:
- data
- name
type: object
properties:
name:
maxLength: 50
type: string
description: The name of the profile being created.
description:
maxLength: 150
type: string
description: The optional description for the profile being created.
data:
type: object
additionalProperties:
type: string
description: The data object containing the configuration details of the virtual machine profile being created.
Profile_List_Response_2:
type: object
properties:
status:
type: boolean
message:
type: string
profiles:
type: array
items:
$ref: '#/components/schemas/Profile_Fields_2'
Create_Profile_Response_2:
type: object
properties:
status:
type: boolean
message:
type: string
profile:
$ref: '#/components/schemas/Profile_Fields_2'
ErrorResponseModel_2:
type: object
properties:
status:
type: boolean
default: false
message:
type: string
error_reason:
type: string
securitySchemes:
apiKey:
type: apiKey
name: api_key
in: header
description: 'API-key authentication. Pass your API key as the `api_key` header value (e.g., `api_key: YOUR_API_KEY`, no prefix). [Generate a key in the Hyperstack console](https://console.hyperstack.cloud/api-keys). The key is personal to your user account and works across every environment and region in your organization.'
accessToken:
type: apiKey
description: Bearer Token
name: Authorization
in: header
x-refined-from:
- nexgen-cloud-hyperstack-openapi.json
- nexgen-cloud-infrahub-api-openapi.json