---
title: "Get a profile"
method: GET
path: "/profiles/{id}"
tags: ["Profiles"]
---

# Get a profile

`GET /profiles/{id}`

## Request

- Base URL: `https://api.lumabill.ch/v1`
- URL: `https://api.lumabill.ch/v1/profiles/{id}`
- Auth: HTTP bearer

## Response `200`

Profile object

- Profile: camelCase, as the API returns it (the earlier snake_case description of this schema never matched the response). Read endpoints also merge the account's subscription fields (plan, status) into the object.
  - `id` string, uuid, required
  - `isDefault` boolean
  - `companyName` string, required
  - `street` string, nullable
  - `zip` string, nullable
  - `city` string, nullable
  - `countryCode` string, nullable
  - `email` string, nullable
  - `phone` string, nullable
  - `contactPerson` string, nullable
  - `iban` string, nullable: IBAN of the default currency slot in `currencyDefaults`
  - `currencyDefaults` object, nullable: Per-currency IBAN, payment template and QR preference, keyed by currency code
  - `logoUrl` string, nullable
  - `uid` string, nullable
  - `vatRegistered` boolean
  - `vatMethod` string, nullable
  - `defaultTaxRate` number, double
  - `defaultCurrency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
  - `baseCurrency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
  - `defaultLanguage` string
  - `paymentDeadlineDays` integer
  - `defaultInvoiceFooter` string, nullable
  - `invoiceNumberPrefix` string, nullable
  - `invoiceCount` integer: Last invoice number handed out; the next invoice gets count + 1
  - `offerNumberPrefix` string, nullable
  - `offerCount` integer
  - `creditNotePrefix` string, nullable
  - `creditNoteCount` integer
  - `clientNumberPrefix` string, nullable
  - `clientCount` integer
  - `productNumberPrefix` string, nullable
  - `productCount` integer
  - `defaultRevenueAccountCode` string, nullable
  - `roundTotalTo` number, nullable
  - `hideZeroTax` boolean
  - `fxGainAccountId` string, uuid, nullable: FX result account for exchange gains; null = 6960 Kursdifferenzen
  - `fxLossAccountId` string, uuid, nullable: FX result account for exchange losses; null = 6960 Kursdifferenzen
  - `fxValuationPolicy` 'stichtag' | 'niederstwert': Default policy of the year-end FX revaluation
  - `fxVatRateMethod` object: MWST exchange rate method by the first calendar year it applies: `daily` (ESTV/BAZG Tageskurs, the default) or `monthly` (Monatsmittelkurs). The entry with the greatest year up to a document's year wins.
  - `bookkeepingMode` 'simple' | 'double'
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time

## Other responses

- `401`: Invalid or missing API key
- `403`: Subscription required or read-only key on a write endpoint
- `404`: Resource not found
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/lumabill/apis/lumabill-api.md) · [All operations](https://skmtc.dev/lumabill/apis/lumabill-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lumabill/apis/lumabill-api/revisions/e48e7099b545?raw)
