60 lines
1.1 KiB
Markdown
60 lines
1.1 KiB
Markdown
# `POST /company`
|
|
|
|
Protected. Requires a valid session cookie (`credentials: 'include'`).
|
|
|
|
Create company
|
|
|
|
Creates a company and selects it for the current user.
|
|
|
|
## Body (JSON)
|
|
|
|
| Field | Required | Type | Description |
|
|
|-------|----------|------|-------------|
|
|
| `iso639` | yes | string | |
|
|
| `name` | yes | string | |
|
|
| `taxrate` | yes | number | |
|
|
| `reducedtaxrate` | yes | number | |
|
|
|
|
```json
|
|
{
|
|
"iso639": "de",
|
|
"name": "Acme GmbH",
|
|
"taxrate": 19,
|
|
"reducedtaxrate": 7
|
|
}
|
|
```
|
|
|
|
## Response `201`
|
|
|
|
Created; selected company updated
|
|
|
|
```json
|
|
{
|
|
"company": {
|
|
"id": 1,
|
|
"iso639": "…",
|
|
"name": "…",
|
|
"taxrate": 1,
|
|
"reducedtaxrate": 1
|
|
},
|
|
"user": {
|
|
"id": 1,
|
|
"email": "user@example.com",
|
|
"selectedCompanyId": 1,
|
|
"picture": "…"
|
|
}
|
|
}
|
|
```
|
|
|
|
## Errors
|
|
|
|
| Status | Description |
|
|
|--------|-------------|
|
|
| 400 | Validation error — `{"error":"…"}` |
|
|
| 401 | Unauthorized — `{"error":"…"}` |
|
|
| 409 | Company name not available — `{"error":"…"}` |
|
|
|
|
---
|
|
|
|
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._
|