NimbusNexus V1:billing:public API
The v1:billing:public API from NimbusNexus — 5 operation(s) for v1:billing:public.
The v1:billing:public API from NimbusNexus — 5 operation(s) for v1:billing:public.
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-billing-public-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:billing:public 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:billing:public
paths:
/api/v1/billing/public/billing_info:
get:
tags:
- v1:billing:public
summary: Get Billing Info
description: Retrieves the billing address and notification email addresses for the current customer.
operationId: get_billing_info_api_v1_billing_public_billing_info_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BillingInfoResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'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
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'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: []
patch:
tags:
- v1:billing:public
summary: Update Billing Info
description: Updates the billing address, company name, and notification email addresses for the current customer.
operationId: update_billing_info_api_v1_billing_public_billing_info_patch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EditBillingInfo'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BillingInfoResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'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
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'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/billing/public/balances:
get:
tags:
- v1:billing:public
summary: Get Balances
description: Returns the customer's outstanding postpaid charges, available promotional credit, and prepaid cash balance in a single snapshot.
operationId: get_balances_api_v1_billing_public_balances_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BalancesResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'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
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'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/billing/public/accrued_charges:
get:
tags:
- v1:billing:public
summary: Accrued Charges
description: Returns the total charges accrued by the current customer that have not yet been settled.
operationId: accrued_charges_api_v1_billing_public_accrued_charges_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AccruedChargesResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'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
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'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/billing/public/cash_balance:
get:
tags:
- v1:billing:public
summary: Get Cash Balance
description: Returns the current prepaid cash balance for the customer along with the timestamp it was last updated.
operationId: get_cash_balance_api_v1_billing_public_cash_balance_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CashBalanceResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'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
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'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/billing/public/promotion_grants:
get:
tags:
- v1:billing:public
summary: List Promotion Grants
description: Lists the customer's active promotional credit grants with their remaining amounts and expiration dates.
operationId: list_promotion_grants_api_v1_billing_public_promotion_grants_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PromotionGrantsResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseValidationErrorOut'
example:
success: false
errors:
field:
- Invalid value
'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
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Not Found
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseBaseErrorOut'
example:
success: false
message: Conflict
'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: []
components:
schemas:
BillingInfoDataOut:
properties:
billing_address:
$ref: '#/components/schemas/BillingAddressOut'
billing_emails:
$ref: '#/components/schemas/BillingEmailsOut'
type: object
required:
- billing_address
- billing_emails
title: BillingInfoDataOut
PromotionGrantItemOut:
properties:
id:
type: string
title: Id
amount:
type: string
title: Amount
expires_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Expires At
type: object
required:
- id
- amount
title: PromotionGrantItemOut
BillingInfoResponse:
properties:
success:
type: boolean
title: Success
default: true
data:
$ref: '#/components/schemas/BillingInfoDataOut'
type: object
required:
- data
title: BillingInfoResponse
PromotionGrantsDataOut:
properties:
promotion_total:
type: string
title: Promotion Total
default: '0.00'
promotions:
items:
$ref: '#/components/schemas/PromotionGrantItemOut'
type: array
title: Promotions
default: []
type: object
title: PromotionGrantsDataOut
BalancesResponse:
properties:
success:
type: boolean
title: Success
default: true
data:
$ref: '#/components/schemas/BalancesDataOut'
type: object
required:
- data
title: BalancesResponse
BalancesDataOut:
properties:
outstanding_cents:
type: integer
title: Outstanding Cents
promo_available_cents:
type: integer
title: Promo Available Cents
cash_balance_cents:
type: integer
title: Cash Balance Cents
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
type: object
required:
- outstanding_cents
- promo_available_cents
- cash_balance_cents
title: BalancesDataOut
CashBalanceResponse:
properties:
success:
type: boolean
title: Success
default: true
data:
$ref: '#/components/schemas/CashBalanceDataOut'
type: object
required:
- data
title: CashBalanceResponse
ResponseBaseErrorOut:
properties:
success:
type: boolean
title: Success
default: false
message:
type: string
title: Message
type: object
required:
- message
title: ResponseBaseErrorOut
BillingEmailsOut:
properties:
statement_email:
type: string
title: Statement Email
default: ''
receipt_email:
type: string
title: Receipt Email
default: ''
type: object
title: BillingEmailsOut
BillingAddressOut:
properties:
first_name:
type: string
title: First Name
default: ''
last_name:
type: string
title: Last Name
default: ''
company:
type: string
title: Company
default: ''
line1:
type: string
title: Line1
default: ''
line2:
type: string
title: Line2
default: ''
city:
type: string
title: City
default: ''
state:
type: string
title: State
default: ''
postal_code:
type: string
title: Postal Code
default: ''
country:
type: string
title: Country
default: ''
type: object
title: BillingAddressOut
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
AccruedChargesResponse:
properties:
success:
type: boolean
title: Success
default: true
data:
$ref: '#/components/schemas/AccruedChargesDataOut'
type: object
required:
- data
title: AccruedChargesResponse
EditBillingInfo:
properties:
company:
anyOf:
- type: string
- type: 'null'
title: Company
address:
anyOf:
- $ref: '#/components/schemas/AddressModel'
- type: 'null'
statement_email:
anyOf:
- type: string
format: email
- type: 'null'
title: Statement Email
receipt_email:
anyOf:
- type: string
format: email
- type: 'null'
title: Receipt Email
type: object
title: EditBillingInfo
AccruedChargesDataOut:
properties:
accrued_charges:
type: string
title: Accrued Charges
default: '0.00'
type: object
title: AccruedChargesDataOut
CashBalanceDataOut:
properties:
cash_balance:
type: string
title: Cash Balance
default: '0.00'
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
type: object
title: CashBalanceDataOut
AddressModel:
properties:
line1:
type: string
minLength: 3
title: Line1
line2:
anyOf:
- type: string
- type: 'null'
title: Line2
city:
type: string
minLength: 2
pattern: ^[a-zA-Z -]+$
title: City
state:
anyOf:
- type: string
maxLength: 2
minLength: 2
pattern: ^[A-Z]{2}$
- type: 'null'
title: State
country:
type: string
maxLength: 2
minLength: 2
title: Country
postal_code:
type: string
maxLength: 10
minLength: 4
title: Postal Code
type: object
required:
- line1
- city
- country
- postal_code
title: AddressModel
PromotionGrantsResponse:
properties:
success:
type: boolean
title: Success
default: true
data:
$ref: '#/components/schemas/PromotionGrantsDataOut'
type: object
required:
- data
title: PromotionGrantsResponse
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>')