@opusdns/api 1.177.0 → 1.178.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/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "@opusdns/api-spec-ts-generator": "^1.6.0"
4
4
  },
5
5
  "name": "@opusdns/api",
6
- "version": "1.177.0",
6
+ "version": "1.178.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -40,6 +40,7 @@ import type {
40
40
  DomainIncludeField,
41
41
  DomainListIncludeField,
42
42
  DomainSortField,
43
+ DomainStatisticsBreakdown,
43
44
  DomainStatus,
44
45
  EmailForwardLogSortField,
45
46
  EmailForwardLogStatus,
@@ -819,6 +820,18 @@ export const DOMAIN_SORT_FIELD_VALUES = [
819
820
  'transferred_on',
820
821
  ] as const satisfies ReadonlyArray<DomainSortField>;
821
822
 
823
+ export const DOMAIN_STATISTICS_BREAKDOWN = {
824
+ NONE: "none",
825
+ ORGANIZATION: "organization",
826
+ TLD: "tld",
827
+ } as const satisfies Record<string, DomainStatisticsBreakdown>;
828
+
829
+ export const DOMAIN_STATISTICS_BREAKDOWN_VALUES = [
830
+ 'none',
831
+ 'organization',
832
+ 'tld',
833
+ ] as const satisfies ReadonlyArray<DomainStatisticsBreakdown>;
834
+
822
835
  export const DOMAIN_STATUS = {
823
836
  OK: "ok",
824
837
  SERVER_TRANSFER_PROHIBITED: "serverTransferProhibited",
@@ -56,6 +56,7 @@ export const DOMAIN_SEARCH_SUGGEST_ENDPOINT = '/v1/domain-search/suggest';
56
56
  export const DOMAINS_ENDPOINT = '/v1/domains';
57
57
  export const DOMAINS_CHECK_ENDPOINT = '/v1/domains/check';
58
58
  export const DOMAINS_CLAIMS_NOTICES_ENDPOINT = '/v1/domains/claims-notices';
59
+ export const DOMAINS_STATISTICS_ENDPOINT = '/v1/domains/statistics';
59
60
  export const DOMAINS_SUMMARY_ENDPOINT = '/v1/domains/summary';
60
61
  export const DOMAINS_TLD_SPECIFIC_AT_BY_DOMAIN_REFERENCE_WITHDRAW_ENDPOINT = '/v1/domains/tld-specific/at/{domain_reference}/withdraw';
61
62
  export const DOMAINS_TLD_SPECIFIC_BE_BY_DOMAIN_REFERENCE_AUTH_CODE_REQUEST_ENDPOINT = '/v1/domains/tld-specific/be/{domain_reference}/auth_code/request';
@@ -215,6 +216,7 @@ export type Endpoint =
215
216
  | typeof DOMAINS_ENDPOINT
216
217
  | typeof DOMAINS_CHECK_ENDPOINT
217
218
  | typeof DOMAINS_CLAIMS_NOTICES_ENDPOINT
219
+ | typeof DOMAINS_STATISTICS_ENDPOINT
218
220
  | typeof DOMAINS_SUMMARY_ENDPOINT
219
221
  | typeof DOMAINS_TLD_SPECIFIC_AT_BY_DOMAIN_REFERENCE_WITHDRAW_ENDPOINT
220
222
  | typeof DOMAINS_TLD_SPECIFIC_BE_BY_DOMAIN_REFERENCE_AUTH_CODE_REQUEST_ENDPOINT
@@ -193,6 +193,10 @@ import type {
193
193
  DomainSearch,
194
194
  DomainSearchSuggestionPriceData,
195
195
  DomainSearchSuggestionWithPrice,
196
+ DomainStatisticsBreakdown2,
197
+ DomainStatisticsBucket,
198
+ DomainStatistics,
199
+ DomainStatisticsTotals,
196
200
  DomainStatus2,
197
201
  DomainStatusesBase,
198
202
  DomainSummaryData,
@@ -2779,6 +2783,60 @@ export const KEYS_DOMAIN_SEARCH_SUGGESTION_WITH_PRICE = [
2779
2783
  KEY_DOMAIN_SEARCH_SUGGESTION_WITH_PRICE_RENEWAL_PRICE,
2780
2784
  ] as const satisfies (keyof DomainSearchSuggestionWithPrice)[];
2781
2785
 
2786
+ export const KEY_DOMAIN_STATISTICS_BREAKDOWN2_CREATE = 'create' satisfies keyof DomainStatisticsBreakdown2;
2787
+ export const KEY_DOMAIN_STATISTICS_BREAKDOWN2_KEY = 'key' satisfies keyof DomainStatisticsBreakdown2;
2788
+ export const KEY_DOMAIN_STATISTICS_BREAKDOWN2_LABEL = 'label' satisfies keyof DomainStatisticsBreakdown2;
2789
+ export const KEY_DOMAIN_STATISTICS_BREAKDOWN2_TOTAL = 'total' satisfies keyof DomainStatisticsBreakdown2;
2790
+ export const KEY_DOMAIN_STATISTICS_BREAKDOWN2_TRANSFER = 'transfer' satisfies keyof DomainStatisticsBreakdown2;
2791
+
2792
+ export const KEYS_DOMAIN_STATISTICS_BREAKDOWN2 = [
2793
+ KEY_DOMAIN_STATISTICS_BREAKDOWN2_CREATE,
2794
+ KEY_DOMAIN_STATISTICS_BREAKDOWN2_KEY,
2795
+ KEY_DOMAIN_STATISTICS_BREAKDOWN2_LABEL,
2796
+ KEY_DOMAIN_STATISTICS_BREAKDOWN2_TOTAL,
2797
+ KEY_DOMAIN_STATISTICS_BREAKDOWN2_TRANSFER,
2798
+ ] as const satisfies (keyof DomainStatisticsBreakdown2)[];
2799
+
2800
+ export const KEY_DOMAIN_STATISTICS_BUCKET_CREATE = 'create' satisfies keyof DomainStatisticsBucket;
2801
+ export const KEY_DOMAIN_STATISTICS_BUCKET_PARTIAL = 'partial' satisfies keyof DomainStatisticsBucket;
2802
+ export const KEY_DOMAIN_STATISTICS_BUCKET_PERIOD_START = 'period_start' satisfies keyof DomainStatisticsBucket;
2803
+ export const KEY_DOMAIN_STATISTICS_BUCKET_TRANSFER = 'transfer' satisfies keyof DomainStatisticsBucket;
2804
+
2805
+ export const KEYS_DOMAIN_STATISTICS_BUCKET = [
2806
+ KEY_DOMAIN_STATISTICS_BUCKET_CREATE,
2807
+ KEY_DOMAIN_STATISTICS_BUCKET_PARTIAL,
2808
+ KEY_DOMAIN_STATISTICS_BUCKET_PERIOD_START,
2809
+ KEY_DOMAIN_STATISTICS_BUCKET_TRANSFER,
2810
+ ] as const satisfies (keyof DomainStatisticsBucket)[];
2811
+
2812
+ export const KEY_DOMAIN_STATISTICS_BREAKDOWN = 'breakdown' satisfies keyof DomainStatistics;
2813
+ export const KEY_DOMAIN_STATISTICS_BUCKETS = 'buckets' satisfies keyof DomainStatistics;
2814
+ export const KEY_DOMAIN_STATISTICS_END_DATE = 'end_date' satisfies keyof DomainStatistics;
2815
+ export const KEY_DOMAIN_STATISTICS_GRANULARITY = 'granularity' satisfies keyof DomainStatistics;
2816
+ export const KEY_DOMAIN_STATISTICS_ORGANIZATION_ID = 'organization_id' satisfies keyof DomainStatistics;
2817
+ export const KEY_DOMAIN_STATISTICS_START_DATE = 'start_date' satisfies keyof DomainStatistics;
2818
+ export const KEY_DOMAIN_STATISTICS_TOTALS = 'totals' satisfies keyof DomainStatistics;
2819
+
2820
+ export const KEYS_DOMAIN_STATISTICS = [
2821
+ KEY_DOMAIN_STATISTICS_BREAKDOWN,
2822
+ KEY_DOMAIN_STATISTICS_BUCKETS,
2823
+ KEY_DOMAIN_STATISTICS_END_DATE,
2824
+ KEY_DOMAIN_STATISTICS_GRANULARITY,
2825
+ KEY_DOMAIN_STATISTICS_ORGANIZATION_ID,
2826
+ KEY_DOMAIN_STATISTICS_START_DATE,
2827
+ KEY_DOMAIN_STATISTICS_TOTALS,
2828
+ ] as const satisfies (keyof DomainStatistics)[];
2829
+
2830
+ export const KEY_DOMAIN_STATISTICS_TOTALS_CREATE = 'create' satisfies keyof DomainStatisticsTotals;
2831
+ export const KEY_DOMAIN_STATISTICS_TOTALS_TOTAL = 'total' satisfies keyof DomainStatisticsTotals;
2832
+ export const KEY_DOMAIN_STATISTICS_TOTALS_TRANSFER = 'transfer' satisfies keyof DomainStatisticsTotals;
2833
+
2834
+ export const KEYS_DOMAIN_STATISTICS_TOTALS = [
2835
+ KEY_DOMAIN_STATISTICS_TOTALS_CREATE,
2836
+ KEY_DOMAIN_STATISTICS_TOTALS_TOTAL,
2837
+ KEY_DOMAIN_STATISTICS_TOTALS_TRANSFER,
2838
+ ] as const satisfies (keyof DomainStatisticsTotals)[];
2839
+
2782
2840
  export const KEY_DOMAIN_STATUS2_STATUS = 'status' satisfies keyof DomainStatus2;
2783
2841
 
2784
2842
  export const KEYS_DOMAIN_STATUS2 = [
@@ -68,6 +68,7 @@ import {
68
68
  DOMAINS_CHECK_ENDPOINT,
69
69
  DOMAINS_CLAIMS_NOTICES_ENDPOINT,
70
70
  DOMAINS_ENDPOINT,
71
+ DOMAINS_STATISTICS_ENDPOINT,
71
72
  DOMAINS_SUMMARY_ENDPOINT,
72
73
  DOMAINS_TLD_SPECIFIC_AT_BY_DOMAIN_REFERENCE_WITHDRAW_ENDPOINT,
73
74
  DOMAINS_TLD_SPECIFIC_BE_BY_DOMAIN_REFERENCE_AUTH_CODE_REQUEST_ENDPOINT,
@@ -689,6 +690,13 @@ export const REQUIRED_PERMISSIONS = {
689
690
  patch: [],
690
691
  delete: [],
691
692
  },
693
+ [DOMAINS_STATISTICS_ENDPOINT]: {
694
+ get: [PUBLIC_PERMISSION.DOMAINS_READ],
695
+ post: [],
696
+ put: [],
697
+ patch: [],
698
+ delete: [],
699
+ },
692
700
  [DOMAINS_SUMMARY_ENDPOINT]: {
693
701
  get: [PUBLIC_PERMISSION.DOMAINS_READ],
694
702
  post: [],
@@ -586,6 +586,11 @@ export type GET_DomainSearchSuggest_Request = {
586
586
  };
587
587
  export type GET_DomainSearchSuggest_Request_Query = GET_DomainSearchSuggest_Request['parameters']['query'];
588
588
 
589
+ export type GET_DomainsStatistics_Request = {
590
+ parameters: operations['get_domain_statistics_v1_domains_statistics_get']['parameters'];
591
+ };
592
+ export type GET_DomainsStatistics_Request_Query = GET_DomainsStatistics_Request['parameters']['query'];
593
+
589
594
  export type GET_DomainsSummary_Request = {
590
595
  };
591
596
 
@@ -38,6 +38,7 @@ import type {
38
38
  DomainRenew,
39
39
  DomainRestore,
40
40
  DomainSearch,
41
+ DomainStatistics,
41
42
  DomainSummary,
42
43
  DomainTransit,
43
44
  DomainWithdraw,
@@ -575,6 +576,11 @@ export type GET_DomainsCheck_Response = GET_DomainsCheck_Response_200 | GET_Doma
575
576
  export type GET_DomainsCheck_Response_200 = DomainCheck;
576
577
  export type GET_DomainsCheck_Response_422 = HTTPValidationError;
577
578
 
579
+ export type GET_DomainsStatistics_Response = GET_DomainsStatistics_Response_200 | GET_DomainsStatistics_Response_422;
580
+
581
+ export type GET_DomainsStatistics_Response_200 = DomainStatistics;
582
+ export type GET_DomainsStatistics_Response_422 = HTTPValidationError;
583
+
578
584
  export type GET_DomainsSummary_Response = GET_DomainsSummary_Response_200 | GET_DomainsSummary_Response_422;
579
585
 
580
586
  export type GET_DomainsSummary_Response_200 = DomainSummary;
@@ -238,6 +238,11 @@ export type DomainSearch = components['schemas']['DomainSearchResponse'];
238
238
  export type DomainSearchSuggestionPriceData = components['schemas']['DomainSearchSuggestionPriceData'];
239
239
  export type DomainSearchSuggestionWithPrice = components['schemas']['DomainSearchSuggestionWithPrice'];
240
240
  export type DomainSortField = components['schemas']['DomainSortField'];
241
+ export type DomainStatisticsBreakdown = components['schemas']['DomainStatisticsBreakdown'];
242
+ export type DomainStatisticsBreakdown2 = components['schemas']['DomainStatisticsBreakdownResponse'];
243
+ export type DomainStatisticsBucket = components['schemas']['DomainStatisticsBucketResponse'];
244
+ export type DomainStatistics = components['schemas']['DomainStatisticsResponse'];
245
+ export type DomainStatisticsTotals = components['schemas']['DomainStatisticsTotalsResponse'];
241
246
  export type DomainStatus = components['schemas']['DomainStatus'];
242
247
  export type DomainStatus2 = components['schemas']['DomainStatusResponse'];
243
248
  export type DomainStatusesBase = components['schemas']['DomainStatusesBase'];
package/src/openapi.yaml CHANGED
@@ -6163,6 +6163,140 @@ components:
6163
6163
  - transferred_on
6164
6164
  title: DomainSortField
6165
6165
  type: string
6166
+ DomainStatisticsBreakdown:
6167
+ enum:
6168
+ - none
6169
+ - organization
6170
+ - tld
6171
+ title: DomainStatisticsBreakdown
6172
+ type: string
6173
+ DomainStatisticsBreakdownResponse:
6174
+ properties:
6175
+ create:
6176
+ title: Create
6177
+ type: integer
6178
+ key:
6179
+ description: Organization id, or the TLD without the leading dot
6180
+ title: Key
6181
+ type: string
6182
+ label:
6183
+ anyOf:
6184
+ - type: string
6185
+ - type: 'null'
6186
+ description: Organization name; absent for TLD rows
6187
+ title: Label
6188
+ total:
6189
+ title: Total
6190
+ type: integer
6191
+ transfer:
6192
+ title: Transfer
6193
+ type: integer
6194
+ required:
6195
+ - key
6196
+ - label
6197
+ - create
6198
+ - transfer
6199
+ - total
6200
+ title: DomainStatisticsBreakdownResponse
6201
+ type: object
6202
+ DomainStatisticsBucketResponse:
6203
+ properties:
6204
+ create:
6205
+ description: Domains created in this bucket
6206
+ title: Create
6207
+ type: integer
6208
+ partial:
6209
+ description: The bucket reaches outside the requested window, so its counts
6210
+ cover only part of its span and must not be read as a rise or fall against
6211
+ its neighbours
6212
+ title: Partial
6213
+ type: boolean
6214
+ period_start:
6215
+ description: First day of the bucket (UTC)
6216
+ format: date
6217
+ title: Period Start
6218
+ type: string
6219
+ transfer:
6220
+ description: Domains transferred in during this bucket
6221
+ title: Transfer
6222
+ type: integer
6223
+ required:
6224
+ - period_start
6225
+ - create
6226
+ - transfer
6227
+ - partial
6228
+ title: DomainStatisticsBucketResponse
6229
+ type: object
6230
+ DomainStatisticsResponse:
6231
+ properties:
6232
+ breakdown:
6233
+ description: Top organizations or TLDs by acquisitions in the window; empty
6234
+ unless requested
6235
+ items:
6236
+ $ref: '#/components/schemas/DomainStatisticsBreakdownResponse'
6237
+ title: Breakdown
6238
+ type: array
6239
+ buckets:
6240
+ description: One entry per bucket the window touches, oldest first, including
6241
+ empty buckets
6242
+ items:
6243
+ $ref: '#/components/schemas/DomainStatisticsBucketResponse'
6244
+ title: Buckets
6245
+ type: array
6246
+ end_date:
6247
+ description: Last day of the window, inclusive
6248
+ format: date
6249
+ title: End Date
6250
+ type: string
6251
+ granularity:
6252
+ $ref: '#/components/schemas/UsageGranularity'
6253
+ description: Time-bucket size of the series
6254
+ organization_id:
6255
+ description: The organization the counts are scoped to
6256
+ examples:
6257
+ - organization_01h45ytscbebyvny4gc8cr8ma2
6258
+ format: typeid
6259
+ pattern: ^organization_[0-7][0-9a-hjkmnpq-tv-z]{25}$
6260
+ title: Organization Id
6261
+ type: string
6262
+ x-typeid-prefix: organization
6263
+ start_date:
6264
+ description: First day of the window, inclusive
6265
+ format: date
6266
+ title: Start Date
6267
+ type: string
6268
+ totals:
6269
+ $ref: '#/components/schemas/DomainStatisticsTotalsResponse'
6270
+ required:
6271
+ - organization_id
6272
+ - granularity
6273
+ - start_date
6274
+ - end_date
6275
+ - totals
6276
+ - buckets
6277
+ - breakdown
6278
+ title: DomainStatisticsResponse
6279
+ type: object
6280
+ DomainStatisticsTotalsResponse:
6281
+ properties:
6282
+ create:
6283
+ description: Domains created (newly registered) in the window
6284
+ title: Create
6285
+ type: integer
6286
+ total:
6287
+ description: Created plus transferred
6288
+ title: Total
6289
+ type: integer
6290
+ transfer:
6291
+ description: Domains transferred to OpusDNS in the window
6292
+ title: Transfer
6293
+ type: integer
6294
+ required:
6295
+ - create
6296
+ - transfer
6297
+ - total
6298
+ title: DomainStatisticsTotalsResponse
6299
+ type: object
6166
6300
  DomainStatus:
6167
6301
  enum:
6168
6302
  - ok
@@ -16815,7 +16949,7 @@ info:
16815
16949
  \n\n"
16816
16950
  summary: OpusDNS - your gateway to a seamless domain management experience.
16817
16951
  title: OpusDNS API
16818
- version: 2026-09-14-110602
16952
+ version: 2026-09-14-120239
16819
16953
  x-logo:
16820
16954
  altText: OpusDNS API Reference
16821
16955
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -25405,6 +25539,91 @@ paths:
25405
25539
  - domain
25406
25540
  x-required-permissions:
25407
25541
  - domains:manage
25542
+ /v1/domains/statistics:
25543
+ get:
25544
+ description: 'Counts the domains your organization acquired in a window of whole
25545
+ days, split into creates (new registrations) and inbound transfers and bucketed
25546
+ by the requested granularity.
25547
+
25548
+
25549
+ Counts cover your organization and its sub-organizations, like the domain
25550
+ summary; `breakdown=organization` shows how they divide between them. A create
25551
+ is counted on the day OpusDNS took the order and a transfer on the day it
25552
+ completed, so domains that have since been deleted still appear in the window
25553
+ they were acquired in. Imported domains count as creates on the day they were
25554
+ imported. Domains held at a connected external registrar are not included.
25555
+
25556
+
25557
+ Every bucket the window touches is present, so the series can be charted as
25558
+ is. A bucket marked `partial` reaches outside the window and covers only part
25559
+ of its span.'
25560
+ operationId: get_domain_statistics_v1_domains_statistics_get
25561
+ parameters:
25562
+ - in: query
25563
+ name: start_date
25564
+ required: true
25565
+ schema:
25566
+ format: date
25567
+ title: Start Date
25568
+ type: string
25569
+ - in: query
25570
+ name: end_date
25571
+ required: true
25572
+ schema:
25573
+ format: date
25574
+ title: End Date
25575
+ type: string
25576
+ - in: query
25577
+ name: granularity
25578
+ required: false
25579
+ schema:
25580
+ $ref: '#/components/schemas/UsageGranularity'
25581
+ default: day
25582
+ - in: query
25583
+ name: tld
25584
+ required: false
25585
+ schema:
25586
+ anyOf:
25587
+ - type: string
25588
+ - type: 'null'
25589
+ title: Tld
25590
+ - in: query
25591
+ name: breakdown
25592
+ required: false
25593
+ schema:
25594
+ $ref: '#/components/schemas/DomainStatisticsBreakdown'
25595
+ default: none
25596
+ - in: query
25597
+ name: breakdown_limit
25598
+ required: false
25599
+ schema:
25600
+ default: 10
25601
+ maximum: 50
25602
+ minimum: 1
25603
+ title: Breakdown Limit
25604
+ type: integer
25605
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
25606
+ responses:
25607
+ '200':
25608
+ content:
25609
+ application/json:
25610
+ schema:
25611
+ $ref: '#/components/schemas/DomainStatisticsResponse'
25612
+ description: Successful Response
25613
+ '422':
25614
+ content:
25615
+ application/problem+json:
25616
+ schema:
25617
+ $ref: '#/components/schemas/HTTPValidationError'
25618
+ description: Validation Error
25619
+ security:
25620
+ - OAuth2PasswordBearer: []
25621
+ - APIKeyHeader: []
25622
+ summary: Get domain statistics
25623
+ tags:
25624
+ - domain
25625
+ x-required-permissions:
25626
+ - domains:read
25408
25627
  /v1/domains/summary:
25409
25628
  get:
25410
25629
  description: Retrieves a summary of domains including counts by status, TLD,
package/src/schema.d.ts CHANGED
@@ -1176,6 +1176,30 @@ export interface paths {
1176
1176
  patch?: never;
1177
1177
  trace?: never;
1178
1178
  };
1179
+ "/v1/domains/statistics": {
1180
+ parameters: {
1181
+ query?: never;
1182
+ header?: never;
1183
+ path?: never;
1184
+ cookie?: never;
1185
+ };
1186
+ /**
1187
+ * Get domain statistics
1188
+ * @description Counts the domains your organization acquired in a window of whole days, split into creates (new registrations) and inbound transfers and bucketed by the requested granularity.
1189
+ *
1190
+ * Counts cover your organization and its sub-organizations, like the domain summary; `breakdown=organization` shows how they divide between them. A create is counted on the day OpusDNS took the order and a transfer on the day it completed, so domains that have since been deleted still appear in the window they were acquired in. Imported domains count as creates on the day they were imported. Domains held at a connected external registrar are not included.
1191
+ *
1192
+ * Every bucket the window touches is present, so the series can be charted as is. A bucket marked `partial` reaches outside the window and covers only part of its span.
1193
+ */
1194
+ get: operations["get_domain_statistics_v1_domains_statistics_get"];
1195
+ put?: never;
1196
+ post?: never;
1197
+ delete?: never;
1198
+ options?: never;
1199
+ head?: never;
1200
+ patch?: never;
1201
+ trace?: never;
1202
+ };
1179
1203
  "/v1/domains/summary": {
1180
1204
  parameters: {
1181
1205
  query?: never;
@@ -7171,6 +7195,107 @@ export interface components {
7171
7195
  * @enum {string}
7172
7196
  */
7173
7197
  DomainSortField: "name" | "created_on" | "updated_on" | "expires_on" | "registered_on" | "transferred_on";
7198
+ /**
7199
+ * DomainStatisticsBreakdown
7200
+ * @enum {string}
7201
+ */
7202
+ DomainStatisticsBreakdown: "none" | "organization" | "tld";
7203
+ /** DomainStatisticsBreakdownResponse */
7204
+ DomainStatisticsBreakdownResponse: {
7205
+ /** Create */
7206
+ create: number;
7207
+ /**
7208
+ * Key
7209
+ * @description Organization id, or the TLD without the leading dot
7210
+ */
7211
+ key: string;
7212
+ /**
7213
+ * Label
7214
+ * @description Organization name; absent for TLD rows
7215
+ */
7216
+ label: string | null;
7217
+ /** Total */
7218
+ total: number;
7219
+ /** Transfer */
7220
+ transfer: number;
7221
+ };
7222
+ /** DomainStatisticsBucketResponse */
7223
+ DomainStatisticsBucketResponse: {
7224
+ /**
7225
+ * Create
7226
+ * @description Domains created in this bucket
7227
+ */
7228
+ create: number;
7229
+ /**
7230
+ * Partial
7231
+ * @description The bucket reaches outside the requested window, so its counts cover only part of its span and must not be read as a rise or fall against its neighbours
7232
+ */
7233
+ partial: boolean;
7234
+ /**
7235
+ * Period Start
7236
+ * Format: date
7237
+ * @description First day of the bucket (UTC)
7238
+ */
7239
+ period_start: string;
7240
+ /**
7241
+ * Transfer
7242
+ * @description Domains transferred in during this bucket
7243
+ */
7244
+ transfer: number;
7245
+ };
7246
+ /** DomainStatisticsResponse */
7247
+ DomainStatisticsResponse: {
7248
+ /**
7249
+ * Breakdown
7250
+ * @description Top organizations or TLDs by acquisitions in the window; empty unless requested
7251
+ */
7252
+ breakdown: components["schemas"]["DomainStatisticsBreakdownResponse"][];
7253
+ /**
7254
+ * Buckets
7255
+ * @description One entry per bucket the window touches, oldest first, including empty buckets
7256
+ */
7257
+ buckets: components["schemas"]["DomainStatisticsBucketResponse"][];
7258
+ /**
7259
+ * End Date
7260
+ * Format: date
7261
+ * @description Last day of the window, inclusive
7262
+ */
7263
+ end_date: string;
7264
+ /** @description Time-bucket size of the series */
7265
+ granularity: components["schemas"]["UsageGranularity"];
7266
+ /**
7267
+ * Organization Id
7268
+ * Format: typeid
7269
+ * @description The organization the counts are scoped to
7270
+ * @example organization_01h45ytscbebyvny4gc8cr8ma2
7271
+ */
7272
+ organization_id: TypeId<"organization">;
7273
+ /**
7274
+ * Start Date
7275
+ * Format: date
7276
+ * @description First day of the window, inclusive
7277
+ */
7278
+ start_date: string;
7279
+ totals: components["schemas"]["DomainStatisticsTotalsResponse"];
7280
+ };
7281
+ /** DomainStatisticsTotalsResponse */
7282
+ DomainStatisticsTotalsResponse: {
7283
+ /**
7284
+ * Create
7285
+ * @description Domains created (newly registered) in the window
7286
+ */
7287
+ create: number;
7288
+ /**
7289
+ * Total
7290
+ * @description Created plus transferred
7291
+ */
7292
+ total: number;
7293
+ /**
7294
+ * Transfer
7295
+ * @description Domains transferred to OpusDNS in the window
7296
+ */
7297
+ transfer: number;
7298
+ };
7174
7299
  /**
7175
7300
  * DomainStatus
7176
7301
  * @enum {string}
@@ -20657,6 +20782,48 @@ export interface operations {
20657
20782
  };
20658
20783
  };
20659
20784
  };
20785
+ get_domain_statistics_v1_domains_statistics_get: {
20786
+ parameters: {
20787
+ query: {
20788
+ start_date: string;
20789
+ end_date: string;
20790
+ granularity?: components["schemas"]["UsageGranularity"];
20791
+ tld?: string | null;
20792
+ breakdown?: components["schemas"]["DomainStatisticsBreakdown"];
20793
+ breakdown_limit?: number;
20794
+ };
20795
+ header?: {
20796
+ /**
20797
+ * @description Opt in to RFC 3339 datetime serialization. When set to `rfc3339`, response datetimes are normalized to UTC and serialized with a `Z` suffix. This is opt-in until the announced default cutover date, after which RFC 3339 becomes the default and this header is accepted as a no-op. Any other value or omission uses the current default serialization.
20798
+ * @example rfc3339
20799
+ */
20800
+ "X-Datetime-Format"?: components["parameters"]["DatetimeFormatHeader"];
20801
+ };
20802
+ path?: never;
20803
+ cookie?: never;
20804
+ };
20805
+ requestBody?: never;
20806
+ responses: {
20807
+ /** @description Successful Response */
20808
+ 200: {
20809
+ headers: {
20810
+ [name: string]: unknown;
20811
+ };
20812
+ content: {
20813
+ "application/json": components["schemas"]["DomainStatisticsResponse"];
20814
+ };
20815
+ };
20816
+ /** @description Validation Error */
20817
+ 422: {
20818
+ headers: {
20819
+ [name: string]: unknown;
20820
+ };
20821
+ content: {
20822
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20823
+ };
20824
+ };
20825
+ };
20826
+ };
20660
20827
  get_domain_summary_v1_domains_summary_get: {
20661
20828
  parameters: {
20662
20829
  query?: never;