Jupiter ERP

Account API

REST interface for your tenant: contacts, documents, banking, and service. Clear auth, rate limits, and an exportable schema for your own clients.

REST · JSON389Endpoints272Data models1.286.0Version

Base URL

Production

https://api.jupiter-erp.com/api/account/…

Quick start

  1. 1

    Create an API token

    In the Jupiter ERP panel under Profile → API & MCP, generate a personal token.

  2. 2

    Note your account UUID

    Find the tenant UUID in account settings: every request needs the X-Account-Uuid header.

  3. 3

    Send your first request

    With Bearer token and account UUID, fetch tenant data (GET /api/account), for example.

First request: fetch tenant
curl -X GET 'https://api.jupiter-erp.com/api/account' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'X-Account-Uuid: YOUR_ACCOUNT_UUID' \
  -H 'Accept: application/json'

MCP

With the same token, an agent uses the Account API. The connection is POST /api/mcp with a bearer token and the X-Account-Uuid header. Subscription, users, and the Jupiter AI assistant stay in the panel. The per-minute limits match the Account API. The counters are separate.

MCP reference

Request headers

Missing required fields → HTTP 401 or 403.

HeaderRequiredDescriptionExample
AuthorizationyesBearer token from profile settings.Bearer {API-Token}
X-Account-UuidyesUUID of the Jupiter ERP tenant the request applies to.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AcceptnoRecommended: application/json for JSON responses.application/json
Accept-LanguagenoPreferred language for error messages and validated text (e.g. de, en). If omitted, the user's panel language applies.en
Content-TypenoFor POST, PUT, and PATCH with a JSON body: application/json.application/json

Response headers

Rate limit information is included with every response.

HeaderDescriptionExample
Content-TypeResponse format; application/json for JSON endpoints.—
X-RateLimit-LimitMaximum number of requests in the current window for the applicable limit.—
X-RateLimit-RemainingRemaining requests in the current window.—
Retry-AfterOnly on HTTP 429: wait time in seconds before retrying the request.—

Rate limits

To protect the platform, a per-minute request limit applies. Two independent counters apply at once: the lower limit wins.

API token

300 requests / minute

Applies to all requests with the same Bearer token.

Tenant (X-Account-Uuid)

600 requests / minute

Sum of all tokens and integrations on the same tenant.

These limits apply to the standard plans. Custom plans can include higher limits, an SLA, and other operational agreements.

HTTP 429: Too many requests

  • Response status HTTP 429 Too Many Requests.
  • The Retry-After header gives the recommended wait time in seconds.
  • Use exponential backoff and avoid parallel burst load on a single token.
  • If you need sustained higher throughput, contact us before rollout.

Error responses

Errors are returned as JSON. Besides the HTTP status, the body usually includes a readable message; validation errors also include structured errors.

Example (HTTP 422)
{
  "message": "The given data was invalid.",
  "errors": {
    "email": ["The email field is required."]
  }
}
  • message may be localized when Accept-Language is set.
  • errors is an object with field names and lists of hints (typical for HTTP 422).
  • HTTP 403 may mean the tenant is locked or the token lacks permission for the action.

Pagination

List endpoints return entries in data and metadata in meta. Control via query parameters page and per_page (defaults per endpoint in the reference).

Query parameters

page
Page number, starting at 1.
per_page
Entries per page; upper limits are documented per endpoint.

Fields in meta

current_page
The current page number.
last_page
The last page number.
per_page
The number of items per page.
total
The total number of items.
items_from
The starting item number on the current page.
items_to
The ending item number on the current page.
Example response
{
  "data": [ … ],
  "meta": {
    "current_page": 1,
    "last_page": 5,
    "per_page": 25,
    "total": 112,
    "items_from": 1,
    "items_to": 25
  }
}

Downloads

Full schema and Postman collection, the same basis as this reference.

Data format

Consistent conventions across all endpoints.

JSON
Request and response body as application/json
Money amounts
always in cents (450 = 4.50 EUR)
Timestamps
ISO 8601 (UTC)
HTTPS
production only over TLS

HTTP status codes

Common responses at a glance.

200 / 201
Success (201 for newly created resources)
400
Invalid request
403
No permission or tenant unavailable
404
Resource not found
409
Conflict (e.g. duplicate)
412
Precondition not met
419
Security check failed
422
Validation failed
424
Dependency failed
429
Rate limit exceeded

Popular endpoints

Entry points for common operations. Full list under Endpoints.

Planning an integration?

We support design, staging access, and production rollout of your integration.

Request consultation
Account API: reference · Jupiter ERP