@firmenakte/api-client 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client.d.ts +136 -136
- package/client.js +68 -68
- package/package.json +1 -1
package/client.js
CHANGED
|
@@ -192,11 +192,11 @@ class Api extends HttpClient {
|
|
|
192
192
|
super(...arguments);
|
|
193
193
|
this.api = {
|
|
194
194
|
/**
|
|
195
|
-
*
|
|
195
|
+
* @description Downloads the signed GISA PDF extract for a license (GISA-Zahl). Language defaults to German (De).
|
|
196
196
|
*
|
|
197
197
|
* @tags Trades
|
|
198
198
|
* @name V1TradesDocumentsDetail
|
|
199
|
-
* @summary
|
|
199
|
+
* @summary GISA PDF extract
|
|
200
200
|
* @request GET:/api/v1/trades/documents/{gisaZahl}
|
|
201
201
|
* @secure
|
|
202
202
|
*/
|
|
@@ -208,11 +208,11 @@ class Api extends HttpClient {
|
|
|
208
208
|
...params,
|
|
209
209
|
}),
|
|
210
210
|
/**
|
|
211
|
-
*
|
|
211
|
+
* @description Returns the global catalog of GISA Trade Definitions with pagination.
|
|
212
212
|
*
|
|
213
213
|
* @tags Trades
|
|
214
214
|
* @name V1TradesList
|
|
215
|
-
* @summary
|
|
215
|
+
* @summary GISA trade catalog
|
|
216
216
|
* @request GET:/api/v1/trades
|
|
217
217
|
* @secure
|
|
218
218
|
*/
|
|
@@ -225,11 +225,11 @@ class Api extends HttpClient {
|
|
|
225
225
|
...params,
|
|
226
226
|
}),
|
|
227
227
|
/**
|
|
228
|
-
*
|
|
228
|
+
* @description Returns all company licenses for a specific trade definition with pagination.
|
|
229
229
|
*
|
|
230
230
|
* @tags Trades
|
|
231
231
|
* @name V1TradesLicensesList
|
|
232
|
-
* @summary
|
|
232
|
+
* @summary Licenses by trade
|
|
233
233
|
* @request GET:/api/v1/trades/{tradeKey}/licenses
|
|
234
234
|
* @secure
|
|
235
235
|
*/
|
|
@@ -242,11 +242,11 @@ class Api extends HttpClient {
|
|
|
242
242
|
...params,
|
|
243
243
|
}),
|
|
244
244
|
/**
|
|
245
|
-
*
|
|
245
|
+
* @description Returns all licenses for a specific company (FNR).
|
|
246
246
|
*
|
|
247
247
|
* @tags Trades
|
|
248
248
|
* @name V1TradesCompanyDetail
|
|
249
|
-
* @summary
|
|
249
|
+
* @summary Company GISA licenses
|
|
250
250
|
* @request GET:/api/v1/trades/company/{fnr}
|
|
251
251
|
* @secure
|
|
252
252
|
*/
|
|
@@ -258,11 +258,11 @@ class Api extends HttpClient {
|
|
|
258
258
|
...params,
|
|
259
259
|
}),
|
|
260
260
|
/**
|
|
261
|
-
*
|
|
261
|
+
* @description Returns a single GISA change by id.
|
|
262
262
|
*
|
|
263
263
|
* @tags Trades
|
|
264
264
|
* @name V1TradesChangesDetail
|
|
265
|
-
* @summary
|
|
265
|
+
* @summary GISA change by id
|
|
266
266
|
* @request GET:/api/v1/trades/changes/{id}
|
|
267
267
|
* @secure
|
|
268
268
|
*/
|
|
@@ -274,11 +274,11 @@ class Api extends HttpClient {
|
|
|
274
274
|
...params,
|
|
275
275
|
}),
|
|
276
276
|
/**
|
|
277
|
-
* @description Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
277
|
+
* @description Feed of GISA changes — one entry per change to a company's trade licences. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
278
278
|
*
|
|
279
279
|
* @tags Trades
|
|
280
280
|
* @name V1TradesChangesList
|
|
281
|
-
* @summary
|
|
281
|
+
* @summary GISA change feed
|
|
282
282
|
* @request GET:/api/v1/trades/changes
|
|
283
283
|
* @secure
|
|
284
284
|
*/
|
|
@@ -291,11 +291,11 @@ class Api extends HttpClient {
|
|
|
291
291
|
...params,
|
|
292
292
|
}),
|
|
293
293
|
/**
|
|
294
|
-
*
|
|
294
|
+
* @description Returns (id, name) pairs for all people with at least one business assignment. For client-side name index.
|
|
295
295
|
*
|
|
296
296
|
* @tags People
|
|
297
297
|
* @name V1PeopleNamesList
|
|
298
|
-
* @summary
|
|
298
|
+
* @summary Person name index
|
|
299
299
|
* @request GET:/api/v1/people/names
|
|
300
300
|
* @secure
|
|
301
301
|
*/
|
|
@@ -307,11 +307,11 @@ class Api extends HttpClient {
|
|
|
307
307
|
...params,
|
|
308
308
|
}),
|
|
309
309
|
/**
|
|
310
|
-
* @description name and search behave identically here — both split the term on spaces and keep people whose "firstName lastName" contains every token, case-insensitively — except that search wins when both are given. Ordered by last name, then first name unless orderBy says otherwise. Combine with fnr or businessName to get the officers of one company, or with functionCode for one role. fnr, functionCode, businessName, businessCity and businessRegisteredSince_gte all describe one and the same assignment: a person comes back only if a single company of theirs satisfies every one of them. So the youngest owners of this year's new Viennese companies are one page: ?businessCity=Wien&businessRegisteredSince_gte=2026-01-01&functionCode=IN&functionCode=KP&functionCode=GS&functionCode=PG&orderBy=birthDate&orderByDescending=true&pageSize=3
|
|
310
|
+
* @description Lists people who hold a function in, or a GISA licence for, an Austrian company. name and search behave identically here — both split the term on spaces and keep people whose "firstName lastName" contains every token, case-insensitively — except that search wins when both are given. Ordered by last name, then first name unless orderBy says otherwise. Combine with fnr or businessName to get the officers of one company, or with functionCode for one role. fnr, functionCode, businessName, businessCity and businessRegisteredSince_gte all describe one and the same assignment: a person comes back only if a single company of theirs satisfies every one of them. So the youngest owners of this year's new Viennese companies are one page: ?businessCity=Wien&businessRegisteredSince_gte=2026-01-01&functionCode=IN&functionCode=KP&functionCode=GS&functionCode=PG&orderBy=birthDate&orderByDescending=true&pageSize=3
|
|
311
311
|
*
|
|
312
312
|
* @tags People
|
|
313
313
|
* @name V1PeopleList
|
|
314
|
-
* @summary
|
|
314
|
+
* @summary People search
|
|
315
315
|
* @request GET:/api/v1/people
|
|
316
316
|
* @secure
|
|
317
317
|
*/
|
|
@@ -324,11 +324,11 @@ class Api extends HttpClient {
|
|
|
324
324
|
...params,
|
|
325
325
|
}),
|
|
326
326
|
/**
|
|
327
|
-
* @description personId is the synthetic id described in the glossary — "firstname-lastname-birthdate", lower case, inner spaces replaced by hyphens and "x" for a part the register does not give, e.g. "max-mustermann-1970-01-01". It is matched exactly. Take it from a list row or from an assignment on a company rather than composing it yourself.
|
|
327
|
+
* @description Returns one person with every company function, GISA licence and Edikt attached to them. personId is the synthetic id described in the glossary — "firstname-lastname-birthdate", lower case, inner spaces replaced by hyphens and "x" for a part the register does not give, e.g. "max-mustermann-1970-01-01". It is matched exactly. Take it from a list row or from an assignment on a company rather than composing it yourself.
|
|
328
328
|
*
|
|
329
329
|
* @tags People
|
|
330
330
|
* @name V1PeopleDetail
|
|
331
|
-
* @summary
|
|
331
|
+
* @summary Person detail
|
|
332
332
|
* @request GET:/api/v1/people/{personId}
|
|
333
333
|
* @secure
|
|
334
334
|
*/
|
|
@@ -340,11 +340,11 @@ class Api extends HttpClient {
|
|
|
340
340
|
...params,
|
|
341
341
|
}),
|
|
342
342
|
/**
|
|
343
|
-
*
|
|
343
|
+
* @description Returns the OeNACE classification catalog with company counts. Results are ordered by company count descending — most used first.
|
|
344
344
|
*
|
|
345
345
|
* @tags Oenace
|
|
346
346
|
* @name V1OenaceList
|
|
347
|
-
* @summary
|
|
347
|
+
* @summary OeNACE classification catalog
|
|
348
348
|
* @request GET:/api/v1/oenace
|
|
349
349
|
* @secure
|
|
350
350
|
*/
|
|
@@ -357,11 +357,11 @@ class Api extends HttpClient {
|
|
|
357
357
|
...params,
|
|
358
358
|
}),
|
|
359
359
|
/**
|
|
360
|
-
*
|
|
360
|
+
* @description Returns all legal forms with pagination and optional search, sorted by business count descending.
|
|
361
361
|
*
|
|
362
362
|
* @tags LegalForms
|
|
363
363
|
* @name V1LegalformsList
|
|
364
|
-
* @summary
|
|
364
|
+
* @summary Legal form catalog
|
|
365
365
|
* @request GET:/api/v1/legalforms
|
|
366
366
|
* @secure
|
|
367
367
|
*/
|
|
@@ -374,11 +374,11 @@ class Api extends HttpClient {
|
|
|
374
374
|
...params,
|
|
375
375
|
}),
|
|
376
376
|
/**
|
|
377
|
-
* @description The network of people and companies around one starting point — who sits on which board with whom. nodes are people ("person") and companies ("business"), each carrying the id you would pass to /people/{personId} or /businesses/{fnr}; edges are source/target pairs of those ids whose relationshipType is "assignment", a person holding a function in a company. ("address", two companies registered at the same street address, is a second edge type the deployment can enable; it is off today, so expect only assignment edges.) The traversal depth is fixed at 2 hops and is not a parameter — a node with further connections outside that boundary carries hasMore=true, and isCentralNode marks the entity you started from. personId and fnr are mutually exclusive, not combinable: supplying both, or neither, is a 400, and an id that exists in neither register is a 404.
|
|
377
|
+
* @description Returns the graph (nodes and edges) within 2 hops of the start entity. Exactly one of personId or fnr must be provided. The network of people and companies around one starting point — who sits on which board with whom. nodes are people ("person") and companies ("business"), each carrying the id you would pass to /people/{personId} or /businesses/{fnr}; edges are source/target pairs of those ids whose relationshipType is "assignment", a person holding a function in a company. ("address", two companies registered at the same street address, is a second edge type the deployment can enable; it is off today, so expect only assignment edges.) The traversal depth is fixed at 2 hops and is not a parameter — a node with further connections outside that boundary carries hasMore=true, and isCentralNode marks the entity you started from. personId and fnr are mutually exclusive, not combinable: supplying both, or neither, is a 400, and an id that exists in neither register is a 404.
|
|
378
378
|
*
|
|
379
379
|
* @tags Graph
|
|
380
380
|
* @name V1GraphList
|
|
381
|
-
* @summary
|
|
381
|
+
* @summary Relationship graph
|
|
382
382
|
* @request GET:/api/v1/graph
|
|
383
383
|
* @secure
|
|
384
384
|
*/
|
|
@@ -391,11 +391,11 @@ class Api extends HttpClient {
|
|
|
391
391
|
...params,
|
|
392
392
|
}),
|
|
393
393
|
/**
|
|
394
|
-
* @description Each row carries only id, fnr, changeType and the dates; fetch the payload with GET /globalchanges/{id}, or poll one register's typed feed instead (/businesses/changes, /documents/changes, /edikte/changes, /trades/changes). Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id.
|
|
394
|
+
* @description The single feed of every change across all registers — Firmenbuch, GISA, Ediktsdatei and the BMF Scheinunternehmen list — as lightweight reference rows. Each row carries only id, fnr, changeType and the dates; fetch the payload with GET /globalchanges/{id}, or poll one register's typed feed instead (/businesses/changes, /documents/changes, /edikte/changes, /trades/changes). Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id.
|
|
395
395
|
*
|
|
396
396
|
* @tags GlobalChanges
|
|
397
397
|
* @name V1GlobalchangesList
|
|
398
|
-
* @summary
|
|
398
|
+
* @summary All-register change feed
|
|
399
399
|
* @request GET:/api/v1/globalchanges
|
|
400
400
|
* @secure
|
|
401
401
|
*/
|
|
@@ -408,11 +408,11 @@ class Api extends HttpClient {
|
|
|
408
408
|
...params,
|
|
409
409
|
}),
|
|
410
410
|
/**
|
|
411
|
-
* @description Built for watchlist polling: pass up to 1000 fnr values (repeat the parameter) and one cursor, and get back four arrays — businessChanges, documentChanges, ediktChanges, globalChanges — each ordered by ascending id and capped at maxResultsPerType. Not paged: raise maxResultsPerType or advance sinceId instead. sinceId is exclusive and since is inclusive, exactly as on the paged feeds, but one sinceId covers all four arrays: an array that comes back full at maxResultsPerType has more behind it and bounds the cursor, so advance sinceId only to the lowest of the full arrays' highest ids, and to the highest id of all four once none comes back full. Passing no fnr returns four empty arrays, not the whole feed.
|
|
411
|
+
* @description Changes for a watchlist of companies, all four change types in one unpaged response. Built for watchlist polling: pass up to 1000 fnr values (repeat the parameter) and one cursor, and get back four arrays — businessChanges, documentChanges, ediktChanges, globalChanges — each ordered by ascending id and capped at maxResultsPerType. Not paged: raise maxResultsPerType or advance sinceId instead. sinceId is exclusive and since is inclusive, exactly as on the paged feeds, but one sinceId covers all four arrays: an array that comes back full at maxResultsPerType has more behind it and bounds the cursor, so advance sinceId only to the lowest of the full arrays' highest ids, and to the highest id of all four once none comes back full. Passing no fnr returns four empty arrays, not the whole feed.
|
|
412
412
|
*
|
|
413
413
|
* @tags GlobalChanges
|
|
414
414
|
* @name V1GlobalchangesAggregatedList
|
|
415
|
-
* @summary
|
|
415
|
+
* @summary Aggregated watchlist changes
|
|
416
416
|
* @request GET:/api/v1/globalchanges/aggregated
|
|
417
417
|
* @secure
|
|
418
418
|
*/
|
|
@@ -425,11 +425,11 @@ class Api extends HttpClient {
|
|
|
425
425
|
...params,
|
|
426
426
|
}),
|
|
427
427
|
/**
|
|
428
|
-
* @description The envelope is a discriminator plus the payload: changeType says which register, and data is the matching object — a BusinessChange, DocumentChange, EdiktChange, GisaChange or ScheinunternehmenChange. Since data is a union, read changeType before it.
|
|
428
|
+
* @description Returns one change with its typed payload, whichever register it came from. The envelope is a discriminator plus the payload: changeType says which register, and data is the matching object — a BusinessChange, DocumentChange, EdiktChange, GisaChange or ScheinunternehmenChange. Since data is a union, read changeType before it.
|
|
429
429
|
*
|
|
430
430
|
* @tags GlobalChanges
|
|
431
431
|
* @name V1GlobalchangesDetail
|
|
432
|
-
* @summary
|
|
432
|
+
* @summary Change by id
|
|
433
433
|
* @request GET:/api/v1/globalchanges/{id}
|
|
434
434
|
* @secure
|
|
435
435
|
*/
|
|
@@ -441,11 +441,11 @@ class Api extends HttpClient {
|
|
|
441
441
|
...params,
|
|
442
442
|
}),
|
|
443
443
|
/**
|
|
444
|
-
* @description The id is the shared change id from GET /globalchanges, so an id that exists but whose changeType is not "edikt" answers 404 here.
|
|
444
|
+
* @description Returns one Ediktsdatei change by id. The id is the shared change id from GET /globalchanges, so an id that exists but whose changeType is not "edikt" answers 404 here.
|
|
445
445
|
*
|
|
446
446
|
* @tags Edikte
|
|
447
447
|
* @name V1EdikteChangesDetail
|
|
448
|
-
* @summary
|
|
448
|
+
* @summary Edikt change by id
|
|
449
449
|
* @request GET:/api/v1/edikte/changes/{id}
|
|
450
450
|
* @secure
|
|
451
451
|
*/
|
|
@@ -457,11 +457,11 @@ class Api extends HttpClient {
|
|
|
457
457
|
...params,
|
|
458
458
|
}),
|
|
459
459
|
/**
|
|
460
|
-
* @description Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the publication date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss an insolvency notice resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
460
|
+
* @description Feed of Ediktsdatei changes — insolvency and other court notices published about a company or a person. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the publication date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss an insolvency notice resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
461
461
|
*
|
|
462
462
|
* @tags Edikte
|
|
463
463
|
* @name V1EdikteChangesList
|
|
464
|
-
* @summary
|
|
464
|
+
* @summary Ediktsdatei change feed
|
|
465
465
|
* @request GET:/api/v1/edikte/changes
|
|
466
466
|
* @secure
|
|
467
467
|
*/
|
|
@@ -474,11 +474,11 @@ class Api extends HttpClient {
|
|
|
474
474
|
...params,
|
|
475
475
|
}),
|
|
476
476
|
/**
|
|
477
|
-
*
|
|
477
|
+
* @description Downloads a Firmenbuch document (PDF/XML) by its document key.
|
|
478
478
|
*
|
|
479
479
|
* @tags Documents
|
|
480
480
|
* @name V1DocumentsDownloadDetail
|
|
481
|
-
* @summary
|
|
481
|
+
* @summary Firmenbuch document download
|
|
482
482
|
* @request GET:/api/v1/documents/download/{documentKey}
|
|
483
483
|
* @secure
|
|
484
484
|
*/
|
|
@@ -489,11 +489,11 @@ class Api extends HttpClient {
|
|
|
489
489
|
...params,
|
|
490
490
|
}),
|
|
491
491
|
/**
|
|
492
|
-
* @description The id is the shared change id from GET /globalchanges, so an id that exists but whose changeType is not "document" answers 404 here.
|
|
492
|
+
* @description Returns one document change by id, with the document's metadata. The id is the shared change id from GET /globalchanges, so an id that exists but whose changeType is not "document" answers 404 here.
|
|
493
493
|
*
|
|
494
494
|
* @tags Documents
|
|
495
495
|
* @name V1DocumentsChangesDetail
|
|
496
|
-
* @summary
|
|
496
|
+
* @summary Document change by id
|
|
497
497
|
* @request GET:/api/v1/documents/changes/{id}
|
|
498
498
|
* @secure
|
|
499
499
|
*/
|
|
@@ -505,11 +505,11 @@ class Api extends HttpClient {
|
|
|
505
505
|
...params,
|
|
506
506
|
}),
|
|
507
507
|
/**
|
|
508
|
-
* @description Each entry names a documentKey; fetch the file itself with GET /documents/download/{documentKey}. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the document date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
508
|
+
* @description Feed of newly filed Firmenbuch documents — this is how you learn that a company has published a new Jahresabschluss. Each entry names a documentKey; fetch the file itself with GET /documents/download/{documentKey}. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the document date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
509
509
|
*
|
|
510
510
|
* @tags Documents
|
|
511
511
|
* @name V1DocumentsChangesList
|
|
512
|
-
* @summary
|
|
512
|
+
* @summary Document change feed
|
|
513
513
|
* @request GET:/api/v1/documents/changes
|
|
514
514
|
* @secure
|
|
515
515
|
*/
|
|
@@ -522,11 +522,11 @@ class Api extends HttpClient {
|
|
|
522
522
|
...params,
|
|
523
523
|
}),
|
|
524
524
|
/**
|
|
525
|
-
*
|
|
525
|
+
* @description Returns all courts with pagination and optional search, sorted by business count descending.
|
|
526
526
|
*
|
|
527
527
|
* @tags Courts
|
|
528
528
|
* @name V1CourtsList
|
|
529
|
-
* @summary
|
|
529
|
+
* @summary Court catalog
|
|
530
530
|
* @request GET:/api/v1/courts
|
|
531
531
|
* @secure
|
|
532
532
|
*/
|
|
@@ -539,11 +539,11 @@ class Api extends HttpClient {
|
|
|
539
539
|
...params,
|
|
540
540
|
}),
|
|
541
541
|
/**
|
|
542
|
-
*
|
|
542
|
+
* @description Resolve company names to FNRs by exact name match (1:1). Used for CSV import.
|
|
543
543
|
*
|
|
544
544
|
* @tags Businesses
|
|
545
545
|
* @name V1BusinessesResolveNamesCreate
|
|
546
|
-
* @summary
|
|
546
|
+
* @summary Name to FNR resolution
|
|
547
547
|
* @request POST:/api/v1/businesses/resolve-names
|
|
548
548
|
* @secure
|
|
549
549
|
*/
|
|
@@ -557,11 +557,11 @@ class Api extends HttpClient {
|
|
|
557
557
|
...params,
|
|
558
558
|
}),
|
|
559
559
|
/**
|
|
560
|
-
* @description name and search are different tools. name is a case-insensitive substring match on the company name and nothing else. search splits the term on spaces and keeps only companies matching every token, where a token matches the name, the fnr, or — when the whole term is a number — a GISA licence key or GISA-Zahl; it additionally lifts companies whose name starts with the term to the top of the default (name) ordering. So name narrows a known name, search finds an unknown one. Inactive companies always sort after active ones, whatever orderBy says. Pass countOnly=true for totalRecords without the rows, and use /businesses/aggregate to group the same filter set instead of paging through it.
|
|
560
|
+
* @description Lists companies matching the filters, one page of list rows per call. name and search are different tools. name is a case-insensitive substring match on the company name and nothing else. search splits the term on spaces and keeps only companies matching every token, where a token matches the name, the fnr, or — when the whole term is a number — a GISA licence key or GISA-Zahl; it additionally lifts companies whose name starts with the term to the top of the default (name) ordering. So name narrows a known name, search finds an unknown one. Inactive companies always sort after active ones, whatever orderBy says. Pass countOnly=true for totalRecords without the rows, and use /businesses/aggregate to group the same filter set instead of paging through it.
|
|
561
561
|
*
|
|
562
562
|
* @tags Businesses
|
|
563
563
|
* @name V1BusinessesList
|
|
564
|
-
* @summary
|
|
564
|
+
* @summary Company search
|
|
565
565
|
* @request GET:/api/v1/businesses
|
|
566
566
|
* @secure
|
|
567
567
|
*/
|
|
@@ -574,11 +574,11 @@ class Api extends HttpClient {
|
|
|
574
574
|
...params,
|
|
575
575
|
}),
|
|
576
576
|
/**
|
|
577
|
-
* No
|
|
577
|
+
* @description Returns all business (fnr, name) pairs for client-side name index. No pagination.
|
|
578
578
|
*
|
|
579
579
|
* @tags Businesses
|
|
580
580
|
* @name V1BusinessesNamesList
|
|
581
|
-
* @summary
|
|
581
|
+
* @summary Company name index
|
|
582
582
|
* @request GET:/api/v1/businesses/names
|
|
583
583
|
* @secure
|
|
584
584
|
*/
|
|
@@ -590,11 +590,11 @@ class Api extends HttpClient {
|
|
|
590
590
|
...params,
|
|
591
591
|
}),
|
|
592
592
|
/**
|
|
593
|
-
* @description Unfiltered — it is the size of the whole dataset, not of a search. For a count over filters, call GET /businesses with countOnly=true and read totalRecords.
|
|
593
|
+
* @description Returns the number of companies in the dataset, as a bare integer. Unfiltered — it is the size of the whole dataset, not of a search. For a count over filters, call GET /businesses with countOnly=true and read totalRecords.
|
|
594
594
|
*
|
|
595
595
|
* @tags Businesses
|
|
596
596
|
* @name V1BusinessesCountList
|
|
597
|
-
* @summary
|
|
597
|
+
* @summary Company count
|
|
598
598
|
* @request GET:/api/v1/businesses/count
|
|
599
599
|
* @secure
|
|
600
600
|
*/
|
|
@@ -606,11 +606,11 @@ class Api extends HttpClient {
|
|
|
606
606
|
...params,
|
|
607
607
|
}),
|
|
608
608
|
/**
|
|
609
|
-
*
|
|
609
|
+
* @description Counts over the same filter set as GET /businesses, grouped by one dimension — the server-side GROUP BY that a caller would otherwise page the whole result set to compute. Every /businesses filter means exactly what it means there; page, pageSize, orderBy, orderByDescending and countOnly are ignored — top and minCount cap the bucket list instead. totalRecords equals /businesses?countOnly=true for the same filter; how the buckets relate to it is documented on BusinessAggregateResponse.
|
|
610
610
|
*
|
|
611
611
|
* @tags Businesses
|
|
612
612
|
* @name V1BusinessesAggregateList
|
|
613
|
-
* @summary
|
|
613
|
+
* @summary Grouped company counts
|
|
614
614
|
* @request GET:/api/v1/businesses/aggregate
|
|
615
615
|
* @secure
|
|
616
616
|
*/
|
|
@@ -623,11 +623,11 @@ class Api extends HttpClient {
|
|
|
623
623
|
...params,
|
|
624
624
|
}),
|
|
625
625
|
/**
|
|
626
|
-
*
|
|
626
|
+
* @description Active businesses similar to the given one (same OeNACE branch, same region preferred).
|
|
627
627
|
*
|
|
628
628
|
* @tags Businesses
|
|
629
629
|
* @name V1BusinessesSimilarList
|
|
630
|
-
* @summary
|
|
630
|
+
* @summary Similar companies
|
|
631
631
|
* @request GET:/api/v1/businesses/{fnr}/similar
|
|
632
632
|
* @secure
|
|
633
633
|
*/
|
|
@@ -639,11 +639,11 @@ class Api extends HttpClient {
|
|
|
639
639
|
...params,
|
|
640
640
|
}),
|
|
641
641
|
/**
|
|
642
|
-
* @description fnr is matched exactly against the stored, normalised Firmenbuchnummer — lower case, no spaces, no leading zeros and no "FN" prefix, e.g. 34853f. Nothing is normalised on the way in, so "FN 34853 f" answers 404 rather than the company. 404 also means the company is not in the dataset yet.
|
|
642
|
+
* @description Returns the whole Firmenakte of one company: master data, addresses, people, GISA licences, Edikte, documents and the parsed annual accounts. fnr is matched exactly against the stored, normalised Firmenbuchnummer — lower case, no spaces, no leading zeros and no "FN" prefix, e.g. 34853f. Nothing is normalised on the way in, so "FN 34853 f" answers 404 rather than the company. 404 also means the company is not in the dataset yet.
|
|
643
643
|
*
|
|
644
644
|
* @tags Businesses
|
|
645
645
|
* @name V1BusinessesDetail
|
|
646
|
-
* @summary
|
|
646
|
+
* @summary Company Firmenakte
|
|
647
647
|
* @request GET:/api/v1/businesses/{fnr}
|
|
648
648
|
* @secure
|
|
649
649
|
*/
|
|
@@ -655,11 +655,11 @@ class Api extends HttpClient {
|
|
|
655
655
|
...params,
|
|
656
656
|
}),
|
|
657
657
|
/**
|
|
658
|
-
* @description The id is the shared change id from GET /globalchanges, so an id that exists but whose changeType is not "business" answers 404 here.
|
|
658
|
+
* @description Returns one Firmenbuch change by id. The id is the shared change id from GET /globalchanges, so an id that exists but whose changeType is not "business" answers 404 here.
|
|
659
659
|
*
|
|
660
660
|
* @tags Businesses
|
|
661
661
|
* @name V1BusinessesChangesDetail
|
|
662
|
-
* @summary
|
|
662
|
+
* @summary Firmenbuch change by id
|
|
663
663
|
* @request GET:/api/v1/businesses/changes/{id}
|
|
664
664
|
* @secure
|
|
665
665
|
*/
|
|
@@ -671,11 +671,11 @@ class Api extends HttpClient {
|
|
|
671
671
|
...params,
|
|
672
672
|
}),
|
|
673
673
|
/**
|
|
674
|
-
* @description Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate — so a back-dated entry is not missed — and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses. Use GET /globalchanges for the same feed across all four registers.
|
|
674
|
+
* @description Feed of Firmenbuch changes — one entry per new legal record (Eintragung). Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate — so a back-dated entry is not missed — and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses. Use GET /globalchanges for the same feed across all four registers.
|
|
675
675
|
*
|
|
676
676
|
* @tags Businesses
|
|
677
677
|
* @name V1BusinessesChangesList
|
|
678
|
-
* @summary
|
|
678
|
+
* @summary Firmenbuch change feed
|
|
679
679
|
* @request GET:/api/v1/businesses/changes
|
|
680
680
|
* @secure
|
|
681
681
|
*/
|
|
@@ -688,11 +688,11 @@ class Api extends HttpClient {
|
|
|
688
688
|
...params,
|
|
689
689
|
}),
|
|
690
690
|
/**
|
|
691
|
-
*
|
|
691
|
+
* @description Returns all assignment functions (code/text lookup) for display. Cached 24h.
|
|
692
692
|
*
|
|
693
693
|
* @tags AssignmentFunctions
|
|
694
694
|
* @name V1AssignmentfunctionsList
|
|
695
|
-
* @summary
|
|
695
|
+
* @summary Assignment function catalog
|
|
696
696
|
* @request GET:/api/v1/assignmentfunctions
|
|
697
697
|
* @secure
|
|
698
698
|
*/
|
|
@@ -704,11 +704,11 @@ class Api extends HttpClient {
|
|
|
704
704
|
...params,
|
|
705
705
|
}),
|
|
706
706
|
/**
|
|
707
|
-
*
|
|
707
|
+
* @description Returns unique City+ZipCode combinations from addresses with pagination and optional search.
|
|
708
708
|
*
|
|
709
709
|
* @tags Addresses
|
|
710
710
|
* @name V1AddressesLocationsList
|
|
711
|
-
* @summary
|
|
711
|
+
* @summary City and ZIP combinations
|
|
712
712
|
* @request GET:/api/v1/addresses/locations
|
|
713
713
|
* @secure
|
|
714
714
|
*/
|
|
@@ -721,11 +721,11 @@ class Api extends HttpClient {
|
|
|
721
721
|
...params,
|
|
722
722
|
}),
|
|
723
723
|
/**
|
|
724
|
-
*
|
|
724
|
+
* @description Returns unique cities from addresses with pagination and optional search.
|
|
725
725
|
*
|
|
726
726
|
* @tags Addresses
|
|
727
727
|
* @name V1AddressesCitiesList
|
|
728
|
-
* @summary
|
|
728
|
+
* @summary Cities
|
|
729
729
|
* @request GET:/api/v1/addresses/cities
|
|
730
730
|
* @secure
|
|
731
731
|
*/
|
|
@@ -738,11 +738,11 @@ class Api extends HttpClient {
|
|
|
738
738
|
...params,
|
|
739
739
|
}),
|
|
740
740
|
/**
|
|
741
|
-
*
|
|
741
|
+
* @description Returns unique zip codes from addresses with pagination and optional search.
|
|
742
742
|
*
|
|
743
743
|
* @tags Addresses
|
|
744
744
|
* @name V1AddressesZipcodesList
|
|
745
|
-
* @summary
|
|
745
|
+
* @summary ZIP codes
|
|
746
746
|
* @request GET:/api/v1/addresses/zipcodes
|
|
747
747
|
* @secure
|
|
748
748
|
*/
|