For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Logo
LoginSandbox
Platform GuidesAPI DocsSDKMCP ServerChangelog
Platform GuidesAPI DocsSDKMCP ServerChangelog
  • Getting started
    • Introduction
    • Concepts
    • Onboarding guide
      • Send your first API request
      • Configure your first meters and prices
      • Backfill and migrate usage data
      • Bill your first B2C customer
  • Use cases
    • Monetizing an AI agent
    • Pricing models for AI products
    • Configuring entitlements for AI products
  • Usage metering & events
    • Meters
    • Usage events
    • Unmatched events
    • Event reprocessing
  • Products & plans
    • Product Catalog
    • Pricing Plans
    • Features & Entitlements
  • Wallets & credits
    • Credit types & wallets
    • Credits in pricing plans
  • Customers & subscriptions
    • Customers
    • Subscriptions
    • Quotes
  • Invoicing
    • Invoices
    • Invoice corrections
    • Payment Collections
    • Tax
    • Currencies & Exchange rates
    • E-invoicing
  • Analytics & reporting
    • Insights
    • Report downloads
    • Revenue Recognition & Deferred Revenue
  • Integrations
    • CRM
    • ERP
    • Email Providers
    • Data Imports: Event File Uploads
    • Data Exports
    • Payment Service Providers
  • Settings & admin
    • Billing entities
    • Payment Options
    • User management
    • Customising invoices
    • Custom fields
    • Default platform settings
    • API key creation
    • Alert Rules
    • Workflows
  • Workflows
    • Workflow Triggers
    • Workflow Actions
    • Monitoring and Audit
    • Common Use Cases
  • For developers
    • Introduction
    • Authentication
    • Local development setup
    • API
    • Errors
    • Troubleshooting
    • Query Parameters
    • Expanding Responses
    • Idempotency
    • Timestamp formatting
    • Webhooks
    • Locale
    • MCP Server
LoginSandbox
On this page
  • Step 1: Get your API key
  • Keep your API key secret. Do not commit it to source control or expose it in client-side code.
  • Step 2: Make your first request
  • Step 3: Create your first customer
  • Step 4: Fetch the customer back
  • Step 5: Activate the customer
  • All API requests must be made over HTTPS. Requests without a valid X-API-KEY header return 401 UNAUTHORISED.
  • What to do next
Getting startedTutorials

Send your first API request

Was this page helpful?
Previous

Configure your first meters and prices

Next
Built with

By the end of this tutorial you will have made an API call to Solvimon and received a response. No billing setup required — just get talking to the API.

What you’ll need:

  • A Solvimon sandbox account
  • curl or any HTTP client

Step 1: Get your API key

  1. Log in to the Solvimon Sandbox
  2. Go to Settings → API keys
  3. Copy your TEST API key

Keep your API key secret. Do not commit it to source control or expose it in client-side code.

Step 2: Make your first request

List your customers. On a fresh sandbox account this returns an empty list — that’s expected.

$curl https://test.api.solvimon.com/v1/customers \
> -H "X-API-KEY: <apiKey>"

A successful response:

1{
2 "data": [],
3 "page": 1,
4 "limit": 10,
5 "links": {
6 "first": "https://test.api.solvimon.com/v1/customers?page=1",
7 "previous": null,
8 "current": "https://test.api.solvimon.com/v1/customers?page=1",
9 "next": null
10 }
11}

A 200 with an empty data array means you’re authenticated and connected.


Step 3: Create your first customer

$curl -X POST https://test.api.solvimon.com/v1/customers \
> -H "X-API-KEY: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "reference": "superstore-001",
> "type": "ORGANIZATION",
> "email": "invoices@superstore.de",
> "roles": [
> "DEFAULT"
> ],
> "status": "DRAFT",
> "timezone": "Europe/Berlin",
> "organization": {
> "legal_name": "SuperStore GmbH",
> "tax_ids": [
> {
> "id": "368807022",
> "type": "GENERIC_TAX_ID"
> }
> ],
> "registered_address": {
> "line1": "Hasengarten 14",
> "city": "Berlin",
> "postal_code": "79341",
> "state": "",
> "country": "DE"
> }
> }
>}'

Response:

1{
2 "object_type": "CUSTOMER",
3 "id": "cust_abc",
4 "created_at": "2026-03-31T08:39:02Z",
5 "reference": "superstore-001",
6 "status": "DRAFT",
7 "timezone": "Europe/Berlin",
8 "type": "ORGANIZATION",
9 "email": "invoices@superstore.de",
10 "organization": {
11 "legal_name": "SuperStore GmbH",
12 "tax_id": "368807022",
13 "tax_ids": [
14 {
15 "id": "368807022",
16 "type": "GENERIC_TAX_ID"
17 }
18 ],
19 "registered_address": {
20 "line1": "Hasengarten 14",
21 "city": "Berlin",
22 "postal_code": "79341",
23 "state": "",
24 "country": "DE"
25 }
26 },
27 "roles": [
28 "DEFAULT"
29 ]
30}

The id is Solvimon’s internal identifier. The reference is your own — use it to look this customer up from your system.


Step 4: Fetch the customer back

$curl "https://test.api.solvimon.com/v1/customers?reference=superstore-001" \
> -H "X-API-KEY: <apiKey>"

Step 5: Activate the customer

The customer was created in DRAFT status. Before you can create a subscription, you need to activate them:

$curl -X POST https://test.api.solvimon.com/v1/customers/superstore-001/activate \
> -H "X-API-KEY: <apiKey>"
$ -d '{}'

A 200 response means the customer is now ACTIVE. Resources in Solvimon follow a DRAFT → ACTIVE lifecycle — drafts exist so you can configure them before they’re used in billing.

All API requests must be made over HTTPS. Requests without a valid X-API-KEY header return 401 UNAUTHORISED.

What to do next

  • Build a complete billing setup — Configure your first meters and prices walks through the complete primitive chain: meter → product → pricing plan → subscription → usage event → invoice.
  • Build a B2C subscription product — Bill your first B2C customer adds payment collection via Adyen or Stripe.
  • Understand the flow — Onboarding guide covers the setup sequence at a high level.