@firmenakte/api-client 2.11.9 → 2.23.0
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/README.md +27 -0
- package/client.d.ts +1225 -1100
- package/client.d.ts.map +1 -1
- package/client.js +237 -230
- package/index.d.ts +77 -79
- package/index.d.ts.map +1 -1
- package/keyfigure-labels.d.ts +10 -6
- package/keyfigure-labels.d.ts.map +1 -1
- package/keyfigure-labels.js +10 -6
- package/package.json +13 -2
- package/v2/generated/client/client.gen.d.ts +3 -0
- package/v2/generated/client/client.gen.d.ts.map +1 -0
- package/v2/generated/client/client.gen.js +220 -0
- package/v2/generated/client/index.d.ts +11 -0
- package/v2/generated/client/index.d.ts.map +1 -0
- package/v2/generated/client/index.js +17 -0
- package/v2/generated/client/types.gen.d.ts +121 -0
- package/v2/generated/client/types.gen.d.ts.map +1 -0
- package/v2/generated/client/types.gen.js +3 -0
- package/v2/generated/client/utils.gen.d.ts +38 -0
- package/v2/generated/client/utils.gen.d.ts.map +1 -0
- package/v2/generated/client/utils.gen.js +241 -0
- package/v2/generated/client.gen.d.ts +13 -0
- package/v2/generated/client.gen.d.ts.map +1 -0
- package/v2/generated/client.gen.js +6 -0
- package/v2/generated/core/auth.gen.d.ts +26 -0
- package/v2/generated/core/auth.gen.d.ts.map +1 -0
- package/v2/generated/core/auth.gen.js +18 -0
- package/v2/generated/core/bodySerializer.gen.d.ts +26 -0
- package/v2/generated/core/bodySerializer.gen.d.ts.map +1 -0
- package/v2/generated/core/bodySerializer.gen.js +60 -0
- package/v2/generated/core/params.gen.d.ts +44 -0
- package/v2/generated/core/params.gen.d.ts.map +1 -0
- package/v2/generated/core/params.gen.js +112 -0
- package/v2/generated/core/pathSerializer.gen.d.ts +34 -0
- package/v2/generated/core/pathSerializer.gen.d.ts.map +1 -0
- package/v2/generated/core/pathSerializer.gen.js +115 -0
- package/v2/generated/core/queryKeySerializer.gen.d.ts +19 -0
- package/v2/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/v2/generated/core/queryKeySerializer.gen.js +98 -0
- package/v2/generated/core/serverSentEvents.gen.d.ts +72 -0
- package/v2/generated/core/serverSentEvents.gen.d.ts.map +1 -0
- package/v2/generated/core/serverSentEvents.gen.js +135 -0
- package/v2/generated/core/types.gen.d.ts +84 -0
- package/v2/generated/core/types.gen.d.ts.map +1 -0
- package/v2/generated/core/types.gen.js +3 -0
- package/v2/generated/core/utils.gen.d.ts +20 -0
- package/v2/generated/core/utils.gen.d.ts.map +1 -0
- package/v2/generated/core/utils.gen.js +93 -0
- package/v2/generated/index.d.ts +3 -0
- package/v2/generated/index.d.ts.map +1 -0
- package/v2/generated/index.js +6 -0
- package/v2/generated/sdk.gen.d.ts +674 -0
- package/v2/generated/sdk.gen.d.ts.map +1 -0
- package/v2/generated/sdk.gen.js +1433 -0
- package/v2/generated/types.gen.d.ts +9439 -0
- package/v2/generated/types.gen.d.ts.map +1 -0
- package/v2/generated/types.gen.js +3 -0
- package/v2/index.d.ts +46 -0
- package/v2/index.d.ts.map +1 -0
- package/v2/index.js +80 -0
package/client.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/** The standard Passiva position a WeitererPassivposten follows in the filing. */
|
|
2
|
+
export declare enum PassivpostenNach {
|
|
3
|
+
Eigenkapital = "eigenkapital",
|
|
4
|
+
Rueckstellungen = "rueckstellungen",
|
|
5
|
+
Verbindlichkeiten = "verbindlichkeiten"
|
|
6
|
+
}
|
|
1
7
|
/** Conservative Firmenbuch evidence state: open, closed, absent, uncertain or conflicting. Conflicting means a known court closure and an active administrator role coexist. Absent means no classified court event and no active role, not certified solvency. */
|
|
2
8
|
export declare enum InsolvencyEvidenceStatus {
|
|
3
9
|
Absent = "absent",
|
|
@@ -73,6 +79,9 @@ export interface AggregatedChangesResponse {
|
|
|
73
79
|
export interface AssignmentFunctionItemResponse {
|
|
74
80
|
code?: string;
|
|
75
81
|
text?: string;
|
|
82
|
+
label?: string | null;
|
|
83
|
+
roleLabel?: string | null;
|
|
84
|
+
roleLabelPlural?: string | null;
|
|
76
85
|
}
|
|
77
86
|
export interface Bilanz {
|
|
78
87
|
documentKey?: string;
|
|
@@ -134,6 +143,10 @@ export interface Bilanz {
|
|
|
134
143
|
kurzfristigeForderungen?: number | null;
|
|
135
144
|
/** @format double */
|
|
136
145
|
passiveRechnungsabgrenzungen?: number | null;
|
|
146
|
+
/** @format double */
|
|
147
|
+
investitionszuschuesse?: number | null;
|
|
148
|
+
/** The remaining Passiva positions in filing order, stored as jsonb. Null for a filing read before these positions were; an empty list when the filing has none. */
|
|
149
|
+
weiterePassivposten?: WeitererPassivposten[] | null;
|
|
137
150
|
}
|
|
138
151
|
/** The balance-sheet (Bilanz) positions of one filed Jahresabschluss, in EUR. Every figure is nullable and null means the position was not reported in that filing — abridged accounts leave most of them out — never that it is zero. The filing the figures belong to is the documentDate of the enclosing parsedJahresabschluss. */
|
|
139
152
|
export interface BilanzDto {
|
|
@@ -175,6 +188,13 @@ export interface BilanzDto {
|
|
|
175
188
|
bilanzgewinn?: number | null;
|
|
176
189
|
/** @format double */
|
|
177
190
|
vortrag?: number | null;
|
|
191
|
+
/**
|
|
192
|
+
* Investitionszuschüsse, listed on the Passivseite after the Eigenkapital.
|
|
193
|
+
* @format double
|
|
194
|
+
*/
|
|
195
|
+
investitionszuschuesse?: number | null;
|
|
196
|
+
/** The Passiva positions no other field carries — unversteuerte Rücklagen, an atypisch stille Beteiligung, Substanzgenussrechte, a freely named position — in filing order, each with its label, its amount and the standard position it follows. Empty when the filing has none; null when the filing was read before these positions were. */
|
|
197
|
+
weiterePassivposten?: WeitererPassivpostenDto[] | null;
|
|
178
198
|
/** @format double */
|
|
179
199
|
rueckstellungen?: number | null;
|
|
180
200
|
/** @format double */
|
|
@@ -219,6 +239,7 @@ export interface BusinessAssignment {
|
|
|
219
239
|
fnr?: string;
|
|
220
240
|
vnr?: string;
|
|
221
241
|
pnr?: string;
|
|
242
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. */
|
|
222
243
|
personId?: string;
|
|
223
244
|
functionCode?: string;
|
|
224
245
|
functionText?: string | null;
|
|
@@ -239,12 +260,22 @@ export interface BusinessAssignmentDetailResponse {
|
|
|
239
260
|
fnr?: string;
|
|
240
261
|
vnr?: string;
|
|
241
262
|
pnr?: string;
|
|
263
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. */
|
|
242
264
|
personId?: string;
|
|
243
265
|
functionCode?: string | null;
|
|
244
266
|
/** @format double */
|
|
245
267
|
capitalAmount?: number | null;
|
|
246
268
|
currency?: string | null;
|
|
247
269
|
person?: PersonResponse | null;
|
|
270
|
+
/** Firmenbuchnummer of the holder when the holder is itself a company, e.g. the GmbH of a GmbH & Co KG — the fnr GET /businesses/{fnr} takes. Absent for a natural person. */
|
|
271
|
+
personFnr?: string | null;
|
|
272
|
+
/** Function status on the Vienna day: current, ended, upcoming or superseded by a newer register version. Open enum. Absent inside historical filings. */
|
|
273
|
+
status?: string | null;
|
|
274
|
+
/**
|
|
275
|
+
* Date the Firmenbuch first entered this holder in this function: the execution date of the earliest stored Eintragung (vnr) among the holder's rows for the function at this company. Absent when no such Eintragung is stored, and inside historical filings.
|
|
276
|
+
* @format date
|
|
277
|
+
*/
|
|
278
|
+
since?: string | null;
|
|
248
279
|
}
|
|
249
280
|
/** One Firmenbuch change: a new legal record (Eintragung) was filed for a company. */
|
|
250
281
|
export interface BusinessChange {
|
|
@@ -267,17 +298,27 @@ export interface BusinessChange {
|
|
|
267
298
|
}
|
|
268
299
|
/** The complete Firmenakte of one company: Firmenbuch master data, addresses, officers, GISA licences, Ediktsdatei notices, filed documents and the parsed annual accounts. */
|
|
269
300
|
export interface BusinessDetailResponse {
|
|
301
|
+
ownerships?: OwnershipDto[];
|
|
270
302
|
/** Firmenbuchnummer in normalised form: lower case, no spaces, no leading zeros and no "FN" prefix, e.g. "34853f". */
|
|
271
303
|
fnr?: string;
|
|
272
304
|
/** European Unique Identifier — the EU-wide id for a company registered in a member state's business register. Null when the Firmenbuch extract carries none. */
|
|
273
305
|
euid?: string | null;
|
|
274
|
-
/**
|
|
306
|
+
/** The most recently observed company UID. Null when none is known. Its provenance and last definitive VIES result are reported separately; an invalid UID remains visible. */
|
|
275
307
|
uid?: string | null;
|
|
308
|
+
/** Origin of the selected UID, e.g. webscraper or vies. Null when none is known. */
|
|
309
|
+
uidSource?: string | null;
|
|
310
|
+
/** Last definitive VIES validity of the selected UID. Null means not checked; technical failures do not overwrite this result. */
|
|
311
|
+
uidValid?: boolean | null;
|
|
312
|
+
/**
|
|
313
|
+
* Time of the selected UID's last definitive VIES check.
|
|
314
|
+
* @format date-time
|
|
315
|
+
*/
|
|
316
|
+
uidVerifiedAt?: string | null;
|
|
276
317
|
/** The company's URLs as the webscraper found them, websites before Impressum pages. Websites rank by matching a company Impressum host first, then fewest host labels, shortest path, freshest last-seen timestamp and ordinal URL. Host comparison and label counts ignore leading www. Impressum pages rank by freshest last-seen timestamp, then ordinal URL. Empty when none is known. */
|
|
277
318
|
websites?: BusinessWebsiteDto[];
|
|
278
319
|
/** Current company name as registered in the Firmenbuch, including the legal-form suffix. */
|
|
279
320
|
name?: string;
|
|
280
|
-
/** Business purpose (
|
|
321
|
+
/** Business purpose (Unternehmensgegenstand) as filed with the Firmenbuch, free text. Null when none is on file. */
|
|
281
322
|
purpose?: string | null;
|
|
282
323
|
/** A company's legal form (Rechtsform), as the Firmenbuch's code and its German label. Filter by it with legalFormCode on /businesses; the full catalogue is GET /legalforms. */
|
|
283
324
|
legalForm?: LegalForm | null;
|
|
@@ -331,7 +372,7 @@ export interface BusinessDetailResponse {
|
|
|
331
372
|
rechtstatsachen?: BusinessRechtstatsacheDto[];
|
|
332
373
|
/** The five most recent Jahresabschluss PDFs filed for the company. Download one with GET /documents/download/{documentKey}. */
|
|
333
374
|
documents?: DocumentMetadata[];
|
|
334
|
-
/** Parsed Jahresabschluesse
|
|
375
|
+
/** Parsed Jahresabschluesse for the last five fiscal closing dates, newest first. XML is preferred within the same period. Each carries its documentDate. */
|
|
335
376
|
parsedJahresabschluesse?: ParsedJahresabschlussDto[];
|
|
336
377
|
/** Balance-sheet and P&L figures read from the company's most recent filed Jahresabschluss — the ones keyFigureFilters, orderBy and the map dot size all read. They come from one filing, the one named by documentKey and dated documentDate, so two companies here are only comparable if their documentDate is comparable. Every figure is nullable and null means the same thing throughout: that position was not reported in that filing (small companies file abridged accounts). Null is never a zero, and never "the company has none" — do not sum or average it as 0. Amounts are EUR; employees is a headcount. GET /businesses/{fnr}/jahresabschluesse returns the full per-year history; the detail response carries the latest five years. */
|
|
337
378
|
latestKeyFigures?: BusinessLatestKeyFiguresDto | null;
|
|
@@ -368,6 +409,8 @@ export interface BusinessExportColumns {
|
|
|
368
409
|
none?: boolean;
|
|
369
410
|
}
|
|
370
411
|
export interface BusinessFacetGroup {
|
|
412
|
+
/** Counting exceeded the request budget. Values are empty; existing chips remain usable. */
|
|
413
|
+
timedOut?: boolean;
|
|
371
414
|
/** The group name, echoed back. */
|
|
372
415
|
group?: string;
|
|
373
416
|
/** The largest top values of the group, largest count first, followed by any currently selected value that did not make that cut — so a chip the caller filters on is always there, with count 0 when nothing in the rest of the filter set carries it. */
|
|
@@ -672,13 +715,13 @@ export interface CityResponse {
|
|
|
672
715
|
}
|
|
673
716
|
/** The Firmenbuch court (Sitzgericht) a company is registered at. Filter by it with courtCode on /businesses; the full catalogue is GET /courts. */
|
|
674
717
|
export interface Court {
|
|
675
|
-
/**
|
|
718
|
+
/** Three-digit court code from VOLLZ/HG, e.g. "007" for Handelsgericht Wien. */
|
|
676
719
|
code?: string;
|
|
677
720
|
/** @format date-time */
|
|
678
721
|
createdAt?: string;
|
|
679
722
|
/** @format date-time */
|
|
680
723
|
updatedAt?: string;
|
|
681
|
-
/** German name of the court, e.g. "Wien". */
|
|
724
|
+
/** German name of the court, e.g. "Handelsgericht Wien". */
|
|
682
725
|
text: string;
|
|
683
726
|
}
|
|
684
727
|
export interface CourtCatalogItemResponse {
|
|
@@ -729,6 +772,8 @@ export interface Edikt {
|
|
|
729
772
|
updatedAt?: string;
|
|
730
773
|
/** @format int32 */
|
|
731
774
|
ediktArt?: number;
|
|
775
|
+
/** The German name of the Ediktart, e.g. "Offenkundige Zahlungsunfähigkeit". Filled on the company and person dossiers; null elsewhere and for an Art without a name. */
|
|
776
|
+
artLabel?: string | null;
|
|
732
777
|
displayName?: string | null;
|
|
733
778
|
hinweis?: string | null;
|
|
734
779
|
ergaenzung?: string | null;
|
|
@@ -746,6 +791,7 @@ export interface Edikt {
|
|
|
746
791
|
caseDepartment?: string | null;
|
|
747
792
|
/** @format int32 */
|
|
748
793
|
caseYear?: number | null;
|
|
794
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. Null where no person is named. */
|
|
749
795
|
personId?: string | null;
|
|
750
796
|
fnr?: string | null;
|
|
751
797
|
courtCode?: string | null;
|
|
@@ -883,7 +929,16 @@ export interface FoerderungenSummaryDto {
|
|
|
883
929
|
*/
|
|
884
930
|
stichtag?: string | null;
|
|
885
931
|
}
|
|
886
|
-
/**
|
|
932
|
+
/** A Gemeindebezirk: Wien's "Innere Stadt" under 1010. */
|
|
933
|
+
export interface GemeindeDistrictResponse {
|
|
934
|
+
/** The Gemeindecode of STATISTIK AUSTRIA: 90101 for Wien's first Bezirk. */
|
|
935
|
+
code?: string;
|
|
936
|
+
/** The Bezirk's name: "Innere Stadt". */
|
|
937
|
+
name?: string;
|
|
938
|
+
/** The PLZ the Bezirk is addressed by. */
|
|
939
|
+
zipCode?: string;
|
|
940
|
+
}
|
|
941
|
+
/** One row of the Gemeinde catalogue, the Statistik Austria Gemeindeliste the database holds. */
|
|
887
942
|
export interface GemeindeResponse {
|
|
888
943
|
/** The Gemeinde's path segment, unique across the catalogue: "klagenfurt-am-woerthersee". */
|
|
889
944
|
slug?: string;
|
|
@@ -891,12 +946,16 @@ export interface GemeindeResponse {
|
|
|
891
946
|
name?: string;
|
|
892
947
|
/** Bundesland, the same nine names the state filter on GET /businesses takes. */
|
|
893
948
|
state?: string;
|
|
949
|
+
/** The Bundesland's path segment: "kaernten", "niederoesterreich". */
|
|
950
|
+
stateSlug?: string;
|
|
894
951
|
/** The Gemeindekennziffer of STATISTIK AUSTRIA, five digits. */
|
|
895
952
|
kennziffer?: string;
|
|
896
953
|
/** The PLZ that resolve to this Gemeinde, the Gemeindeamt's first. Fold a zipCode bucket of GET /businesses/aggregate through these to count companies per Gemeinde without a second query. */
|
|
897
954
|
zipCodes?: string[];
|
|
898
955
|
/** Slugs that name this Gemeinde without being its canonical one — "klagenfurt", "sankt-poelten". A Gemeinde page redirects these to Slug; no alias is shared by two Gemeinden. */
|
|
899
956
|
aliases?: string[];
|
|
957
|
+
/** The Gemeinde's Bezirke, each addressed by one PLZ; Wien's 23, empty for every other Gemeinde. */
|
|
958
|
+
districts?: GemeindeDistrictResponse[];
|
|
900
959
|
}
|
|
901
960
|
export interface GisaChange {
|
|
902
961
|
/** @format int64 */
|
|
@@ -925,6 +984,7 @@ export interface GisaLicense {
|
|
|
925
984
|
isActive?: boolean | null;
|
|
926
985
|
/** @format int32 */
|
|
927
986
|
addressId?: number | null;
|
|
987
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. Null where no person is named. */
|
|
928
988
|
personId?: string | null;
|
|
929
989
|
}
|
|
930
990
|
export interface GisaLicenseItemDto {
|
|
@@ -967,28 +1027,32 @@ export interface GlobalChange {
|
|
|
967
1027
|
updatedAt?: string;
|
|
968
1028
|
}
|
|
969
1029
|
export interface GraphEdgeDto {
|
|
1030
|
+
/** Evidence sources for the ownership component, without duplicating functions. */
|
|
1031
|
+
ownershipSources?: string[];
|
|
1032
|
+
ownershipUncertainty?: string | null;
|
|
970
1033
|
source?: string;
|
|
971
1034
|
target?: string;
|
|
972
|
-
/** Whether the connection still holds today.
|
|
1035
|
+
/** Whether the connection still holds on today's Vienna calendar day (Europe/Vienna). For an "assignment" edge, the newest register row of each function decides: the numerically highest Vnr, then the lowest Pnr as text. The edge is active if at least one function has not ended before that day; an absent end date, an end date today and a future start all count as running. The other two kinds are always true, for two different reasons: an "ownership" edge whose holding has ended is not drawn at all, and an "address" carries no validity date, so a shared address cannot be dated. */
|
|
973
1036
|
isActive?: boolean;
|
|
974
1037
|
/** "assignment" (a person holds a function in a company), "ownership" (a company holds shares in another — source is the shareholder, target the company it holds) or "address". */
|
|
975
1038
|
relationshipType?: string;
|
|
976
1039
|
/** The function codes the person holds at the company, current ones first — GF, PR, GS, AR … as in the Assignment function catalog. Empty on any edge but "assignment". */
|
|
977
1040
|
functionCodes?: string[];
|
|
978
1041
|
/**
|
|
979
|
-
* The shareholder's übernommene Stammeinlage
|
|
1042
|
+
* The shareholder's übernommene Stammeinlage, on corporate ownership edges and the GS component of natural-person assignment edges. Null when unsupported.
|
|
980
1043
|
* @format double
|
|
981
1044
|
*/
|
|
982
1045
|
capitalAmount?: number | null;
|
|
983
1046
|
/** The currency of CapitalAmount — ATS occurs in this data, not only EUR. */
|
|
984
1047
|
currency?: string | null;
|
|
985
1048
|
/**
|
|
986
|
-
* The stake as a percentage, 0–100. Only where it is a real ownership share: a GmbH or Flexible Kapitalgesellschaft whose Gesellschafter all carry an amount in the same currency and the same Firmenbuch version.
|
|
1049
|
+
* The stake as a percentage, 0–100. Only where it is a real ownership share: a GmbH or Flexible Kapitalgesellschaft whose Gesellschafter all carry an amount in the same currency and the same Firmenbuch version, or a coherent EVI state. Also applies to the GS component of natural-person assignment edges. Null when unsupported; never a paid-in ratio.
|
|
987
1050
|
* @format double
|
|
988
1051
|
*/
|
|
989
1052
|
sharePercent?: number | null;
|
|
990
1053
|
}
|
|
991
1054
|
export interface GraphNodeDto {
|
|
1055
|
+
/** A company's fnr, or a person's Firmenakte-ID ("P-7K3M-QX91"). */
|
|
992
1056
|
id?: string;
|
|
993
1057
|
type?: string;
|
|
994
1058
|
label?: string;
|
|
@@ -1110,6 +1174,10 @@ export interface LegalRecordChangeDto {
|
|
|
1110
1174
|
type?: string;
|
|
1111
1175
|
/** Payload; shape depends on Type (string, LegalForm, Court, Address, or list of assignments). */
|
|
1112
1176
|
value?: any;
|
|
1177
|
+
/** What changed, as the company history labels it, e.g. "Rechtsform". */
|
|
1178
|
+
label?: string | null;
|
|
1179
|
+
/** The change as the heading of its history entry, e.g. "Änderung der Rechtsform". */
|
|
1180
|
+
title?: string | null;
|
|
1113
1181
|
}
|
|
1114
1182
|
export interface LegalRecordDetailDto {
|
|
1115
1183
|
fnr?: string;
|
|
@@ -1164,6 +1232,40 @@ export interface OenaceDto {
|
|
|
1164
1232
|
code?: string | null;
|
|
1165
1233
|
numericCode?: string | null;
|
|
1166
1234
|
}
|
|
1235
|
+
export interface OwnershipDto {
|
|
1236
|
+
fnr?: string;
|
|
1237
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. Null where no person is named. */
|
|
1238
|
+
personId?: string | null;
|
|
1239
|
+
holderFnr?: string | null;
|
|
1240
|
+
displayName?: string | null;
|
|
1241
|
+
functionCode?: string;
|
|
1242
|
+
/** @format double */
|
|
1243
|
+
subscribedContribution?: number | null;
|
|
1244
|
+
/** @format double */
|
|
1245
|
+
paidInContribution?: number | null;
|
|
1246
|
+
currency?: string | null;
|
|
1247
|
+
/** @format double */
|
|
1248
|
+
sharePercent?: number | null;
|
|
1249
|
+
sources?: string[];
|
|
1250
|
+
sourceUrls?: string[];
|
|
1251
|
+
evidence?: OwnershipEvidenceDto[];
|
|
1252
|
+
uncertainty?: string | null;
|
|
1253
|
+
}
|
|
1254
|
+
/** A current holding, not a synthetic Firmenbuch assignment or history entry. */
|
|
1255
|
+
export interface OwnershipEvidenceDto {
|
|
1256
|
+
source?: string;
|
|
1257
|
+
sourceUrl?: string | null;
|
|
1258
|
+
version?: string | null;
|
|
1259
|
+
/** @format date */
|
|
1260
|
+
effectiveDate?: string | null;
|
|
1261
|
+
/** @format date-time */
|
|
1262
|
+
observedAt?: string | null;
|
|
1263
|
+
/** @format double */
|
|
1264
|
+
subscribedContribution?: number | null;
|
|
1265
|
+
/** @format double */
|
|
1266
|
+
paidInContribution?: number | null;
|
|
1267
|
+
currency?: string | null;
|
|
1268
|
+
}
|
|
1167
1269
|
/** One page of a list endpoint's result, plus the counters needed to fetch the rest. */
|
|
1168
1270
|
export interface PagedResponseOfAddressLocationResponse {
|
|
1169
1271
|
/** The rows on this page. Empty when the page is past the end, or when countOnly was requested. */
|
|
@@ -1595,6 +1697,7 @@ export interface ParsedJahresabschlussDto {
|
|
|
1595
1697
|
guv?: GuvDto | null;
|
|
1596
1698
|
}
|
|
1597
1699
|
export interface Person {
|
|
1700
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91", in every public answer — the id GET /people/{personId} takes. */
|
|
1598
1701
|
id?: string;
|
|
1599
1702
|
/** @format date-time */
|
|
1600
1703
|
createdAt?: string;
|
|
@@ -1604,7 +1707,6 @@ export interface Person {
|
|
|
1604
1707
|
firstName?: string | null;
|
|
1605
1708
|
/** @maxLength 200 */
|
|
1606
1709
|
lastName?: string | null;
|
|
1607
|
-
birthDate?: string | null;
|
|
1608
1710
|
titlePrefix?: string | null;
|
|
1609
1711
|
titleSuffix?: string | null;
|
|
1610
1712
|
assignments?: BusinessAssignment[];
|
|
@@ -1616,19 +1718,23 @@ export interface PersonAssignmentItemDto {
|
|
|
1616
1718
|
fnr?: string;
|
|
1617
1719
|
vnr?: string;
|
|
1618
1720
|
pnr?: string;
|
|
1721
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. */
|
|
1619
1722
|
personId?: string;
|
|
1620
1723
|
functionCode?: string;
|
|
1621
1724
|
/** @format double */
|
|
1622
1725
|
capitalAmount?: number | null;
|
|
1623
1726
|
currency?: string | null;
|
|
1727
|
+
/** Function status on the Vienna day: current, ended, upcoming or superseded by a newer register version. Open enum. */
|
|
1728
|
+
status?: string | null;
|
|
1624
1729
|
business?: BusinessSummaryDto | null;
|
|
1625
1730
|
businessEdikte?: Edikt[];
|
|
1626
1731
|
}
|
|
1627
1732
|
export interface PersonDetailResponse {
|
|
1733
|
+
ownerships?: OwnershipDto[];
|
|
1734
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. */
|
|
1628
1735
|
id?: string;
|
|
1629
1736
|
firstName?: string | null;
|
|
1630
1737
|
lastName?: string | null;
|
|
1631
|
-
birthDate?: string | null;
|
|
1632
1738
|
titlePrefix?: string | null;
|
|
1633
1739
|
titleSuffix?: string | null;
|
|
1634
1740
|
assignments?: PersonAssignmentItemDto[];
|
|
@@ -1636,14 +1742,15 @@ export interface PersonDetailResponse {
|
|
|
1636
1742
|
edikte?: any[];
|
|
1637
1743
|
}
|
|
1638
1744
|
export interface PersonNameItem {
|
|
1745
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. */
|
|
1639
1746
|
id?: string;
|
|
1640
1747
|
name?: string;
|
|
1641
1748
|
}
|
|
1642
1749
|
export interface PersonResponse {
|
|
1750
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. */
|
|
1643
1751
|
id?: string;
|
|
1644
1752
|
firstName?: string | null;
|
|
1645
1753
|
lastName?: string | null;
|
|
1646
|
-
birthDate?: string | null;
|
|
1647
1754
|
titlePrefix?: string | null;
|
|
1648
1755
|
titleSuffix?: string | null;
|
|
1649
1756
|
}
|
|
@@ -1719,7 +1826,7 @@ export interface ScheinunternehmenKundmachung {
|
|
|
1719
1826
|
uid?: string | null;
|
|
1720
1827
|
/** Firmenbuch number for company entries; null for natural persons. */
|
|
1721
1828
|
fnr?: string | null;
|
|
1722
|
-
/**
|
|
1829
|
+
/** The person's Firmenakte-ID ("P-7K3M-QX91") for natural-person entries; null for companies. */
|
|
1723
1830
|
personId?: string | null;
|
|
1724
1831
|
displayName?: string | null;
|
|
1725
1832
|
/** @format date-time */
|
|
@@ -1740,6 +1847,7 @@ export interface ScheinunternehmenKundmachungDto {
|
|
|
1740
1847
|
guid?: string;
|
|
1741
1848
|
uid?: string | null;
|
|
1742
1849
|
fnr?: string | null;
|
|
1850
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91" — the id GET /people/{personId} takes. Null where no person is named. */
|
|
1743
1851
|
personId?: string | null;
|
|
1744
1852
|
displayName?: string | null;
|
|
1745
1853
|
/** @format date-time */
|
|
@@ -1790,6 +1898,30 @@ export interface UpdateListRequest {
|
|
|
1790
1898
|
removedFnrs?: string[] | null;
|
|
1791
1899
|
settings?: JsonDocument | null;
|
|
1792
1900
|
}
|
|
1901
|
+
/** A Passiva position outside Eigenkapital, Investitionszuschüsse, Rückstellungen, Verbindlichkeiten and passive Rechnungsabgrenzung — unversteuerte Rücklagen, an atypisch stille Beteiligung, Substanzgenussrechte or a freely named position — with the label the filing gives it. */
|
|
1902
|
+
export interface WeitererPassivposten {
|
|
1903
|
+
/** The position's label as filed, or the schema's name for it. */
|
|
1904
|
+
bezeichnung: string;
|
|
1905
|
+
/**
|
|
1906
|
+
* The amount in EUR; a position without an amount or with 0 is not listed.
|
|
1907
|
+
* @format double
|
|
1908
|
+
*/
|
|
1909
|
+
betrag: number;
|
|
1910
|
+
/** The standard Passiva position a WeitererPassivposten follows in the filing. */
|
|
1911
|
+
nach: PassivpostenNach;
|
|
1912
|
+
}
|
|
1913
|
+
/** One further Passiva position of a Bilanz. */
|
|
1914
|
+
export interface WeitererPassivpostenDto {
|
|
1915
|
+
/** The position's label as filed, or the schema's name for it. */
|
|
1916
|
+
bezeichnung: string;
|
|
1917
|
+
/**
|
|
1918
|
+
* The amount in EUR, never 0.
|
|
1919
|
+
* @format double
|
|
1920
|
+
*/
|
|
1921
|
+
betrag: number;
|
|
1922
|
+
/** The standard Passiva position a WeitererPassivposten follows in the filing. */
|
|
1923
|
+
nach: PassivpostenNach;
|
|
1924
|
+
}
|
|
1793
1925
|
export interface ZipCodeResponse {
|
|
1794
1926
|
zipCode?: string;
|
|
1795
1927
|
/** @format int32 */
|
|
@@ -2029,7 +2161,7 @@ export declare namespace Api {
|
|
|
2029
2161
|
type ResponseBody = Blob;
|
|
2030
2162
|
}
|
|
2031
2163
|
/**
|
|
2032
|
-
* @description Returns the global catalog of GISA Trade Definitions with pagination.
|
|
2164
|
+
* @description Returns the global catalog of GISA Trade Definitions with pagination. Kostet 1 Credit.
|
|
2033
2165
|
* @tags Trades
|
|
2034
2166
|
* @name V1TradesList
|
|
2035
2167
|
* @summary GISA trade catalog
|
|
@@ -2172,20 +2304,55 @@ export declare namespace Api {
|
|
|
2172
2304
|
type ResponseBody = PagedResponseOfGisaChange;
|
|
2173
2305
|
}
|
|
2174
2306
|
/**
|
|
2175
|
-
* @description
|
|
2176
|
-
* @tags
|
|
2177
|
-
* @name
|
|
2178
|
-
* @summary
|
|
2179
|
-
* @request GET:/api/v1/
|
|
2307
|
+
* @description Kostet 1 Credit.
|
|
2308
|
+
* @tags Foerderungen
|
|
2309
|
+
* @name V1FoerderungenChangesDetail
|
|
2310
|
+
* @summary Funding change by id
|
|
2311
|
+
* @request GET:/api/v1/foerderungen/changes/{id}
|
|
2180
2312
|
* @secure
|
|
2181
2313
|
*/
|
|
2182
|
-
namespace
|
|
2314
|
+
namespace V1FoerderungenChangesDetail {
|
|
2315
|
+
type RequestParams = {
|
|
2316
|
+
/** @format int64 */
|
|
2317
|
+
id: number;
|
|
2318
|
+
};
|
|
2319
|
+
type RequestQuery = {};
|
|
2320
|
+
type RequestBody = never;
|
|
2321
|
+
type RequestHeaders = {};
|
|
2322
|
+
type ResponseBody = FoerderungChange;
|
|
2323
|
+
}
|
|
2324
|
+
/**
|
|
2325
|
+
* @description New payments and amount corrections for matched companies. A source's initial import is excluded. Ordered by ascending id. Poll with sinceId set to the previous watermark, deduplicate by id, and stop on a short page. since is inclusive and filters the recorded date, not the payment year. Both cursors apply together. fnr is normalised as on GET /businesses. totalRecords is capped at 1000 × pageSize; at that cap it means at least that many. Kostet 1 Credit.
|
|
2326
|
+
* @tags Foerderungen
|
|
2327
|
+
* @name V1FoerderungenChangesList
|
|
2328
|
+
* @summary Funding change feed
|
|
2329
|
+
* @request GET:/api/v1/foerderungen/changes
|
|
2330
|
+
* @secure
|
|
2331
|
+
*/
|
|
2332
|
+
namespace V1FoerderungenChangesList {
|
|
2183
2333
|
type RequestParams = {};
|
|
2184
2334
|
type RequestQuery = {
|
|
2185
|
-
/**
|
|
2186
|
-
|
|
2335
|
+
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
2336
|
+
fnr?: string;
|
|
2187
2337
|
/**
|
|
2188
|
-
*
|
|
2338
|
+
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
2339
|
+
* @format date-time
|
|
2340
|
+
*/
|
|
2341
|
+
since?: string;
|
|
2342
|
+
/**
|
|
2343
|
+
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
2344
|
+
* @format int64
|
|
2345
|
+
*/
|
|
2346
|
+
sinceId?: number;
|
|
2347
|
+
/**
|
|
2348
|
+
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
2349
|
+
* @format int32
|
|
2350
|
+
* @min 1
|
|
2351
|
+
* @max 1000
|
|
2352
|
+
*/
|
|
2353
|
+
page?: number;
|
|
2354
|
+
/**
|
|
2355
|
+
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
2189
2356
|
* @format int32
|
|
2190
2357
|
* @min 1
|
|
2191
2358
|
* @max 100
|
|
@@ -2194,10 +2361,70 @@ export declare namespace Api {
|
|
|
2194
2361
|
};
|
|
2195
2362
|
type RequestBody = never;
|
|
2196
2363
|
type RequestHeaders = {};
|
|
2197
|
-
type ResponseBody =
|
|
2364
|
+
type ResponseBody = PagedResponseOfFoerderungChange;
|
|
2365
|
+
}
|
|
2366
|
+
/**
|
|
2367
|
+
* @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. Kostet 1 Credit.
|
|
2368
|
+
* @tags Edikte
|
|
2369
|
+
* @name V1EdikteChangesDetail
|
|
2370
|
+
* @summary Edikt change by id
|
|
2371
|
+
* @request GET:/api/v1/edikte/changes/{id}
|
|
2372
|
+
* @secure
|
|
2373
|
+
*/
|
|
2374
|
+
namespace V1EdikteChangesDetail {
|
|
2375
|
+
type RequestParams = {
|
|
2376
|
+
/** @format int64 */
|
|
2377
|
+
id: number;
|
|
2378
|
+
};
|
|
2379
|
+
type RequestQuery = {};
|
|
2380
|
+
type RequestBody = never;
|
|
2381
|
+
type RequestHeaders = {};
|
|
2382
|
+
type ResponseBody = EdiktChange;
|
|
2383
|
+
}
|
|
2384
|
+
/**
|
|
2385
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
2386
|
+
* @tags Edikte
|
|
2387
|
+
* @name V1EdikteChangesList
|
|
2388
|
+
* @summary Ediktsdatei change feed
|
|
2389
|
+
* @request GET:/api/v1/edikte/changes
|
|
2390
|
+
* @secure
|
|
2391
|
+
*/
|
|
2392
|
+
namespace V1EdikteChangesList {
|
|
2393
|
+
type RequestParams = {};
|
|
2394
|
+
type RequestQuery = {
|
|
2395
|
+
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
2396
|
+
fnr?: string;
|
|
2397
|
+
/**
|
|
2398
|
+
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
2399
|
+
* @format date-time
|
|
2400
|
+
*/
|
|
2401
|
+
since?: string;
|
|
2402
|
+
/**
|
|
2403
|
+
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
2404
|
+
* @format int64
|
|
2405
|
+
*/
|
|
2406
|
+
sinceId?: number;
|
|
2407
|
+
/**
|
|
2408
|
+
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
2409
|
+
* @format int32
|
|
2410
|
+
* @min 1
|
|
2411
|
+
* @max 1000
|
|
2412
|
+
*/
|
|
2413
|
+
page?: number;
|
|
2414
|
+
/**
|
|
2415
|
+
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
2416
|
+
* @format int32
|
|
2417
|
+
* @min 1
|
|
2418
|
+
* @max 100
|
|
2419
|
+
*/
|
|
2420
|
+
pageSize?: number;
|
|
2421
|
+
};
|
|
2422
|
+
type RequestBody = never;
|
|
2423
|
+
type RequestHeaders = {};
|
|
2424
|
+
type ResponseBody = PagedResponseOfEdiktChange;
|
|
2198
2425
|
}
|
|
2199
2426
|
/**
|
|
2200
|
-
* @description Returns (id, name) pairs for all people with at least one business assignment. For client-side name index. Kostet 1 Credit.
|
|
2427
|
+
* @description Returns (id, name) pairs for all people with at least one business assignment. For client-side name index. id is the person's Firmenakte-ID, e.g. "P-7K3M-QX91". Kostet 1 Credit.
|
|
2201
2428
|
* @tags People
|
|
2202
2429
|
* @name V1PeopleNamesList
|
|
2203
2430
|
* @summary Person name index
|
|
@@ -2212,7 +2439,7 @@ export declare namespace Api {
|
|
|
2212
2439
|
type ResponseBody = PersonNameItem[];
|
|
2213
2440
|
}
|
|
2214
2441
|
/**
|
|
2215
|
-
* @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
|
|
2442
|
+
* @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. Combine with fnr or businessName to get the officers of one company, or with functionCode for one role. Each row's id is the person's Firmenakte-ID, the id GET /people/{personId} takes. 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 owners of this year's new Viennese companies are one query: ?businessCity=Wien&businessRegisteredSince_gte=2026-01-01&functionCode=IN&functionCode=KP&functionCode=GS&functionCode=PG A row's assignments are a sample, not the person's whole collection: at most 25, and only the ones matching the fnr, functionCode, businessName, businessCity and businessRegisteredSince_gte you sent, so ?fnr=34853f gives you that company's row and nothing else. Ask GET /people/{personId} for all of them. Kostet 1 Credit.
|
|
2216
2443
|
* @tags People
|
|
2217
2444
|
* @name V1PeopleList
|
|
2218
2445
|
* @summary People search
|
|
@@ -2240,10 +2467,6 @@ export declare namespace Api {
|
|
|
2240
2467
|
fnr?: string;
|
|
2241
2468
|
/** Only people who have an Edikt of their own — a notice in the Ediktsdatei filed against the person, which the edikte collection on the row carries. An Edikt against one of their companies does not count; that is hasEdikt on /businesses. */
|
|
2242
2469
|
hasEdikt?: boolean;
|
|
2243
|
-
/** Sort key; only "birthDate" is supported. Omitted, people come back by last name, then first name. People whose birth date the register does not give sort last under orderByDescending=true. */
|
|
2244
|
-
orderBy?: string;
|
|
2245
|
-
/** If true, sort descending; with orderBy=birthDate that is the youngest first. */
|
|
2246
|
-
orderByDescending?: boolean;
|
|
2247
2470
|
/**
|
|
2248
2471
|
* 1-based page number; defaults to 1 when omitted.
|
|
2249
2472
|
* @format int32
|
|
@@ -2264,7 +2487,7 @@ export declare namespace Api {
|
|
|
2264
2487
|
type ResponseBody = PagedResponseOfPerson;
|
|
2265
2488
|
}
|
|
2266
2489
|
/**
|
|
2267
|
-
* @description Returns one person with every company function, GISA licence and Edikt attached to them. personId is the
|
|
2490
|
+
* @description Returns one person with every company function, GISA licence and Edikt attached to them. personId is the person's Firmenakte-ID as the glossary describes it, e.g. "P-7K3M-QX91", the id every list row, assignment and graph node carries. Take it from there rather than composing it yourself. Only that spelling answers. Any other spelling of the same Firmenakte-ID ("p7k3mqx91"), and the "vorname-nachname-…" id people carried before, answer one 308 whose relative Location is the canonical form. A Firmenakte-ID with a wrong check character, and an id nobody holds, answer 404; so does the bucket every nameless assignment in the register lands in, which is not a person. Kostet 1 Credit.
|
|
2268
2491
|
* @tags People
|
|
2269
2492
|
* @name V1PeopleDetail
|
|
2270
2493
|
* @summary Person detail
|
|
@@ -2273,6 +2496,7 @@ export declare namespace Api {
|
|
|
2273
2496
|
*/
|
|
2274
2497
|
namespace V1PeopleDetail {
|
|
2275
2498
|
type RequestParams = {
|
|
2499
|
+
/** The person's Firmenakte-ID, e.g. "P-7K3M-QX91". */
|
|
2276
2500
|
personId: string;
|
|
2277
2501
|
};
|
|
2278
2502
|
type RequestQuery = {};
|
|
@@ -2281,474 +2505,66 @@ export declare namespace Api {
|
|
|
2281
2505
|
type ResponseBody = PersonDetailResponse;
|
|
2282
2506
|
}
|
|
2283
2507
|
/**
|
|
2284
|
-
* @description
|
|
2285
|
-
* @tags
|
|
2286
|
-
* @name
|
|
2287
|
-
* @summary
|
|
2288
|
-
* @request
|
|
2508
|
+
* @description Resolve company names to FNRs by exact name match (1:1). Used for CSV import. Kostet 1 Credit.
|
|
2509
|
+
* @tags Businesses
|
|
2510
|
+
* @name V1BusinessesResolveNamesCreate
|
|
2511
|
+
* @summary Name to FNR resolution
|
|
2512
|
+
* @request POST:/api/v1/businesses/resolve-names
|
|
2289
2513
|
* @secure
|
|
2290
2514
|
*/
|
|
2291
|
-
namespace
|
|
2515
|
+
namespace V1BusinessesResolveNamesCreate {
|
|
2292
2516
|
type RequestParams = {};
|
|
2293
|
-
type RequestQuery = {
|
|
2294
|
-
|
|
2295
|
-
/**
|
|
2296
|
-
* Filter by hierarchy level (1–5). Omit to return all levels.
|
|
2297
|
-
* @format int32
|
|
2298
|
-
*/
|
|
2299
|
-
ebene?: number;
|
|
2300
|
-
/** @format int32 */
|
|
2301
|
-
minCompanyCount?: number;
|
|
2302
|
-
/**
|
|
2303
|
-
* 1-based page number; defaults to 1 when omitted.
|
|
2304
|
-
* @format int32
|
|
2305
|
-
* @min 1
|
|
2306
|
-
* @max 1000
|
|
2307
|
-
*/
|
|
2308
|
-
page?: number;
|
|
2309
|
-
/**
|
|
2310
|
-
* Number of items per page; defaults to 10 when omitted.
|
|
2311
|
-
* @format int32
|
|
2312
|
-
* @min 1
|
|
2313
|
-
* @max 100
|
|
2314
|
-
*/
|
|
2315
|
-
pageSize?: number;
|
|
2316
|
-
};
|
|
2317
|
-
type RequestBody = never;
|
|
2517
|
+
type RequestQuery = {};
|
|
2518
|
+
type RequestBody = ResolveBusinessNamesRequest;
|
|
2318
2519
|
type RequestHeaders = {};
|
|
2319
|
-
type ResponseBody =
|
|
2520
|
+
type ResponseBody = ResolveBusinessNamesResponse;
|
|
2320
2521
|
}
|
|
2321
2522
|
/**
|
|
2322
|
-
* @description
|
|
2323
|
-
* @tags
|
|
2324
|
-
* @name
|
|
2325
|
-
* @summary
|
|
2326
|
-
* @request GET:/api/v1/
|
|
2523
|
+
* @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. inInsolvency is a Firmenbuch evidence filter, not an Ediktsdatei or Insolvenzdatei one. True matches a classified open court record or an active administrator role (MW, IW, AW, VW). False includes closed evidence without an active role, missing evidence and unclassified or uncertain evidence without another opening or role. Omit the parameter to leave this state unfiltered. A false value means no current positive evidence in this dataset, not verified legal assurance that no proceeding exists. The proceedings are published in the Insolvenzdatei, which this API does not read. Examples: ?inInsolvency=true; ?inInsolvency=false&name=Graf; ?inInsolvency=true&countOnly=true. The same values combine with every other filter. Pass countOnly=true for totalRecords without the rows, and use /businesses/aggregate to group the same filter set instead of paging through it. Place filters: the Firmenbuch records no Bundesland and no Gemeinde, only the Sitzgericht, so both state and gemeinde are derived from the PLZ of the Geschäftsanschrift: the PLZ names a Gemeinde, and state is that Gemeinde's Land, so the Innviertel PLZ 5120–5399 are in Oberösterreich. gemeinde takes the slug of a Gemeinde, and because it reads the PLZ it answers every spelling of a place at once — "Klagenfurt am Wörthersee", "Klagenfurt" and "Klagenfurt-Viktring" are one Gemeinde, where city= would be three separate filters over free text. GET /addresses/gemeinden is the catalogue of the slugs, their aliases, their Bundesland and their PLZ; a company with a foreign or unusable PLZ is in no Gemeinde and no gemeinde= filter finds it. Kostet 1 Credit.
|
|
2524
|
+
* @tags Businesses
|
|
2525
|
+
* @name V1BusinessesList
|
|
2526
|
+
* @summary Company search
|
|
2527
|
+
* @request GET:/api/v1/businesses
|
|
2327
2528
|
* @secure
|
|
2328
2529
|
*/
|
|
2329
|
-
namespace
|
|
2530
|
+
namespace V1BusinessesList {
|
|
2330
2531
|
type RequestParams = {};
|
|
2331
2532
|
type RequestQuery = {
|
|
2332
|
-
|
|
2533
|
+
fnr?: string[];
|
|
2534
|
+
name?: string;
|
|
2333
2535
|
search?: string;
|
|
2536
|
+
city?: string[];
|
|
2537
|
+
courtCode?: string[];
|
|
2538
|
+
legalFormCode?: string[];
|
|
2539
|
+
zipCode?: string[];
|
|
2540
|
+
/** Filter by Bundesland: Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien. Derived from the PLZ of the Geschäftsanschrift; see this endpoint's description. An unknown name is a 400. */
|
|
2541
|
+
state?: string[];
|
|
2542
|
+
/** Filter by Gemeinde slug, derived from the PLZ. GET /addresses/gemeinden lists them. Unknown slug is a 400. */
|
|
2543
|
+
gemeinde?: string[];
|
|
2544
|
+
hasEdikt?: boolean;
|
|
2545
|
+
active?: boolean;
|
|
2546
|
+
/** Filter by BMF Scheinunternehmen (LSU) list: true = only businesses on the list, false = only not on the list. */
|
|
2547
|
+
isScheinunternehmen?: boolean;
|
|
2548
|
+
gisaLicenseKey?: number[];
|
|
2549
|
+
/** Filter by OeNACE code (OenaceZuord / NumericCode), e.g. ["46649"]. */
|
|
2550
|
+
oenaceCode?: string[];
|
|
2334
2551
|
/**
|
|
2335
|
-
*
|
|
2552
|
+
* Lower bound (inclusive) for the Firmenbuch registration date ("Eingetragen seit"), the earliest executionDate over the company's legal records. The Firmenbuch was digitised in 1991/92, so no value predates that however old the company actually is — it is not a founding date.
|
|
2553
|
+
* @format date-time
|
|
2554
|
+
*/
|
|
2555
|
+
registeredSince_gte?: string;
|
|
2556
|
+
/**
|
|
2557
|
+
* Upper bound (inclusive) for the Firmenbuch registration date ("Eingetragen seit"), the earliest executionDate over the company's legal records. The Firmenbuch was digitised in 1991/92, so no value predates that however old the company actually is — it is not a founding date.
|
|
2558
|
+
* @format date-time
|
|
2559
|
+
*/
|
|
2560
|
+
registeredSince_lte?: string;
|
|
2561
|
+
/**
|
|
2562
|
+
* Lower bound (inclusive) for the number of distinct people with signing authority, counting the representation functions GF, GD, GL, HB, IN, IV, KP, PR, SV, VM, VO and excluding the insolvency and liquidation ones (AB, AW, IW, MW, VW, ZW). Currently held functions only.
|
|
2336
2563
|
* @format int32
|
|
2337
|
-
* @min 1
|
|
2338
|
-
* @max 1000
|
|
2339
2564
|
*/
|
|
2340
|
-
|
|
2565
|
+
signerCount_gte?: number;
|
|
2341
2566
|
/**
|
|
2342
|
-
*
|
|
2343
|
-
* @format int32
|
|
2344
|
-
* @min 1
|
|
2345
|
-
* @max 100
|
|
2346
|
-
*/
|
|
2347
|
-
pageSize?: number;
|
|
2348
|
-
};
|
|
2349
|
-
type RequestBody = never;
|
|
2350
|
-
type RequestHeaders = {};
|
|
2351
|
-
type ResponseBody = PagedResponseOfLegalFormCatalogItemResponse;
|
|
2352
|
-
}
|
|
2353
|
-
/**
|
|
2354
|
-
* @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. Two further edge types the deployment can enable: "address", two companies registered at the same street address, and "ownership", a company holding shares in another — source is the shareholder, target the company it holds, and capitalAmount, currency and sharePercent carry the stake where the register gives one. Ownership edges are drawn only for companies crawled since the shareholder mapping went live, so a company not yet re-crawled reports none rather than implying it has none. 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. Kostet 3 Credits.
|
|
2355
|
-
* @tags Graph
|
|
2356
|
-
* @name V1GraphList
|
|
2357
|
-
* @summary Relationship graph
|
|
2358
|
-
* @request GET:/api/v1/graph
|
|
2359
|
-
* @secure
|
|
2360
|
-
*/
|
|
2361
|
-
namespace V1GraphList {
|
|
2362
|
-
type RequestParams = {};
|
|
2363
|
-
type RequestQuery = {
|
|
2364
|
-
/** Start from this person. Mutually exclusive with fnr. */
|
|
2365
|
-
personId?: string;
|
|
2366
|
-
/** Start from this company. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company; case is not folded. Mutually exclusive with personId. */
|
|
2367
|
-
fnr?: string;
|
|
2368
|
-
};
|
|
2369
|
-
type RequestBody = never;
|
|
2370
|
-
type RequestHeaders = {};
|
|
2371
|
-
type ResponseBody = GraphResponse;
|
|
2372
|
-
}
|
|
2373
|
-
/**
|
|
2374
|
-
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
2375
|
-
* @tags GlobalChanges
|
|
2376
|
-
* @name V1GlobalchangesList
|
|
2377
|
-
* @summary All-register change feed
|
|
2378
|
-
* @request GET:/api/v1/globalchanges
|
|
2379
|
-
* @secure
|
|
2380
|
-
*/
|
|
2381
|
-
namespace V1GlobalchangesList {
|
|
2382
|
-
type RequestParams = {};
|
|
2383
|
-
type RequestQuery = {
|
|
2384
|
-
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
2385
|
-
fnr?: string;
|
|
2386
|
-
/**
|
|
2387
|
-
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
2388
|
-
* @format date-time
|
|
2389
|
-
*/
|
|
2390
|
-
since?: string;
|
|
2391
|
-
/**
|
|
2392
|
-
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
2393
|
-
* @format int64
|
|
2394
|
-
*/
|
|
2395
|
-
sinceId?: number;
|
|
2396
|
-
/**
|
|
2397
|
-
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
2398
|
-
* @format int32
|
|
2399
|
-
* @min 1
|
|
2400
|
-
* @max 1000
|
|
2401
|
-
*/
|
|
2402
|
-
page?: number;
|
|
2403
|
-
/**
|
|
2404
|
-
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
2405
|
-
* @format int32
|
|
2406
|
-
* @min 1
|
|
2407
|
-
* @max 100
|
|
2408
|
-
*/
|
|
2409
|
-
pageSize?: number;
|
|
2410
|
-
};
|
|
2411
|
-
type RequestBody = never;
|
|
2412
|
-
type RequestHeaders = {};
|
|
2413
|
-
type ResponseBody = PagedResponseOfGlobalChange;
|
|
2414
|
-
}
|
|
2415
|
-
/**
|
|
2416
|
-
* @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. Kostet 3 Credits.
|
|
2417
|
-
* @tags GlobalChanges
|
|
2418
|
-
* @name V1GlobalchangesAggregatedList
|
|
2419
|
-
* @summary Aggregated watchlist changes
|
|
2420
|
-
* @request GET:/api/v1/globalchanges/aggregated
|
|
2421
|
-
* @secure
|
|
2422
|
-
*/
|
|
2423
|
-
namespace V1GlobalchangesAggregatedList {
|
|
2424
|
-
type RequestParams = {};
|
|
2425
|
-
type RequestQuery = {
|
|
2426
|
-
/** Firmenbuch numbers to fetch changes for. Max 1000 items. Each is normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
2427
|
-
fnr?: string[];
|
|
2428
|
-
/** @format date-time */
|
|
2429
|
-
since?: string;
|
|
2430
|
-
/** @format int64 */
|
|
2431
|
-
sinceId?: number;
|
|
2432
|
-
/**
|
|
2433
|
-
* Max number of changes to return per type. Default 500, max 2000.
|
|
2434
|
-
* @format int32
|
|
2435
|
-
* @min 1
|
|
2436
|
-
* @max 2000
|
|
2437
|
-
*/
|
|
2438
|
-
maxResultsPerType?: number;
|
|
2439
|
-
};
|
|
2440
|
-
type RequestBody = never;
|
|
2441
|
-
type RequestHeaders = {};
|
|
2442
|
-
type ResponseBody = AggregatedChangesResponse;
|
|
2443
|
-
}
|
|
2444
|
-
/**
|
|
2445
|
-
* @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, FoerderungChange or ScheinunternehmenChange. Since data is a union, read changeType before it. Kostet 1 Credit.
|
|
2446
|
-
* @tags GlobalChanges
|
|
2447
|
-
* @name V1GlobalchangesDetail
|
|
2448
|
-
* @summary Change by id
|
|
2449
|
-
* @request GET:/api/v1/globalchanges/{id}
|
|
2450
|
-
* @secure
|
|
2451
|
-
*/
|
|
2452
|
-
namespace V1GlobalchangesDetail {
|
|
2453
|
-
type RequestParams = {
|
|
2454
|
-
/** @format int64 */
|
|
2455
|
-
id: number;
|
|
2456
|
-
};
|
|
2457
|
-
type RequestQuery = {};
|
|
2458
|
-
type RequestBody = never;
|
|
2459
|
-
type RequestHeaders = {};
|
|
2460
|
-
type ResponseBody = ChangeDetailResponse;
|
|
2461
|
-
}
|
|
2462
|
-
/**
|
|
2463
|
-
* @description Kostet 1 Credit.
|
|
2464
|
-
* @tags Foerderungen
|
|
2465
|
-
* @name V1FoerderungenChangesDetail
|
|
2466
|
-
* @summary Funding change by id
|
|
2467
|
-
* @request GET:/api/v1/foerderungen/changes/{id}
|
|
2468
|
-
* @secure
|
|
2469
|
-
*/
|
|
2470
|
-
namespace V1FoerderungenChangesDetail {
|
|
2471
|
-
type RequestParams = {
|
|
2472
|
-
/** @format int64 */
|
|
2473
|
-
id: number;
|
|
2474
|
-
};
|
|
2475
|
-
type RequestQuery = {};
|
|
2476
|
-
type RequestBody = never;
|
|
2477
|
-
type RequestHeaders = {};
|
|
2478
|
-
type ResponseBody = FoerderungChange;
|
|
2479
|
-
}
|
|
2480
|
-
/**
|
|
2481
|
-
* @description New payments and amount corrections for matched companies. A source's initial import is excluded. Ordered by ascending id. Poll with sinceId set to the previous watermark, deduplicate by id, and stop on a short page. since is inclusive and filters the recorded date, not the payment year. Both cursors apply together. fnr is normalised as on GET /businesses. totalRecords is capped at 1000 × pageSize; at that cap it means at least that many. Kostet 1 Credit.
|
|
2482
|
-
* @tags Foerderungen
|
|
2483
|
-
* @name V1FoerderungenChangesList
|
|
2484
|
-
* @summary Funding change feed
|
|
2485
|
-
* @request GET:/api/v1/foerderungen/changes
|
|
2486
|
-
* @secure
|
|
2487
|
-
*/
|
|
2488
|
-
namespace V1FoerderungenChangesList {
|
|
2489
|
-
type RequestParams = {};
|
|
2490
|
-
type RequestQuery = {
|
|
2491
|
-
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
2492
|
-
fnr?: string;
|
|
2493
|
-
/**
|
|
2494
|
-
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
2495
|
-
* @format date-time
|
|
2496
|
-
*/
|
|
2497
|
-
since?: string;
|
|
2498
|
-
/**
|
|
2499
|
-
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
2500
|
-
* @format int64
|
|
2501
|
-
*/
|
|
2502
|
-
sinceId?: number;
|
|
2503
|
-
/**
|
|
2504
|
-
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
2505
|
-
* @format int32
|
|
2506
|
-
* @min 1
|
|
2507
|
-
* @max 1000
|
|
2508
|
-
*/
|
|
2509
|
-
page?: number;
|
|
2510
|
-
/**
|
|
2511
|
-
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
2512
|
-
* @format int32
|
|
2513
|
-
* @min 1
|
|
2514
|
-
* @max 100
|
|
2515
|
-
*/
|
|
2516
|
-
pageSize?: number;
|
|
2517
|
-
};
|
|
2518
|
-
type RequestBody = never;
|
|
2519
|
-
type RequestHeaders = {};
|
|
2520
|
-
type ResponseBody = PagedResponseOfFoerderungChange;
|
|
2521
|
-
}
|
|
2522
|
-
/**
|
|
2523
|
-
* @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. Kostet 1 Credit.
|
|
2524
|
-
* @tags Edikte
|
|
2525
|
-
* @name V1EdikteChangesDetail
|
|
2526
|
-
* @summary Edikt change by id
|
|
2527
|
-
* @request GET:/api/v1/edikte/changes/{id}
|
|
2528
|
-
* @secure
|
|
2529
|
-
*/
|
|
2530
|
-
namespace V1EdikteChangesDetail {
|
|
2531
|
-
type RequestParams = {
|
|
2532
|
-
/** @format int64 */
|
|
2533
|
-
id: number;
|
|
2534
|
-
};
|
|
2535
|
-
type RequestQuery = {};
|
|
2536
|
-
type RequestBody = never;
|
|
2537
|
-
type RequestHeaders = {};
|
|
2538
|
-
type ResponseBody = EdiktChange;
|
|
2539
|
-
}
|
|
2540
|
-
/**
|
|
2541
|
-
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
2542
|
-
* @tags Edikte
|
|
2543
|
-
* @name V1EdikteChangesList
|
|
2544
|
-
* @summary Ediktsdatei change feed
|
|
2545
|
-
* @request GET:/api/v1/edikte/changes
|
|
2546
|
-
* @secure
|
|
2547
|
-
*/
|
|
2548
|
-
namespace V1EdikteChangesList {
|
|
2549
|
-
type RequestParams = {};
|
|
2550
|
-
type RequestQuery = {
|
|
2551
|
-
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
2552
|
-
fnr?: string;
|
|
2553
|
-
/**
|
|
2554
|
-
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
2555
|
-
* @format date-time
|
|
2556
|
-
*/
|
|
2557
|
-
since?: string;
|
|
2558
|
-
/**
|
|
2559
|
-
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
2560
|
-
* @format int64
|
|
2561
|
-
*/
|
|
2562
|
-
sinceId?: number;
|
|
2563
|
-
/**
|
|
2564
|
-
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
2565
|
-
* @format int32
|
|
2566
|
-
* @min 1
|
|
2567
|
-
* @max 1000
|
|
2568
|
-
*/
|
|
2569
|
-
page?: number;
|
|
2570
|
-
/**
|
|
2571
|
-
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
2572
|
-
* @format int32
|
|
2573
|
-
* @min 1
|
|
2574
|
-
* @max 100
|
|
2575
|
-
*/
|
|
2576
|
-
pageSize?: number;
|
|
2577
|
-
};
|
|
2578
|
-
type RequestBody = never;
|
|
2579
|
-
type RequestHeaders = {};
|
|
2580
|
-
type ResponseBody = PagedResponseOfEdiktChange;
|
|
2581
|
-
}
|
|
2582
|
-
/**
|
|
2583
|
-
* @description Downloads a Firmenbuch document (PDF/XML) by its document key. Kostet 3 Credits.
|
|
2584
|
-
* @tags Documents
|
|
2585
|
-
* @name V1DocumentsDownloadDetail
|
|
2586
|
-
* @summary Firmenbuch document download
|
|
2587
|
-
* @request GET:/api/v1/documents/download/{documentKey}
|
|
2588
|
-
* @secure
|
|
2589
|
-
*/
|
|
2590
|
-
namespace V1DocumentsDownloadDetail {
|
|
2591
|
-
type RequestParams = {
|
|
2592
|
-
documentKey: string;
|
|
2593
|
-
};
|
|
2594
|
-
type RequestQuery = {};
|
|
2595
|
-
type RequestBody = never;
|
|
2596
|
-
type RequestHeaders = {};
|
|
2597
|
-
type ResponseBody = void;
|
|
2598
|
-
}
|
|
2599
|
-
/**
|
|
2600
|
-
* @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. Kostet 1 Credit.
|
|
2601
|
-
* @tags Documents
|
|
2602
|
-
* @name V1DocumentsChangesDetail
|
|
2603
|
-
* @summary Document change by id
|
|
2604
|
-
* @request GET:/api/v1/documents/changes/{id}
|
|
2605
|
-
* @secure
|
|
2606
|
-
*/
|
|
2607
|
-
namespace V1DocumentsChangesDetail {
|
|
2608
|
-
type RequestParams = {
|
|
2609
|
-
/** @format int64 */
|
|
2610
|
-
id: number;
|
|
2611
|
-
};
|
|
2612
|
-
type RequestQuery = {};
|
|
2613
|
-
type RequestBody = never;
|
|
2614
|
-
type RequestHeaders = {};
|
|
2615
|
-
type ResponseBody = DocumentChange;
|
|
2616
|
-
}
|
|
2617
|
-
/**
|
|
2618
|
-
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
2619
|
-
* @tags Documents
|
|
2620
|
-
* @name V1DocumentsChangesList
|
|
2621
|
-
* @summary Document change feed
|
|
2622
|
-
* @request GET:/api/v1/documents/changes
|
|
2623
|
-
* @secure
|
|
2624
|
-
*/
|
|
2625
|
-
namespace V1DocumentsChangesList {
|
|
2626
|
-
type RequestParams = {};
|
|
2627
|
-
type RequestQuery = {
|
|
2628
|
-
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
2629
|
-
fnr?: string;
|
|
2630
|
-
/**
|
|
2631
|
-
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
2632
|
-
* @format date-time
|
|
2633
|
-
*/
|
|
2634
|
-
since?: string;
|
|
2635
|
-
/**
|
|
2636
|
-
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
2637
|
-
* @format int64
|
|
2638
|
-
*/
|
|
2639
|
-
sinceId?: number;
|
|
2640
|
-
/**
|
|
2641
|
-
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
2642
|
-
* @format int32
|
|
2643
|
-
* @min 1
|
|
2644
|
-
* @max 1000
|
|
2645
|
-
*/
|
|
2646
|
-
page?: number;
|
|
2647
|
-
/**
|
|
2648
|
-
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
2649
|
-
* @format int32
|
|
2650
|
-
* @min 1
|
|
2651
|
-
* @max 100
|
|
2652
|
-
*/
|
|
2653
|
-
pageSize?: number;
|
|
2654
|
-
};
|
|
2655
|
-
type RequestBody = never;
|
|
2656
|
-
type RequestHeaders = {};
|
|
2657
|
-
type ResponseBody = PagedResponseOfDocumentChange;
|
|
2658
|
-
}
|
|
2659
|
-
/**
|
|
2660
|
-
* @description Returns all courts with pagination and optional search, sorted by business count descending. Kostet 1 Credit.
|
|
2661
|
-
* @tags Courts
|
|
2662
|
-
* @name V1CourtsList
|
|
2663
|
-
* @summary Court catalog
|
|
2664
|
-
* @request GET:/api/v1/courts
|
|
2665
|
-
* @secure
|
|
2666
|
-
*/
|
|
2667
|
-
namespace V1CourtsList {
|
|
2668
|
-
type RequestParams = {};
|
|
2669
|
-
type RequestQuery = {
|
|
2670
|
-
/** @maxLength 200 */
|
|
2671
|
-
search?: string;
|
|
2672
|
-
/**
|
|
2673
|
-
* 1-based page number; defaults to 1 when omitted.
|
|
2674
|
-
* @format int32
|
|
2675
|
-
* @min 1
|
|
2676
|
-
* @max 1000
|
|
2677
|
-
*/
|
|
2678
|
-
page?: number;
|
|
2679
|
-
/**
|
|
2680
|
-
* Number of items per page; defaults to 10 when omitted.
|
|
2681
|
-
* @format int32
|
|
2682
|
-
* @min 1
|
|
2683
|
-
* @max 100
|
|
2684
|
-
*/
|
|
2685
|
-
pageSize?: number;
|
|
2686
|
-
};
|
|
2687
|
-
type RequestBody = never;
|
|
2688
|
-
type RequestHeaders = {};
|
|
2689
|
-
type ResponseBody = PagedResponseOfCourtCatalogItemResponse;
|
|
2690
|
-
}
|
|
2691
|
-
/**
|
|
2692
|
-
* @description Resolve company names to FNRs by exact name match (1:1). Used for CSV import. Kostet 1 Credit.
|
|
2693
|
-
* @tags Businesses
|
|
2694
|
-
* @name V1BusinessesResolveNamesCreate
|
|
2695
|
-
* @summary Name to FNR resolution
|
|
2696
|
-
* @request POST:/api/v1/businesses/resolve-names
|
|
2697
|
-
* @secure
|
|
2698
|
-
*/
|
|
2699
|
-
namespace V1BusinessesResolveNamesCreate {
|
|
2700
|
-
type RequestParams = {};
|
|
2701
|
-
type RequestQuery = {};
|
|
2702
|
-
type RequestBody = ResolveBusinessNamesRequest;
|
|
2703
|
-
type RequestHeaders = {};
|
|
2704
|
-
type ResponseBody = ResolveBusinessNamesResponse;
|
|
2705
|
-
}
|
|
2706
|
-
/**
|
|
2707
|
-
* @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. inInsolvency is a Firmenbuch evidence filter, not an Ediktsdatei or Insolvenzdatei one. True matches a classified open court record or an active administrator role (MW, IW, AW, VW). False includes closed evidence without an active role, missing evidence and unclassified or uncertain evidence without another opening or role. Omit the parameter to leave this state unfiltered. A false value means no current positive evidence in this dataset, not verified legal assurance that no proceeding exists. The proceedings are published in the Insolvenzdatei, which this API does not read. Examples: ?inInsolvency=true; ?inInsolvency=false&name=Graf; ?inInsolvency=true&countOnly=true. The same values combine with every other filter. Pass countOnly=true for totalRecords without the rows, and use /businesses/aggregate to group the same filter set instead of paging through it. Place filters: the Firmenbuch records no Bundesland and no Gemeinde, only the Sitzgericht, so both state and gemeinde are derived from the PLZ of the Geschäftsanschrift. state is exact except for the Innviertel PLZ 5120–5399, which are postally Salzburg but politically Oberösterreich and are counted as Salzburg. gemeinde takes the slug of a Gemeinde, and because it reads the PLZ it answers every spelling of a place at once — "Klagenfurt am Wörthersee", "Klagenfurt" and "Klagenfurt-Viktring" are one Gemeinde, where city= would be three separate filters over free text. GET /addresses/gemeinden is the catalogue of the slugs, their aliases, their Bundesland and their PLZ; a company with a foreign or unusable PLZ is in no Gemeinde and no gemeinde= filter finds it. Ohne API-Key abrufbar und kostet keine Credits.
|
|
2708
|
-
* @tags Businesses
|
|
2709
|
-
* @name V1BusinessesList
|
|
2710
|
-
* @summary Company search
|
|
2711
|
-
* @request GET:/api/v1/businesses
|
|
2712
|
-
* @secure
|
|
2713
|
-
*/
|
|
2714
|
-
namespace V1BusinessesList {
|
|
2715
|
-
type RequestParams = {};
|
|
2716
|
-
type RequestQuery = {
|
|
2717
|
-
fnr?: string[];
|
|
2718
|
-
name?: string;
|
|
2719
|
-
search?: string;
|
|
2720
|
-
city?: string[];
|
|
2721
|
-
courtCode?: string[];
|
|
2722
|
-
legalFormCode?: string[];
|
|
2723
|
-
zipCode?: string[];
|
|
2724
|
-
/** Filter by Bundesland: Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien. Derived from the PLZ of the Geschäftsanschrift; see this endpoint's description. An unknown name is a 400. */
|
|
2725
|
-
state?: string[];
|
|
2726
|
-
/** Filter by Gemeinde slug, derived from the PLZ. GET /addresses/gemeinden lists them. Unknown slug is a 400. */
|
|
2727
|
-
gemeinde?: string[];
|
|
2728
|
-
hasEdikt?: boolean;
|
|
2729
|
-
active?: boolean;
|
|
2730
|
-
/** Filter by BMF Scheinunternehmen (LSU) list: true = only businesses on the list, false = only not on the list. */
|
|
2731
|
-
isScheinunternehmen?: boolean;
|
|
2732
|
-
gisaLicenseKey?: number[];
|
|
2733
|
-
/** Filter by OeNACE code (OenaceZuord / NumericCode), e.g. ["46649"]. */
|
|
2734
|
-
oenaceCode?: string[];
|
|
2735
|
-
/**
|
|
2736
|
-
* Lower bound (inclusive) for the Firmenbuch registration date ("Eingetragen seit"), the earliest executionDate over the company's legal records. The Firmenbuch was digitised in 1991/92, so no value predates that however old the company actually is — it is not a founding date.
|
|
2737
|
-
* @format date-time
|
|
2738
|
-
*/
|
|
2739
|
-
registeredSince_gte?: string;
|
|
2740
|
-
/**
|
|
2741
|
-
* Upper bound (inclusive) for the Firmenbuch registration date ("Eingetragen seit"), the earliest executionDate over the company's legal records. The Firmenbuch was digitised in 1991/92, so no value predates that however old the company actually is — it is not a founding date.
|
|
2742
|
-
* @format date-time
|
|
2743
|
-
*/
|
|
2744
|
-
registeredSince_lte?: string;
|
|
2745
|
-
/**
|
|
2746
|
-
* Lower bound (inclusive) for the number of distinct people with signing authority, counting the representation functions GF, GD, GL, HB, IN, IV, KP, PR, SV, VM, VO and excluding the insolvency and liquidation ones (AB, AW, IW, MW, VW, ZW). Currently held functions only.
|
|
2747
|
-
* @format int32
|
|
2748
|
-
*/
|
|
2749
|
-
signerCount_gte?: number;
|
|
2750
|
-
/**
|
|
2751
|
-
* Upper bound (inclusive) for the number of distinct people with signing authority, counting the representation functions GF, GD, GL, HB, IN, IV, KP, PR, SV, VM, VO and excluding the insolvency and liquidation ones (AB, AW, IW, MW, VW, ZW). Currently held functions only.
|
|
2567
|
+
* Upper bound (inclusive) for the number of distinct people with signing authority, counting the representation functions GF, GD, GL, HB, IN, IV, KP, PR, SV, VM, VO and excluding the insolvency and liquidation ones (AB, AW, IW, MW, VW, ZW). Currently held functions only.
|
|
2752
2568
|
* @format int32
|
|
2753
2569
|
*/
|
|
2754
2570
|
signerCount_lte?: number;
|
|
@@ -3274,7 +3090,7 @@ export declare namespace Api {
|
|
|
3274
3090
|
type ResponseBody = PagedResponseOfBusinessListResponse;
|
|
3275
3091
|
}
|
|
3276
3092
|
/**
|
|
3277
|
-
* @description Returns all business (fnr, name) pairs for client-side name index. No pagination.
|
|
3093
|
+
* @description Returns all business (fnr, name) pairs for client-side name index. No pagination. Kostet 1 Credit.
|
|
3278
3094
|
* @tags Businesses
|
|
3279
3095
|
* @name V1BusinessesNamesList
|
|
3280
3096
|
* @summary Company name index
|
|
@@ -3888,7 +3704,7 @@ export declare namespace Api {
|
|
|
3888
3704
|
type ResponseBody = BusinessAggregateResponse;
|
|
3889
3705
|
}
|
|
3890
3706
|
/**
|
|
3891
|
-
* @description Counts for every value of every filter group at once — what a filter builder puts on its chips. Takes the same filters as GET /businesses and means them the same way; page, pageSize, orderBy, orderByDescending and countOnly are ignored. Faceted semantics: a group is counted with all *other* active filters applied but its own lifted, so a value's count answers "how many results if I also select this", and selecting one never empties its own group. totalRecords is the current result count, with every filter applied. Each group returns its top values (top, default 10) plus every value the request already filters on, marked selected — a "Mehr" expander is a second call for that one group with a larger top, e.g. ?groups=city&top=50. city and zipCode count a business once per distinct value, so those counts can sum above totalRecords. One caveat worth knowing before wiring a chip up: the city filter matches a substring, while a city facet key is a whole city name, so selecting "Wien" also keeps "Wien-Umgebung" and can return more than the chip promised. Every other group matches its key exactly. Every group costs its own count, so ask for the groups you are rendering rather than all ten; the answer is cacheable for a day and varies on the whole query string.
|
|
3707
|
+
* @description Counts for every value of every filter group at once — what a filter builder puts on its chips. Takes the same filters as GET /businesses and means them the same way; page, pageSize, orderBy, orderByDescending and countOnly are ignored. Faceted semantics: a group is counted with all *other* active filters applied but its own lifted, so a value's count answers "how many results if I also select this", and selecting one never empties its own group. totalRecords is the current result count, with every filter applied. Each group returns its top values (top, default 10) plus every value the request already filters on, marked selected — a "Mehr" expander is a second call for that one group with a larger top, e.g. ?groups=city&top=50. city and zipCode count a business once per distinct value, so those counts can sum above totalRecords. One caveat worth knowing before wiring a chip up: the city filter matches a substring, while a city facet key is a whole city name, so selecting "Wien" also keeps "Wien-Umgebung" and can return more than the chip promised. Every other group matches its key exactly. Every group costs its own count, so ask for the groups you are rendering rather than all ten; the answer is cacheable for a day and varies on the whole query string. Kostet 1 Credit.
|
|
3892
3708
|
* @tags Businesses
|
|
3893
3709
|
* @name V1BusinessesFacetsList
|
|
3894
3710
|
* @summary Filter-builder facet counts
|
|
@@ -3898,7 +3714,7 @@ export declare namespace Api {
|
|
|
3898
3714
|
namespace V1BusinessesFacetsList {
|
|
3899
3715
|
type RequestParams = {};
|
|
3900
3716
|
type RequestQuery = {
|
|
3901
|
-
/** Groups to count; all of them when omitted. One or more of city, zipCode, legalFormCode, courtCode, oenaceCode, gisaLicenseKey, active, hasEdikt, isScheinunternehmen, kennzahl. */
|
|
3717
|
+
/** Groups to count; all of them when omitted. One or more of city, zipCode, legalFormCode, courtCode, oenaceCode, gisaLicenseKey, active, hasEdikt, isScheinunternehmen, inInsolvency, kennzahl. */
|
|
3902
3718
|
groups?: string[];
|
|
3903
3719
|
/**
|
|
3904
3720
|
* Values per group, largest count first. The status and kennzahl groups are complete lists and ignore it. A "Mehr" expander is a second call for the one group with a larger top.
|
|
@@ -4467,7 +4283,7 @@ export declare namespace Api {
|
|
|
4467
4283
|
type ResponseBody = BusinessFacetsResponse;
|
|
4468
4284
|
}
|
|
4469
4285
|
/**
|
|
4470
|
-
* @description The single largest company of every place in the viewport, by one metric — what a map draws as one pin per place instead of every dot in the box. groupBy picks the place: state (the nine Bundesländer, the default) or city (the towns in view). metric is one of detailViews (Aufrufe), bilanzSumme or employees (Mitarbeiter). minLat, maxLat, minLng and maxLng are required for groupBy=city and ignored for groupBy=state: the nine Bundesländer are the same nine wherever the map is looking, so that call takes no viewport at all — which is what lets one URL serve every pan and actually be cached, here and in the browser. Every /businesses filter additionally applies and means exactly what it means there; page, pageSize, orderBy, orderByDescending and countOnly are ignored. groupLabel is the place's name — "Tirol", "Innsbruck" — and is what the pin's card is headed with. A company carrying no value for the metric is skipped rather than counted as 0, so a place holding only such companies — like an empty one — returns nothing at all and the array is shorter than the number of places. Each item carries everything a popover card shows, so no second call per pin is needed. groupBy=city answers at most 16 pins, the biggest of the towns in view; the rest is what zooming in is for. Bundesländer are derived from the PLZ of the Geschäftsanschrift, the same rule the state filter on GET /businesses uses, because the Firmenbuch carries no Land. A company that is the biggest of two places in view wins both, each pin carrying an address that is actually on screen and in the town it won. Cached for an hour rather than the day GET /businesses gets: view counts move.
|
|
4286
|
+
* @description The single largest company of every place in the viewport, by one metric — what a map draws as one pin per place instead of every dot in the box. groupBy picks the place: state (the nine Bundesländer, the default) or city (the towns in view). metric is one of detailViews (Aufrufe), bilanzSumme or employees (Mitarbeiter). minLat, maxLat, minLng and maxLng are required for groupBy=city and ignored for groupBy=state: the nine Bundesländer are the same nine wherever the map is looking, so that call takes no viewport at all — which is what lets one URL serve every pan and actually be cached, here and in the browser. Every /businesses filter additionally applies and means exactly what it means there; page, pageSize, orderBy, orderByDescending and countOnly are ignored. groupLabel is the place's name — "Tirol", "Innsbruck" — and is what the pin's card is headed with. A company carrying no value for the metric is skipped rather than counted as 0, so a place holding only such companies — like an empty one — returns nothing at all and the array is shorter than the number of places. Each item carries everything a popover card shows, so no second call per pin is needed. groupBy=city answers at most 16 pins, the biggest of the towns in view; the rest is what zooming in is for. Bundesländer are derived from the PLZ of the Geschäftsanschrift, the same rule the state filter on GET /businesses uses, because the Firmenbuch carries no Land. A company that is the biggest of two places in view wins both, each pin carrying an address that is actually on screen and in the town it won. Cached for an hour rather than the day GET /businesses gets: view counts move. Kostet 1 Credit.
|
|
4471
4287
|
* @tags Businesses
|
|
4472
4288
|
* @name V1BusinessesMapTopList
|
|
4473
4289
|
* @summary Top company per Bundesland or city
|
|
@@ -5011,130 +4827,425 @@ export declare namespace Api {
|
|
|
5011
4827
|
*/
|
|
5012
4828
|
"guv.Umsatzerloese_gte"?: number | null;
|
|
5013
4829
|
/**
|
|
5014
|
-
* Upper bound (inclusive) for Filter by profit and loss item: Umsatzerloese
|
|
5015
|
-
* @format decimal
|
|
4830
|
+
* Upper bound (inclusive) for Filter by profit and loss item: Umsatzerloese
|
|
4831
|
+
* @format decimal
|
|
4832
|
+
*/
|
|
4833
|
+
"guv.Umsatzerloese_lte"?: number | null;
|
|
4834
|
+
/**
|
|
4835
|
+
* Lower bound (inclusive) for Filter by profit and loss item: WarenUndMaterialeinkauf
|
|
4836
|
+
* @format decimal
|
|
4837
|
+
*/
|
|
4838
|
+
"guv.WarenUndMaterialeinkauf_gte"?: number | null;
|
|
4839
|
+
/**
|
|
4840
|
+
* Upper bound (inclusive) for Filter by profit and loss item: WarenUndMaterialeinkauf
|
|
4841
|
+
* @format decimal
|
|
4842
|
+
*/
|
|
4843
|
+
"guv.WarenUndMaterialeinkauf_lte"?: number | null;
|
|
4844
|
+
/**
|
|
4845
|
+
* Lower bound (inclusive) for Filter by profit and loss item: ZinsenUndAehnlicheAufwendungen
|
|
4846
|
+
* @format decimal
|
|
4847
|
+
*/
|
|
4848
|
+
"guv.ZinsenUndAehnlicheAufwendungen_gte"?: number | null;
|
|
4849
|
+
/**
|
|
4850
|
+
* Upper bound (inclusive) for Filter by profit and loss item: ZinsenUndAehnlicheAufwendungen
|
|
4851
|
+
* @format decimal
|
|
4852
|
+
*/
|
|
4853
|
+
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
4854
|
+
};
|
|
4855
|
+
type RequestBody = never;
|
|
4856
|
+
type RequestHeaders = {};
|
|
4857
|
+
type ResponseBody = BusinessMapTopItem[];
|
|
4858
|
+
}
|
|
4859
|
+
/**
|
|
4860
|
+
* @description Active businesses similar to the given one (same OeNACE branch, same region preferred). Kostet 3 Credits.
|
|
4861
|
+
* @tags Businesses
|
|
4862
|
+
* @name V1BusinessesSimilarList
|
|
4863
|
+
* @summary Similar companies
|
|
4864
|
+
* @request GET:/api/v1/businesses/{fnr}/similar
|
|
4865
|
+
* @secure
|
|
4866
|
+
*/
|
|
4867
|
+
namespace V1BusinessesSimilarList {
|
|
4868
|
+
type RequestParams = {
|
|
4869
|
+
fnr: string;
|
|
4870
|
+
};
|
|
4871
|
+
type RequestQuery = {};
|
|
4872
|
+
type RequestBody = never;
|
|
4873
|
+
type RequestHeaders = {};
|
|
4874
|
+
type ResponseBody = BusinessListResponse[];
|
|
4875
|
+
}
|
|
4876
|
+
/**
|
|
4877
|
+
* @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. Kostet 1 Credit.
|
|
4878
|
+
* @tags Businesses
|
|
4879
|
+
* @name V1BusinessesDetail
|
|
4880
|
+
* @summary Company Firmenakte
|
|
4881
|
+
* @request GET:/api/v1/businesses/{fnr}
|
|
4882
|
+
* @secure
|
|
4883
|
+
*/
|
|
4884
|
+
namespace V1BusinessesDetail {
|
|
4885
|
+
type RequestParams = {
|
|
4886
|
+
fnr: string;
|
|
4887
|
+
};
|
|
4888
|
+
type RequestQuery = {};
|
|
4889
|
+
type RequestBody = never;
|
|
4890
|
+
type RequestHeaders = {};
|
|
4891
|
+
type ResponseBody = BusinessDetailResponse;
|
|
4892
|
+
}
|
|
4893
|
+
/**
|
|
4894
|
+
* @description Every parsed Jahresabschluss of one company, one entry per fiscal closing date, newest first. The Firmenakte itself (GET /businesses/{fnr}) carries only the last five periods. 404 only where the company itself is unknown, exactly as on GET /businesses/{fnr}. Kostet 1 Credit.
|
|
4895
|
+
* @tags Businesses
|
|
4896
|
+
* @name V1BusinessesJahresabschluesseList
|
|
4897
|
+
* @summary Company annual accounts
|
|
4898
|
+
* @request GET:/api/v1/businesses/{fnr}/jahresabschluesse
|
|
4899
|
+
* @secure
|
|
4900
|
+
*/
|
|
4901
|
+
namespace V1BusinessesJahresabschluesseList {
|
|
4902
|
+
type RequestParams = {
|
|
4903
|
+
fnr: string;
|
|
4904
|
+
};
|
|
4905
|
+
type RequestQuery = {};
|
|
4906
|
+
type RequestBody = never;
|
|
4907
|
+
type RequestHeaders = {};
|
|
4908
|
+
type ResponseBody = ParsedJahresabschlussDto[];
|
|
4909
|
+
}
|
|
4910
|
+
/**
|
|
4911
|
+
* @description The state aid published for one company by the Transparenzportal des BMF (§ 40k TDBG), newest year first and the largest amount first within a year, plus a summary of count, sum, the years and the freshest Stichtag. Published are Leistungen from 1.500 € per calendar year to non-natural persons; the COVID-19 reports start at 10.000 €. So an empty list means "nothing published for this company", never "this company received nothing" — and a company the portal names but that could not be matched to a Firmenbuchnummer is not here either. 404 only where the company itself is unknown, exactly as on GET /businesses/{fnr}. Kostet 1 Credit.
|
|
4912
|
+
* @tags Businesses
|
|
4913
|
+
* @name V1BusinessesFoerderungenList
|
|
4914
|
+
* @summary Company Foerderungen
|
|
4915
|
+
* @request GET:/api/v1/businesses/{fnr}/foerderungen
|
|
4916
|
+
* @secure
|
|
4917
|
+
*/
|
|
4918
|
+
namespace V1BusinessesFoerderungenList {
|
|
4919
|
+
type RequestParams = {
|
|
4920
|
+
fnr: string;
|
|
4921
|
+
};
|
|
4922
|
+
type RequestQuery = {};
|
|
4923
|
+
type RequestBody = never;
|
|
4924
|
+
type RequestHeaders = {};
|
|
4925
|
+
type ResponseBody = BusinessFoerderungenResponse;
|
|
4926
|
+
}
|
|
4927
|
+
/**
|
|
4928
|
+
* @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. Kostet 1 Credit.
|
|
4929
|
+
* @tags Businesses
|
|
4930
|
+
* @name V1BusinessesChangesDetail
|
|
4931
|
+
* @summary Firmenbuch change by id
|
|
4932
|
+
* @request GET:/api/v1/businesses/changes/{id}
|
|
4933
|
+
* @secure
|
|
4934
|
+
*/
|
|
4935
|
+
namespace V1BusinessesChangesDetail {
|
|
4936
|
+
type RequestParams = {
|
|
4937
|
+
/** @format int64 */
|
|
4938
|
+
id: number;
|
|
4939
|
+
};
|
|
4940
|
+
type RequestQuery = {};
|
|
4941
|
+
type RequestBody = never;
|
|
4942
|
+
type RequestHeaders = {};
|
|
4943
|
+
type ResponseBody = BusinessChange;
|
|
4944
|
+
}
|
|
4945
|
+
/**
|
|
4946
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
4947
|
+
* @tags Businesses
|
|
4948
|
+
* @name V1BusinessesChangesList
|
|
4949
|
+
* @summary Firmenbuch change feed
|
|
4950
|
+
* @request GET:/api/v1/businesses/changes
|
|
4951
|
+
* @secure
|
|
4952
|
+
*/
|
|
4953
|
+
namespace V1BusinessesChangesList {
|
|
4954
|
+
type RequestParams = {};
|
|
4955
|
+
type RequestQuery = {
|
|
4956
|
+
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
4957
|
+
fnr?: string;
|
|
4958
|
+
/**
|
|
4959
|
+
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
4960
|
+
* @format date-time
|
|
4961
|
+
*/
|
|
4962
|
+
since?: string;
|
|
4963
|
+
/**
|
|
4964
|
+
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
4965
|
+
* @format int64
|
|
4966
|
+
*/
|
|
4967
|
+
sinceId?: number;
|
|
4968
|
+
/**
|
|
4969
|
+
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
4970
|
+
* @format int32
|
|
4971
|
+
* @min 1
|
|
4972
|
+
* @max 1000
|
|
4973
|
+
*/
|
|
4974
|
+
page?: number;
|
|
4975
|
+
/**
|
|
4976
|
+
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
4977
|
+
* @format int32
|
|
4978
|
+
* @min 1
|
|
4979
|
+
* @max 100
|
|
4980
|
+
*/
|
|
4981
|
+
pageSize?: number;
|
|
4982
|
+
};
|
|
4983
|
+
type RequestBody = never;
|
|
4984
|
+
type RequestHeaders = {};
|
|
4985
|
+
type ResponseBody = PagedResponseOfBusinessChange;
|
|
4986
|
+
}
|
|
4987
|
+
/**
|
|
4988
|
+
* @description Returns unique City+ZipCode combinations from addresses with pagination and optional search. Kostet 1 Credit.
|
|
4989
|
+
* @tags Addresses
|
|
4990
|
+
* @name V1AddressesLocationsList
|
|
4991
|
+
* @summary City and ZIP combinations
|
|
4992
|
+
* @request GET:/api/v1/addresses/locations
|
|
4993
|
+
* @secure
|
|
4994
|
+
*/
|
|
4995
|
+
namespace V1AddressesLocationsList {
|
|
4996
|
+
type RequestParams = {};
|
|
4997
|
+
type RequestQuery = {
|
|
4998
|
+
search?: string;
|
|
4999
|
+
/**
|
|
5000
|
+
* 1-based page number; defaults to 1 when omitted.
|
|
5001
|
+
* @format int32
|
|
5002
|
+
* @min 1
|
|
5003
|
+
* @max 1000
|
|
5004
|
+
*/
|
|
5005
|
+
page?: number;
|
|
5006
|
+
/**
|
|
5007
|
+
* Number of items per page; defaults to 10 when omitted.
|
|
5008
|
+
* @format int32
|
|
5009
|
+
* @min 1
|
|
5010
|
+
* @max 100
|
|
5011
|
+
*/
|
|
5012
|
+
pageSize?: number;
|
|
5013
|
+
};
|
|
5014
|
+
type RequestBody = never;
|
|
5015
|
+
type RequestHeaders = {};
|
|
5016
|
+
type ResponseBody = PagedResponseOfAddressLocationResponse;
|
|
5017
|
+
}
|
|
5018
|
+
/**
|
|
5019
|
+
* @description Returns unique cities from addresses with pagination and optional search. Kostet 1 Credit.
|
|
5020
|
+
* @tags Addresses
|
|
5021
|
+
* @name V1AddressesCitiesList
|
|
5022
|
+
* @summary Cities
|
|
5023
|
+
* @request GET:/api/v1/addresses/cities
|
|
5024
|
+
* @secure
|
|
5025
|
+
*/
|
|
5026
|
+
namespace V1AddressesCitiesList {
|
|
5027
|
+
type RequestParams = {};
|
|
5028
|
+
type RequestQuery = {
|
|
5029
|
+
search?: string;
|
|
5030
|
+
/**
|
|
5031
|
+
* 1-based page number; defaults to 1 when omitted.
|
|
5032
|
+
* @format int32
|
|
5033
|
+
* @min 1
|
|
5034
|
+
* @max 1000
|
|
5016
5035
|
*/
|
|
5017
|
-
|
|
5036
|
+
page?: number;
|
|
5018
5037
|
/**
|
|
5019
|
-
*
|
|
5020
|
-
* @format
|
|
5038
|
+
* Number of items per page; defaults to 10 when omitted.
|
|
5039
|
+
* @format int32
|
|
5040
|
+
* @min 1
|
|
5041
|
+
* @max 100
|
|
5021
5042
|
*/
|
|
5022
|
-
|
|
5043
|
+
pageSize?: number;
|
|
5044
|
+
};
|
|
5045
|
+
type RequestBody = never;
|
|
5046
|
+
type RequestHeaders = {};
|
|
5047
|
+
type ResponseBody = PagedResponseOfCityResponse;
|
|
5048
|
+
}
|
|
5049
|
+
/**
|
|
5050
|
+
* @description Ranks cities and City+ZipCode combinations against one term and answers the best few of both, as one ranking split into two lists — what a location filter's type-ahead needs, where /addresses/locations and /addresses/cities are the paged catalogues behind it. Ordered by where the term sits in the label, then by the shorter label, then by company count, so "wien" answers Wien before Wiener Neustadt and before every 1xxx ZIP that carries it. A term shorter than two characters is ignored and the biggest groups come back instead. top caps both lists together, not each. Kostet 1 Credit.
|
|
5051
|
+
* @tags Addresses
|
|
5052
|
+
* @name V1AddressesSuggestList
|
|
5053
|
+
* @summary Location autocomplete
|
|
5054
|
+
* @request GET:/api/v1/addresses/suggest
|
|
5055
|
+
* @secure
|
|
5056
|
+
*/
|
|
5057
|
+
namespace V1AddressesSuggestList {
|
|
5058
|
+
type RequestParams = {};
|
|
5059
|
+
type RequestQuery = {
|
|
5060
|
+
/** The term to rank against. Shorter than two characters it is ignored entirely and the biggest groups come back instead. */
|
|
5061
|
+
search?: string;
|
|
5023
5062
|
/**
|
|
5024
|
-
*
|
|
5025
|
-
* @format
|
|
5063
|
+
* How many suggestions to answer, across both lists; defaults to 10 when omitted.
|
|
5064
|
+
* @format int32
|
|
5026
5065
|
*/
|
|
5027
|
-
|
|
5066
|
+
top?: number;
|
|
5067
|
+
};
|
|
5068
|
+
type RequestBody = never;
|
|
5069
|
+
type RequestHeaders = {};
|
|
5070
|
+
type ResponseBody = LocationSuggestionsResponse;
|
|
5071
|
+
}
|
|
5072
|
+
/**
|
|
5073
|
+
* @description Returns unique zip codes from addresses with pagination and optional search. Kostet 1 Credit.
|
|
5074
|
+
* @tags Addresses
|
|
5075
|
+
* @name V1AddressesZipcodesList
|
|
5076
|
+
* @summary ZIP codes
|
|
5077
|
+
* @request GET:/api/v1/addresses/zipcodes
|
|
5078
|
+
* @secure
|
|
5079
|
+
*/
|
|
5080
|
+
namespace V1AddressesZipcodesList {
|
|
5081
|
+
type RequestParams = {};
|
|
5082
|
+
type RequestQuery = {
|
|
5083
|
+
search?: string;
|
|
5028
5084
|
/**
|
|
5029
|
-
*
|
|
5030
|
-
* @format
|
|
5085
|
+
* 1-based page number; defaults to 1 when omitted.
|
|
5086
|
+
* @format int32
|
|
5087
|
+
* @min 1
|
|
5088
|
+
* @max 1000
|
|
5031
5089
|
*/
|
|
5032
|
-
|
|
5090
|
+
page?: number;
|
|
5033
5091
|
/**
|
|
5034
|
-
*
|
|
5035
|
-
* @format
|
|
5092
|
+
* Number of items per page; defaults to 10 when omitted.
|
|
5093
|
+
* @format int32
|
|
5094
|
+
* @min 1
|
|
5095
|
+
* @max 100
|
|
5036
5096
|
*/
|
|
5037
|
-
|
|
5097
|
+
pageSize?: number;
|
|
5038
5098
|
};
|
|
5039
5099
|
type RequestBody = never;
|
|
5040
5100
|
type RequestHeaders = {};
|
|
5041
|
-
type ResponseBody =
|
|
5101
|
+
type ResponseBody = PagedResponseOfZipCodeResponse;
|
|
5042
5102
|
}
|
|
5043
5103
|
/**
|
|
5044
|
-
* @description
|
|
5045
|
-
* @tags
|
|
5046
|
-
* @name
|
|
5047
|
-
* @summary
|
|
5048
|
-
* @request GET:/api/v1/
|
|
5104
|
+
* @description The Gemeinde catalogue: one row per Austrian Gemeinde the register can address, with its official name, its URL slug, its Bundesland and that Land's slug, the PLZ that resolve to it, the alias slugs that name it and, for Wien, its Bezirke. This is the one source for a place's identity. The city column of an address is Firmenbuch free text and carries "Klagenfurt am Wörthersee", "Klagenfurt", "Klagenfurt-Viktring" and "Klagenfurt-Wölfnitz" side by side, so it cannot be a key; a Gemeinde is derived from the PLZ of the Geschäftsanschrift instead, and GET /businesses?gemeinde=<slug> answers every one of those spellings at once. Fold the zipCode buckets of GET /businesses/aggregate through zipCodes to count companies per Gemeinde. Unpaged and without a filter on purpose: 1.893 rows that change only with a new Gebietsstand, so one cacheable answer is cheaper for every caller than paging a list they all want whole. Companies with a foreign or unusable PLZ resolve to no Gemeinde and appear under none. Kostet 1 Credit.
|
|
5105
|
+
* @tags Addresses
|
|
5106
|
+
* @name V1AddressesGemeindenList
|
|
5107
|
+
* @summary Gemeinden
|
|
5108
|
+
* @request GET:/api/v1/addresses/gemeinden
|
|
5049
5109
|
* @secure
|
|
5050
5110
|
*/
|
|
5051
|
-
namespace
|
|
5052
|
-
type RequestParams = {
|
|
5053
|
-
fnr: string;
|
|
5054
|
-
};
|
|
5111
|
+
namespace V1AddressesGemeindenList {
|
|
5112
|
+
type RequestParams = {};
|
|
5055
5113
|
type RequestQuery = {};
|
|
5056
5114
|
type RequestBody = never;
|
|
5057
5115
|
type RequestHeaders = {};
|
|
5058
|
-
type ResponseBody =
|
|
5116
|
+
type ResponseBody = GemeindeResponse[];
|
|
5059
5117
|
}
|
|
5060
5118
|
/**
|
|
5061
|
-
* @description
|
|
5062
|
-
* @tags
|
|
5063
|
-
* @name
|
|
5064
|
-
* @summary
|
|
5065
|
-
* @request GET:/api/v1/
|
|
5119
|
+
* @description Downloads a Firmenbuch document (PDF/XML) by its document key. Kostet 3 Credits.
|
|
5120
|
+
* @tags Documents
|
|
5121
|
+
* @name V1DocumentsDownloadDetail
|
|
5122
|
+
* @summary Firmenbuch document download
|
|
5123
|
+
* @request GET:/api/v1/documents/download/{documentKey}
|
|
5066
5124
|
* @secure
|
|
5067
5125
|
*/
|
|
5068
|
-
namespace
|
|
5126
|
+
namespace V1DocumentsDownloadDetail {
|
|
5069
5127
|
type RequestParams = {
|
|
5070
|
-
|
|
5128
|
+
documentKey: string;
|
|
5071
5129
|
};
|
|
5072
5130
|
type RequestQuery = {};
|
|
5073
5131
|
type RequestBody = never;
|
|
5074
5132
|
type RequestHeaders = {};
|
|
5075
|
-
type ResponseBody =
|
|
5133
|
+
type ResponseBody = void;
|
|
5076
5134
|
}
|
|
5077
5135
|
/**
|
|
5078
|
-
* @description
|
|
5079
|
-
* @tags
|
|
5080
|
-
* @name
|
|
5081
|
-
* @summary
|
|
5082
|
-
* @request GET:/api/v1/
|
|
5136
|
+
* @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. Kostet 1 Credit.
|
|
5137
|
+
* @tags Documents
|
|
5138
|
+
* @name V1DocumentsChangesDetail
|
|
5139
|
+
* @summary Document change by id
|
|
5140
|
+
* @request GET:/api/v1/documents/changes/{id}
|
|
5083
5141
|
* @secure
|
|
5084
5142
|
*/
|
|
5085
|
-
namespace
|
|
5143
|
+
namespace V1DocumentsChangesDetail {
|
|
5086
5144
|
type RequestParams = {
|
|
5087
|
-
|
|
5145
|
+
/** @format int64 */
|
|
5146
|
+
id: number;
|
|
5088
5147
|
};
|
|
5089
5148
|
type RequestQuery = {};
|
|
5090
5149
|
type RequestBody = never;
|
|
5091
5150
|
type RequestHeaders = {};
|
|
5092
|
-
type ResponseBody =
|
|
5151
|
+
type ResponseBody = DocumentChange;
|
|
5093
5152
|
}
|
|
5094
5153
|
/**
|
|
5095
|
-
* @description
|
|
5096
|
-
* @tags
|
|
5097
|
-
* @name
|
|
5098
|
-
* @summary
|
|
5099
|
-
* @request GET:/api/v1/
|
|
5154
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
5155
|
+
* @tags Documents
|
|
5156
|
+
* @name V1DocumentsChangesList
|
|
5157
|
+
* @summary Document change feed
|
|
5158
|
+
* @request GET:/api/v1/documents/changes
|
|
5100
5159
|
* @secure
|
|
5101
5160
|
*/
|
|
5102
|
-
namespace
|
|
5103
|
-
type RequestParams = {
|
|
5104
|
-
|
|
5161
|
+
namespace V1DocumentsChangesList {
|
|
5162
|
+
type RequestParams = {};
|
|
5163
|
+
type RequestQuery = {
|
|
5164
|
+
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5165
|
+
fnr?: string;
|
|
5166
|
+
/**
|
|
5167
|
+
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
5168
|
+
* @format date-time
|
|
5169
|
+
*/
|
|
5170
|
+
since?: string;
|
|
5171
|
+
/**
|
|
5172
|
+
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
5173
|
+
* @format int64
|
|
5174
|
+
*/
|
|
5175
|
+
sinceId?: number;
|
|
5176
|
+
/**
|
|
5177
|
+
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
5178
|
+
* @format int32
|
|
5179
|
+
* @min 1
|
|
5180
|
+
* @max 1000
|
|
5181
|
+
*/
|
|
5182
|
+
page?: number;
|
|
5183
|
+
/**
|
|
5184
|
+
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
5185
|
+
* @format int32
|
|
5186
|
+
* @min 1
|
|
5187
|
+
* @max 100
|
|
5188
|
+
*/
|
|
5189
|
+
pageSize?: number;
|
|
5105
5190
|
};
|
|
5106
|
-
type RequestQuery = {};
|
|
5107
5191
|
type RequestBody = never;
|
|
5108
5192
|
type RequestHeaders = {};
|
|
5109
|
-
type ResponseBody =
|
|
5193
|
+
type ResponseBody = PagedResponseOfDocumentChange;
|
|
5110
5194
|
}
|
|
5111
5195
|
/**
|
|
5112
|
-
* @description
|
|
5113
|
-
* @tags
|
|
5114
|
-
* @name
|
|
5115
|
-
* @summary
|
|
5116
|
-
* @request GET:/api/v1/
|
|
5196
|
+
* @description The autocomplete read: /businesses and /people for one term, ranked together, so a search field costs one request per keystroke rather than two and does not have to merge two orders itself. Each row carries either business or person, whichever type names. Ordered by where the term sits in the name, then by the shorter name, then companies before people. pageSize is per side, so the answer holds up to twice as many rows. An empty search answers an empty list; use /businesses to page through the whole dataset. Kostet 1 Credit.
|
|
5197
|
+
* @tags Search
|
|
5198
|
+
* @name V1SearchList
|
|
5199
|
+
* @summary Companies and people in one ranked list
|
|
5200
|
+
* @request GET:/api/v1/search
|
|
5117
5201
|
* @secure
|
|
5118
5202
|
*/
|
|
5119
|
-
namespace
|
|
5120
|
-
type RequestParams = {
|
|
5121
|
-
|
|
5122
|
-
|
|
5203
|
+
namespace V1SearchList {
|
|
5204
|
+
type RequestParams = {};
|
|
5205
|
+
type RequestQuery = {
|
|
5206
|
+
/** The term. Empty answers an empty list — this endpoint suggests, it does not list. */
|
|
5207
|
+
search?: string;
|
|
5208
|
+
/**
|
|
5209
|
+
* How many rows to take from each side before they are ranked together, so the answer holds at most twice this many; defaults to 10 when omitted.
|
|
5210
|
+
* @format int32
|
|
5211
|
+
* @min 1
|
|
5212
|
+
* @max 100
|
|
5213
|
+
*/
|
|
5214
|
+
pageSize?: number;
|
|
5123
5215
|
};
|
|
5124
|
-
type RequestQuery = {};
|
|
5125
5216
|
type RequestBody = never;
|
|
5126
5217
|
type RequestHeaders = {};
|
|
5127
|
-
type ResponseBody =
|
|
5218
|
+
type ResponseBody = SearchResponse;
|
|
5128
5219
|
}
|
|
5129
5220
|
/**
|
|
5130
|
-
* @description
|
|
5131
|
-
* @tags
|
|
5132
|
-
* @name
|
|
5133
|
-
* @summary
|
|
5134
|
-
* @request GET:/api/v1/
|
|
5221
|
+
* @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} — a person's is the Firmenakte-ID, e.g. "P-7K3M-QX91"; edges are source/target pairs of those ids whose relationshipType is "assignment", a person holding a function in a company. Two further edge types the deployment can enable: "address", two companies registered at the same street address, and "ownership", a company holding shares in another — source is the shareholder, target the company it holds, and capitalAmount, currency and sharePercent carry the stake where the register gives one. Ownership edges are drawn only for companies crawled since the shareholder mapping went live, so a company not yet re-crawled reports none rather than implying it has none. 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. personId answers on the canonical Firmenakte-ID; another spelling of it and a person's old "vorname-nachname-…" id answer one 308 whose relative Location carries the canonical form. Kostet 3 Credits.
|
|
5222
|
+
* @tags Graph
|
|
5223
|
+
* @name V1GraphList
|
|
5224
|
+
* @summary Relationship graph
|
|
5225
|
+
* @request GET:/api/v1/graph
|
|
5135
5226
|
* @secure
|
|
5136
5227
|
*/
|
|
5137
|
-
namespace
|
|
5228
|
+
namespace V1GraphList {
|
|
5229
|
+
type RequestParams = {};
|
|
5230
|
+
type RequestQuery = {
|
|
5231
|
+
/** Start from this person, by Firmenakte-ID ("P-7K3M-QX91"). Mutually exclusive with fnr. */
|
|
5232
|
+
personId?: string;
|
|
5233
|
+
/** Start from this company. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company; case is not folded. Mutually exclusive with personId. */
|
|
5234
|
+
fnr?: string;
|
|
5235
|
+
};
|
|
5236
|
+
type RequestBody = never;
|
|
5237
|
+
type RequestHeaders = {};
|
|
5238
|
+
type ResponseBody = GraphResponse;
|
|
5239
|
+
}
|
|
5240
|
+
/**
|
|
5241
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
5242
|
+
* @tags GlobalChanges
|
|
5243
|
+
* @name V1GlobalchangesList
|
|
5244
|
+
* @summary All-register change feed
|
|
5245
|
+
* @request GET:/api/v1/globalchanges
|
|
5246
|
+
* @secure
|
|
5247
|
+
*/
|
|
5248
|
+
namespace V1GlobalchangesList {
|
|
5138
5249
|
type RequestParams = {};
|
|
5139
5250
|
type RequestQuery = {
|
|
5140
5251
|
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
@@ -5166,35 +5277,74 @@ export declare namespace Api {
|
|
|
5166
5277
|
};
|
|
5167
5278
|
type RequestBody = never;
|
|
5168
5279
|
type RequestHeaders = {};
|
|
5169
|
-
type ResponseBody =
|
|
5280
|
+
type ResponseBody = PagedResponseOfGlobalChange;
|
|
5281
|
+
}
|
|
5282
|
+
/**
|
|
5283
|
+
* @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. Kostet 3 Credits.
|
|
5284
|
+
* @tags GlobalChanges
|
|
5285
|
+
* @name V1GlobalchangesAggregatedList
|
|
5286
|
+
* @summary Aggregated watchlist changes
|
|
5287
|
+
* @request GET:/api/v1/globalchanges/aggregated
|
|
5288
|
+
* @secure
|
|
5289
|
+
*/
|
|
5290
|
+
namespace V1GlobalchangesAggregatedList {
|
|
5291
|
+
type RequestParams = {};
|
|
5292
|
+
type RequestQuery = {
|
|
5293
|
+
/** Firmenbuch numbers to fetch changes for. Max 1000 items. Each is normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5294
|
+
fnr?: string[];
|
|
5295
|
+
/** @format date-time */
|
|
5296
|
+
since?: string;
|
|
5297
|
+
/** @format int64 */
|
|
5298
|
+
sinceId?: number;
|
|
5299
|
+
/**
|
|
5300
|
+
* Max number of changes to return per type. Default 500, max 2000.
|
|
5301
|
+
* @format int32
|
|
5302
|
+
* @min 1
|
|
5303
|
+
* @max 2000
|
|
5304
|
+
*/
|
|
5305
|
+
maxResultsPerType?: number;
|
|
5306
|
+
};
|
|
5307
|
+
type RequestBody = never;
|
|
5308
|
+
type RequestHeaders = {};
|
|
5309
|
+
type ResponseBody = AggregatedChangesResponse;
|
|
5170
5310
|
}
|
|
5171
5311
|
/**
|
|
5172
|
-
* @description Returns
|
|
5173
|
-
* @tags
|
|
5174
|
-
* @name
|
|
5175
|
-
* @summary
|
|
5176
|
-
* @request GET:/api/v1/
|
|
5312
|
+
* @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, FoerderungChange or ScheinunternehmenChange. Since data is a union, read changeType before it. Kostet 1 Credit.
|
|
5313
|
+
* @tags GlobalChanges
|
|
5314
|
+
* @name V1GlobalchangesDetail
|
|
5315
|
+
* @summary Change by id
|
|
5316
|
+
* @request GET:/api/v1/globalchanges/{id}
|
|
5177
5317
|
* @secure
|
|
5178
5318
|
*/
|
|
5179
|
-
namespace
|
|
5180
|
-
type RequestParams = {
|
|
5319
|
+
namespace V1GlobalchangesDetail {
|
|
5320
|
+
type RequestParams = {
|
|
5321
|
+
/** @format int64 */
|
|
5322
|
+
id: number;
|
|
5323
|
+
};
|
|
5181
5324
|
type RequestQuery = {};
|
|
5182
5325
|
type RequestBody = never;
|
|
5183
5326
|
type RequestHeaders = {};
|
|
5184
|
-
type ResponseBody =
|
|
5327
|
+
type ResponseBody = ChangeDetailResponse;
|
|
5185
5328
|
}
|
|
5186
5329
|
/**
|
|
5187
|
-
* @description Returns
|
|
5188
|
-
* @tags
|
|
5189
|
-
* @name
|
|
5190
|
-
* @summary
|
|
5191
|
-
* @request GET:/api/v1/
|
|
5330
|
+
* @description Returns the OeNACE classification catalog with company counts. Results are ordered by company count descending — most used first. Kostet 1 Credit.
|
|
5331
|
+
* @tags Oenace
|
|
5332
|
+
* @name V1OenaceList
|
|
5333
|
+
* @summary OeNACE classification catalog
|
|
5334
|
+
* @request GET:/api/v1/oenace
|
|
5192
5335
|
* @secure
|
|
5193
5336
|
*/
|
|
5194
|
-
namespace
|
|
5337
|
+
namespace V1OenaceList {
|
|
5195
5338
|
type RequestParams = {};
|
|
5196
5339
|
type RequestQuery = {
|
|
5197
5340
|
search?: string;
|
|
5341
|
+
/**
|
|
5342
|
+
* Filter by hierarchy level (1–5). Omit to return all levels.
|
|
5343
|
+
* @format int32
|
|
5344
|
+
*/
|
|
5345
|
+
ebene?: number;
|
|
5346
|
+
/** @format int32 */
|
|
5347
|
+
minCompanyCount?: number;
|
|
5198
5348
|
/**
|
|
5199
5349
|
* 1-based page number; defaults to 1 when omitted.
|
|
5200
5350
|
* @format int32
|
|
@@ -5212,19 +5362,20 @@ export declare namespace Api {
|
|
|
5212
5362
|
};
|
|
5213
5363
|
type RequestBody = never;
|
|
5214
5364
|
type RequestHeaders = {};
|
|
5215
|
-
type ResponseBody =
|
|
5365
|
+
type ResponseBody = PagedResponseOfOenaceCatalogItemResponse;
|
|
5216
5366
|
}
|
|
5217
5367
|
/**
|
|
5218
|
-
* @description Returns
|
|
5219
|
-
* @tags
|
|
5220
|
-
* @name
|
|
5221
|
-
* @summary
|
|
5222
|
-
* @request GET:/api/v1/
|
|
5368
|
+
* @description Returns all legal forms with pagination and optional search, sorted by business count descending. Kostet 1 Credit.
|
|
5369
|
+
* @tags LegalForms
|
|
5370
|
+
* @name V1LegalformsList
|
|
5371
|
+
* @summary Legal form catalog
|
|
5372
|
+
* @request GET:/api/v1/legalforms
|
|
5223
5373
|
* @secure
|
|
5224
5374
|
*/
|
|
5225
|
-
namespace
|
|
5375
|
+
namespace V1LegalformsList {
|
|
5226
5376
|
type RequestParams = {};
|
|
5227
5377
|
type RequestQuery = {
|
|
5378
|
+
/** @maxLength 200 */
|
|
5228
5379
|
search?: string;
|
|
5229
5380
|
/**
|
|
5230
5381
|
* 1-based page number; defaults to 1 when omitted.
|
|
@@ -5243,42 +5394,20 @@ export declare namespace Api {
|
|
|
5243
5394
|
};
|
|
5244
5395
|
type RequestBody = never;
|
|
5245
5396
|
type RequestHeaders = {};
|
|
5246
|
-
type ResponseBody =
|
|
5247
|
-
}
|
|
5248
|
-
/**
|
|
5249
|
-
* @description Ranks cities and City+ZipCode combinations against one term and answers the best few of both, as one ranking split into two lists — what a location filter's type-ahead needs, where /addresses/locations and /addresses/cities are the paged catalogues behind it. Ordered by where the term sits in the label, then by the shorter label, then by company count, so "wien" answers Wien before Wiener Neustadt and before every 1xxx ZIP that carries it. A term shorter than two characters is ignored and the biggest groups come back instead. top caps both lists together, not each. Ohne API-Key abrufbar und kostet keine Credits.
|
|
5250
|
-
* @tags Addresses
|
|
5251
|
-
* @name V1AddressesSuggestList
|
|
5252
|
-
* @summary Location autocomplete
|
|
5253
|
-
* @request GET:/api/v1/addresses/suggest
|
|
5254
|
-
* @secure
|
|
5255
|
-
*/
|
|
5256
|
-
namespace V1AddressesSuggestList {
|
|
5257
|
-
type RequestParams = {};
|
|
5258
|
-
type RequestQuery = {
|
|
5259
|
-
/** The term to rank against. Shorter than two characters it is ignored entirely and the biggest groups come back instead. */
|
|
5260
|
-
search?: string;
|
|
5261
|
-
/**
|
|
5262
|
-
* How many suggestions to answer, across both lists; defaults to 10 when omitted.
|
|
5263
|
-
* @format int32
|
|
5264
|
-
*/
|
|
5265
|
-
top?: number;
|
|
5266
|
-
};
|
|
5267
|
-
type RequestBody = never;
|
|
5268
|
-
type RequestHeaders = {};
|
|
5269
|
-
type ResponseBody = LocationSuggestionsResponse;
|
|
5397
|
+
type ResponseBody = PagedResponseOfLegalFormCatalogItemResponse;
|
|
5270
5398
|
}
|
|
5271
5399
|
/**
|
|
5272
|
-
* @description Returns
|
|
5273
|
-
* @tags
|
|
5274
|
-
* @name
|
|
5275
|
-
* @summary
|
|
5276
|
-
* @request GET:/api/v1/
|
|
5400
|
+
* @description Returns all courts with pagination and optional search, sorted by business count descending. Kostet 1 Credit.
|
|
5401
|
+
* @tags Courts
|
|
5402
|
+
* @name V1CourtsList
|
|
5403
|
+
* @summary Court catalog
|
|
5404
|
+
* @request GET:/api/v1/courts
|
|
5277
5405
|
* @secure
|
|
5278
5406
|
*/
|
|
5279
|
-
namespace
|
|
5407
|
+
namespace V1CourtsList {
|
|
5280
5408
|
type RequestParams = {};
|
|
5281
5409
|
type RequestQuery = {
|
|
5410
|
+
/** @maxLength 200 */
|
|
5282
5411
|
search?: string;
|
|
5283
5412
|
/**
|
|
5284
5413
|
* 1-based page number; defaults to 1 when omitted.
|
|
@@ -5297,22 +5426,22 @@ export declare namespace Api {
|
|
|
5297
5426
|
};
|
|
5298
5427
|
type RequestBody = never;
|
|
5299
5428
|
type RequestHeaders = {};
|
|
5300
|
-
type ResponseBody =
|
|
5429
|
+
type ResponseBody = PagedResponseOfCourtCatalogItemResponse;
|
|
5301
5430
|
}
|
|
5302
5431
|
/**
|
|
5303
|
-
* @description
|
|
5304
|
-
* @tags
|
|
5305
|
-
* @name
|
|
5306
|
-
* @summary
|
|
5307
|
-
* @request GET:/api/v1/
|
|
5432
|
+
* @description Returns all assignment functions (code/text lookup) for display. Cached 24h. Kostet 1 Credit.
|
|
5433
|
+
* @tags AssignmentFunctions
|
|
5434
|
+
* @name V1AssignmentfunctionsList
|
|
5435
|
+
* @summary Assignment function catalog
|
|
5436
|
+
* @request GET:/api/v1/assignmentfunctions
|
|
5308
5437
|
* @secure
|
|
5309
5438
|
*/
|
|
5310
|
-
namespace
|
|
5439
|
+
namespace V1AssignmentfunctionsList {
|
|
5311
5440
|
type RequestParams = {};
|
|
5312
5441
|
type RequestQuery = {};
|
|
5313
5442
|
type RequestBody = never;
|
|
5314
5443
|
type RequestHeaders = {};
|
|
5315
|
-
type ResponseBody =
|
|
5444
|
+
type ResponseBody = AssignmentFunctionItemResponse[];
|
|
5316
5445
|
}
|
|
5317
5446
|
}
|
|
5318
5447
|
export type QueryParamsType = Record<string | number, any>;
|
|
@@ -5375,7 +5504,7 @@ export declare class HttpClient<SecurityDataType = unknown> {
|
|
|
5375
5504
|
request: <T = any, E = any>({ body, secure, path, type, query, format, baseUrl, cancelToken, ...params }: FullRequestParams) => Promise<HttpResponse<T, E>>;
|
|
5376
5505
|
}
|
|
5377
5506
|
/**
|
|
5378
|
-
* @title
|
|
5507
|
+
* @title Firmenakte API
|
|
5379
5508
|
* @version v1
|
|
5380
5509
|
* @baseUrl https://api.firmenakte.at
|
|
5381
5510
|
*/
|
|
@@ -5490,255 +5619,53 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5490
5619
|
* @request POST:/api/v1/lists/{id}/add
|
|
5491
5620
|
* @secure
|
|
5492
5621
|
*/
|
|
5493
|
-
v1ListsAddCreate: (id: string, data: ListMembersRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5494
|
-
/**
|
|
5495
|
-
* @description Takes the companies off the Liste and records them as removed. Kostet 1 Credit.
|
|
5496
|
-
*
|
|
5497
|
-
* @tags Lists
|
|
5498
|
-
* @name V1ListsRemoveCreate
|
|
5499
|
-
* @summary Remove companies from a Liste
|
|
5500
|
-
* @request POST:/api/v1/lists/{id}/remove
|
|
5501
|
-
* @secure
|
|
5502
|
-
*/
|
|
5503
|
-
v1ListsRemoveCreate: (id: string, data: ListMembersRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5504
|
-
/**
|
|
5505
|
-
* @description Builds a CSV or an Excel workbook over the companies you name: an explicit set of FNRs, a Liste, or a saved Abfrage. Nothing is stored and no link is handed back: the CSV is written out as it is produced, the workbook is built in memory first. One export carries at most 1000 companies: a set of FNRs or a Liste that holds more is refused with a 400 rather than cut short, and a saved Abfrage exports its first 1000 matches. An export that would hold no rows answers 204 rather than an empty file. Kostet 3 Credits.
|
|
5506
|
-
*
|
|
5507
|
-
* @tags Exports
|
|
5508
|
-
* @name V1ExportsBusinessesCreate
|
|
5509
|
-
* @summary Export companies
|
|
5510
|
-
* @request POST:/api/v1/exports/businesses
|
|
5511
|
-
* @secure
|
|
5512
|
-
*/
|
|
5513
|
-
v1ExportsBusinessesCreate: (data: ExportBusinessesRequest, params?: RequestParams) => Promise<HttpResponse<FileResult, ApiError | ProblemDetails>>;
|
|
5514
|
-
/**
|
|
5515
|
-
* @description Downloads the signed GISA PDF extract for a license (GISA-Zahl). Language defaults to German (De). Kostet 3 Credits.
|
|
5516
|
-
*
|
|
5517
|
-
* @tags Trades
|
|
5518
|
-
* @name V1TradesDocumentsDetail
|
|
5519
|
-
* @summary GISA PDF extract
|
|
5520
|
-
* @request GET:/api/v1/trades/documents/{gisaZahl}
|
|
5521
|
-
* @secure
|
|
5522
|
-
*/
|
|
5523
|
-
v1TradesDocumentsDetail: (gisaZahl: number, query?: {
|
|
5524
|
-
/** @default false */
|
|
5525
|
-
historical?: boolean;
|
|
5526
|
-
/** @default "De" */
|
|
5527
|
-
language?: "De" | "En";
|
|
5528
|
-
}, params?: RequestParams) => Promise<HttpResponse<Blob, ApiError | ProblemDetails>>;
|
|
5529
|
-
/**
|
|
5530
|
-
* @description Returns the global catalog of GISA Trade Definitions with pagination. Ohne API-Key abrufbar und kostet keine Credits.
|
|
5531
|
-
*
|
|
5532
|
-
* @tags Trades
|
|
5533
|
-
* @name V1TradesList
|
|
5534
|
-
* @summary GISA trade catalog
|
|
5535
|
-
* @request GET:/api/v1/trades
|
|
5536
|
-
* @secure
|
|
5537
|
-
*/
|
|
5538
|
-
v1TradesList: (query?: {
|
|
5539
|
-
search?: string;
|
|
5540
|
-
/** @format int32 */
|
|
5541
|
-
minCompanyCount?: number;
|
|
5542
|
-
/**
|
|
5543
|
-
* 1-based page number; defaults to 1 when omitted.
|
|
5544
|
-
* @format int32
|
|
5545
|
-
* @min 1
|
|
5546
|
-
* @max 1000
|
|
5547
|
-
*/
|
|
5548
|
-
page?: number;
|
|
5549
|
-
/**
|
|
5550
|
-
* Number of items per page; defaults to 10 when omitted.
|
|
5551
|
-
* @format int32
|
|
5552
|
-
* @min 1
|
|
5553
|
-
* @max 100
|
|
5554
|
-
*/
|
|
5555
|
-
pageSize?: number;
|
|
5556
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfTradeCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
5557
|
-
/**
|
|
5558
|
-
* @description Returns all company licenses for a specific trade definition with pagination. Kostet 1 Credit.
|
|
5559
|
-
*
|
|
5560
|
-
* @tags Trades
|
|
5561
|
-
* @name V1TradesLicensesList
|
|
5562
|
-
* @summary Licenses by trade
|
|
5563
|
-
* @request GET:/api/v1/trades/{tradeKey}/licenses
|
|
5564
|
-
* @secure
|
|
5565
|
-
*/
|
|
5566
|
-
v1TradesLicensesList: (tradeKey: number, query?: {
|
|
5567
|
-
/**
|
|
5568
|
-
* 1-based page number; defaults to 1 when omitted.
|
|
5569
|
-
* @format int32
|
|
5570
|
-
* @min 1
|
|
5571
|
-
* @max 1000
|
|
5572
|
-
*/
|
|
5573
|
-
page?: number;
|
|
5574
|
-
/**
|
|
5575
|
-
* Number of items per page; defaults to 10 when omitted.
|
|
5576
|
-
* @format int32
|
|
5577
|
-
* @min 1
|
|
5578
|
-
* @max 100
|
|
5579
|
-
*/
|
|
5580
|
-
pageSize?: number;
|
|
5581
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaLicense, ApiError | ProblemDetails>>;
|
|
5582
|
-
/**
|
|
5583
|
-
* @description Returns all licenses for a specific company (FNR). Kostet 1 Credit.
|
|
5584
|
-
*
|
|
5585
|
-
* @tags Trades
|
|
5586
|
-
* @name V1TradesCompanyDetail
|
|
5587
|
-
* @summary Company GISA licenses
|
|
5588
|
-
* @request GET:/api/v1/trades/company/{fnr}
|
|
5589
|
-
* @secure
|
|
5590
|
-
*/
|
|
5591
|
-
v1TradesCompanyDetail: (fnr: string, params?: RequestParams) => Promise<HttpResponse<GisaLicense[], ApiError | ProblemDetails>>;
|
|
5592
|
-
/**
|
|
5593
|
-
* @description Returns a single GISA change by id. Kostet 1 Credit.
|
|
5594
|
-
*
|
|
5595
|
-
* @tags Trades
|
|
5596
|
-
* @name V1TradesChangesDetail
|
|
5597
|
-
* @summary GISA change by id
|
|
5598
|
-
* @request GET:/api/v1/trades/changes/{id}
|
|
5599
|
-
* @secure
|
|
5600
|
-
*/
|
|
5601
|
-
v1TradesChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<GisaChange, ApiError | ProblemDetails>>;
|
|
5602
|
-
/**
|
|
5603
|
-
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
5604
|
-
*
|
|
5605
|
-
* @tags Trades
|
|
5606
|
-
* @name V1TradesChangesList
|
|
5607
|
-
* @summary GISA change feed
|
|
5608
|
-
* @request GET:/api/v1/trades/changes
|
|
5609
|
-
* @secure
|
|
5610
|
-
*/
|
|
5611
|
-
v1TradesChangesList: (query?: {
|
|
5612
|
-
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5613
|
-
fnr?: string;
|
|
5614
|
-
/**
|
|
5615
|
-
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
5616
|
-
* @format date-time
|
|
5617
|
-
*/
|
|
5618
|
-
since?: string;
|
|
5619
|
-
/**
|
|
5620
|
-
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
5621
|
-
* @format int64
|
|
5622
|
-
*/
|
|
5623
|
-
sinceId?: number;
|
|
5624
|
-
/**
|
|
5625
|
-
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
5626
|
-
* @format int32
|
|
5627
|
-
* @min 1
|
|
5628
|
-
* @max 1000
|
|
5629
|
-
*/
|
|
5630
|
-
page?: number;
|
|
5631
|
-
/**
|
|
5632
|
-
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
5633
|
-
* @format int32
|
|
5634
|
-
* @min 1
|
|
5635
|
-
* @max 100
|
|
5636
|
-
*/
|
|
5637
|
-
pageSize?: number;
|
|
5638
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaChange, ApiError | ProblemDetails>>;
|
|
5639
|
-
/**
|
|
5640
|
-
* @description The autocomplete read: /businesses and /people for one term, ranked together, so a search field costs one request per keystroke rather than two and does not have to merge two orders itself. Each row carries either business or person, whichever type names. Ordered by where the term sits in the name, then by the shorter name, then companies before people. pageSize is per side, so the answer holds up to twice as many rows. An empty search answers an empty list; use /businesses to page through the whole dataset. Ohne API-Key abrufbar und kostet keine Credits.
|
|
5641
|
-
*
|
|
5642
|
-
* @tags Search
|
|
5643
|
-
* @name V1SearchList
|
|
5644
|
-
* @summary Companies and people in one ranked list
|
|
5645
|
-
* @request GET:/api/v1/search
|
|
5646
|
-
* @secure
|
|
5647
|
-
*/
|
|
5648
|
-
v1SearchList: (query?: {
|
|
5649
|
-
/** The term. Empty answers an empty list — this endpoint suggests, it does not list. */
|
|
5650
|
-
search?: string;
|
|
5651
|
-
/**
|
|
5652
|
-
* How many rows to take from each side before they are ranked together, so the answer holds at most twice this many; defaults to 10 when omitted.
|
|
5653
|
-
* @format int32
|
|
5654
|
-
* @min 1
|
|
5655
|
-
* @max 100
|
|
5656
|
-
*/
|
|
5657
|
-
pageSize?: number;
|
|
5658
|
-
}, params?: RequestParams) => Promise<HttpResponse<SearchResponse, ApiError | ProblemDetails>>;
|
|
5622
|
+
v1ListsAddCreate: (id: string, data: ListMembersRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5659
5623
|
/**
|
|
5660
|
-
* @description
|
|
5624
|
+
* @description Takes the companies off the Liste and records them as removed. Kostet 1 Credit.
|
|
5661
5625
|
*
|
|
5662
|
-
* @tags
|
|
5663
|
-
* @name
|
|
5664
|
-
* @summary
|
|
5665
|
-
* @request
|
|
5626
|
+
* @tags Lists
|
|
5627
|
+
* @name V1ListsRemoveCreate
|
|
5628
|
+
* @summary Remove companies from a Liste
|
|
5629
|
+
* @request POST:/api/v1/lists/{id}/remove
|
|
5666
5630
|
* @secure
|
|
5667
5631
|
*/
|
|
5668
|
-
|
|
5632
|
+
v1ListsRemoveCreate: (id: string, data: ListMembersRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5669
5633
|
/**
|
|
5670
|
-
* @description
|
|
5634
|
+
* @description Builds a CSV or an Excel workbook over the companies you name: an explicit set of FNRs, a Liste, or a saved Abfrage. Nothing is stored and no link is handed back: the CSV is written out as it is produced, the workbook is built in memory first. One export carries at most 1000 companies: a set of FNRs or a Liste that holds more is refused with a 400 rather than cut short, and a saved Abfrage exports its first 1000 matches. An export that would hold no rows answers 204 rather than an empty file. Kostet 3 Credits.
|
|
5671
5635
|
*
|
|
5672
|
-
* @tags
|
|
5673
|
-
* @name
|
|
5674
|
-
* @summary
|
|
5675
|
-
* @request
|
|
5636
|
+
* @tags Exports
|
|
5637
|
+
* @name V1ExportsBusinessesCreate
|
|
5638
|
+
* @summary Export companies
|
|
5639
|
+
* @request POST:/api/v1/exports/businesses
|
|
5676
5640
|
* @secure
|
|
5677
5641
|
*/
|
|
5678
|
-
|
|
5679
|
-
name?: string;
|
|
5680
|
-
search?: string;
|
|
5681
|
-
firstName?: string;
|
|
5682
|
-
lastName?: string;
|
|
5683
|
-
/** Only people holding one of these functions, e.g. IN, KP, GS and PG for the owner roles. Repeat the parameter for more than one code; they are ORed. Only a person's current role at a company counts — where the register filed several rows for them there, the newest (highest vnr) one is the one matched, so a GS later superseded by a GF no longer answers to functionCode=GS. */
|
|
5684
|
-
functionCode?: string[];
|
|
5685
|
-
businessName?: string;
|
|
5686
|
-
/** Only people assigned to a company whose Geschäftsanschrift is in this city. Matched exactly (trimmed, case-insensitively), unlike city on /businesses, which is a substring match: businessCity=Wien does not return Wiener Neustadt. */
|
|
5687
|
-
businessCity?: string;
|
|
5688
|
-
/**
|
|
5689
|
-
* Only people assigned to a company registered ("Eingetragen seit") on or after this date — the same fact as registeredSince_gte on /businesses. Companies whose registration date is unknown are excluded, as they are there.
|
|
5690
|
-
* @format date-time
|
|
5691
|
-
*/
|
|
5692
|
-
businessRegisteredSince_gte?: string;
|
|
5693
|
-
/** Only people assigned to this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5694
|
-
fnr?: string;
|
|
5695
|
-
/** Only people who have an Edikt of their own — a notice in the Ediktsdatei filed against the person, which the edikte collection on the row carries. An Edikt against one of their companies does not count; that is hasEdikt on /businesses. */
|
|
5696
|
-
hasEdikt?: boolean;
|
|
5697
|
-
/** Sort key; only "birthDate" is supported. Omitted, people come back by last name, then first name. People whose birth date the register does not give sort last under orderByDescending=true. */
|
|
5698
|
-
orderBy?: string;
|
|
5699
|
-
/** If true, sort descending; with orderBy=birthDate that is the youngest first. */
|
|
5700
|
-
orderByDescending?: boolean;
|
|
5701
|
-
/**
|
|
5702
|
-
* 1-based page number; defaults to 1 when omitted.
|
|
5703
|
-
* @format int32
|
|
5704
|
-
* @min 1
|
|
5705
|
-
* @max 1000
|
|
5706
|
-
*/
|
|
5707
|
-
page?: number;
|
|
5708
|
-
/**
|
|
5709
|
-
* Number of items per page; defaults to 10 when omitted.
|
|
5710
|
-
* @format int32
|
|
5711
|
-
* @min 1
|
|
5712
|
-
* @max 100
|
|
5713
|
-
*/
|
|
5714
|
-
pageSize?: number;
|
|
5715
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfPerson, ApiError | ProblemDetails>>;
|
|
5642
|
+
v1ExportsBusinessesCreate: (data: ExportBusinessesRequest, params?: RequestParams) => Promise<HttpResponse<FileResult, ApiError | ProblemDetails>>;
|
|
5716
5643
|
/**
|
|
5717
|
-
* @description
|
|
5644
|
+
* @description Downloads the signed GISA PDF extract for a license (GISA-Zahl). Language defaults to German (De). Kostet 3 Credits.
|
|
5718
5645
|
*
|
|
5719
|
-
* @tags
|
|
5720
|
-
* @name
|
|
5721
|
-
* @summary
|
|
5722
|
-
* @request GET:/api/v1/
|
|
5646
|
+
* @tags Trades
|
|
5647
|
+
* @name V1TradesDocumentsDetail
|
|
5648
|
+
* @summary GISA PDF extract
|
|
5649
|
+
* @request GET:/api/v1/trades/documents/{gisaZahl}
|
|
5723
5650
|
* @secure
|
|
5724
5651
|
*/
|
|
5725
|
-
|
|
5652
|
+
v1TradesDocumentsDetail: (gisaZahl: number, query?: {
|
|
5653
|
+
/** @default false */
|
|
5654
|
+
historical?: boolean;
|
|
5655
|
+
/** @default "De" */
|
|
5656
|
+
language?: "De" | "En";
|
|
5657
|
+
}, params?: RequestParams) => Promise<HttpResponse<Blob, ApiError | ProblemDetails>>;
|
|
5726
5658
|
/**
|
|
5727
|
-
* @description Returns the
|
|
5659
|
+
* @description Returns the global catalog of GISA Trade Definitions with pagination. Kostet 1 Credit.
|
|
5728
5660
|
*
|
|
5729
|
-
* @tags
|
|
5730
|
-
* @name
|
|
5731
|
-
* @summary
|
|
5732
|
-
* @request GET:/api/v1/
|
|
5661
|
+
* @tags Trades
|
|
5662
|
+
* @name V1TradesList
|
|
5663
|
+
* @summary GISA trade catalog
|
|
5664
|
+
* @request GET:/api/v1/trades
|
|
5733
5665
|
* @secure
|
|
5734
5666
|
*/
|
|
5735
|
-
|
|
5667
|
+
v1TradesList: (query?: {
|
|
5736
5668
|
search?: string;
|
|
5737
|
-
/**
|
|
5738
|
-
* Filter by hierarchy level (1–5). Omit to return all levels.
|
|
5739
|
-
* @format int32
|
|
5740
|
-
*/
|
|
5741
|
-
ebene?: number;
|
|
5742
5669
|
/** @format int32 */
|
|
5743
5670
|
minCompanyCount?: number;
|
|
5744
5671
|
/**
|
|
@@ -5755,19 +5682,17 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5755
5682
|
* @max 100
|
|
5756
5683
|
*/
|
|
5757
5684
|
pageSize?: number;
|
|
5758
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
5685
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfTradeCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
5759
5686
|
/**
|
|
5760
|
-
* @description Returns all
|
|
5687
|
+
* @description Returns all company licenses for a specific trade definition with pagination. Kostet 1 Credit.
|
|
5761
5688
|
*
|
|
5762
|
-
* @tags
|
|
5763
|
-
* @name
|
|
5764
|
-
* @summary
|
|
5765
|
-
* @request GET:/api/v1/
|
|
5689
|
+
* @tags Trades
|
|
5690
|
+
* @name V1TradesLicensesList
|
|
5691
|
+
* @summary Licenses by trade
|
|
5692
|
+
* @request GET:/api/v1/trades/{tradeKey}/licenses
|
|
5766
5693
|
* @secure
|
|
5767
5694
|
*/
|
|
5768
|
-
|
|
5769
|
-
/** @maxLength 200 */
|
|
5770
|
-
search?: string;
|
|
5695
|
+
v1TradesLicensesList: (tradeKey: number, query?: {
|
|
5771
5696
|
/**
|
|
5772
5697
|
* 1-based page number; defaults to 1 when omitted.
|
|
5773
5698
|
* @format int32
|
|
@@ -5782,32 +5707,37 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5782
5707
|
* @max 100
|
|
5783
5708
|
*/
|
|
5784
5709
|
pageSize?: number;
|
|
5785
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
5710
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaLicense, ApiError | ProblemDetails>>;
|
|
5786
5711
|
/**
|
|
5787
|
-
* @description Returns
|
|
5712
|
+
* @description Returns all licenses for a specific company (FNR). Kostet 1 Credit.
|
|
5788
5713
|
*
|
|
5789
|
-
* @tags
|
|
5790
|
-
* @name
|
|
5791
|
-
* @summary
|
|
5792
|
-
* @request GET:/api/v1/
|
|
5714
|
+
* @tags Trades
|
|
5715
|
+
* @name V1TradesCompanyDetail
|
|
5716
|
+
* @summary Company GISA licenses
|
|
5717
|
+
* @request GET:/api/v1/trades/company/{fnr}
|
|
5793
5718
|
* @secure
|
|
5794
5719
|
*/
|
|
5795
|
-
|
|
5796
|
-
/** Start from this person. Mutually exclusive with fnr. */
|
|
5797
|
-
personId?: string;
|
|
5798
|
-
/** Start from this company. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company; case is not folded. Mutually exclusive with personId. */
|
|
5799
|
-
fnr?: string;
|
|
5800
|
-
}, params?: RequestParams) => Promise<HttpResponse<GraphResponse, ApiError | ProblemDetails>>;
|
|
5720
|
+
v1TradesCompanyDetail: (fnr: string, params?: RequestParams) => Promise<HttpResponse<GisaLicense[], ApiError | ProblemDetails>>;
|
|
5801
5721
|
/**
|
|
5802
|
-
* @description
|
|
5722
|
+
* @description Returns a single GISA change by id. Kostet 1 Credit.
|
|
5803
5723
|
*
|
|
5804
|
-
* @tags
|
|
5805
|
-
* @name
|
|
5806
|
-
* @summary
|
|
5807
|
-
* @request GET:/api/v1/
|
|
5724
|
+
* @tags Trades
|
|
5725
|
+
* @name V1TradesChangesDetail
|
|
5726
|
+
* @summary GISA change by id
|
|
5727
|
+
* @request GET:/api/v1/trades/changes/{id}
|
|
5808
5728
|
* @secure
|
|
5809
5729
|
*/
|
|
5810
|
-
|
|
5730
|
+
v1TradesChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<GisaChange, ApiError | ProblemDetails>>;
|
|
5731
|
+
/**
|
|
5732
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
5733
|
+
*
|
|
5734
|
+
* @tags Trades
|
|
5735
|
+
* @name V1TradesChangesList
|
|
5736
|
+
* @summary GISA change feed
|
|
5737
|
+
* @request GET:/api/v1/trades/changes
|
|
5738
|
+
* @secure
|
|
5739
|
+
*/
|
|
5740
|
+
v1TradesChangesList: (query?: {
|
|
5811
5741
|
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5812
5742
|
fnr?: string;
|
|
5813
5743
|
/**
|
|
@@ -5834,41 +5764,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5834
5764
|
* @max 100
|
|
5835
5765
|
*/
|
|
5836
5766
|
pageSize?: number;
|
|
5837
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
5838
|
-
/**
|
|
5839
|
-
* @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. Kostet 3 Credits.
|
|
5840
|
-
*
|
|
5841
|
-
* @tags GlobalChanges
|
|
5842
|
-
* @name V1GlobalchangesAggregatedList
|
|
5843
|
-
* @summary Aggregated watchlist changes
|
|
5844
|
-
* @request GET:/api/v1/globalchanges/aggregated
|
|
5845
|
-
* @secure
|
|
5846
|
-
*/
|
|
5847
|
-
v1GlobalchangesAggregatedList: (query?: {
|
|
5848
|
-
/** Firmenbuch numbers to fetch changes for. Max 1000 items. Each is normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5849
|
-
fnr?: string[];
|
|
5850
|
-
/** @format date-time */
|
|
5851
|
-
since?: string;
|
|
5852
|
-
/** @format int64 */
|
|
5853
|
-
sinceId?: number;
|
|
5854
|
-
/**
|
|
5855
|
-
* Max number of changes to return per type. Default 500, max 2000.
|
|
5856
|
-
* @format int32
|
|
5857
|
-
* @min 1
|
|
5858
|
-
* @max 2000
|
|
5859
|
-
*/
|
|
5860
|
-
maxResultsPerType?: number;
|
|
5861
|
-
}, params?: RequestParams) => Promise<HttpResponse<AggregatedChangesResponse, ApiError | ProblemDetails>>;
|
|
5862
|
-
/**
|
|
5863
|
-
* @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, FoerderungChange or ScheinunternehmenChange. Since data is a union, read changeType before it. Kostet 1 Credit.
|
|
5864
|
-
*
|
|
5865
|
-
* @tags GlobalChanges
|
|
5866
|
-
* @name V1GlobalchangesDetail
|
|
5867
|
-
* @summary Change by id
|
|
5868
|
-
* @request GET:/api/v1/globalchanges/{id}
|
|
5869
|
-
* @secure
|
|
5870
|
-
*/
|
|
5871
|
-
v1GlobalchangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<ChangeDetailResponse, ApiError | ProblemDetails>>;
|
|
5767
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaChange, ApiError | ProblemDetails>>;
|
|
5872
5768
|
/**
|
|
5873
5769
|
* @description Kostet 1 Credit.
|
|
5874
5770
|
*
|
|
@@ -5906,93 +5802,36 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5906
5802
|
* @format int32
|
|
5907
5803
|
* @min 1
|
|
5908
5804
|
* @max 1000
|
|
5909
|
-
*/
|
|
5910
|
-
page?: number;
|
|
5911
|
-
/**
|
|
5912
|
-
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
5913
|
-
* @format int32
|
|
5914
|
-
* @min 1
|
|
5915
|
-
* @max 100
|
|
5916
|
-
*/
|
|
5917
|
-
pageSize?: number;
|
|
5918
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfFoerderungChange, ApiError | ProblemDetails>>;
|
|
5919
|
-
/**
|
|
5920
|
-
* @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. Kostet 1 Credit.
|
|
5921
|
-
*
|
|
5922
|
-
* @tags Edikte
|
|
5923
|
-
* @name V1EdikteChangesDetail
|
|
5924
|
-
* @summary Edikt change by id
|
|
5925
|
-
* @request GET:/api/v1/edikte/changes/{id}
|
|
5926
|
-
* @secure
|
|
5927
|
-
*/
|
|
5928
|
-
v1EdikteChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<EdiktChange, ApiError | ProblemDetails>>;
|
|
5929
|
-
/**
|
|
5930
|
-
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
5931
|
-
*
|
|
5932
|
-
* @tags Edikte
|
|
5933
|
-
* @name V1EdikteChangesList
|
|
5934
|
-
* @summary Ediktsdatei change feed
|
|
5935
|
-
* @request GET:/api/v1/edikte/changes
|
|
5936
|
-
* @secure
|
|
5937
|
-
*/
|
|
5938
|
-
v1EdikteChangesList: (query?: {
|
|
5939
|
-
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5940
|
-
fnr?: string;
|
|
5941
|
-
/**
|
|
5942
|
-
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
5943
|
-
* @format date-time
|
|
5944
|
-
*/
|
|
5945
|
-
since?: string;
|
|
5946
|
-
/**
|
|
5947
|
-
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
5948
|
-
* @format int64
|
|
5949
|
-
*/
|
|
5950
|
-
sinceId?: number;
|
|
5951
|
-
/**
|
|
5952
|
-
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
5953
|
-
* @format int32
|
|
5954
|
-
* @min 1
|
|
5955
|
-
* @max 1000
|
|
5956
|
-
*/
|
|
5957
|
-
page?: number;
|
|
5958
|
-
/**
|
|
5959
|
-
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
5960
|
-
* @format int32
|
|
5961
|
-
* @min 1
|
|
5962
|
-
* @max 100
|
|
5963
|
-
*/
|
|
5964
|
-
pageSize?: number;
|
|
5965
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfEdiktChange, ApiError | ProblemDetails>>;
|
|
5966
|
-
/**
|
|
5967
|
-
* @description Downloads a Firmenbuch document (PDF/XML) by its document key. Kostet 3 Credits.
|
|
5968
|
-
*
|
|
5969
|
-
* @tags Documents
|
|
5970
|
-
* @name V1DocumentsDownloadDetail
|
|
5971
|
-
* @summary Firmenbuch document download
|
|
5972
|
-
* @request GET:/api/v1/documents/download/{documentKey}
|
|
5973
|
-
* @secure
|
|
5974
|
-
*/
|
|
5975
|
-
v1DocumentsDownloadDetail: (documentKey: string, params?: RequestParams) => Promise<HttpResponse<void, string | ApiError | ProblemDetails>>;
|
|
5805
|
+
*/
|
|
5806
|
+
page?: number;
|
|
5807
|
+
/**
|
|
5808
|
+
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
5809
|
+
* @format int32
|
|
5810
|
+
* @min 1
|
|
5811
|
+
* @max 100
|
|
5812
|
+
*/
|
|
5813
|
+
pageSize?: number;
|
|
5814
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfFoerderungChange, ApiError | ProblemDetails>>;
|
|
5976
5815
|
/**
|
|
5977
|
-
* @description Returns one
|
|
5816
|
+
* @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. Kostet 1 Credit.
|
|
5978
5817
|
*
|
|
5979
|
-
* @tags
|
|
5980
|
-
* @name
|
|
5981
|
-
* @summary
|
|
5982
|
-
* @request GET:/api/v1/
|
|
5818
|
+
* @tags Edikte
|
|
5819
|
+
* @name V1EdikteChangesDetail
|
|
5820
|
+
* @summary Edikt change by id
|
|
5821
|
+
* @request GET:/api/v1/edikte/changes/{id}
|
|
5983
5822
|
* @secure
|
|
5984
5823
|
*/
|
|
5985
|
-
|
|
5824
|
+
v1EdikteChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<EdiktChange, ApiError | ProblemDetails>>;
|
|
5986
5825
|
/**
|
|
5987
|
-
* @description Feed of
|
|
5826
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
5988
5827
|
*
|
|
5989
|
-
* @tags
|
|
5990
|
-
* @name
|
|
5991
|
-
* @summary
|
|
5992
|
-
* @request GET:/api/v1/
|
|
5828
|
+
* @tags Edikte
|
|
5829
|
+
* @name V1EdikteChangesList
|
|
5830
|
+
* @summary Ediktsdatei change feed
|
|
5831
|
+
* @request GET:/api/v1/edikte/changes
|
|
5993
5832
|
* @secure
|
|
5994
5833
|
*/
|
|
5995
|
-
|
|
5834
|
+
v1EdikteChangesList: (query?: {
|
|
5996
5835
|
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5997
5836
|
fnr?: string;
|
|
5998
5837
|
/**
|
|
@@ -6019,19 +5858,45 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
6019
5858
|
* @max 100
|
|
6020
5859
|
*/
|
|
6021
5860
|
pageSize?: number;
|
|
6022
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
5861
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfEdiktChange, ApiError | ProblemDetails>>;
|
|
6023
5862
|
/**
|
|
6024
|
-
* @description Returns all
|
|
5863
|
+
* @description Returns (id, name) pairs for all people with at least one business assignment. For client-side name index. id is the person's Firmenakte-ID, e.g. "P-7K3M-QX91". Kostet 1 Credit.
|
|
6025
5864
|
*
|
|
6026
|
-
* @tags
|
|
6027
|
-
* @name
|
|
6028
|
-
* @summary
|
|
6029
|
-
* @request GET:/api/v1/
|
|
5865
|
+
* @tags People
|
|
5866
|
+
* @name V1PeopleNamesList
|
|
5867
|
+
* @summary Person name index
|
|
5868
|
+
* @request GET:/api/v1/people/names
|
|
6030
5869
|
* @secure
|
|
6031
5870
|
*/
|
|
6032
|
-
|
|
6033
|
-
|
|
5871
|
+
v1PeopleNamesList: (params?: RequestParams) => Promise<HttpResponse<PersonNameItem[], ApiError | ProblemDetails>>;
|
|
5872
|
+
/**
|
|
5873
|
+
* @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. Combine with fnr or businessName to get the officers of one company, or with functionCode for one role. Each row's id is the person's Firmenakte-ID, the id GET /people/{personId} takes. 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 owners of this year's new Viennese companies are one query: ?businessCity=Wien&businessRegisteredSince_gte=2026-01-01&functionCode=IN&functionCode=KP&functionCode=GS&functionCode=PG A row's assignments are a sample, not the person's whole collection: at most 25, and only the ones matching the fnr, functionCode, businessName, businessCity and businessRegisteredSince_gte you sent, so ?fnr=34853f gives you that company's row and nothing else. Ask GET /people/{personId} for all of them. Kostet 1 Credit.
|
|
5874
|
+
*
|
|
5875
|
+
* @tags People
|
|
5876
|
+
* @name V1PeopleList
|
|
5877
|
+
* @summary People search
|
|
5878
|
+
* @request GET:/api/v1/people
|
|
5879
|
+
* @secure
|
|
5880
|
+
*/
|
|
5881
|
+
v1PeopleList: (query?: {
|
|
5882
|
+
name?: string;
|
|
6034
5883
|
search?: string;
|
|
5884
|
+
firstName?: string;
|
|
5885
|
+
lastName?: string;
|
|
5886
|
+
/** Only people holding one of these functions, e.g. IN, KP, GS and PG for the owner roles. Repeat the parameter for more than one code; they are ORed. Only a person's current role at a company counts — where the register filed several rows for them there, the newest (highest vnr) one is the one matched, so a GS later superseded by a GF no longer answers to functionCode=GS. */
|
|
5887
|
+
functionCode?: string[];
|
|
5888
|
+
businessName?: string;
|
|
5889
|
+
/** Only people assigned to a company whose Geschäftsanschrift is in this city. Matched exactly (trimmed, case-insensitively), unlike city on /businesses, which is a substring match: businessCity=Wien does not return Wiener Neustadt. */
|
|
5890
|
+
businessCity?: string;
|
|
5891
|
+
/**
|
|
5892
|
+
* Only people assigned to a company registered ("Eingetragen seit") on or after this date — the same fact as registeredSince_gte on /businesses. Companies whose registration date is unknown are excluded, as they are there.
|
|
5893
|
+
* @format date-time
|
|
5894
|
+
*/
|
|
5895
|
+
businessRegisteredSince_gte?: string;
|
|
5896
|
+
/** Only people assigned to this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
5897
|
+
fnr?: string;
|
|
5898
|
+
/** Only people who have an Edikt of their own — a notice in the Ediktsdatei filed against the person, which the edikte collection on the row carries. An Edikt against one of their companies does not count; that is hasEdikt on /businesses. */
|
|
5899
|
+
hasEdikt?: boolean;
|
|
6035
5900
|
/**
|
|
6036
5901
|
* 1-based page number; defaults to 1 when omitted.
|
|
6037
5902
|
* @format int32
|
|
@@ -6046,7 +5911,17 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
6046
5911
|
* @max 100
|
|
6047
5912
|
*/
|
|
6048
5913
|
pageSize?: number;
|
|
6049
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
5914
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfPerson, ApiError | ProblemDetails>>;
|
|
5915
|
+
/**
|
|
5916
|
+
* @description Returns one person with every company function, GISA licence and Edikt attached to them. personId is the person's Firmenakte-ID as the glossary describes it, e.g. "P-7K3M-QX91", the id every list row, assignment and graph node carries. Take it from there rather than composing it yourself. Only that spelling answers. Any other spelling of the same Firmenakte-ID ("p7k3mqx91"), and the "vorname-nachname-…" id people carried before, answer one 308 whose relative Location is the canonical form. A Firmenakte-ID with a wrong check character, and an id nobody holds, answer 404; so does the bucket every nameless assignment in the register lands in, which is not a person. Kostet 1 Credit.
|
|
5917
|
+
*
|
|
5918
|
+
* @tags People
|
|
5919
|
+
* @name V1PeopleDetail
|
|
5920
|
+
* @summary Person detail
|
|
5921
|
+
* @request GET:/api/v1/people/{personId}
|
|
5922
|
+
* @secure
|
|
5923
|
+
*/
|
|
5924
|
+
v1PeopleDetail: (personId: string, params?: RequestParams) => Promise<HttpResponse<PersonDetailResponse, ApiError | ProblemDetails>>;
|
|
6050
5925
|
/**
|
|
6051
5926
|
* @description Resolve company names to FNRs by exact name match (1:1). Used for CSV import. Kostet 1 Credit.
|
|
6052
5927
|
*
|
|
@@ -6058,7 +5933,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
6058
5933
|
*/
|
|
6059
5934
|
v1BusinessesResolveNamesCreate: (data: ResolveBusinessNamesRequest, params?: RequestParams) => Promise<HttpResponse<ResolveBusinessNamesResponse, ApiError | ProblemDetails>>;
|
|
6060
5935
|
/**
|
|
6061
|
-
* @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. inInsolvency is a Firmenbuch evidence filter, not an Ediktsdatei or Insolvenzdatei one. True matches a classified open court record or an active administrator role (MW, IW, AW, VW). False includes closed evidence without an active role, missing evidence and unclassified or uncertain evidence without another opening or role. Omit the parameter to leave this state unfiltered. A false value means no current positive evidence in this dataset, not verified legal assurance that no proceeding exists. The proceedings are published in the Insolvenzdatei, which this API does not read. Examples: ?inInsolvency=true; ?inInsolvency=false&name=Graf; ?inInsolvency=true&countOnly=true. The same values combine with every other filter. Pass countOnly=true for totalRecords without the rows, and use /businesses/aggregate to group the same filter set instead of paging through it. Place filters: the Firmenbuch records no Bundesland and no Gemeinde, only the Sitzgericht, so both state and gemeinde are derived from the PLZ of the Geschäftsanschrift
|
|
5936
|
+
* @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. inInsolvency is a Firmenbuch evidence filter, not an Ediktsdatei or Insolvenzdatei one. True matches a classified open court record or an active administrator role (MW, IW, AW, VW). False includes closed evidence without an active role, missing evidence and unclassified or uncertain evidence without another opening or role. Omit the parameter to leave this state unfiltered. A false value means no current positive evidence in this dataset, not verified legal assurance that no proceeding exists. The proceedings are published in the Insolvenzdatei, which this API does not read. Examples: ?inInsolvency=true; ?inInsolvency=false&name=Graf; ?inInsolvency=true&countOnly=true. The same values combine with every other filter. Pass countOnly=true for totalRecords without the rows, and use /businesses/aggregate to group the same filter set instead of paging through it. Place filters: the Firmenbuch records no Bundesland and no Gemeinde, only the Sitzgericht, so both state and gemeinde are derived from the PLZ of the Geschäftsanschrift: the PLZ names a Gemeinde, and state is that Gemeinde's Land, so the Innviertel PLZ 5120–5399 are in Oberösterreich. gemeinde takes the slug of a Gemeinde, and because it reads the PLZ it answers every spelling of a place at once — "Klagenfurt am Wörthersee", "Klagenfurt" and "Klagenfurt-Viktring" are one Gemeinde, where city= would be three separate filters over free text. GET /addresses/gemeinden is the catalogue of the slugs, their aliases, their Bundesland and their PLZ; a company with a foreign or unusable PLZ is in no Gemeinde and no gemeinde= filter finds it. Kostet 1 Credit.
|
|
6062
5937
|
*
|
|
6063
5938
|
* @tags Businesses
|
|
6064
5939
|
* @name V1BusinessesList
|
|
@@ -6623,7 +6498,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
6623
6498
|
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
6624
6499
|
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfBusinessListResponse, ApiError | ProblemDetails>>;
|
|
6625
6500
|
/**
|
|
6626
|
-
* @description Returns all business (fnr, name) pairs for client-side name index. No pagination.
|
|
6501
|
+
* @description Returns all business (fnr, name) pairs for client-side name index. No pagination. Kostet 1 Credit.
|
|
6627
6502
|
*
|
|
6628
6503
|
* @tags Businesses
|
|
6629
6504
|
* @name V1BusinessesNamesList
|
|
@@ -7222,7 +7097,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7222
7097
|
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
7223
7098
|
}, params?: RequestParams) => Promise<HttpResponse<BusinessAggregateResponse, ApiError | ProblemDetails>>;
|
|
7224
7099
|
/**
|
|
7225
|
-
* @description Counts for every value of every filter group at once — what a filter builder puts on its chips. Takes the same filters as GET /businesses and means them the same way; page, pageSize, orderBy, orderByDescending and countOnly are ignored. Faceted semantics: a group is counted with all *other* active filters applied but its own lifted, so a value's count answers "how many results if I also select this", and selecting one never empties its own group. totalRecords is the current result count, with every filter applied. Each group returns its top values (top, default 10) plus every value the request already filters on, marked selected — a "Mehr" expander is a second call for that one group with a larger top, e.g. ?groups=city&top=50. city and zipCode count a business once per distinct value, so those counts can sum above totalRecords. One caveat worth knowing before wiring a chip up: the city filter matches a substring, while a city facet key is a whole city name, so selecting "Wien" also keeps "Wien-Umgebung" and can return more than the chip promised. Every other group matches its key exactly. Every group costs its own count, so ask for the groups you are rendering rather than all ten; the answer is cacheable for a day and varies on the whole query string.
|
|
7100
|
+
* @description Counts for every value of every filter group at once — what a filter builder puts on its chips. Takes the same filters as GET /businesses and means them the same way; page, pageSize, orderBy, orderByDescending and countOnly are ignored. Faceted semantics: a group is counted with all *other* active filters applied but its own lifted, so a value's count answers "how many results if I also select this", and selecting one never empties its own group. totalRecords is the current result count, with every filter applied. Each group returns its top values (top, default 10) plus every value the request already filters on, marked selected — a "Mehr" expander is a second call for that one group with a larger top, e.g. ?groups=city&top=50. city and zipCode count a business once per distinct value, so those counts can sum above totalRecords. One caveat worth knowing before wiring a chip up: the city filter matches a substring, while a city facet key is a whole city name, so selecting "Wien" also keeps "Wien-Umgebung" and can return more than the chip promised. Every other group matches its key exactly. Every group costs its own count, so ask for the groups you are rendering rather than all ten; the answer is cacheable for a day and varies on the whole query string. Kostet 1 Credit.
|
|
7226
7101
|
*
|
|
7227
7102
|
* @tags Businesses
|
|
7228
7103
|
* @name V1BusinessesFacetsList
|
|
@@ -7231,7 +7106,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7231
7106
|
* @secure
|
|
7232
7107
|
*/
|
|
7233
7108
|
v1BusinessesFacetsList: (query?: {
|
|
7234
|
-
/** Groups to count; all of them when omitted. One or more of city, zipCode, legalFormCode, courtCode, oenaceCode, gisaLicenseKey, active, hasEdikt, isScheinunternehmen, kennzahl. */
|
|
7109
|
+
/** Groups to count; all of them when omitted. One or more of city, zipCode, legalFormCode, courtCode, oenaceCode, gisaLicenseKey, active, hasEdikt, isScheinunternehmen, inInsolvency, kennzahl. */
|
|
7235
7110
|
groups?: string[];
|
|
7236
7111
|
/**
|
|
7237
7112
|
* Values per group, largest count first. The status and kennzahl groups are complete lists and ignore it. A "Mehr" expander is a second call for the one group with a larger top.
|
|
@@ -7796,7 +7671,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7796
7671
|
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
7797
7672
|
}, params?: RequestParams) => Promise<HttpResponse<BusinessFacetsResponse, ApiError | ProblemDetails>>;
|
|
7798
7673
|
/**
|
|
7799
|
-
* @description The single largest company of every place in the viewport, by one metric — what a map draws as one pin per place instead of every dot in the box. groupBy picks the place: state (the nine Bundesländer, the default) or city (the towns in view). metric is one of detailViews (Aufrufe), bilanzSumme or employees (Mitarbeiter). minLat, maxLat, minLng and maxLng are required for groupBy=city and ignored for groupBy=state: the nine Bundesländer are the same nine wherever the map is looking, so that call takes no viewport at all — which is what lets one URL serve every pan and actually be cached, here and in the browser. Every /businesses filter additionally applies and means exactly what it means there; page, pageSize, orderBy, orderByDescending and countOnly are ignored. groupLabel is the place's name — "Tirol", "Innsbruck" — and is what the pin's card is headed with. A company carrying no value for the metric is skipped rather than counted as 0, so a place holding only such companies — like an empty one — returns nothing at all and the array is shorter than the number of places. Each item carries everything a popover card shows, so no second call per pin is needed. groupBy=city answers at most 16 pins, the biggest of the towns in view; the rest is what zooming in is for. Bundesländer are derived from the PLZ of the Geschäftsanschrift, the same rule the state filter on GET /businesses uses, because the Firmenbuch carries no Land. A company that is the biggest of two places in view wins both, each pin carrying an address that is actually on screen and in the town it won. Cached for an hour rather than the day GET /businesses gets: view counts move.
|
|
7674
|
+
* @description The single largest company of every place in the viewport, by one metric — what a map draws as one pin per place instead of every dot in the box. groupBy picks the place: state (the nine Bundesländer, the default) or city (the towns in view). metric is one of detailViews (Aufrufe), bilanzSumme or employees (Mitarbeiter). minLat, maxLat, minLng and maxLng are required for groupBy=city and ignored for groupBy=state: the nine Bundesländer are the same nine wherever the map is looking, so that call takes no viewport at all — which is what lets one URL serve every pan and actually be cached, here and in the browser. Every /businesses filter additionally applies and means exactly what it means there; page, pageSize, orderBy, orderByDescending and countOnly are ignored. groupLabel is the place's name — "Tirol", "Innsbruck" — and is what the pin's card is headed with. A company carrying no value for the metric is skipped rather than counted as 0, so a place holding only such companies — like an empty one — returns nothing at all and the array is shorter than the number of places. Each item carries everything a popover card shows, so no second call per pin is needed. groupBy=city answers at most 16 pins, the biggest of the towns in view; the rest is what zooming in is for. Bundesländer are derived from the PLZ of the Geschäftsanschrift, the same rule the state filter on GET /businesses uses, because the Firmenbuch carries no Land. A company that is the biggest of two places in view wins both, each pin carrying an address that is actually on screen and in the town it won. Cached for an hour rather than the day GET /businesses gets: view counts move. Kostet 1 Credit.
|
|
7800
7675
|
*
|
|
7801
7676
|
* @tags Businesses
|
|
7802
7677
|
* @name V1BusinessesMapTopList
|
|
@@ -8354,76 +8229,311 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
8354
8229
|
*/
|
|
8355
8230
|
"guv.WarenUndMaterialeinkauf_lte"?: number | null;
|
|
8356
8231
|
/**
|
|
8357
|
-
* Lower bound (inclusive) for Filter by profit and loss item: ZinsenUndAehnlicheAufwendungen
|
|
8358
|
-
* @format decimal
|
|
8232
|
+
* Lower bound (inclusive) for Filter by profit and loss item: ZinsenUndAehnlicheAufwendungen
|
|
8233
|
+
* @format decimal
|
|
8234
|
+
*/
|
|
8235
|
+
"guv.ZinsenUndAehnlicheAufwendungen_gte"?: number | null;
|
|
8236
|
+
/**
|
|
8237
|
+
* Upper bound (inclusive) for Filter by profit and loss item: ZinsenUndAehnlicheAufwendungen
|
|
8238
|
+
* @format decimal
|
|
8239
|
+
*/
|
|
8240
|
+
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
8241
|
+
}, params?: RequestParams) => Promise<HttpResponse<BusinessMapTopItem[], ApiError | ProblemDetails>>;
|
|
8242
|
+
/**
|
|
8243
|
+
* @description Active businesses similar to the given one (same OeNACE branch, same region preferred). Kostet 3 Credits.
|
|
8244
|
+
*
|
|
8245
|
+
* @tags Businesses
|
|
8246
|
+
* @name V1BusinessesSimilarList
|
|
8247
|
+
* @summary Similar companies
|
|
8248
|
+
* @request GET:/api/v1/businesses/{fnr}/similar
|
|
8249
|
+
* @secure
|
|
8250
|
+
*/
|
|
8251
|
+
v1BusinessesSimilarList: (fnr: string, params?: RequestParams) => Promise<HttpResponse<BusinessListResponse[], ApiError | ProblemDetails>>;
|
|
8252
|
+
/**
|
|
8253
|
+
* @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. Kostet 1 Credit.
|
|
8254
|
+
*
|
|
8255
|
+
* @tags Businesses
|
|
8256
|
+
* @name V1BusinessesDetail
|
|
8257
|
+
* @summary Company Firmenakte
|
|
8258
|
+
* @request GET:/api/v1/businesses/{fnr}
|
|
8259
|
+
* @secure
|
|
8260
|
+
*/
|
|
8261
|
+
v1BusinessesDetail: (fnr: string, params?: RequestParams) => Promise<HttpResponse<BusinessDetailResponse, ApiError | ProblemDetails>>;
|
|
8262
|
+
/**
|
|
8263
|
+
* @description Every parsed Jahresabschluss of one company, one entry per fiscal closing date, newest first. The Firmenakte itself (GET /businesses/{fnr}) carries only the last five periods. 404 only where the company itself is unknown, exactly as on GET /businesses/{fnr}. Kostet 1 Credit.
|
|
8264
|
+
*
|
|
8265
|
+
* @tags Businesses
|
|
8266
|
+
* @name V1BusinessesJahresabschluesseList
|
|
8267
|
+
* @summary Company annual accounts
|
|
8268
|
+
* @request GET:/api/v1/businesses/{fnr}/jahresabschluesse
|
|
8269
|
+
* @secure
|
|
8270
|
+
*/
|
|
8271
|
+
v1BusinessesJahresabschluesseList: (fnr: string, params?: RequestParams) => Promise<HttpResponse<ParsedJahresabschlussDto[], ApiError | ProblemDetails>>;
|
|
8272
|
+
/**
|
|
8273
|
+
* @description The state aid published for one company by the Transparenzportal des BMF (§ 40k TDBG), newest year first and the largest amount first within a year, plus a summary of count, sum, the years and the freshest Stichtag. Published are Leistungen from 1.500 € per calendar year to non-natural persons; the COVID-19 reports start at 10.000 €. So an empty list means "nothing published for this company", never "this company received nothing" — and a company the portal names but that could not be matched to a Firmenbuchnummer is not here either. 404 only where the company itself is unknown, exactly as on GET /businesses/{fnr}. Kostet 1 Credit.
|
|
8274
|
+
*
|
|
8275
|
+
* @tags Businesses
|
|
8276
|
+
* @name V1BusinessesFoerderungenList
|
|
8277
|
+
* @summary Company Foerderungen
|
|
8278
|
+
* @request GET:/api/v1/businesses/{fnr}/foerderungen
|
|
8279
|
+
* @secure
|
|
8280
|
+
*/
|
|
8281
|
+
v1BusinessesFoerderungenList: (fnr: string, params?: RequestParams) => Promise<HttpResponse<BusinessFoerderungenResponse, ApiError | ProblemDetails>>;
|
|
8282
|
+
/**
|
|
8283
|
+
* @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. Kostet 1 Credit.
|
|
8284
|
+
*
|
|
8285
|
+
* @tags Businesses
|
|
8286
|
+
* @name V1BusinessesChangesDetail
|
|
8287
|
+
* @summary Firmenbuch change by id
|
|
8288
|
+
* @request GET:/api/v1/businesses/changes/{id}
|
|
8289
|
+
* @secure
|
|
8290
|
+
*/
|
|
8291
|
+
v1BusinessesChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<BusinessChange, ApiError | ProblemDetails>>;
|
|
8292
|
+
/**
|
|
8293
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
8294
|
+
*
|
|
8295
|
+
* @tags Businesses
|
|
8296
|
+
* @name V1BusinessesChangesList
|
|
8297
|
+
* @summary Firmenbuch change feed
|
|
8298
|
+
* @request GET:/api/v1/businesses/changes
|
|
8299
|
+
* @secure
|
|
8300
|
+
*/
|
|
8301
|
+
v1BusinessesChangesList: (query?: {
|
|
8302
|
+
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
8303
|
+
fnr?: string;
|
|
8304
|
+
/**
|
|
8305
|
+
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
8306
|
+
* @format date-time
|
|
8307
|
+
*/
|
|
8308
|
+
since?: string;
|
|
8309
|
+
/**
|
|
8310
|
+
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
8311
|
+
* @format int64
|
|
8312
|
+
*/
|
|
8313
|
+
sinceId?: number;
|
|
8314
|
+
/**
|
|
8315
|
+
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
8316
|
+
* @format int32
|
|
8317
|
+
* @min 1
|
|
8318
|
+
* @max 1000
|
|
8319
|
+
*/
|
|
8320
|
+
page?: number;
|
|
8321
|
+
/**
|
|
8322
|
+
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
8323
|
+
* @format int32
|
|
8324
|
+
* @min 1
|
|
8325
|
+
* @max 100
|
|
8326
|
+
*/
|
|
8327
|
+
pageSize?: number;
|
|
8328
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfBusinessChange, ApiError | ProblemDetails>>;
|
|
8329
|
+
/**
|
|
8330
|
+
* @description Returns unique City+ZipCode combinations from addresses with pagination and optional search. Kostet 1 Credit.
|
|
8331
|
+
*
|
|
8332
|
+
* @tags Addresses
|
|
8333
|
+
* @name V1AddressesLocationsList
|
|
8334
|
+
* @summary City and ZIP combinations
|
|
8335
|
+
* @request GET:/api/v1/addresses/locations
|
|
8336
|
+
* @secure
|
|
8337
|
+
*/
|
|
8338
|
+
v1AddressesLocationsList: (query?: {
|
|
8339
|
+
search?: string;
|
|
8340
|
+
/**
|
|
8341
|
+
* 1-based page number; defaults to 1 when omitted.
|
|
8342
|
+
* @format int32
|
|
8343
|
+
* @min 1
|
|
8344
|
+
* @max 1000
|
|
8345
|
+
*/
|
|
8346
|
+
page?: number;
|
|
8347
|
+
/**
|
|
8348
|
+
* Number of items per page; defaults to 10 when omitted.
|
|
8349
|
+
* @format int32
|
|
8350
|
+
* @min 1
|
|
8351
|
+
* @max 100
|
|
8352
|
+
*/
|
|
8353
|
+
pageSize?: number;
|
|
8354
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfAddressLocationResponse, ApiError | ProblemDetails>>;
|
|
8355
|
+
/**
|
|
8356
|
+
* @description Returns unique cities from addresses with pagination and optional search. Kostet 1 Credit.
|
|
8357
|
+
*
|
|
8358
|
+
* @tags Addresses
|
|
8359
|
+
* @name V1AddressesCitiesList
|
|
8360
|
+
* @summary Cities
|
|
8361
|
+
* @request GET:/api/v1/addresses/cities
|
|
8362
|
+
* @secure
|
|
8363
|
+
*/
|
|
8364
|
+
v1AddressesCitiesList: (query?: {
|
|
8365
|
+
search?: string;
|
|
8366
|
+
/**
|
|
8367
|
+
* 1-based page number; defaults to 1 when omitted.
|
|
8368
|
+
* @format int32
|
|
8369
|
+
* @min 1
|
|
8370
|
+
* @max 1000
|
|
8371
|
+
*/
|
|
8372
|
+
page?: number;
|
|
8373
|
+
/**
|
|
8374
|
+
* Number of items per page; defaults to 10 when omitted.
|
|
8375
|
+
* @format int32
|
|
8376
|
+
* @min 1
|
|
8377
|
+
* @max 100
|
|
8378
|
+
*/
|
|
8379
|
+
pageSize?: number;
|
|
8380
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfCityResponse, ApiError | ProblemDetails>>;
|
|
8381
|
+
/**
|
|
8382
|
+
* @description Ranks cities and City+ZipCode combinations against one term and answers the best few of both, as one ranking split into two lists — what a location filter's type-ahead needs, where /addresses/locations and /addresses/cities are the paged catalogues behind it. Ordered by where the term sits in the label, then by the shorter label, then by company count, so "wien" answers Wien before Wiener Neustadt and before every 1xxx ZIP that carries it. A term shorter than two characters is ignored and the biggest groups come back instead. top caps both lists together, not each. Kostet 1 Credit.
|
|
8383
|
+
*
|
|
8384
|
+
* @tags Addresses
|
|
8385
|
+
* @name V1AddressesSuggestList
|
|
8386
|
+
* @summary Location autocomplete
|
|
8387
|
+
* @request GET:/api/v1/addresses/suggest
|
|
8388
|
+
* @secure
|
|
8389
|
+
*/
|
|
8390
|
+
v1AddressesSuggestList: (query?: {
|
|
8391
|
+
/** The term to rank against. Shorter than two characters it is ignored entirely and the biggest groups come back instead. */
|
|
8392
|
+
search?: string;
|
|
8393
|
+
/**
|
|
8394
|
+
* How many suggestions to answer, across both lists; defaults to 10 when omitted.
|
|
8395
|
+
* @format int32
|
|
8396
|
+
*/
|
|
8397
|
+
top?: number;
|
|
8398
|
+
}, params?: RequestParams) => Promise<HttpResponse<LocationSuggestionsResponse, ApiError | ProblemDetails>>;
|
|
8399
|
+
/**
|
|
8400
|
+
* @description Returns unique zip codes from addresses with pagination and optional search. Kostet 1 Credit.
|
|
8401
|
+
*
|
|
8402
|
+
* @tags Addresses
|
|
8403
|
+
* @name V1AddressesZipcodesList
|
|
8404
|
+
* @summary ZIP codes
|
|
8405
|
+
* @request GET:/api/v1/addresses/zipcodes
|
|
8406
|
+
* @secure
|
|
8407
|
+
*/
|
|
8408
|
+
v1AddressesZipcodesList: (query?: {
|
|
8409
|
+
search?: string;
|
|
8410
|
+
/**
|
|
8411
|
+
* 1-based page number; defaults to 1 when omitted.
|
|
8412
|
+
* @format int32
|
|
8413
|
+
* @min 1
|
|
8414
|
+
* @max 1000
|
|
8359
8415
|
*/
|
|
8360
|
-
|
|
8416
|
+
page?: number;
|
|
8361
8417
|
/**
|
|
8362
|
-
*
|
|
8363
|
-
* @format
|
|
8418
|
+
* Number of items per page; defaults to 10 when omitted.
|
|
8419
|
+
* @format int32
|
|
8420
|
+
* @min 1
|
|
8421
|
+
* @max 100
|
|
8364
8422
|
*/
|
|
8365
|
-
|
|
8366
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
8423
|
+
pageSize?: number;
|
|
8424
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfZipCodeResponse, ApiError | ProblemDetails>>;
|
|
8367
8425
|
/**
|
|
8368
|
-
* @description
|
|
8426
|
+
* @description The Gemeinde catalogue: one row per Austrian Gemeinde the register can address, with its official name, its URL slug, its Bundesland and that Land's slug, the PLZ that resolve to it, the alias slugs that name it and, for Wien, its Bezirke. This is the one source for a place's identity. The city column of an address is Firmenbuch free text and carries "Klagenfurt am Wörthersee", "Klagenfurt", "Klagenfurt-Viktring" and "Klagenfurt-Wölfnitz" side by side, so it cannot be a key; a Gemeinde is derived from the PLZ of the Geschäftsanschrift instead, and GET /businesses?gemeinde=<slug> answers every one of those spellings at once. Fold the zipCode buckets of GET /businesses/aggregate through zipCodes to count companies per Gemeinde. Unpaged and without a filter on purpose: 1.893 rows that change only with a new Gebietsstand, so one cacheable answer is cheaper for every caller than paging a list they all want whole. Companies with a foreign or unusable PLZ resolve to no Gemeinde and appear under none. Kostet 1 Credit.
|
|
8369
8427
|
*
|
|
8370
|
-
* @tags
|
|
8371
|
-
* @name
|
|
8372
|
-
* @summary
|
|
8373
|
-
* @request GET:/api/v1/
|
|
8428
|
+
* @tags Addresses
|
|
8429
|
+
* @name V1AddressesGemeindenList
|
|
8430
|
+
* @summary Gemeinden
|
|
8431
|
+
* @request GET:/api/v1/addresses/gemeinden
|
|
8374
8432
|
* @secure
|
|
8375
8433
|
*/
|
|
8376
|
-
|
|
8434
|
+
v1AddressesGemeindenList: (params?: RequestParams) => Promise<HttpResponse<GemeindeResponse[], ApiError | ProblemDetails>>;
|
|
8377
8435
|
/**
|
|
8378
|
-
* @description
|
|
8436
|
+
* @description Downloads a Firmenbuch document (PDF/XML) by its document key. Kostet 3 Credits.
|
|
8379
8437
|
*
|
|
8380
|
-
* @tags
|
|
8381
|
-
* @name
|
|
8382
|
-
* @summary
|
|
8383
|
-
* @request GET:/api/v1/
|
|
8438
|
+
* @tags Documents
|
|
8439
|
+
* @name V1DocumentsDownloadDetail
|
|
8440
|
+
* @summary Firmenbuch document download
|
|
8441
|
+
* @request GET:/api/v1/documents/download/{documentKey}
|
|
8384
8442
|
* @secure
|
|
8385
8443
|
*/
|
|
8386
|
-
|
|
8444
|
+
v1DocumentsDownloadDetail: (documentKey: string, params?: RequestParams) => Promise<HttpResponse<void, string | ApiError | ProblemDetails>>;
|
|
8387
8445
|
/**
|
|
8388
|
-
* @description
|
|
8446
|
+
* @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. Kostet 1 Credit.
|
|
8389
8447
|
*
|
|
8390
|
-
* @tags
|
|
8391
|
-
* @name
|
|
8392
|
-
* @summary
|
|
8393
|
-
* @request GET:/api/v1/
|
|
8448
|
+
* @tags Documents
|
|
8449
|
+
* @name V1DocumentsChangesDetail
|
|
8450
|
+
* @summary Document change by id
|
|
8451
|
+
* @request GET:/api/v1/documents/changes/{id}
|
|
8394
8452
|
* @secure
|
|
8395
8453
|
*/
|
|
8396
|
-
|
|
8454
|
+
v1DocumentsChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<DocumentChange, ApiError | ProblemDetails>>;
|
|
8397
8455
|
/**
|
|
8398
|
-
* @description
|
|
8456
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
8399
8457
|
*
|
|
8400
|
-
* @tags
|
|
8401
|
-
* @name
|
|
8402
|
-
* @summary
|
|
8403
|
-
* @request GET:/api/v1/
|
|
8458
|
+
* @tags Documents
|
|
8459
|
+
* @name V1DocumentsChangesList
|
|
8460
|
+
* @summary Document change feed
|
|
8461
|
+
* @request GET:/api/v1/documents/changes
|
|
8404
8462
|
* @secure
|
|
8405
8463
|
*/
|
|
8406
|
-
|
|
8464
|
+
v1DocumentsChangesList: (query?: {
|
|
8465
|
+
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
8466
|
+
fnr?: string;
|
|
8467
|
+
/**
|
|
8468
|
+
* Only changes we recorded at or after this instant — inclusive, and ANDed with sinceId when both are sent. A timestamp is not a cursor: poll on sinceId.
|
|
8469
|
+
* @format date-time
|
|
8470
|
+
*/
|
|
8471
|
+
since?: string;
|
|
8472
|
+
/**
|
|
8473
|
+
* Only changes with a higher id than this — exclusive, so pass back the highest id you have stored. This is the cursor to poll the feed on.
|
|
8474
|
+
* @format int64
|
|
8475
|
+
*/
|
|
8476
|
+
sinceId?: number;
|
|
8477
|
+
/**
|
|
8478
|
+
* 1-based page number; defaults to 1 when omitted. Walk it upwards within one poll, holding sinceId fixed, until a page comes back with fewer than pageSize rows.
|
|
8479
|
+
* @format int32
|
|
8480
|
+
* @min 1
|
|
8481
|
+
* @max 1000
|
|
8482
|
+
*/
|
|
8483
|
+
page?: number;
|
|
8484
|
+
/**
|
|
8485
|
+
* Number of items per page; defaults to 100 when omitted. A page shorter than this is the end of the feed.
|
|
8486
|
+
* @format int32
|
|
8487
|
+
* @min 1
|
|
8488
|
+
* @max 100
|
|
8489
|
+
*/
|
|
8490
|
+
pageSize?: number;
|
|
8491
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfDocumentChange, ApiError | ProblemDetails>>;
|
|
8407
8492
|
/**
|
|
8408
|
-
* @description
|
|
8493
|
+
* @description The autocomplete read: /businesses and /people for one term, ranked together, so a search field costs one request per keystroke rather than two and does not have to merge two orders itself. Each row carries either business or person, whichever type names. Ordered by where the term sits in the name, then by the shorter name, then companies before people. pageSize is per side, so the answer holds up to twice as many rows. An empty search answers an empty list; use /businesses to page through the whole dataset. Kostet 1 Credit.
|
|
8409
8494
|
*
|
|
8410
|
-
* @tags
|
|
8411
|
-
* @name
|
|
8412
|
-
* @summary
|
|
8413
|
-
* @request GET:/api/v1/
|
|
8495
|
+
* @tags Search
|
|
8496
|
+
* @name V1SearchList
|
|
8497
|
+
* @summary Companies and people in one ranked list
|
|
8498
|
+
* @request GET:/api/v1/search
|
|
8414
8499
|
* @secure
|
|
8415
8500
|
*/
|
|
8416
|
-
|
|
8501
|
+
v1SearchList: (query?: {
|
|
8502
|
+
/** The term. Empty answers an empty list — this endpoint suggests, it does not list. */
|
|
8503
|
+
search?: string;
|
|
8504
|
+
/**
|
|
8505
|
+
* How many rows to take from each side before they are ranked together, so the answer holds at most twice this many; defaults to 10 when omitted.
|
|
8506
|
+
* @format int32
|
|
8507
|
+
* @min 1
|
|
8508
|
+
* @max 100
|
|
8509
|
+
*/
|
|
8510
|
+
pageSize?: number;
|
|
8511
|
+
}, params?: RequestParams) => Promise<HttpResponse<SearchResponse, ApiError | ProblemDetails>>;
|
|
8417
8512
|
/**
|
|
8418
|
-
* @description
|
|
8513
|
+
* @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} — a person's is the Firmenakte-ID, e.g. "P-7K3M-QX91"; edges are source/target pairs of those ids whose relationshipType is "assignment", a person holding a function in a company. Two further edge types the deployment can enable: "address", two companies registered at the same street address, and "ownership", a company holding shares in another — source is the shareholder, target the company it holds, and capitalAmount, currency and sharePercent carry the stake where the register gives one. Ownership edges are drawn only for companies crawled since the shareholder mapping went live, so a company not yet re-crawled reports none rather than implying it has none. 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. personId answers on the canonical Firmenakte-ID; another spelling of it and a person's old "vorname-nachname-…" id answer one 308 whose relative Location carries the canonical form. Kostet 3 Credits.
|
|
8419
8514
|
*
|
|
8420
|
-
* @tags
|
|
8421
|
-
* @name
|
|
8422
|
-
* @summary
|
|
8423
|
-
* @request GET:/api/v1/
|
|
8515
|
+
* @tags Graph
|
|
8516
|
+
* @name V1GraphList
|
|
8517
|
+
* @summary Relationship graph
|
|
8518
|
+
* @request GET:/api/v1/graph
|
|
8424
8519
|
* @secure
|
|
8425
8520
|
*/
|
|
8426
|
-
|
|
8521
|
+
v1GraphList: (query?: {
|
|
8522
|
+
/** Start from this person, by Firmenakte-ID ("P-7K3M-QX91"). Mutually exclusive with fnr. */
|
|
8523
|
+
personId?: string;
|
|
8524
|
+
/** Start from this company. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company; case is not folded. Mutually exclusive with personId. */
|
|
8525
|
+
fnr?: string;
|
|
8526
|
+
}, params?: RequestParams) => Promise<HttpResponse<GraphResponse, ApiError | ProblemDetails>>;
|
|
8527
|
+
/**
|
|
8528
|
+
* @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. totalRecords stops there too — it is counted only as far as page 1000 reaches, so it caps at 1000 × pageSize and means "at least this many" once it is that; stop on a short page, not on a count. 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. Kostet 1 Credit.
|
|
8529
|
+
*
|
|
8530
|
+
* @tags GlobalChanges
|
|
8531
|
+
* @name V1GlobalchangesList
|
|
8532
|
+
* @summary All-register change feed
|
|
8533
|
+
* @request GET:/api/v1/globalchanges
|
|
8534
|
+
* @secure
|
|
8535
|
+
*/
|
|
8536
|
+
v1GlobalchangesList: (query?: {
|
|
8427
8537
|
/** Only changes for this Firmenbuchnummer. Normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
8428
8538
|
fnr?: string;
|
|
8429
8539
|
/**
|
|
@@ -8450,28 +8560,59 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
8450
8560
|
* @max 100
|
|
8451
8561
|
*/
|
|
8452
8562
|
pageSize?: number;
|
|
8453
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
8563
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGlobalChange, ApiError | ProblemDetails>>;
|
|
8454
8564
|
/**
|
|
8455
|
-
* @description
|
|
8565
|
+
* @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. Kostet 3 Credits.
|
|
8456
8566
|
*
|
|
8457
|
-
* @tags
|
|
8458
|
-
* @name
|
|
8459
|
-
* @summary
|
|
8460
|
-
* @request GET:/api/v1/
|
|
8567
|
+
* @tags GlobalChanges
|
|
8568
|
+
* @name V1GlobalchangesAggregatedList
|
|
8569
|
+
* @summary Aggregated watchlist changes
|
|
8570
|
+
* @request GET:/api/v1/globalchanges/aggregated
|
|
8461
8571
|
* @secure
|
|
8462
8572
|
*/
|
|
8463
|
-
|
|
8573
|
+
v1GlobalchangesAggregatedList: (query?: {
|
|
8574
|
+
/** Firmenbuch numbers to fetch changes for. Max 1000 items. Each is normalised before matching — trimmed, spaces and leading zeros removed — so 034853 f and 34853f are the same company. Case is not folded: pass the lower-case form the API gives you. */
|
|
8575
|
+
fnr?: string[];
|
|
8576
|
+
/** @format date-time */
|
|
8577
|
+
since?: string;
|
|
8578
|
+
/** @format int64 */
|
|
8579
|
+
sinceId?: number;
|
|
8580
|
+
/**
|
|
8581
|
+
* Max number of changes to return per type. Default 500, max 2000.
|
|
8582
|
+
* @format int32
|
|
8583
|
+
* @min 1
|
|
8584
|
+
* @max 2000
|
|
8585
|
+
*/
|
|
8586
|
+
maxResultsPerType?: number;
|
|
8587
|
+
}, params?: RequestParams) => Promise<HttpResponse<AggregatedChangesResponse, ApiError | ProblemDetails>>;
|
|
8464
8588
|
/**
|
|
8465
|
-
* @description Returns
|
|
8589
|
+
* @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, FoerderungChange or ScheinunternehmenChange. Since data is a union, read changeType before it. Kostet 1 Credit.
|
|
8466
8590
|
*
|
|
8467
|
-
* @tags
|
|
8468
|
-
* @name
|
|
8469
|
-
* @summary
|
|
8470
|
-
* @request GET:/api/v1/
|
|
8591
|
+
* @tags GlobalChanges
|
|
8592
|
+
* @name V1GlobalchangesDetail
|
|
8593
|
+
* @summary Change by id
|
|
8594
|
+
* @request GET:/api/v1/globalchanges/{id}
|
|
8471
8595
|
* @secure
|
|
8472
8596
|
*/
|
|
8473
|
-
|
|
8597
|
+
v1GlobalchangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<ChangeDetailResponse, ApiError | ProblemDetails>>;
|
|
8598
|
+
/**
|
|
8599
|
+
* @description Returns the OeNACE classification catalog with company counts. Results are ordered by company count descending — most used first. Kostet 1 Credit.
|
|
8600
|
+
*
|
|
8601
|
+
* @tags Oenace
|
|
8602
|
+
* @name V1OenaceList
|
|
8603
|
+
* @summary OeNACE classification catalog
|
|
8604
|
+
* @request GET:/api/v1/oenace
|
|
8605
|
+
* @secure
|
|
8606
|
+
*/
|
|
8607
|
+
v1OenaceList: (query?: {
|
|
8474
8608
|
search?: string;
|
|
8609
|
+
/**
|
|
8610
|
+
* Filter by hierarchy level (1–5). Omit to return all levels.
|
|
8611
|
+
* @format int32
|
|
8612
|
+
*/
|
|
8613
|
+
ebene?: number;
|
|
8614
|
+
/** @format int32 */
|
|
8615
|
+
minCompanyCount?: number;
|
|
8475
8616
|
/**
|
|
8476
8617
|
* 1-based page number; defaults to 1 when omitted.
|
|
8477
8618
|
* @format int32
|
|
@@ -8486,17 +8627,18 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
8486
8627
|
* @max 100
|
|
8487
8628
|
*/
|
|
8488
8629
|
pageSize?: number;
|
|
8489
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
8630
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfOenaceCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
8490
8631
|
/**
|
|
8491
|
-
* @description Returns
|
|
8632
|
+
* @description Returns all legal forms with pagination and optional search, sorted by business count descending. Kostet 1 Credit.
|
|
8492
8633
|
*
|
|
8493
|
-
* @tags
|
|
8494
|
-
* @name
|
|
8495
|
-
* @summary
|
|
8496
|
-
* @request GET:/api/v1/
|
|
8634
|
+
* @tags LegalForms
|
|
8635
|
+
* @name V1LegalformsList
|
|
8636
|
+
* @summary Legal form catalog
|
|
8637
|
+
* @request GET:/api/v1/legalforms
|
|
8497
8638
|
* @secure
|
|
8498
8639
|
*/
|
|
8499
|
-
|
|
8640
|
+
v1LegalformsList: (query?: {
|
|
8641
|
+
/** @maxLength 200 */
|
|
8500
8642
|
search?: string;
|
|
8501
8643
|
/**
|
|
8502
8644
|
* 1-based page number; defaults to 1 when omitted.
|
|
@@ -8512,35 +8654,18 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
8512
8654
|
* @max 100
|
|
8513
8655
|
*/
|
|
8514
8656
|
pageSize?: number;
|
|
8515
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
8516
|
-
/**
|
|
8517
|
-
* @description Ranks cities and City+ZipCode combinations against one term and answers the best few of both, as one ranking split into two lists — what a location filter's type-ahead needs, where /addresses/locations and /addresses/cities are the paged catalogues behind it. Ordered by where the term sits in the label, then by the shorter label, then by company count, so "wien" answers Wien before Wiener Neustadt and before every 1xxx ZIP that carries it. A term shorter than two characters is ignored and the biggest groups come back instead. top caps both lists together, not each. Ohne API-Key abrufbar und kostet keine Credits.
|
|
8518
|
-
*
|
|
8519
|
-
* @tags Addresses
|
|
8520
|
-
* @name V1AddressesSuggestList
|
|
8521
|
-
* @summary Location autocomplete
|
|
8522
|
-
* @request GET:/api/v1/addresses/suggest
|
|
8523
|
-
* @secure
|
|
8524
|
-
*/
|
|
8525
|
-
v1AddressesSuggestList: (query?: {
|
|
8526
|
-
/** The term to rank against. Shorter than two characters it is ignored entirely and the biggest groups come back instead. */
|
|
8527
|
-
search?: string;
|
|
8528
|
-
/**
|
|
8529
|
-
* How many suggestions to answer, across both lists; defaults to 10 when omitted.
|
|
8530
|
-
* @format int32
|
|
8531
|
-
*/
|
|
8532
|
-
top?: number;
|
|
8533
|
-
}, params?: RequestParams) => Promise<HttpResponse<LocationSuggestionsResponse, ApiError | ProblemDetails>>;
|
|
8657
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfLegalFormCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
8534
8658
|
/**
|
|
8535
|
-
* @description Returns
|
|
8659
|
+
* @description Returns all courts with pagination and optional search, sorted by business count descending. Kostet 1 Credit.
|
|
8536
8660
|
*
|
|
8537
|
-
* @tags
|
|
8538
|
-
* @name
|
|
8539
|
-
* @summary
|
|
8540
|
-
* @request GET:/api/v1/
|
|
8661
|
+
* @tags Courts
|
|
8662
|
+
* @name V1CourtsList
|
|
8663
|
+
* @summary Court catalog
|
|
8664
|
+
* @request GET:/api/v1/courts
|
|
8541
8665
|
* @secure
|
|
8542
8666
|
*/
|
|
8543
|
-
|
|
8667
|
+
v1CourtsList: (query?: {
|
|
8668
|
+
/** @maxLength 200 */
|
|
8544
8669
|
search?: string;
|
|
8545
8670
|
/**
|
|
8546
8671
|
* 1-based page number; defaults to 1 when omitted.
|
|
@@ -8556,17 +8681,17 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
8556
8681
|
* @max 100
|
|
8557
8682
|
*/
|
|
8558
8683
|
pageSize?: number;
|
|
8559
|
-
}, params?: RequestParams) => Promise<HttpResponse<
|
|
8684
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfCourtCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
8560
8685
|
/**
|
|
8561
|
-
* @description
|
|
8686
|
+
* @description Returns all assignment functions (code/text lookup) for display. Cached 24h. Kostet 1 Credit.
|
|
8562
8687
|
*
|
|
8563
|
-
* @tags
|
|
8564
|
-
* @name
|
|
8565
|
-
* @summary
|
|
8566
|
-
* @request GET:/api/v1/
|
|
8688
|
+
* @tags AssignmentFunctions
|
|
8689
|
+
* @name V1AssignmentfunctionsList
|
|
8690
|
+
* @summary Assignment function catalog
|
|
8691
|
+
* @request GET:/api/v1/assignmentfunctions
|
|
8567
8692
|
* @secure
|
|
8568
8693
|
*/
|
|
8569
|
-
|
|
8694
|
+
v1AssignmentfunctionsList: (params?: RequestParams) => Promise<HttpResponse<AssignmentFunctionItemResponse[], ApiError | ProblemDetails>>;
|
|
8570
8695
|
};
|
|
8571
8696
|
}
|
|
8572
8697
|
export {};
|