---
title: "Create Expense Device"
method: POST
path: "/companies/{company_id}/expenses/devices"
tags: ["expense-devices"]
---

# Create Expense Device

`POST /companies/{company_id}/expenses/devices`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/companies/{company_id}/expenses/devices`
- Auth: none declared

Pair a phone to ONE employee. The response carries the key — **the only time it exists**.

Show it once (QR or copy); it is stored only as a hash. At most
``max_per_employee`` live phones per employee (409 ``device.tooManyDevices``); the employee
must be active. The key lasts 12 months and works only on ``/device/v1``.

## Path parameters

- `company_id` string, required

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Request body

- DeviceCreateIn
  - `employee_id` string, required
  - `label` string, required

## Response `201`

Successful Response

- DeviceCreatedOut: The create response — the ONLY time the raw key exists. Show it once; it is not stored.
  - `id` string, required
  - `employee_id` string, required
  - `employee_name` string, nullable, required
  - `label` string, required
  - `status` 'active' | 'expired' | 'revoked', required
  - `created_at` string, date-time, required
  - `expires_at` string, date-time, required
  - `last_used_at` string, date-time, nullable, required
  - `revoked_at` string, date-time, nullable, required
  - `uploads_today` integer, required
  - `daily_cap` integer, required
  - `key` string, required

## Other responses

- `422`: Validation Error

---

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