Send your first API request

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.

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


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.


What to do next

  • Understand the full data model β€” Get to your first invoice 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.
  • Start configuring your own pricing β€” Onboarding guide covers the full setup process with timelines.