Skip to content

Migration from v1

This guide covers the main changes between the legacy API at api.spaceinvoices.com/v1 and the new API at eu.spaceinvoices.com. It’s intended to help existing v1 users understand what’s different and plan their migration.

Base URL

v1v2
Base URLhttps://api.spaceinvoices.com/v1https://eu.spaceinvoices.com

v2 endpoints have no version prefix in the path.

Authentication

v1 used “launch codes” (access tokens) obtained through OAuth-style login. v2 uses Bearer token API keys that you generate from the dashboard.

v1v2
MethodLaunch codes / Access tokensAPI keys (Authorization: Bearer sk_...)
Key typesSingle token typeSandbox (sk_sandbox_*) and Live (sk_live_*)
Entity keysN/AEntity-scoped keys (ek_*)

See Authentication for full details.

Terminology Changes

Many concepts have been renamed to be clearer:

v1v2
AccountUser
OrganizationEntity
ClientCustomer
Access Token / Launch CodeAPI Key
Document (type: invoice)Invoice (separate resource)
Document (type: estimate)Estimate (separate resource)
Document (type: credit-note)Credit Note (separate resource)
Document (type: advance)Advance Invoice (separate resource)
Default (separate resource)Entity Settings (built into entity)

Endpoint Structure

v1 scoped resources under organization IDs in the URL path. v2 uses flat top-level paths and passes the entity ID via a header instead.

# v1
GET /v1/organizations/:orgId/documents
POST /v1/organizations/:orgId/documents
# v2 (entity ID passed via header)
GET /invoices
POST /invoices
GET /estimates
GET /credit-notes

In v2, set the x-entity-id header to scope requests to a specific entity.

Data Format

v1v2
Property namingcamelCase (taxNumber)snake_case (tax_number)
ID formatMongoDB ObjectIdsULIDs

Pagination

v1 used offset/limit pagination. v2 uses cursor-based pagination exclusively.

# v1
GET /v1/organizations/:orgId/documents?filter[limit]=10&filter[skip]=20
# v2
GET /invoices?limit=10&cursor=01HQXYZ...

See Pagination for full details.

Document Types

In v1, all documents were stored as a single Document resource with a type field. In v2, each document type is a separate resource with its own endpoints, validation, and numbering:

  • /invoices
  • /estimates
  • /credit-notes
  • /advance-invoices

See Invoices and Other Documents for details.

Changed Features

Connectors

v2 exposes order integration APIs, including Shopify authorization flow support and order integration resources. If connector depth matters to your rollout, validate the current behavior in the Order Integrations API before migrating production traffic.

Scoped Access (replaces Hierarchical Accounts)

v1 used hierarchical accounts with impersonation to delegate access. v2 replaces this with entity-scoped access:

  • Entity-scoped API keys (ek_*) — The account owner can generate API keys scoped to a single entity
  • Entity users — Add a user directly to an entity, giving them access to that entity only (no account administration)

New in v2

  • React UI — Copy-paste React components for building invoicing UIs in your app
  • Self-serve White Label setup — Configure white label branding directly through the UI

Next Steps