Skip to content

SDK Method Map

Use this map to choose between raw HTTP, Python SDK, and TypeScript SDK calls. Access levels describe the typical SaaS role required; your workspace permissions and key scopes still apply.

Resource Access Raw Endpoint Family Python SDK TypeScript SDK Notes
Projects Customer or organization member /api/v1/projects/ client.projects.list(), get(), create(), update(), delete() client.projects.list(), get(), create(), update(), delete() Supports idempotency on create/update.
Customers Project editor or owner /api/v1/customers/ client.endcustomers.list(), get(), get_by_external_id(), create(), update(), delete() client.customers.list(), get(), getByExternalId(), create(), update(), delete() External IDs are useful for runtime mapping.
Customer credits Customer viewer/editor /api/v1/customers/{id}/credits client.endcustomer_credits.list(), grant(), reverse() client.customerCredits.list(), grant(), reverse() Reads return grant history plus a derived balance. Grant and reversal requests support idempotency.
Customer keys Customer or project owner/editor /api/v1/customer-keys/ client.endcustomer_keys.list(), get(), create(), update(), delete() client.customerKeys.list(), get(), create(), update(), delete() Full key is shown once.
User API keys Current user /api/v1/user-api-keys/ client.user_keys.list(), create(), update(), delete(), rotate() client.userKeys.list(), create(), update(), delete(), rotate() Use for management automation.
Usage Customer runtime key or management key /api/v1/usage/* client.usage.preflight(), log(), preflight_with_key(), log_with_key(), query(), estimate_cost(), mismatch_diagnostics(), profitability_pivot() client.usage.preflight(), log(), preflightWithKey(), logWithKey(), query(), estimateCost(), mismatchDiagnostics(), profitabilityPivot() Runtime key flows use payload field key; internal replay and batch operations are not part of the public reference.
Partial usage Enabled management key /api/v1/partial/* client.partial_usage.list_projects(), get_project(), delete_project(), finalize_project(), plus customer/provider variants client.partialUsage.listProjects(), getProject(), deleteProject(), finalizeProject(), plus customer/provider variants Created by user-key usage logging with unresolved external IDs.
Pricing rules Project editor or owner /api/v1/pricing-rules/ client.pricing_rules.list(), get(), create(), update(), delete() client.pricingRules.list(), get(), create(), update(), delete() Project-scoped pricing overrides.
Billing Customer/project billing role /api/v1/customers/{id}/billing/*, /api/v1/billing-preview/* client.billing.list_customer_cycles(), generate_draft_invoice(), generate_draft_invoice_async(), get_task(), get_document(), get_ledger(), preview_project_line_items() client.billing.listCustomerCycles(), generateDraftInvoice(), generateDraftInvoiceAsync(), getTask(), getDocument(), getLedger(), previewProjectLineItems() Use idempotency for side effects where supported.
Billing templates Organization billing admin /api/v1/billing-templates/ client.billing_templates.list(), create(), get(), update(), delete(), activate(), clone(), create_rule(), update_rule(), delete_rule() client.billingTemplates.list(), create(), get(), update(), delete(), activate(), clone(), createRule(), updateRule(), deleteRule() Used by billing documents.
Guardrails Project editor or owner /api/v1/guardrails/ client.guardrails.list(), get(), create(), update(), delete() client.guardrails.list(), get(), create(), update(), delete() Thresholds use raw counts.
Provider settings Organization or project admin /api/v1/provider-settings/* client.providers.get_effective_setting(), provider policy/settings methods client.providers.getEffectiveSetting(), provider policy/settings methods Provider catalog writes and syncs are Spendware-managed unless explicitly enabled for your account.
Organizations Organization owner/admin /api/v1/tenants/ client.tenants.* client.organizations.* Includes memberships, invitations, identity providers, and Stripe sessions.
Account audit Current user or organization owner /api/v1/account-audit-events/me, /tenant/{tenant_id} client.account_audit.list_me(), list_organization() client.accountAudit.listMe(), listOrganization() Global support audit endpoints are not part of the public reference.
Webhooks Organization webhook admin Webhooks API /api/v1/endpoints, /events, /deliveries client.webhooks.list_endpoints(), create_endpoint(), get_endpoint(), update_endpoint(), delete_endpoint(), rotate_endpoint_secret(), trigger_endpoint_test(), list_events(), redeliver_event(), list_deliveries(), list_delivery_attempts() client.webhooks.listEndpoints(), createEndpoint(), getEndpoint(), updateEndpoint(), deleteEndpoint(), rotateEndpointSecret(), triggerEndpointTest(), listEvents(), redeliverEvent(), listDeliveries(), listDeliveryAttempts() Requires webhooksBaseUrl when webhooks runs separately.

If an endpoint is visible in the API reference but not listed here, use raw HTTP or contact Spendware support for SDK coverage guidance.