API reference

REST endpoints, OpenAPI schema, and client namespaces.

Base URL

All endpoints are under /api/v1/. Use your environment base URL (e.g. https://api.nezahub.com in production).

OpenAPI

  • GET /api/v1/schema/ - OpenAPI 3 schema (JSON)
  • GET /api/v1/docs/ - Swagger UI
  • GET /api/v1/health/ - service health

SDK enums

Both SDKs export typed enums for API field values. Use them in request bodies instead of raw strings.

# Python
from nezahub import (
    ChargePreset, ChargeKey, ChargePayer,
    MarketCountryCode, PaymentCurrency, MnoSlug,
    PriceType, TaxCategory, PayoutType, CommissionType,
)

# Node.js
import {
  ChargePreset, ChargeKey, ChargePayer,
  MarketCountryCode, PaymentCurrency, MnoSlug,
  PriceType, TaxCategory, PayoutType, CommissionType,
} from "@nezahub/sdk";

Charge presets: ChargePreset.MarketplaceStandard, ChargePreset.SellerPaysAll, etc. Helpers: charge_distribution_from_preset() / chargeDistributionFromPreset().

SDK client shape

client.auth                 login, me, verify_2fa
client.products             list, create, retrieve, update, delete
client.prices               list(product_id), create, update, delete
client.agents               list, create, update, balance
client.agents.assignments   list, create, delete
client.checkout.sessions    create, retrieve, confirm
client.checkout.links       retrieve, start
client.paymentLinks         list, create, update
client.transactions         list, retrieve
client.payouts              balance, list, create
client.wallets.transfers    quote, execute, list

Python uses snake_case methods; Node.js uses camelCase. REST paths are identical.

Pagination

List endpoints return { count, next, previous, results }. Pass page, ordering, and q query params.

Errors

Errors return { detail: "message" } or field-level validation errors. SDKs raise NezaHubError with status_code and payload.