• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

peerigon / sevdesk / 31315498477
73%

Build:
DEFAULT BRANCH: main
Ran 09 Aug 2026 01:19PM UTC
Jobs 1
Files 28
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Aug 2026 01:19PM UTC coverage: 73.05% (-18.1%) from 91.108%
31315498477

push

github

web-flow
feat: rewrite as a generated, modular SDK for the whole sevDesk API

Generate the client from sevDesk's OpenAPI spec instead of hand-maintaining it: 154 operations
across 22 modules, each a tree-shakeable function taking the client as its first argument, with
request and response types derived from the spec. Adds namespaced errors, pagination helpers, a
module for endpoints sevDesk serves but does not document, and a read-only smoke suite against the
live API.

BREAKING CHANGE: v3 is a full rewrite of @peerigon/sevdesk with no compatibility layer.

The client is now the first argument rather than the receiver, and operations are imported from
per-resource subpaths of `@peerigon/sevdesk` (given in parentheses below). Whatever you passed to a
v2 method now goes in `{ query }`, or in `{ path }` / `{ body }` where the endpoint needs it.

Old -> new:

- `new SevDeskClient({ apiKey })` -> `createClient({ apiToken })`
- `SevDeskClientConfig` -> `ClientConfig`
- `SevDeskUrls` -> removed, no replacement
- `client.request(url, options)` -> removed; declare the endpoint with `defineUndocumentedOperation`
- `UnknownApiError` -> `SevDeskError` and its subclasses
- `client.getContacts()` -> `getContacts(client)` (`/contact`)
- `client.getContactAddresses()` -> `getContactAddresses(client)` (`/contact-address`)
- `client.getCommunicationWays()` -> `getCommunicationWays(client)` (`/communication-way`)
- `client.getInvoices()` -> `getInvoices(client)` (`/invoice`)
- `client.getInvoice({ id })` -> `getInvoiceById(client, { path: { invoiceId: id } })` (`/invoice`)
- `client.saveInvoice(body)` -> `createInvoiceByFactory(client, { body })` (`/invoice`)
- `client.getParts()` -> `getParts(client)` (`/part`)
- `client.getTags()` -> `getTags(client)` (`/tag`)
- `client.getPaymentMethods()` -> `getPaymentMethods(client)` (`/undocumented`)
- `client.getSevUsers()` -> `getSevUsers(client)` (`/undocumented`)
- `client.getStaticCountries()` -> `getStaticCountries(client)` (`/undoc... (continued)

99 of 110 branches covered (90.0%)

Branch coverage included in aggregate %.

210 of 313 new or added lines in 28 files covered. (67.09%)

210 of 313 relevant lines covered (67.09%)

6.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
0.0
src/generated/credit-note.ts
13
0.0
src/generated/order.ts
12
0.0
src/generated/contact-field.ts
7
0.0
src/generated/check-account.ts
6
0.0
src/generated/check-account-transaction.ts
6
0.0
src/generated/communication-way.ts
6
0.0
src/generated/tag.ts
5
0.0
src/generated/accounting-contact.ts
5
0.0
src/generated/contact-address.ts
5
0.0
src/generated/layout.ts
5
0.0
src/generated/part.ts
4
0.0
src/generated/order-pos.ts
4
0.0
src/generated/report.ts
3
0.0
src/generated/private-transaction-rule.ts
2
82.61
src/tests/mock-client.ts
1
0.0
src/generated/basics.ts
1
0.0
src/generated/credit-note-pos.ts
1
0.0
src/generated/invoice-pos.ts
1
0.0
src/generated/voucher-pos.ts
1
89.47
src/tests/read-only-client.ts
Jobs
ID Job ID Ran Files Coverage
1 31315498477.1 09 Aug 2026 01:19PM UTC 28
73.05
GitHub Action Run
Source Files on build 31315498477
  • Tree
  • List 28
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31315498477
  • 70b33597 on github
  • Prev Build on main (#12736697464)
  • Next Build on main (#31316056914)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc