@firmenakte/api-client 2.3.1 → 2.7.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/client.d.ts +680 -71
- package/client.d.ts.map +1 -1
- package/client.js +264 -8
- package/index.d.ts +58 -36
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/keyfigure-labels.d.ts +14 -0
- package/keyfigure-labels.d.ts.map +1 -0
- package/keyfigure-labels.js +66 -0
- package/keyfigures.d.ts +0 -4
- package/keyfigures.d.ts.map +1 -1
- package/keyfigures.js +0 -15
- package/package.json +1 -1
package/client.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ export declare enum ChangeType {
|
|
|
7
7
|
Scheinunternehmen = "scheinunternehmen",
|
|
8
8
|
Unknown = "unknown"
|
|
9
9
|
}
|
|
10
|
+
/** The two files an export can produce. Same columns, same rows — only the serialiser differs. */
|
|
11
|
+
export declare enum BusinessExportFormat {
|
|
12
|
+
Csv = "Csv",
|
|
13
|
+
Xlsx = "Xlsx"
|
|
14
|
+
}
|
|
10
15
|
/** Error body of the responses written before the request reaches an endpoint (401, 429). */
|
|
11
16
|
export interface ApiError {
|
|
12
17
|
/** Human-readable description of what was rejected. */
|
|
@@ -249,6 +254,10 @@ export interface BusinessDetailResponse {
|
|
|
249
254
|
fnr?: string;
|
|
250
255
|
/** 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. */
|
|
251
256
|
euid?: string | null;
|
|
257
|
+
/** Umsatzsteuer-Identifikationsnummer (ATU + eight digits), as the webscraper last read it off the company's Impressum. Null when none is known. Not from the Firmenbuch: euid is the register's own identifier. */
|
|
258
|
+
uid?: string | null;
|
|
259
|
+
/** The company's URLs as the webscraper found them, its own site before its Impressum and the freshest first. Empty when none is known. */
|
|
260
|
+
websites?: BusinessWebsiteDto[];
|
|
252
261
|
/** Current company name as registered in the Firmenbuch, including the legal-form suffix. */
|
|
253
262
|
name?: string;
|
|
254
263
|
/** Business purpose (Geschäftszweig) as filed with the Firmenbuch, free text. Null when none is on file. */
|
|
@@ -297,6 +306,33 @@ export interface BusinessDetailResponse {
|
|
|
297
306
|
/** OENACE 2008 industry classifications assigned to the company. Filter by oenaceCode on /businesses; the catalogue is GET /oenace. */
|
|
298
307
|
oenaces?: OenaceDto[];
|
|
299
308
|
}
|
|
309
|
+
/** The eleven columns an export can carry, each on or off. The first nine are served by the company search, so an export is a projection of rows rather than a detail request per company; the two webscraper columns are read once for the whole export (#1270), never per company. */
|
|
310
|
+
export interface BusinessExportColumns {
|
|
311
|
+
/** Company name as registered. */
|
|
312
|
+
firmenname?: boolean;
|
|
313
|
+
/** Firmenbuchnummer. */
|
|
314
|
+
fnr?: boolean;
|
|
315
|
+
/** Whether the company is still active. */
|
|
316
|
+
aktiv?: boolean;
|
|
317
|
+
/** First registered address as one line. */
|
|
318
|
+
adresse?: boolean;
|
|
319
|
+
/** Legal form, spelled out. */
|
|
320
|
+
rechtsform?: boolean;
|
|
321
|
+
/** Primary OENACE 2008 classification as its numeric code. */
|
|
322
|
+
oenace?: boolean;
|
|
323
|
+
/** Latest balance-sheet total. */
|
|
324
|
+
bilanzsumme?: boolean;
|
|
325
|
+
/** Whether an Ediktsdatei notice is on file. */
|
|
326
|
+
edikt?: boolean;
|
|
327
|
+
/** Whether the company is on the BMF's Scheinunternehmen list. */
|
|
328
|
+
scheinunternehmen?: boolean;
|
|
329
|
+
/** The company's UID, as the webscraper last read it. Empty for a company none was found for. */
|
|
330
|
+
uid?: boolean;
|
|
331
|
+
/** The company's own site — the first URL in the website role. An Impressum URL is not one, so a company known only by its Impressum leaves this cell empty. */
|
|
332
|
+
website?: boolean;
|
|
333
|
+
/** True when the export would have no columns at all, which is not a file. */
|
|
334
|
+
none?: boolean;
|
|
335
|
+
}
|
|
300
336
|
export interface BusinessFacetGroup {
|
|
301
337
|
/** The group name, echoed back. */
|
|
302
338
|
group?: string;
|
|
@@ -509,6 +545,18 @@ export interface BusinessSummaryDto {
|
|
|
509
545
|
zipCode?: string | null;
|
|
510
546
|
isActive?: boolean;
|
|
511
547
|
}
|
|
548
|
+
/** One URL the webscraper found for a company, in one role. */
|
|
549
|
+
export interface BusinessWebsiteDto {
|
|
550
|
+
/** Absolute URL, host lower-cased, without a fragment. */
|
|
551
|
+
url?: string;
|
|
552
|
+
/** What the URL is to the company: website for its start page, impressum for the Impressum page the company data was read on. */
|
|
553
|
+
role?: string;
|
|
554
|
+
/**
|
|
555
|
+
* The day the URL was last seen naming this company. How fresh the entry is, not when the page itself changed.
|
|
556
|
+
* @format date
|
|
557
|
+
*/
|
|
558
|
+
lastSeen?: string;
|
|
559
|
+
}
|
|
512
560
|
/** Envelope for GET /api/v1/globalchanges/{id}. Exposes the resolved change type and the typed payload. */
|
|
513
561
|
export interface ChangeDetailResponse {
|
|
514
562
|
/** Discriminator: "business", "document", "edikt", "gisa", "scheinunternehmen", or "unknown". Read it before data. */
|
|
@@ -538,6 +586,15 @@ export interface CourtCatalogItemResponse {
|
|
|
538
586
|
/** @format int32 */
|
|
539
587
|
businessCount?: number;
|
|
540
588
|
}
|
|
589
|
+
/** A new Liste. Everything but the name is optional. */
|
|
590
|
+
export interface CreateListRequest {
|
|
591
|
+
/** Display name. Blank or missing becomes "Neue Liste". */
|
|
592
|
+
name?: string | null;
|
|
593
|
+
/** Icon key, or null for none. */
|
|
594
|
+
icon?: string | null;
|
|
595
|
+
/** Companies to start the Liste with, in the order they should appear. */
|
|
596
|
+
fnrs?: string[] | null;
|
|
597
|
+
}
|
|
541
598
|
export interface DocumentChange {
|
|
542
599
|
/** @format int64 */
|
|
543
600
|
id?: number;
|
|
@@ -574,6 +631,10 @@ export interface Edikt {
|
|
|
574
631
|
displayName?: string | null;
|
|
575
632
|
hinweis?: string | null;
|
|
576
633
|
ergaenzung?: string | null;
|
|
634
|
+
beschreibung?: string | null;
|
|
635
|
+
kategorie?: string | null;
|
|
636
|
+
transaktion?: string | null;
|
|
637
|
+
adresse?: string | null;
|
|
577
638
|
/** @format date */
|
|
578
639
|
bekanntmachungsDatum?: string;
|
|
579
640
|
/** @format date */
|
|
@@ -602,6 +663,31 @@ export interface EdiktChange {
|
|
|
602
663
|
/** Which register a change came from, and therefore which typed feed and payload it belongs to: "business" the Firmenbuch, "document" a newly filed document, "edikt" the Ediktsdatei, "gisa" the trade register, "scheinunternehmen" the BMF list. "unknown" is a change we could not classify. */
|
|
603
664
|
changeType?: ChangeType;
|
|
604
665
|
}
|
|
666
|
+
export interface EntityTagHeaderValue {
|
|
667
|
+
tag?: StringSegment;
|
|
668
|
+
isWeak?: boolean;
|
|
669
|
+
}
|
|
670
|
+
/** Which companies to export and in which shape. Exactly one source is read, in the order below: an explicit set of companies, a Liste, or a saved Abfrage. */
|
|
671
|
+
export interface ExportBusinessesRequest {
|
|
672
|
+
/** The companies to export, in the order the file should list them. At most 1000; more is refused rather than cut short. */
|
|
673
|
+
fnrs?: string[] | null;
|
|
674
|
+
/** A Liste of the calling account: its companies, in the order it holds them. Same 1000-company cap as an explicit set, over the FNRs the Liste stores. */
|
|
675
|
+
listId?: string | null;
|
|
676
|
+
/** A saved Abfrage of the calling account: the companies its filters match right now, ordered the way the search orders them. Capped at 1000 rows. */
|
|
677
|
+
queryId?: string | null;
|
|
678
|
+
/** The two files an export can produce. Same columns, same rows — only the serialiser differs. */
|
|
679
|
+
format?: BusinessExportFormat;
|
|
680
|
+
/** The eleven columns an export can carry, each on or off. The first nine are served by the company search, so an export is a projection of rows rather than a detail request per company; the two webscraper columns are read once for the whole export (#1270), never per company. */
|
|
681
|
+
columns?: BusinessExportColumns | null;
|
|
682
|
+
}
|
|
683
|
+
export interface FileResult {
|
|
684
|
+
contentType?: string | null;
|
|
685
|
+
fileDownloadName?: string | null;
|
|
686
|
+
/** @format date-time */
|
|
687
|
+
lastModified?: string | null;
|
|
688
|
+
entityTag?: EntityTagHeaderValue | null;
|
|
689
|
+
enableRangeProcessing?: boolean;
|
|
690
|
+
}
|
|
605
691
|
export interface GisaChange {
|
|
606
692
|
/** @format int64 */
|
|
607
693
|
id?: number;
|
|
@@ -673,8 +759,22 @@ export interface GlobalChange {
|
|
|
673
759
|
export interface GraphEdgeDto {
|
|
674
760
|
source?: string;
|
|
675
761
|
target?: string;
|
|
762
|
+
/** Whether the connection still holds today. An "assignment" edge is active while at least one of the person's functions at that company has no end date or ends in the future; a function that ended in the past makes it false. 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. */
|
|
676
763
|
isActive?: boolean;
|
|
764
|
+
/** "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". */
|
|
677
765
|
relationshipType?: string;
|
|
766
|
+
/**
|
|
767
|
+
* The shareholder's übernommene Stammeinlage. Null on any edge but "ownership", and on an ownership edge whose Firmenbuch entry carries no KAPITAL.
|
|
768
|
+
* @format double
|
|
769
|
+
*/
|
|
770
|
+
capitalAmount?: number | null;
|
|
771
|
+
/** The currency of CapitalAmount — ATS occurs in this data, not only EUR. */
|
|
772
|
+
currency?: string | null;
|
|
773
|
+
/**
|
|
774
|
+
* 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. Null everywhere else, including on every non-ownership edge.
|
|
775
|
+
* @format double
|
|
776
|
+
*/
|
|
777
|
+
sharePercent?: number | null;
|
|
678
778
|
}
|
|
679
779
|
export interface GraphNodeDto {
|
|
680
780
|
id?: string;
|
|
@@ -774,12 +874,7 @@ export interface GuvDto {
|
|
|
774
874
|
/** @format double */
|
|
775
875
|
aufloesungGewinnruecklagen?: number | null;
|
|
776
876
|
}
|
|
777
|
-
export
|
|
778
|
-
/** @format double */
|
|
779
|
-
min?: number | null;
|
|
780
|
-
/** @format double */
|
|
781
|
-
max?: number | null;
|
|
782
|
-
}
|
|
877
|
+
export type JsonDocument = any;
|
|
783
878
|
/** 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. */
|
|
784
879
|
export interface LegalForm {
|
|
785
880
|
/** Firmenbuch legal-form code, e.g. "AG" or "GMBH". The value legalFormCode takes. */
|
|
@@ -814,6 +909,32 @@ export interface LegalRecordDetailDto {
|
|
|
814
909
|
changeType?: string | null;
|
|
815
910
|
changes?: LegalRecordChangeDto[];
|
|
816
911
|
}
|
|
912
|
+
/** The companies to add to, or take off, a Liste. */
|
|
913
|
+
export interface ListMembersRequest {
|
|
914
|
+
/** Company numbers. An empty array is accepted and changes nothing. */
|
|
915
|
+
fnrs?: string[] | null;
|
|
916
|
+
}
|
|
917
|
+
/** A Liste: the companies one account watches, as the FNRs it holds. */
|
|
918
|
+
export interface ListResponse {
|
|
919
|
+
/** Stable id of the Liste. */
|
|
920
|
+
id: string;
|
|
921
|
+
/** What the account called it. */
|
|
922
|
+
name: string;
|
|
923
|
+
/** Icon key for the Liste, or null where it has none. */
|
|
924
|
+
icon?: string | null;
|
|
925
|
+
/** The companies on the Liste, in the order they were added. */
|
|
926
|
+
fnrs: string[];
|
|
927
|
+
/** Companies that were taken off again; re-adding one lifts it back out of here. */
|
|
928
|
+
removedFnrs: string[];
|
|
929
|
+
settings: JsonDocument;
|
|
930
|
+
}
|
|
931
|
+
/** The ranked suggestions of one term, split back into the two lists the filter renders. The two together are one ranking, not two: top caps their combined length. */
|
|
932
|
+
export interface LocationSuggestionsResponse {
|
|
933
|
+
/** ZIP+city suggestions, best first. */
|
|
934
|
+
locations?: AddressLocationResponse[];
|
|
935
|
+
/** Whole-city suggestions, best first. */
|
|
936
|
+
cities?: CityResponse[];
|
|
937
|
+
}
|
|
817
938
|
export interface OenaceCatalogItemResponse {
|
|
818
939
|
edvCode?: string;
|
|
819
940
|
code?: string;
|
|
@@ -846,7 +967,7 @@ export interface PagedResponseOfAddressLocationResponse {
|
|
|
846
967
|
*/
|
|
847
968
|
pageSize: number;
|
|
848
969
|
/**
|
|
849
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
970
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
850
971
|
* @format int32
|
|
851
972
|
*/
|
|
852
973
|
totalRecords: number;
|
|
@@ -871,7 +992,7 @@ export interface PagedResponseOfBusinessChange {
|
|
|
871
992
|
*/
|
|
872
993
|
pageSize: number;
|
|
873
994
|
/**
|
|
874
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
995
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
875
996
|
* @format int32
|
|
876
997
|
*/
|
|
877
998
|
totalRecords: number;
|
|
@@ -896,7 +1017,7 @@ export interface PagedResponseOfBusinessListResponse {
|
|
|
896
1017
|
*/
|
|
897
1018
|
pageSize: number;
|
|
898
1019
|
/**
|
|
899
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1020
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
900
1021
|
* @format int32
|
|
901
1022
|
*/
|
|
902
1023
|
totalRecords: number;
|
|
@@ -921,7 +1042,7 @@ export interface PagedResponseOfCityResponse {
|
|
|
921
1042
|
*/
|
|
922
1043
|
pageSize: number;
|
|
923
1044
|
/**
|
|
924
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1045
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
925
1046
|
* @format int32
|
|
926
1047
|
*/
|
|
927
1048
|
totalRecords: number;
|
|
@@ -946,7 +1067,7 @@ export interface PagedResponseOfCourtCatalogItemResponse {
|
|
|
946
1067
|
*/
|
|
947
1068
|
pageSize: number;
|
|
948
1069
|
/**
|
|
949
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1070
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
950
1071
|
* @format int32
|
|
951
1072
|
*/
|
|
952
1073
|
totalRecords: number;
|
|
@@ -971,7 +1092,7 @@ export interface PagedResponseOfDocumentChange {
|
|
|
971
1092
|
*/
|
|
972
1093
|
pageSize: number;
|
|
973
1094
|
/**
|
|
974
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1095
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
975
1096
|
* @format int32
|
|
976
1097
|
*/
|
|
977
1098
|
totalRecords: number;
|
|
@@ -996,7 +1117,7 @@ export interface PagedResponseOfEdiktChange {
|
|
|
996
1117
|
*/
|
|
997
1118
|
pageSize: number;
|
|
998
1119
|
/**
|
|
999
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1120
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1000
1121
|
* @format int32
|
|
1001
1122
|
*/
|
|
1002
1123
|
totalRecords: number;
|
|
@@ -1021,7 +1142,7 @@ export interface PagedResponseOfGisaChange {
|
|
|
1021
1142
|
*/
|
|
1022
1143
|
pageSize: number;
|
|
1023
1144
|
/**
|
|
1024
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1145
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1025
1146
|
* @format int32
|
|
1026
1147
|
*/
|
|
1027
1148
|
totalRecords: number;
|
|
@@ -1046,7 +1167,7 @@ export interface PagedResponseOfGisaLicense {
|
|
|
1046
1167
|
*/
|
|
1047
1168
|
pageSize: number;
|
|
1048
1169
|
/**
|
|
1049
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1170
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1050
1171
|
* @format int32
|
|
1051
1172
|
*/
|
|
1052
1173
|
totalRecords: number;
|
|
@@ -1071,7 +1192,7 @@ export interface PagedResponseOfGlobalChange {
|
|
|
1071
1192
|
*/
|
|
1072
1193
|
pageSize: number;
|
|
1073
1194
|
/**
|
|
1074
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1195
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1075
1196
|
* @format int32
|
|
1076
1197
|
*/
|
|
1077
1198
|
totalRecords: number;
|
|
@@ -1096,7 +1217,7 @@ export interface PagedResponseOfLegalFormCatalogItemResponse {
|
|
|
1096
1217
|
*/
|
|
1097
1218
|
pageSize: number;
|
|
1098
1219
|
/**
|
|
1099
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1220
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1100
1221
|
* @format int32
|
|
1101
1222
|
*/
|
|
1102
1223
|
totalRecords: number;
|
|
@@ -1121,7 +1242,7 @@ export interface PagedResponseOfOenaceCatalogItemResponse {
|
|
|
1121
1242
|
*/
|
|
1122
1243
|
pageSize: number;
|
|
1123
1244
|
/**
|
|
1124
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1245
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1125
1246
|
* @format int32
|
|
1126
1247
|
*/
|
|
1127
1248
|
totalRecords: number;
|
|
@@ -1146,7 +1267,7 @@ export interface PagedResponseOfPerson {
|
|
|
1146
1267
|
*/
|
|
1147
1268
|
pageSize: number;
|
|
1148
1269
|
/**
|
|
1149
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1270
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1150
1271
|
* @format int32
|
|
1151
1272
|
*/
|
|
1152
1273
|
totalRecords: number;
|
|
@@ -1171,7 +1292,7 @@ export interface PagedResponseOfTradeCatalogItemResponse {
|
|
|
1171
1292
|
*/
|
|
1172
1293
|
pageSize: number;
|
|
1173
1294
|
/**
|
|
1174
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1295
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1175
1296
|
* @format int32
|
|
1176
1297
|
*/
|
|
1177
1298
|
totalRecords: number;
|
|
@@ -1196,7 +1317,7 @@ export interface PagedResponseOfZipCodeResponse {
|
|
|
1196
1317
|
*/
|
|
1197
1318
|
pageSize: number;
|
|
1198
1319
|
/**
|
|
1199
|
-
* Total number of rows matching the filters, across all pages — not the length of data.
|
|
1320
|
+
* Total number of rows matching the filters, across all pages — not the length of data. The change feeds count it only as far as page reaches — 1000 × pageSize — where that exact value means "at least this many".
|
|
1200
1321
|
* @format int32
|
|
1201
1322
|
*/
|
|
1202
1323
|
totalRecords: number;
|
|
@@ -1304,6 +1425,24 @@ export interface ProblemDetails {
|
|
|
1304
1425
|
/** Validation failures per field; present only on a model validation 400. */
|
|
1305
1426
|
errors?: Record<string, string[]> | null;
|
|
1306
1427
|
}
|
|
1428
|
+
/** A saved Abfrage: one filter set an account kept, to run again later. */
|
|
1429
|
+
export interface QueryResponse {
|
|
1430
|
+
/** Stable id of the Abfrage. */
|
|
1431
|
+
id: string;
|
|
1432
|
+
/** Icon key for the Abfrage, or null where it has none. */
|
|
1433
|
+
icon?: string | null;
|
|
1434
|
+
query: JsonDocument;
|
|
1435
|
+
/**
|
|
1436
|
+
* How many companies matched when the Abfrage was last saved. A snapshot: it is not recomputed on read and may have drifted.
|
|
1437
|
+
* @format int32
|
|
1438
|
+
*/
|
|
1439
|
+
resultCount?: number | null;
|
|
1440
|
+
/**
|
|
1441
|
+
* When the Abfrage was last written, UTC. The Suchverlauf sorts on it.
|
|
1442
|
+
* @format date-time
|
|
1443
|
+
*/
|
|
1444
|
+
updatedAt: string;
|
|
1445
|
+
}
|
|
1307
1446
|
/** Request to resolve company names to FNRs by exact match (1:1). Used for CSV import. */
|
|
1308
1447
|
export interface ResolveBusinessNamesRequest {
|
|
1309
1448
|
/** Company names to resolve (trimmed, distinct, max 500). Order is preserved in the response. */
|
|
@@ -1318,6 +1457,17 @@ export interface ResolveBusinessNamesResultItem {
|
|
|
1318
1457
|
name?: string;
|
|
1319
1458
|
fnr?: string | null;
|
|
1320
1459
|
}
|
|
1460
|
+
/** An Abfrage to keep: the filters, and what they matched when they ran. */
|
|
1461
|
+
export interface SaveQueryRequest {
|
|
1462
|
+
query?: JsonDocument | null;
|
|
1463
|
+
/**
|
|
1464
|
+
* How many companies the filters matched. Omit it where the count could not be determined — a missing count leaves the one the Abfrage already carries alone rather than erasing it.
|
|
1465
|
+
* @format int32
|
|
1466
|
+
*/
|
|
1467
|
+
resultCount?: number | null;
|
|
1468
|
+
/** The Abfrage being edited. Sending it pins the row that is written, so an edit that changes the filters into another Abfrage's still updates this one instead of merging into that. Without it, a save that filters for the same companies as an existing Abfrage updates that one, which is what keeps throwaway searches out of the Suchverlauf. */
|
|
1469
|
+
updateId?: string | null;
|
|
1470
|
+
}
|
|
1321
1471
|
/** One entry from the BMF LSU (Scheinunternehmen) RSS feed. Company entries have Fnr; natural-person entries have PersonId. */
|
|
1322
1472
|
export interface ScheinunternehmenKundmachung {
|
|
1323
1473
|
/** @format int64 */
|
|
@@ -1362,6 +1512,28 @@ export interface ScheinunternehmenKundmachungDto {
|
|
|
1362
1512
|
/** @format date-time */
|
|
1363
1513
|
zeitpunktAlsScheinunternehmen?: string | null;
|
|
1364
1514
|
}
|
|
1515
|
+
/** One suggestion: a company or a person, whichever type names. The other property is null. */
|
|
1516
|
+
export interface SearchItemResponse {
|
|
1517
|
+
/** "business" or "person". */
|
|
1518
|
+
type?: string;
|
|
1519
|
+
/** One company as it appears in a list or on the map — the subset of the Firmenakte that a screening result needs. Fetch the rest with GET /businesses/{fnr}. */
|
|
1520
|
+
business?: BusinessListResponse | null;
|
|
1521
|
+
person?: Person | null;
|
|
1522
|
+
}
|
|
1523
|
+
/** Companies and people for one term, ranked into a single list. */
|
|
1524
|
+
export interface SearchResponse {
|
|
1525
|
+
/** The suggestions, best first. */
|
|
1526
|
+
data?: SearchItemResponse[];
|
|
1527
|
+
}
|
|
1528
|
+
export interface StringSegment {
|
|
1529
|
+
buffer?: string | null;
|
|
1530
|
+
/** @format int32 */
|
|
1531
|
+
offset?: number;
|
|
1532
|
+
/** @format int32 */
|
|
1533
|
+
length?: number;
|
|
1534
|
+
value?: string | null;
|
|
1535
|
+
hasValue?: boolean;
|
|
1536
|
+
}
|
|
1365
1537
|
export interface TradeCatalogItemResponse {
|
|
1366
1538
|
/** @format int32 */
|
|
1367
1539
|
licenseKey?: number;
|
|
@@ -1369,12 +1541,233 @@ export interface TradeCatalogItemResponse {
|
|
|
1369
1541
|
/** @format int32 */
|
|
1370
1542
|
companyCount?: number;
|
|
1371
1543
|
}
|
|
1544
|
+
/** A partial update of a Liste: every field is optional and only the ones sent are written. "Sent" is the property being present in the body, which is not the same as it being non-null — {"icon": null} clears the icon while an omitted icon leaves it alone. System.Text.Json calls a setter only for a property the body carries, so each setter records that it was called; a nullable property alone could not tell the two apart. */
|
|
1545
|
+
export interface UpdateListRequest {
|
|
1546
|
+
/** New display name. */
|
|
1547
|
+
name?: string | null;
|
|
1548
|
+
/** New icon key, or null to clear it. */
|
|
1549
|
+
icon?: string | null;
|
|
1550
|
+
/** The companies on the Liste, replacing the current set. */
|
|
1551
|
+
fnrs?: string[] | null;
|
|
1552
|
+
/** The companies taken off the Liste, replacing the current set. */
|
|
1553
|
+
removedFnrs?: string[] | null;
|
|
1554
|
+
settings?: JsonDocument | null;
|
|
1555
|
+
}
|
|
1372
1556
|
export interface ZipCodeResponse {
|
|
1373
1557
|
zipCode?: string;
|
|
1374
1558
|
/** @format int32 */
|
|
1375
1559
|
businessCount?: number;
|
|
1376
1560
|
}
|
|
1377
1561
|
export declare namespace Api {
|
|
1562
|
+
/**
|
|
1563
|
+
* @description Every saved Abfrage of the calling account, newest first.
|
|
1564
|
+
* @tags Queries
|
|
1565
|
+
* @name V1QueriesList
|
|
1566
|
+
* @summary Your Abfragen
|
|
1567
|
+
* @request GET:/api/v1/queries
|
|
1568
|
+
* @secure
|
|
1569
|
+
*/
|
|
1570
|
+
namespace V1QueriesList {
|
|
1571
|
+
type RequestParams = {};
|
|
1572
|
+
type RequestQuery = {};
|
|
1573
|
+
type RequestBody = never;
|
|
1574
|
+
type RequestHeaders = {};
|
|
1575
|
+
type ResponseBody = QueryResponse[];
|
|
1576
|
+
}
|
|
1577
|
+
/**
|
|
1578
|
+
* @description Keeps a filter set. A save whose filters match an Abfrage the account already has updates that one instead of adding a second — pass updateId to pin the row being edited.
|
|
1579
|
+
* @tags Queries
|
|
1580
|
+
* @name V1QueriesCreate
|
|
1581
|
+
* @summary Save an Abfrage
|
|
1582
|
+
* @request POST:/api/v1/queries
|
|
1583
|
+
* @secure
|
|
1584
|
+
*/
|
|
1585
|
+
namespace V1QueriesCreate {
|
|
1586
|
+
type RequestParams = {};
|
|
1587
|
+
type RequestQuery = {};
|
|
1588
|
+
type RequestBody = SaveQueryRequest;
|
|
1589
|
+
type RequestHeaders = {};
|
|
1590
|
+
type ResponseBody = QueryResponse;
|
|
1591
|
+
}
|
|
1592
|
+
/**
|
|
1593
|
+
* @description The saved Abfrage with this id, when it belongs to the calling account.
|
|
1594
|
+
* @tags Queries
|
|
1595
|
+
* @name V1QueriesDetail
|
|
1596
|
+
* @summary One Abfrage
|
|
1597
|
+
* @request GET:/api/v1/queries/{id}
|
|
1598
|
+
* @secure
|
|
1599
|
+
*/
|
|
1600
|
+
namespace V1QueriesDetail {
|
|
1601
|
+
type RequestParams = {
|
|
1602
|
+
id: string;
|
|
1603
|
+
};
|
|
1604
|
+
type RequestQuery = {};
|
|
1605
|
+
type RequestBody = never;
|
|
1606
|
+
type RequestHeaders = {};
|
|
1607
|
+
type ResponseBody = QueryResponse;
|
|
1608
|
+
}
|
|
1609
|
+
/**
|
|
1610
|
+
* @description Removes one saved Abfrage from the Suchverlauf.
|
|
1611
|
+
* @tags Queries
|
|
1612
|
+
* @name V1QueriesDelete
|
|
1613
|
+
* @summary Delete an Abfrage
|
|
1614
|
+
* @request DELETE:/api/v1/queries/{id}
|
|
1615
|
+
* @secure
|
|
1616
|
+
*/
|
|
1617
|
+
namespace V1QueriesDelete {
|
|
1618
|
+
type RequestParams = {
|
|
1619
|
+
id: string;
|
|
1620
|
+
};
|
|
1621
|
+
type RequestQuery = {};
|
|
1622
|
+
type RequestBody = never;
|
|
1623
|
+
type RequestHeaders = {};
|
|
1624
|
+
type ResponseBody = void;
|
|
1625
|
+
}
|
|
1626
|
+
/**
|
|
1627
|
+
* @description Deletes every saved Abfrage of the calling account.
|
|
1628
|
+
* @tags Queries
|
|
1629
|
+
* @name V1QueriesAllDelete
|
|
1630
|
+
* @summary Clear the Suchverlauf
|
|
1631
|
+
* @request DELETE:/api/v1/queries/all
|
|
1632
|
+
* @secure
|
|
1633
|
+
*/
|
|
1634
|
+
namespace V1QueriesAllDelete {
|
|
1635
|
+
type RequestParams = {};
|
|
1636
|
+
type RequestQuery = {};
|
|
1637
|
+
type RequestBody = never;
|
|
1638
|
+
type RequestHeaders = {};
|
|
1639
|
+
type ResponseBody = void;
|
|
1640
|
+
}
|
|
1641
|
+
/**
|
|
1642
|
+
* @description Every Liste of the calling account, oldest first.
|
|
1643
|
+
* @tags Lists
|
|
1644
|
+
* @name V1ListsList
|
|
1645
|
+
* @summary Your Listen
|
|
1646
|
+
* @request GET:/api/v1/lists
|
|
1647
|
+
* @secure
|
|
1648
|
+
*/
|
|
1649
|
+
namespace V1ListsList {
|
|
1650
|
+
type RequestParams = {};
|
|
1651
|
+
type RequestQuery = {};
|
|
1652
|
+
type RequestBody = never;
|
|
1653
|
+
type RequestHeaders = {};
|
|
1654
|
+
type ResponseBody = ListResponse[];
|
|
1655
|
+
}
|
|
1656
|
+
/**
|
|
1657
|
+
* @description Creates an empty Liste, or one already holding the companies you pass.
|
|
1658
|
+
* @tags Lists
|
|
1659
|
+
* @name V1ListsCreate
|
|
1660
|
+
* @summary Create a Liste
|
|
1661
|
+
* @request POST:/api/v1/lists
|
|
1662
|
+
* @secure
|
|
1663
|
+
*/
|
|
1664
|
+
namespace V1ListsCreate {
|
|
1665
|
+
type RequestParams = {};
|
|
1666
|
+
type RequestQuery = {};
|
|
1667
|
+
type RequestBody = CreateListRequest;
|
|
1668
|
+
type RequestHeaders = {};
|
|
1669
|
+
type ResponseBody = ListResponse;
|
|
1670
|
+
}
|
|
1671
|
+
/**
|
|
1672
|
+
* @description The Liste with this id, when it belongs to the calling account.
|
|
1673
|
+
* @tags Lists
|
|
1674
|
+
* @name V1ListsDetail
|
|
1675
|
+
* @summary One Liste
|
|
1676
|
+
* @request GET:/api/v1/lists/{id}
|
|
1677
|
+
* @secure
|
|
1678
|
+
*/
|
|
1679
|
+
namespace V1ListsDetail {
|
|
1680
|
+
type RequestParams = {
|
|
1681
|
+
id: string;
|
|
1682
|
+
};
|
|
1683
|
+
type RequestQuery = {};
|
|
1684
|
+
type RequestBody = never;
|
|
1685
|
+
type RequestHeaders = {};
|
|
1686
|
+
type ResponseBody = ListResponse;
|
|
1687
|
+
}
|
|
1688
|
+
/**
|
|
1689
|
+
* @description A partial update: only the fields the body carries are written, and settings are merged into the stored ones rather than replacing them.
|
|
1690
|
+
* @tags Lists
|
|
1691
|
+
* @name V1ListsPartialUpdate
|
|
1692
|
+
* @summary Update a Liste
|
|
1693
|
+
* @request PATCH:/api/v1/lists/{id}
|
|
1694
|
+
* @secure
|
|
1695
|
+
*/
|
|
1696
|
+
namespace V1ListsPartialUpdate {
|
|
1697
|
+
type RequestParams = {
|
|
1698
|
+
id: string;
|
|
1699
|
+
};
|
|
1700
|
+
type RequestQuery = {};
|
|
1701
|
+
type RequestBody = UpdateListRequest;
|
|
1702
|
+
type RequestHeaders = {};
|
|
1703
|
+
type ResponseBody = ListResponse;
|
|
1704
|
+
}
|
|
1705
|
+
/**
|
|
1706
|
+
* @description Deletes the Liste. The companies on it are not touched anywhere else.
|
|
1707
|
+
* @tags Lists
|
|
1708
|
+
* @name V1ListsDelete
|
|
1709
|
+
* @summary Delete a Liste
|
|
1710
|
+
* @request DELETE:/api/v1/lists/{id}
|
|
1711
|
+
* @secure
|
|
1712
|
+
*/
|
|
1713
|
+
namespace V1ListsDelete {
|
|
1714
|
+
type RequestParams = {
|
|
1715
|
+
id: string;
|
|
1716
|
+
};
|
|
1717
|
+
type RequestQuery = {};
|
|
1718
|
+
type RequestBody = never;
|
|
1719
|
+
type RequestHeaders = {};
|
|
1720
|
+
type ResponseBody = void;
|
|
1721
|
+
}
|
|
1722
|
+
/**
|
|
1723
|
+
* @description Appends the companies that are not on it yet, keeping the order of the ones that are. A company that had been taken off comes back off the removed set.
|
|
1724
|
+
* @tags Lists
|
|
1725
|
+
* @name V1ListsAddCreate
|
|
1726
|
+
* @summary Add companies to a Liste
|
|
1727
|
+
* @request POST:/api/v1/lists/{id}/add
|
|
1728
|
+
* @secure
|
|
1729
|
+
*/
|
|
1730
|
+
namespace V1ListsAddCreate {
|
|
1731
|
+
type RequestParams = {
|
|
1732
|
+
id: string;
|
|
1733
|
+
};
|
|
1734
|
+
type RequestQuery = {};
|
|
1735
|
+
type RequestBody = ListMembersRequest;
|
|
1736
|
+
type RequestHeaders = {};
|
|
1737
|
+
type ResponseBody = ListResponse;
|
|
1738
|
+
}
|
|
1739
|
+
/**
|
|
1740
|
+
* @description Takes the companies off the Liste and records them as removed.
|
|
1741
|
+
* @tags Lists
|
|
1742
|
+
* @name V1ListsRemoveCreate
|
|
1743
|
+
* @summary Remove companies from a Liste
|
|
1744
|
+
* @request POST:/api/v1/lists/{id}/remove
|
|
1745
|
+
* @secure
|
|
1746
|
+
*/
|
|
1747
|
+
namespace V1ListsRemoveCreate {
|
|
1748
|
+
type RequestParams = {
|
|
1749
|
+
id: string;
|
|
1750
|
+
};
|
|
1751
|
+
type RequestQuery = {};
|
|
1752
|
+
type RequestBody = ListMembersRequest;
|
|
1753
|
+
type RequestHeaders = {};
|
|
1754
|
+
type ResponseBody = ListResponse;
|
|
1755
|
+
}
|
|
1756
|
+
/**
|
|
1757
|
+
* @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.
|
|
1758
|
+
* @tags Exports
|
|
1759
|
+
* @name V1ExportsBusinessesCreate
|
|
1760
|
+
* @summary Export companies
|
|
1761
|
+
* @request POST:/api/v1/exports/businesses
|
|
1762
|
+
* @secure
|
|
1763
|
+
*/
|
|
1764
|
+
namespace V1ExportsBusinessesCreate {
|
|
1765
|
+
type RequestParams = {};
|
|
1766
|
+
type RequestQuery = {};
|
|
1767
|
+
type RequestBody = ExportBusinessesRequest;
|
|
1768
|
+
type RequestHeaders = {};
|
|
1769
|
+
type ResponseBody = FileResult;
|
|
1770
|
+
}
|
|
1378
1771
|
/**
|
|
1379
1772
|
* @description Downloads the signed GISA PDF extract for a license (GISA-Zahl). Language defaults to German (De).
|
|
1380
1773
|
* @tags Trades
|
|
@@ -1500,7 +1893,7 @@ export declare namespace Api {
|
|
|
1500
1893
|
type ResponseBody = GisaChange;
|
|
1501
1894
|
}
|
|
1502
1895
|
/**
|
|
1503
|
-
* @description Feed of GISA changes — one entry per change to a company's trade licences. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
1896
|
+
* @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.
|
|
1504
1897
|
* @tags Trades
|
|
1505
1898
|
* @name V1TradesChangesList
|
|
1506
1899
|
* @summary GISA change feed
|
|
@@ -1541,6 +1934,31 @@ export declare namespace Api {
|
|
|
1541
1934
|
type RequestHeaders = {};
|
|
1542
1935
|
type ResponseBody = PagedResponseOfGisaChange;
|
|
1543
1936
|
}
|
|
1937
|
+
/**
|
|
1938
|
+
* @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.
|
|
1939
|
+
* @tags Search
|
|
1940
|
+
* @name V1SearchList
|
|
1941
|
+
* @summary Companies and people in one ranked list
|
|
1942
|
+
* @request GET:/api/v1/search
|
|
1943
|
+
* @secure
|
|
1944
|
+
*/
|
|
1945
|
+
namespace V1SearchList {
|
|
1946
|
+
type RequestParams = {};
|
|
1947
|
+
type RequestQuery = {
|
|
1948
|
+
/** The term. Empty answers an empty list — this endpoint suggests, it does not list. */
|
|
1949
|
+
search?: string;
|
|
1950
|
+
/**
|
|
1951
|
+
* 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.
|
|
1952
|
+
* @format int32
|
|
1953
|
+
* @min 1
|
|
1954
|
+
* @max 100
|
|
1955
|
+
*/
|
|
1956
|
+
pageSize?: number;
|
|
1957
|
+
};
|
|
1958
|
+
type RequestBody = never;
|
|
1959
|
+
type RequestHeaders = {};
|
|
1960
|
+
type ResponseBody = SearchResponse;
|
|
1961
|
+
}
|
|
1544
1962
|
/**
|
|
1545
1963
|
* @description Returns (id, name) pairs for all people with at least one business assignment. For client-side name index.
|
|
1546
1964
|
* @tags People
|
|
@@ -1695,7 +2113,7 @@ export declare namespace Api {
|
|
|
1695
2113
|
type ResponseBody = PagedResponseOfLegalFormCatalogItemResponse;
|
|
1696
2114
|
}
|
|
1697
2115
|
/**
|
|
1698
|
-
* @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.
|
|
2116
|
+
* @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.
|
|
1699
2117
|
* @tags Graph
|
|
1700
2118
|
* @name V1GraphList
|
|
1701
2119
|
* @summary Relationship graph
|
|
@@ -1715,7 +2133,7 @@ export declare namespace Api {
|
|
|
1715
2133
|
type ResponseBody = GraphResponse;
|
|
1716
2134
|
}
|
|
1717
2135
|
/**
|
|
1718
|
-
* @description The single feed of every change across all registers — Firmenbuch, GISA, Ediktsdatei and the BMF Scheinunternehmen list — as lightweight reference rows. Each row carries only id, fnr, changeType and the dates; fetch the payload with GET /globalchanges/{id}, or poll one register's typed feed instead (/businesses/changes, /documents/changes, /edikte/changes, /trades/changes). Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id.
|
|
2136
|
+
* @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.
|
|
1719
2137
|
* @tags GlobalChanges
|
|
1720
2138
|
* @name V1GlobalchangesList
|
|
1721
2139
|
* @summary All-register change feed
|
|
@@ -1822,7 +2240,7 @@ export declare namespace Api {
|
|
|
1822
2240
|
type ResponseBody = EdiktChange;
|
|
1823
2241
|
}
|
|
1824
2242
|
/**
|
|
1825
|
-
* @description Feed of Ediktsdatei changes — insolvency and other court notices published about a company or a person. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the publication date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss an insolvency notice resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
2243
|
+
* @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.
|
|
1826
2244
|
* @tags Edikte
|
|
1827
2245
|
* @name V1EdikteChangesList
|
|
1828
2246
|
* @summary Ediktsdatei change feed
|
|
@@ -1899,7 +2317,7 @@ export declare namespace Api {
|
|
|
1899
2317
|
type ResponseBody = DocumentChange;
|
|
1900
2318
|
}
|
|
1901
2319
|
/**
|
|
1902
|
-
* @description Feed of newly filed Firmenbuch documents — this is how you learn that a company has published a new Jahresabschluss. Each entry names a documentKey; fetch the file itself with GET /documents/download/{documentKey}. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the document date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
2320
|
+
* @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.
|
|
1903
2321
|
* @tags Documents
|
|
1904
2322
|
* @name V1DocumentsChangesList
|
|
1905
2323
|
* @summary Document change feed
|
|
@@ -3739,7 +4157,7 @@ export declare namespace Api {
|
|
|
3739
4157
|
type ResponseBody = BusinessFacetsResponse;
|
|
3740
4158
|
}
|
|
3741
4159
|
/**
|
|
3742
|
-
* @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
|
|
4160
|
+
* @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.
|
|
3743
4161
|
* @tags Businesses
|
|
3744
4162
|
* @name V1BusinessesMapTopList
|
|
3745
4163
|
* @summary Top company per Bundesland or city
|
|
@@ -4361,7 +4779,7 @@ export declare namespace Api {
|
|
|
4361
4779
|
type ResponseBody = BusinessChange;
|
|
4362
4780
|
}
|
|
4363
4781
|
/**
|
|
4364
|
-
* @description Feed of Firmenbuch changes — one entry per new legal record (Eintragung). Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate — so a back-dated entry is not missed — and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses. Use GET /globalchanges for the same feed across all four registers.
|
|
4782
|
+
* @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.
|
|
4365
4783
|
* @tags Businesses
|
|
4366
4784
|
* @name V1BusinessesChangesList
|
|
4367
4785
|
* @summary Firmenbuch change feed
|
|
@@ -4479,6 +4897,29 @@ export declare namespace Api {
|
|
|
4479
4897
|
type RequestHeaders = {};
|
|
4480
4898
|
type ResponseBody = PagedResponseOfCityResponse;
|
|
4481
4899
|
}
|
|
4900
|
+
/**
|
|
4901
|
+
* @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.
|
|
4902
|
+
* @tags Addresses
|
|
4903
|
+
* @name V1AddressesSuggestList
|
|
4904
|
+
* @summary Location autocomplete
|
|
4905
|
+
* @request GET:/api/v1/addresses/suggest
|
|
4906
|
+
* @secure
|
|
4907
|
+
*/
|
|
4908
|
+
namespace V1AddressesSuggestList {
|
|
4909
|
+
type RequestParams = {};
|
|
4910
|
+
type RequestQuery = {
|
|
4911
|
+
/** The term to rank against. Shorter than two characters it is ignored entirely and the biggest groups come back instead. */
|
|
4912
|
+
search?: string;
|
|
4913
|
+
/**
|
|
4914
|
+
* How many suggestions to answer, across both lists; defaults to 10 when omitted.
|
|
4915
|
+
* @format int32
|
|
4916
|
+
*/
|
|
4917
|
+
top?: number;
|
|
4918
|
+
};
|
|
4919
|
+
type RequestBody = never;
|
|
4920
|
+
type RequestHeaders = {};
|
|
4921
|
+
type ResponseBody = LocationSuggestionsResponse;
|
|
4922
|
+
}
|
|
4482
4923
|
/**
|
|
4483
4924
|
* @description Returns unique zip codes from addresses with pagination and optional search.
|
|
4484
4925
|
* @tags Addresses
|
|
@@ -4577,6 +5018,136 @@ export declare class HttpClient<SecurityDataType = unknown> {
|
|
|
4577
5018
|
*/
|
|
4578
5019
|
export declare class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> {
|
|
4579
5020
|
api: {
|
|
5021
|
+
/**
|
|
5022
|
+
* @description Every saved Abfrage of the calling account, newest first.
|
|
5023
|
+
*
|
|
5024
|
+
* @tags Queries
|
|
5025
|
+
* @name V1QueriesList
|
|
5026
|
+
* @summary Your Abfragen
|
|
5027
|
+
* @request GET:/api/v1/queries
|
|
5028
|
+
* @secure
|
|
5029
|
+
*/
|
|
5030
|
+
v1QueriesList: (params?: RequestParams) => Promise<HttpResponse<QueryResponse[], ApiError | ProblemDetails>>;
|
|
5031
|
+
/**
|
|
5032
|
+
* @description Keeps a filter set. A save whose filters match an Abfrage the account already has updates that one instead of adding a second — pass updateId to pin the row being edited.
|
|
5033
|
+
*
|
|
5034
|
+
* @tags Queries
|
|
5035
|
+
* @name V1QueriesCreate
|
|
5036
|
+
* @summary Save an Abfrage
|
|
5037
|
+
* @request POST:/api/v1/queries
|
|
5038
|
+
* @secure
|
|
5039
|
+
*/
|
|
5040
|
+
v1QueriesCreate: (data: SaveQueryRequest, params?: RequestParams) => Promise<HttpResponse<QueryResponse, ApiError | ProblemDetails>>;
|
|
5041
|
+
/**
|
|
5042
|
+
* @description The saved Abfrage with this id, when it belongs to the calling account.
|
|
5043
|
+
*
|
|
5044
|
+
* @tags Queries
|
|
5045
|
+
* @name V1QueriesDetail
|
|
5046
|
+
* @summary One Abfrage
|
|
5047
|
+
* @request GET:/api/v1/queries/{id}
|
|
5048
|
+
* @secure
|
|
5049
|
+
*/
|
|
5050
|
+
v1QueriesDetail: (id: string, params?: RequestParams) => Promise<HttpResponse<QueryResponse, ApiError | ProblemDetails>>;
|
|
5051
|
+
/**
|
|
5052
|
+
* @description Removes one saved Abfrage from the Suchverlauf.
|
|
5053
|
+
*
|
|
5054
|
+
* @tags Queries
|
|
5055
|
+
* @name V1QueriesDelete
|
|
5056
|
+
* @summary Delete an Abfrage
|
|
5057
|
+
* @request DELETE:/api/v1/queries/{id}
|
|
5058
|
+
* @secure
|
|
5059
|
+
*/
|
|
5060
|
+
v1QueriesDelete: (id: string, params?: RequestParams) => Promise<HttpResponse<void, ApiError | ProblemDetails>>;
|
|
5061
|
+
/**
|
|
5062
|
+
* @description Deletes every saved Abfrage of the calling account.
|
|
5063
|
+
*
|
|
5064
|
+
* @tags Queries
|
|
5065
|
+
* @name V1QueriesAllDelete
|
|
5066
|
+
* @summary Clear the Suchverlauf
|
|
5067
|
+
* @request DELETE:/api/v1/queries/all
|
|
5068
|
+
* @secure
|
|
5069
|
+
*/
|
|
5070
|
+
v1QueriesAllDelete: (params?: RequestParams) => Promise<HttpResponse<void, ApiError | ProblemDetails>>;
|
|
5071
|
+
/**
|
|
5072
|
+
* @description Every Liste of the calling account, oldest first.
|
|
5073
|
+
*
|
|
5074
|
+
* @tags Lists
|
|
5075
|
+
* @name V1ListsList
|
|
5076
|
+
* @summary Your Listen
|
|
5077
|
+
* @request GET:/api/v1/lists
|
|
5078
|
+
* @secure
|
|
5079
|
+
*/
|
|
5080
|
+
v1ListsList: (params?: RequestParams) => Promise<HttpResponse<ListResponse[], ApiError | ProblemDetails>>;
|
|
5081
|
+
/**
|
|
5082
|
+
* @description Creates an empty Liste, or one already holding the companies you pass.
|
|
5083
|
+
*
|
|
5084
|
+
* @tags Lists
|
|
5085
|
+
* @name V1ListsCreate
|
|
5086
|
+
* @summary Create a Liste
|
|
5087
|
+
* @request POST:/api/v1/lists
|
|
5088
|
+
* @secure
|
|
5089
|
+
*/
|
|
5090
|
+
v1ListsCreate: (data: CreateListRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5091
|
+
/**
|
|
5092
|
+
* @description The Liste with this id, when it belongs to the calling account.
|
|
5093
|
+
*
|
|
5094
|
+
* @tags Lists
|
|
5095
|
+
* @name V1ListsDetail
|
|
5096
|
+
* @summary One Liste
|
|
5097
|
+
* @request GET:/api/v1/lists/{id}
|
|
5098
|
+
* @secure
|
|
5099
|
+
*/
|
|
5100
|
+
v1ListsDetail: (id: string, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5101
|
+
/**
|
|
5102
|
+
* @description A partial update: only the fields the body carries are written, and settings are merged into the stored ones rather than replacing them.
|
|
5103
|
+
*
|
|
5104
|
+
* @tags Lists
|
|
5105
|
+
* @name V1ListsPartialUpdate
|
|
5106
|
+
* @summary Update a Liste
|
|
5107
|
+
* @request PATCH:/api/v1/lists/{id}
|
|
5108
|
+
* @secure
|
|
5109
|
+
*/
|
|
5110
|
+
v1ListsPartialUpdate: (id: string, data: UpdateListRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5111
|
+
/**
|
|
5112
|
+
* @description Deletes the Liste. The companies on it are not touched anywhere else.
|
|
5113
|
+
*
|
|
5114
|
+
* @tags Lists
|
|
5115
|
+
* @name V1ListsDelete
|
|
5116
|
+
* @summary Delete a Liste
|
|
5117
|
+
* @request DELETE:/api/v1/lists/{id}
|
|
5118
|
+
* @secure
|
|
5119
|
+
*/
|
|
5120
|
+
v1ListsDelete: (id: string, params?: RequestParams) => Promise<HttpResponse<void, ApiError | ProblemDetails>>;
|
|
5121
|
+
/**
|
|
5122
|
+
* @description Appends the companies that are not on it yet, keeping the order of the ones that are. A company that had been taken off comes back off the removed set.
|
|
5123
|
+
*
|
|
5124
|
+
* @tags Lists
|
|
5125
|
+
* @name V1ListsAddCreate
|
|
5126
|
+
* @summary Add companies to a Liste
|
|
5127
|
+
* @request POST:/api/v1/lists/{id}/add
|
|
5128
|
+
* @secure
|
|
5129
|
+
*/
|
|
5130
|
+
v1ListsAddCreate: (id: string, data: ListMembersRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5131
|
+
/**
|
|
5132
|
+
* @description Takes the companies off the Liste and records them as removed.
|
|
5133
|
+
*
|
|
5134
|
+
* @tags Lists
|
|
5135
|
+
* @name V1ListsRemoveCreate
|
|
5136
|
+
* @summary Remove companies from a Liste
|
|
5137
|
+
* @request POST:/api/v1/lists/{id}/remove
|
|
5138
|
+
* @secure
|
|
5139
|
+
*/
|
|
5140
|
+
v1ListsRemoveCreate: (id: string, data: ListMembersRequest, params?: RequestParams) => Promise<HttpResponse<ListResponse, ApiError | ProblemDetails>>;
|
|
5141
|
+
/**
|
|
5142
|
+
* @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.
|
|
5143
|
+
*
|
|
5144
|
+
* @tags Exports
|
|
5145
|
+
* @name V1ExportsBusinessesCreate
|
|
5146
|
+
* @summary Export companies
|
|
5147
|
+
* @request POST:/api/v1/exports/businesses
|
|
5148
|
+
* @secure
|
|
5149
|
+
*/
|
|
5150
|
+
v1ExportsBusinessesCreate: (data: ExportBusinessesRequest, params?: RequestParams) => Promise<HttpResponse<FileResult, ApiError | ProblemDetails>>;
|
|
4580
5151
|
/**
|
|
4581
5152
|
* @description Downloads the signed GISA PDF extract for a license (GISA-Zahl). Language defaults to German (De).
|
|
4582
5153
|
*
|
|
@@ -4591,7 +5162,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4591
5162
|
historical?: boolean;
|
|
4592
5163
|
/** @default "De" */
|
|
4593
5164
|
language?: "De" | "En";
|
|
4594
|
-
}, params?: RequestParams) => Promise<HttpResponse<Blob,
|
|
5165
|
+
}, params?: RequestParams) => Promise<HttpResponse<Blob, ApiError | ProblemDetails>>;
|
|
4595
5166
|
/**
|
|
4596
5167
|
* @description Returns the global catalog of GISA Trade Definitions with pagination.
|
|
4597
5168
|
*
|
|
@@ -4619,7 +5190,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4619
5190
|
* @max 100
|
|
4620
5191
|
*/
|
|
4621
5192
|
pageSize?: number;
|
|
4622
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfTradeCatalogItemResponse,
|
|
5193
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfTradeCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
4623
5194
|
/**
|
|
4624
5195
|
* @description Returns all company licenses for a specific trade definition with pagination.
|
|
4625
5196
|
*
|
|
@@ -4644,7 +5215,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4644
5215
|
* @max 100
|
|
4645
5216
|
*/
|
|
4646
5217
|
pageSize?: number;
|
|
4647
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaLicense,
|
|
5218
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaLicense, ApiError | ProblemDetails>>;
|
|
4648
5219
|
/**
|
|
4649
5220
|
* @description Returns all licenses for a specific company (FNR).
|
|
4650
5221
|
*
|
|
@@ -4654,7 +5225,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4654
5225
|
* @request GET:/api/v1/trades/company/{fnr}
|
|
4655
5226
|
* @secure
|
|
4656
5227
|
*/
|
|
4657
|
-
v1TradesCompanyDetail: (fnr: string, params?: RequestParams) => Promise<HttpResponse<GisaLicense[],
|
|
5228
|
+
v1TradesCompanyDetail: (fnr: string, params?: RequestParams) => Promise<HttpResponse<GisaLicense[], ApiError | ProblemDetails>>;
|
|
4658
5229
|
/**
|
|
4659
5230
|
* @description Returns a single GISA change by id.
|
|
4660
5231
|
*
|
|
@@ -4664,9 +5235,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4664
5235
|
* @request GET:/api/v1/trades/changes/{id}
|
|
4665
5236
|
* @secure
|
|
4666
5237
|
*/
|
|
4667
|
-
v1TradesChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<GisaChange,
|
|
5238
|
+
v1TradesChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<GisaChange, ApiError | ProblemDetails>>;
|
|
4668
5239
|
/**
|
|
4669
|
-
* @description Feed of GISA changes — one entry per change to a company's trade licences. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
5240
|
+
* @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.
|
|
4670
5241
|
*
|
|
4671
5242
|
* @tags Trades
|
|
4672
5243
|
* @name V1TradesChangesList
|
|
@@ -4701,7 +5272,27 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4701
5272
|
* @max 100
|
|
4702
5273
|
*/
|
|
4703
5274
|
pageSize?: number;
|
|
4704
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaChange,
|
|
5275
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGisaChange, ApiError | ProblemDetails>>;
|
|
5276
|
+
/**
|
|
5277
|
+
* @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.
|
|
5278
|
+
*
|
|
5279
|
+
* @tags Search
|
|
5280
|
+
* @name V1SearchList
|
|
5281
|
+
* @summary Companies and people in one ranked list
|
|
5282
|
+
* @request GET:/api/v1/search
|
|
5283
|
+
* @secure
|
|
5284
|
+
*/
|
|
5285
|
+
v1SearchList: (query?: {
|
|
5286
|
+
/** The term. Empty answers an empty list — this endpoint suggests, it does not list. */
|
|
5287
|
+
search?: string;
|
|
5288
|
+
/**
|
|
5289
|
+
* 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.
|
|
5290
|
+
* @format int32
|
|
5291
|
+
* @min 1
|
|
5292
|
+
* @max 100
|
|
5293
|
+
*/
|
|
5294
|
+
pageSize?: number;
|
|
5295
|
+
}, params?: RequestParams) => Promise<HttpResponse<SearchResponse, ApiError | ProblemDetails>>;
|
|
4705
5296
|
/**
|
|
4706
5297
|
* @description Returns (id, name) pairs for all people with at least one business assignment. For client-side name index.
|
|
4707
5298
|
*
|
|
@@ -4711,7 +5302,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4711
5302
|
* @request GET:/api/v1/people/names
|
|
4712
5303
|
* @secure
|
|
4713
5304
|
*/
|
|
4714
|
-
v1PeopleNamesList: (params?: RequestParams) => Promise<HttpResponse<PersonNameItem[],
|
|
5305
|
+
v1PeopleNamesList: (params?: RequestParams) => Promise<HttpResponse<PersonNameItem[], ApiError | ProblemDetails>>;
|
|
4715
5306
|
/**
|
|
4716
5307
|
* @description Lists people who hold a function in, or a GISA licence for, an Austrian company. name and search behave identically here — both split the term on spaces and keep people whose "firstName lastName" contains every token, case-insensitively — except that search wins when both are given. Ordered by last name, then first name unless orderBy says otherwise. Combine with fnr or businessName to get the officers of one company, or with functionCode for one role. fnr, functionCode, businessName, businessCity and businessRegisteredSince_gte all describe one and the same assignment: a person comes back only if a single company of theirs satisfies every one of them. So the youngest owners of this year's new Viennese companies are one page: ?businessCity=Wien&businessRegisteredSince_gte=2026-01-01&functionCode=IN&functionCode=KP&functionCode=GS&functionCode=PG&orderBy=birthDate&orderByDescending=true&pageSize=3
|
|
4717
5308
|
*
|
|
@@ -4757,7 +5348,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4757
5348
|
* @max 100
|
|
4758
5349
|
*/
|
|
4759
5350
|
pageSize?: number;
|
|
4760
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfPerson,
|
|
5351
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfPerson, ApiError | ProblemDetails>>;
|
|
4761
5352
|
/**
|
|
4762
5353
|
* @description Returns one person with every company function, GISA licence and Edikt attached to them. personId is the synthetic id described in the glossary — "firstname-lastname-birthdate", lower case, inner spaces replaced by hyphens and "x" for a part the register does not give, e.g. "max-mustermann-1970-01-01". It is matched exactly. Take it from a list row or from an assignment on a company rather than composing it yourself.
|
|
4763
5354
|
*
|
|
@@ -4767,7 +5358,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4767
5358
|
* @request GET:/api/v1/people/{personId}
|
|
4768
5359
|
* @secure
|
|
4769
5360
|
*/
|
|
4770
|
-
v1PeopleDetail: (personId: string, params?: RequestParams) => Promise<HttpResponse<PersonDetailResponse,
|
|
5361
|
+
v1PeopleDetail: (personId: string, params?: RequestParams) => Promise<HttpResponse<PersonDetailResponse, ApiError | ProblemDetails>>;
|
|
4771
5362
|
/**
|
|
4772
5363
|
* @description Returns the OeNACE classification catalog with company counts. Results are ordered by company count descending — most used first.
|
|
4773
5364
|
*
|
|
@@ -4800,7 +5391,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4800
5391
|
* @max 100
|
|
4801
5392
|
*/
|
|
4802
5393
|
pageSize?: number;
|
|
4803
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfOenaceCatalogItemResponse,
|
|
5394
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfOenaceCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
4804
5395
|
/**
|
|
4805
5396
|
* @description Returns all legal forms with pagination and optional search, sorted by business count descending.
|
|
4806
5397
|
*
|
|
@@ -4827,9 +5418,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4827
5418
|
* @max 100
|
|
4828
5419
|
*/
|
|
4829
5420
|
pageSize?: number;
|
|
4830
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfLegalFormCatalogItemResponse,
|
|
5421
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfLegalFormCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
4831
5422
|
/**
|
|
4832
|
-
* @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.
|
|
5423
|
+
* @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.
|
|
4833
5424
|
*
|
|
4834
5425
|
* @tags Graph
|
|
4835
5426
|
* @name V1GraphList
|
|
@@ -4842,9 +5433,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4842
5433
|
personId?: string;
|
|
4843
5434
|
/** 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. */
|
|
4844
5435
|
fnr?: string;
|
|
4845
|
-
}, params?: RequestParams) => Promise<HttpResponse<GraphResponse,
|
|
5436
|
+
}, params?: RequestParams) => Promise<HttpResponse<GraphResponse, ApiError | ProblemDetails>>;
|
|
4846
5437
|
/**
|
|
4847
|
-
* @description The single feed of every change across all registers — Firmenbuch, GISA, Ediktsdatei and the BMF Scheinunternehmen list — as lightweight reference rows. Each row carries only id, fnr, changeType and the dates; fetch the payload with GET /globalchanges/{id}, or poll one register's typed feed instead (/businesses/changes, /documents/changes, /edikte/changes, /trades/changes). Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id.
|
|
5438
|
+
* @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.
|
|
4848
5439
|
*
|
|
4849
5440
|
* @tags GlobalChanges
|
|
4850
5441
|
* @name V1GlobalchangesList
|
|
@@ -4879,7 +5470,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4879
5470
|
* @max 100
|
|
4880
5471
|
*/
|
|
4881
5472
|
pageSize?: number;
|
|
4882
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGlobalChange,
|
|
5473
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfGlobalChange, ApiError | ProblemDetails>>;
|
|
4883
5474
|
/**
|
|
4884
5475
|
* @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.
|
|
4885
5476
|
*
|
|
@@ -4903,7 +5494,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4903
5494
|
* @max 2000
|
|
4904
5495
|
*/
|
|
4905
5496
|
maxResultsPerType?: number;
|
|
4906
|
-
}, params?: RequestParams) => Promise<HttpResponse<AggregatedChangesResponse,
|
|
5497
|
+
}, params?: RequestParams) => Promise<HttpResponse<AggregatedChangesResponse, ApiError | ProblemDetails>>;
|
|
4907
5498
|
/**
|
|
4908
5499
|
* @description Returns one change with its typed payload, whichever register it came from. The envelope is a discriminator plus the payload: changeType says which register, and data is the matching object — a BusinessChange, DocumentChange, EdiktChange, GisaChange or ScheinunternehmenChange. Since data is a union, read changeType before it.
|
|
4909
5500
|
*
|
|
@@ -4913,7 +5504,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4913
5504
|
* @request GET:/api/v1/globalchanges/{id}
|
|
4914
5505
|
* @secure
|
|
4915
5506
|
*/
|
|
4916
|
-
v1GlobalchangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<ChangeDetailResponse,
|
|
5507
|
+
v1GlobalchangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<ChangeDetailResponse, ApiError | ProblemDetails>>;
|
|
4917
5508
|
/**
|
|
4918
5509
|
* @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.
|
|
4919
5510
|
*
|
|
@@ -4923,9 +5514,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4923
5514
|
* @request GET:/api/v1/edikte/changes/{id}
|
|
4924
5515
|
* @secure
|
|
4925
5516
|
*/
|
|
4926
|
-
v1EdikteChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<EdiktChange,
|
|
5517
|
+
v1EdikteChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<EdiktChange, ApiError | ProblemDetails>>;
|
|
4927
5518
|
/**
|
|
4928
|
-
* @description Feed of Ediktsdatei changes — insolvency and other court notices published about a company or a person. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the publication date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss an insolvency notice resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
5519
|
+
* @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.
|
|
4929
5520
|
*
|
|
4930
5521
|
* @tags Edikte
|
|
4931
5522
|
* @name V1EdikteChangesList
|
|
@@ -4960,7 +5551,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4960
5551
|
* @max 100
|
|
4961
5552
|
*/
|
|
4962
5553
|
pageSize?: number;
|
|
4963
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfEdiktChange,
|
|
5554
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfEdiktChange, ApiError | ProblemDetails>>;
|
|
4964
5555
|
/**
|
|
4965
5556
|
* @description Downloads a Firmenbuch document (PDF/XML) by its document key.
|
|
4966
5557
|
*
|
|
@@ -4970,7 +5561,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4970
5561
|
* @request GET:/api/v1/documents/download/{documentKey}
|
|
4971
5562
|
* @secure
|
|
4972
5563
|
*/
|
|
4973
|
-
v1DocumentsDownloadDetail: (documentKey: string, params?: RequestParams) => Promise<HttpResponse<void, string |
|
|
5564
|
+
v1DocumentsDownloadDetail: (documentKey: string, params?: RequestParams) => Promise<HttpResponse<void, string | ApiError | ProblemDetails>>;
|
|
4974
5565
|
/**
|
|
4975
5566
|
* @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.
|
|
4976
5567
|
*
|
|
@@ -4980,9 +5571,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
4980
5571
|
* @request GET:/api/v1/documents/changes/{id}
|
|
4981
5572
|
* @secure
|
|
4982
5573
|
*/
|
|
4983
|
-
v1DocumentsChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<DocumentChange,
|
|
5574
|
+
v1DocumentsChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<DocumentChange, ApiError | ProblemDetails>>;
|
|
4984
5575
|
/**
|
|
4985
|
-
* @description Feed of newly filed Firmenbuch documents — this is how you learn that a company has published a new Jahresabschluss. Each entry names a documentKey; fetch the file itself with GET /documents/download/{documentKey}. Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on the document date, and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses.
|
|
5576
|
+
* @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.
|
|
4986
5577
|
*
|
|
4987
5578
|
* @tags Documents
|
|
4988
5579
|
* @name V1DocumentsChangesList
|
|
@@ -5017,7 +5608,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5017
5608
|
* @max 100
|
|
5018
5609
|
*/
|
|
5019
5610
|
pageSize?: number;
|
|
5020
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfDocumentChange,
|
|
5611
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfDocumentChange, ApiError | ProblemDetails>>;
|
|
5021
5612
|
/**
|
|
5022
5613
|
* @description Returns all courts with pagination and optional search, sorted by business count descending.
|
|
5023
5614
|
*
|
|
@@ -5044,7 +5635,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5044
5635
|
* @max 100
|
|
5045
5636
|
*/
|
|
5046
5637
|
pageSize?: number;
|
|
5047
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfCourtCatalogItemResponse,
|
|
5638
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfCourtCatalogItemResponse, ApiError | ProblemDetails>>;
|
|
5048
5639
|
/**
|
|
5049
5640
|
* @description Resolve company names to FNRs by exact name match (1:1). Used for CSV import.
|
|
5050
5641
|
*
|
|
@@ -5054,7 +5645,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5054
5645
|
* @request POST:/api/v1/businesses/resolve-names
|
|
5055
5646
|
* @secure
|
|
5056
5647
|
*/
|
|
5057
|
-
v1BusinessesResolveNamesCreate: (data: ResolveBusinessNamesRequest, params?: RequestParams) => Promise<HttpResponse<ResolveBusinessNamesResponse,
|
|
5648
|
+
v1BusinessesResolveNamesCreate: (data: ResolveBusinessNamesRequest, params?: RequestParams) => Promise<HttpResponse<ResolveBusinessNamesResponse, ApiError | ProblemDetails>>;
|
|
5058
5649
|
/**
|
|
5059
5650
|
* @description Lists companies matching the filters, one page of list rows per call. name and search are different tools. name is a case-insensitive substring match on the company name and nothing else. search splits the term on spaces and keeps only companies matching every token, where a token matches the name, the fnr, or — when the whole term is a number — a GISA licence key or GISA-Zahl; it additionally lifts companies whose name starts with the term to the top of the default (name) ordering. So name narrows a known name, search finds an unknown one. Inactive companies always sort after active ones, whatever orderBy says. Pass countOnly=true for totalRecords without the rows, and use /businesses/aggregate to group the same filter set instead of paging through it.
|
|
5060
5651
|
*
|
|
@@ -5615,7 +6206,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5615
6206
|
* @format decimal
|
|
5616
6207
|
*/
|
|
5617
6208
|
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
5618
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfBusinessListResponse,
|
|
6209
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfBusinessListResponse, ApiError | ProblemDetails>>;
|
|
5619
6210
|
/**
|
|
5620
6211
|
* @description Returns all business (fnr, name) pairs for client-side name index. No pagination.
|
|
5621
6212
|
*
|
|
@@ -5625,7 +6216,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5625
6216
|
* @request GET:/api/v1/businesses/names
|
|
5626
6217
|
* @secure
|
|
5627
6218
|
*/
|
|
5628
|
-
v1BusinessesNamesList: (params?: RequestParams) => Promise<HttpResponse<BusinessNameItem[],
|
|
6219
|
+
v1BusinessesNamesList: (params?: RequestParams) => Promise<HttpResponse<BusinessNameItem[], ApiError | ProblemDetails>>;
|
|
5629
6220
|
/**
|
|
5630
6221
|
* @description Returns the number of companies in the dataset, as a bare integer. Unfiltered — it is the size of the whole dataset, not of a search. For a count over filters, call GET /businesses with countOnly=true and read totalRecords.
|
|
5631
6222
|
*
|
|
@@ -5635,7 +6226,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
5635
6226
|
* @request GET:/api/v1/businesses/count
|
|
5636
6227
|
* @secure
|
|
5637
6228
|
*/
|
|
5638
|
-
v1BusinessesCountList: (params?: RequestParams) => Promise<HttpResponse<number,
|
|
6229
|
+
v1BusinessesCountList: (params?: RequestParams) => Promise<HttpResponse<number, ApiError | ProblemDetails>>;
|
|
5639
6230
|
/**
|
|
5640
6231
|
* @description Counts over the same filter set as GET /businesses, grouped by one dimension — the server-side GROUP BY that a caller would otherwise page the whole result set to compute. Every /businesses filter means exactly what it means there; page, pageSize, orderBy, orderByDescending and countOnly are ignored — top and minCount cap the bucket list instead. totalRecords equals /businesses?countOnly=true for the same filter; how the buckets relate to it is documented on BusinessAggregateResponse.
|
|
5641
6232
|
*
|
|
@@ -6210,7 +6801,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
6210
6801
|
* @format decimal
|
|
6211
6802
|
*/
|
|
6212
6803
|
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
6213
|
-
}, params?: RequestParams) => Promise<HttpResponse<BusinessAggregateResponse,
|
|
6804
|
+
}, params?: RequestParams) => Promise<HttpResponse<BusinessAggregateResponse, ApiError | ProblemDetails>>;
|
|
6214
6805
|
/**
|
|
6215
6806
|
* @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.
|
|
6216
6807
|
*
|
|
@@ -6780,9 +7371,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
6780
7371
|
* @format decimal
|
|
6781
7372
|
*/
|
|
6782
7373
|
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
6783
|
-
}, params?: RequestParams) => Promise<HttpResponse<BusinessFacetsResponse,
|
|
7374
|
+
}, params?: RequestParams) => Promise<HttpResponse<BusinessFacetsResponse, ApiError | ProblemDetails>>;
|
|
6784
7375
|
/**
|
|
6785
|
-
* @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
|
|
7376
|
+
* @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.
|
|
6786
7377
|
*
|
|
6787
7378
|
* @tags Businesses
|
|
6788
7379
|
* @name V1BusinessesMapTopList
|
|
@@ -7345,7 +7936,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7345
7936
|
* @format decimal
|
|
7346
7937
|
*/
|
|
7347
7938
|
"guv.ZinsenUndAehnlicheAufwendungen_lte"?: number | null;
|
|
7348
|
-
}, params?: RequestParams) => Promise<HttpResponse<BusinessMapTopItem[],
|
|
7939
|
+
}, params?: RequestParams) => Promise<HttpResponse<BusinessMapTopItem[], ApiError | ProblemDetails>>;
|
|
7349
7940
|
/**
|
|
7350
7941
|
* @description Active businesses similar to the given one (same OeNACE branch, same region preferred).
|
|
7351
7942
|
*
|
|
@@ -7355,7 +7946,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7355
7946
|
* @request GET:/api/v1/businesses/{fnr}/similar
|
|
7356
7947
|
* @secure
|
|
7357
7948
|
*/
|
|
7358
|
-
v1BusinessesSimilarList: (fnr: string, params?: RequestParams) => Promise<HttpResponse<BusinessListResponse[],
|
|
7949
|
+
v1BusinessesSimilarList: (fnr: string, params?: RequestParams) => Promise<HttpResponse<BusinessListResponse[], ApiError | ProblemDetails>>;
|
|
7359
7950
|
/**
|
|
7360
7951
|
* @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.
|
|
7361
7952
|
*
|
|
@@ -7365,7 +7956,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7365
7956
|
* @request GET:/api/v1/businesses/{fnr}
|
|
7366
7957
|
* @secure
|
|
7367
7958
|
*/
|
|
7368
|
-
v1BusinessesDetail: (fnr: string, params?: RequestParams) => Promise<HttpResponse<BusinessDetailResponse,
|
|
7959
|
+
v1BusinessesDetail: (fnr: string, params?: RequestParams) => Promise<HttpResponse<BusinessDetailResponse, ApiError | ProblemDetails>>;
|
|
7369
7960
|
/**
|
|
7370
7961
|
* @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.
|
|
7371
7962
|
*
|
|
@@ -7375,9 +7966,9 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7375
7966
|
* @request GET:/api/v1/businesses/changes/{id}
|
|
7376
7967
|
* @secure
|
|
7377
7968
|
*/
|
|
7378
|
-
v1BusinessesChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<BusinessChange,
|
|
7969
|
+
v1BusinessesChangesDetail: (id: number, params?: RequestParams) => Promise<HttpResponse<BusinessChange, ApiError | ProblemDetails>>;
|
|
7379
7970
|
/**
|
|
7380
|
-
* @description Feed of Firmenbuch changes — one entry per new legal record (Eintragung). Ordered by ascending id, and that id is the cursor: request with sinceId set to the highest id you have stored, walk page=1,2,… at a fixed pageSize until a page comes back with fewer than pageSize rows, keep the highest id you saw, and start the next poll from it. sinceId is exclusive, so nothing is delivered twice, and a new change always takes a higher id than every change already in the feed, so it appends to the end and never shifts a page you have already read. since is inclusive, filters on when we recorded the change rather than on changedDate — so a back-dated entry is not missed — and applies together with sinceId when both are sent. Paging without sinceId is not a reliable feed: an offset is not a watermark, and page stops at 1000. Under concurrent writes a change can become visible just after a higher id, so a consumer that must not miss one resumes from the previous poll's watermark and de-duplicates by id. fnr is normalised before matching — trimmed, spaces and leading zeros removed, case left alone — so 034853 f and 34853f are the same company, exactly as on GET /businesses. Use GET /globalchanges for the same feed across all four registers.
|
|
7971
|
+
* @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.
|
|
7381
7972
|
*
|
|
7382
7973
|
* @tags Businesses
|
|
7383
7974
|
* @name V1BusinessesChangesList
|
|
@@ -7412,7 +8003,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7412
8003
|
* @max 100
|
|
7413
8004
|
*/
|
|
7414
8005
|
pageSize?: number;
|
|
7415
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfBusinessChange,
|
|
8006
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfBusinessChange, ApiError | ProblemDetails>>;
|
|
7416
8007
|
/**
|
|
7417
8008
|
* @description Returns all assignment functions (code/text lookup) for display. Cached 24h.
|
|
7418
8009
|
*
|
|
@@ -7422,7 +8013,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7422
8013
|
* @request GET:/api/v1/assignmentfunctions
|
|
7423
8014
|
* @secure
|
|
7424
8015
|
*/
|
|
7425
|
-
v1AssignmentfunctionsList: (params?: RequestParams) => Promise<HttpResponse<AssignmentFunctionItemResponse[],
|
|
8016
|
+
v1AssignmentfunctionsList: (params?: RequestParams) => Promise<HttpResponse<AssignmentFunctionItemResponse[], ApiError | ProblemDetails>>;
|
|
7426
8017
|
/**
|
|
7427
8018
|
* @description Returns unique City+ZipCode combinations from addresses with pagination and optional search.
|
|
7428
8019
|
*
|
|
@@ -7448,7 +8039,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7448
8039
|
* @max 100
|
|
7449
8040
|
*/
|
|
7450
8041
|
pageSize?: number;
|
|
7451
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfAddressLocationResponse,
|
|
8042
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfAddressLocationResponse, ApiError | ProblemDetails>>;
|
|
7452
8043
|
/**
|
|
7453
8044
|
* @description Returns unique cities from addresses with pagination and optional search.
|
|
7454
8045
|
*
|
|
@@ -7474,7 +8065,25 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7474
8065
|
* @max 100
|
|
7475
8066
|
*/
|
|
7476
8067
|
pageSize?: number;
|
|
7477
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfCityResponse,
|
|
8068
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfCityResponse, ApiError | ProblemDetails>>;
|
|
8069
|
+
/**
|
|
8070
|
+
* @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.
|
|
8071
|
+
*
|
|
8072
|
+
* @tags Addresses
|
|
8073
|
+
* @name V1AddressesSuggestList
|
|
8074
|
+
* @summary Location autocomplete
|
|
8075
|
+
* @request GET:/api/v1/addresses/suggest
|
|
8076
|
+
* @secure
|
|
8077
|
+
*/
|
|
8078
|
+
v1AddressesSuggestList: (query?: {
|
|
8079
|
+
/** The term to rank against. Shorter than two characters it is ignored entirely and the biggest groups come back instead. */
|
|
8080
|
+
search?: string;
|
|
8081
|
+
/**
|
|
8082
|
+
* How many suggestions to answer, across both lists; defaults to 10 when omitted.
|
|
8083
|
+
* @format int32
|
|
8084
|
+
*/
|
|
8085
|
+
top?: number;
|
|
8086
|
+
}, params?: RequestParams) => Promise<HttpResponse<LocationSuggestionsResponse, ApiError | ProblemDetails>>;
|
|
7478
8087
|
/**
|
|
7479
8088
|
* @description Returns unique zip codes from addresses with pagination and optional search.
|
|
7480
8089
|
*
|
|
@@ -7500,7 +8109,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
7500
8109
|
* @max 100
|
|
7501
8110
|
*/
|
|
7502
8111
|
pageSize?: number;
|
|
7503
|
-
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfZipCodeResponse,
|
|
8112
|
+
}, params?: RequestParams) => Promise<HttpResponse<PagedResponseOfZipCodeResponse, ApiError | ProblemDetails>>;
|
|
7504
8113
|
};
|
|
7505
8114
|
}
|
|
7506
8115
|
export {};
|