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-billing-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: 3.2.0
info:
title: Infrahub Billing API
version: '1.0'
servers:
- url: https://infrahub-api.nexgencloud.com/v1
security:
- accessToken: []
- apiKey: []
tags:
- name: Billing
paths:
/billing/billing/history:
get:
tags:
- Billing
summary: Retrieve Billing History for a specific Billing Cycle
description: User will receive billing history for the specified billing cycle. This data will include 'incurred_bill', 'non_discounted_bill', 'vm_cost', 'volume_cost'
operationId: Get_User_Billing_History
parameters:
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: graph
in: query
description: Set this value to "true" for getting graph value
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationLevelBillingHistoryResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/bucket:
get:
tags:
- Billing
summary: Retrieve Billing History of a Bucket for a specific Billing Cycle
description: User will receive billing history of buckets for thespecified billing cycle. This data will include 'resource_name', 'infrahub_id', 'status', 'incurred_bill', 'usage_time', 'price_per_hour'
operationId: List_Bucket_Billing_History
parameters:
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: search
in: query
description: Search by resource "Name" or "ID"
schema:
type: string
- name: per_page
in: query
description: Number of items to return per page
schema:
type: integer
- name: page
in: query
description: Page number
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelBucketBillingHistoryResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/bucket/{bucket_id}:
get:
tags:
- Billing
summary: Retrieve Billing History of a Specific Snapshot for a specific Billing Cycle
description: Retrieve billing history of a specific Bucket for the specified billing cycle. This data will include 'resource_name', 'infrahub_id', 'price_per_hour', 'incurred_bill', 'usage_time', 'non_discounted_price_per_hour', 'non_discounted_bill'.
operationId: Get_Bucket_billing_history
parameters:
- name: bucket_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: Datetime should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Datetime should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelBucketBillingDetailsResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/bucket/{bucket_id}/graph:
get:
tags:
- Billing
summary: Retrieve hourly cost datapoints of a Specific Bucket for a specific billing…
description: User will receive hourly cost datapoints for a Bucket for a specified billing cycle. This data will include 'incurred_bill' graph datapoints.
operationId: Buckets_billing_history_hourly_chart
parameters:
- name: bucket_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelGraphBillingDetailsBucket'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/cluster:
get:
tags:
- Billing
summary: Retrieve Billing History of Clusters for a specific Billing Cycle
description: User will receive billing history of clusters for the specified billing cycle. This data will include 'resource_name', 'infrahub_id', 'status', 'incurred_bill', 'usage_time', 'price_per_hour'
operationId: List_Clusters_billing_history
parameters:
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: search
in: query
description: Search by resource "Name" or "ID"
schema:
type: string
- name: per_page
in: query
description: Number of items to return per page
schema:
type: integer
- name: page
in: query
description: Page number
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelClusterBillingHistoryResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/cluster/{cluster_id}:
get:
tags:
- Billing
summary: Retrieve Billing History of a Specific Cluster for a specific Billing Cycle
description: User will receive billing history of a specific Cluster for the specified billing cycle. This data will include 'resource_name', 'infrahub_id', 'price_per_hour', 'non_discounted_price_per_hour', 'incurred_bill', 'non_discounted_bill', 'usage_time', 'usage_time_ACTIVE', 'usage_time_SHUTOFF', 'usage_time_HIBERNATED'.
operationId: Get_Cluster_billing_history
parameters:
- name: cluster_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelClusterBillingDetailsResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/cluster/{cluster_id}/graph:
get:
tags:
- Billing
summary: Retrieve hourly cost datapoints of a specific Cluster for a specific billing…
description: User will receive hourly cost datapoints for a Cluster for a specified billing cycle. This data will include 'incurred_bill' graph datapoints.
operationId: Get_cluster_billing_history_graph
parameters:
- name: cluster_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelClusterGraphBillingDetailsResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/contract:
get:
tags:
- Billing
summary: Retrieve Billing History of Contract for a specific Billing Cycle
description: User will receive billing history of contracts for the specified billing cycle. This data will include 'description', gpu_type','infrahub_id', 'status', 'incurred_bill', 'price_per_hour'
operationId: List_billing_contract_history
parameters:
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: search
in: query
description: Search by Contract "Description" or "ID"
schema: {}
responses:
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/data_synthesis:
get:
tags:
- Billing
summary: Retrieve Billing History of data synthesis for a specific Billing Cycle
description: User will receive billing history of data_synthesis for the specified billing cycle.
operationId: Get_data_synthesis_billing_history
parameters:
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: search
in: query
description: Search by resource "Name" or "ID"
schema:
type: string
- name: per_page
in: query
description: Number of items to return per page
schema:
type: integer
- name: page
in: query
description: Page number
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TokenBasedBillingHistoryResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/data_synthesis/{resource_id}:
get:
tags:
- Billing
description: 'Retrieve billing history for a specific Data Synthesis resource. Includes: ''resource_name'', ''infrahub_id'', ''base_model'', ''base_model_display_name'', ''lora_adapter'', ''incurred_bill'', ''non_discounted_bill'', ''usage_time'', ''input_tokens'', ''output_tokens'', ''input_tokens_incurred_bill'', ''input_tokens_non_discounted_bill'', ''output_tokens_incurred_bill'', ''output_tokens_non_discounted_bill'''
operationId: Get_data_synthesis_history_for_resource
parameters:
- name: resource_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DataSynthesisBillingHistoryDetailsResponseSchema'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
summary: Get data synthesis history for resource
x-summary-source: derived
/billing/billing/history/data_synthesis/{resource_id}/graph:
get:
tags:
- Billing
summary: Retrieve hourly cost datapoints of a Specific Data Synthesis for a specific
description: 'User will receive hourly cost datapoints for a data synthesis job for a specified billing cycle. This data will include ''incurred_bill'' graph datapoints.
billing cycle'
operationId: Get_data_synthesis_billing_history_graph
parameters:
- name: resource_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DataSynthesisBillingHistoryDetailsResponseSchema'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/fine_tuning:
get:
tags:
- Billing
summary: Retrieve Billing History of model evaluation for a specific Billing Cycle
description: User will receive billing history of fine_tuning for the specified billing cycle.
operationId: Get_fine-tuning_billing_history
parameters:
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: search
in: query
description: Search by resource "Name" or "ID"
schema:
type: string
- name: per_page
in: query
description: Number of items to return per page
schema:
type: integer
- name: page
in: query
description: Page number
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/WorkloadBillingHistoryResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/fine_tuning/{resource_id}:
get:
tags:
- Billing
summary: Retrieve Billing History of a Specific Fine Tuning for a specific Billing Cycle
description: Retrieve billing history of a specific Fine tuning for the specified billing cycle. This data will include 'resource_name', 'infrahub_id', 'price_per_hour', 'incurred_bill', 'usage_time', 'non_discounted_price_per_hour', 'non_discounted_bill'.
operationId: Get_resource_fine-tuning_billing_history
parameters:
- name: resource_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: Datetime should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Datetime should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelVolumeBillingDetailsResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/fine_tuning/{resource_id}/graph:
get:
tags:
- Billing
summary: Retrieve hourly cost datapoints of a Specific Fine Tuning for a specific…
description: User will receive hourly cost datapoints for a Fine Tunings for a specified billing cycle. This data will include 'incurred_bill' graph datapoints.
operationId: Get_fine-tuning_billing_history_graph
parameters:
- name: resource_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLevelVolumeGraphBillingDetailsResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/image_generation:
get:
tags:
- Billing
summary: Retrieve Billing History of image generation for a specific Billing Cycle
description: User will receive billing history of image_generation for the specified billing cycle.
operationId: Get_image_generation_billing_history
parameters:
- name: start_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: end_date
in: query
description: Date should be formatted in YYYY-MM-DDTHH:MM:SS
schema:
type: string
- name: search
in: query
description: Search by resource "Name" or "ID"
schema:
type: string
- name: per_page
in: query
description: Number of items to return per page
schema:
type: integer
- name: page
in: query
description: Page number
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TokenBasedBillingHistoryResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
/billing/billing/history/image_generation/{resource_id}:
get:
tags:
- Billing
description: 'Retrieve billing history for a specific Image Generation resource. Includes: ''resource_name'', ''infrahub_id'', ''base_model'', ''base_model_display_name'', ''lora_adapter'', ''incurred_bill'', ''non_discounted_bill'', ''usage_time'', ''input_tokens'', ''output_tokens'', ''input_tokens_incurred_bill'', ''input_tokens_non_discounted_bill'', ''output_tokens_incurred_bill'', ''output_tokens_non_discounted_bill'''
operationId: Get_image_generation_history_for_resource
parameters:
- name: resource_id
in: path
required: true
schema:
type: integer
- name: start_date
in: query
description: YYYY-MM-DDTHH:MM:SS
schema: {}
- name: end_date
in: query
description: YYYY-MM-DDTHH:MM:SS
schema: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImageGenerationBillingHistoryDetailsResponseSchema'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseModel'
'500':
description: Internal Server Error
content: {}
security:
- accessToken: []
- apiKey: []
summary: Get image generation history for resource
x-summary-source: derived
/billing/billing/history/image_generation/{resource_id}/graph:
get:
tags:
- Billing
summary: Retrieve hourly cost datapoints of a Specific Image Generation for a specific
description: 'User will receive hourly cost datapoints for an image generation job for a specified billing cycle. This data will include ''incurred_bill'' graph datapoints.
# --- truncated at 32 KB (99 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nexgen-cloud/refs/heads/main/openapi/nexgen-cloud-billing-api-openapi.yml