@opusdns/api 1.78.0 → 1.80.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/src/openapi.yaml CHANGED
@@ -15,15 +15,24 @@ components:
15
15
  - rfc3339
16
16
  type: string
17
17
  schemas:
18
- AiUsageGranularity:
19
- enum:
20
- - day
21
- - week
22
- - month
23
- title: AiUsageGranularity
24
- type: string
25
- AiUsageModelBreakdown:
26
- description: 'Public per-model AI token usage. Deliberately excludes billing-gateway''s
18
+ AiInferenceUsageBucket:
19
+ properties:
20
+ groups:
21
+ items:
22
+ $ref: '#/components/schemas/AiInferenceUsageGroup'
23
+ title: Groups
24
+ type: array
25
+ period_start:
26
+ format: date
27
+ title: Period Start
28
+ type: string
29
+ required:
30
+ - period_start
31
+ - groups
32
+ title: AiInferenceUsageBucket
33
+ type: object
34
+ AiInferenceUsageGroup:
35
+ description: 'Public per-model AI inference usage. Deliberately excludes billing-gateway''s
27
36
 
28
37
  internal COGS fields (cost_amount, per-million rates, has_rate).'
29
38
  properties:
@@ -52,13 +61,13 @@ components:
52
61
  - cache_read_tokens
53
62
  - cache_write_tokens
54
63
  - request_count
55
- title: AiUsageModelBreakdown
64
+ title: AiInferenceUsageGroup
56
65
  type: object
57
- AiUsageSeriesResponse:
66
+ AiInferenceUsageSeriesResponse:
58
67
  properties:
59
68
  buckets:
60
69
  items:
61
- $ref: '#/components/schemas/AiUsageTimeBucket'
70
+ $ref: '#/components/schemas/AiInferenceUsageBucket'
62
71
  title: Buckets
63
72
  type: array
64
73
  end_date:
@@ -66,7 +75,12 @@ components:
66
75
  title: End Date
67
76
  type: string
68
77
  granularity:
69
- $ref: '#/components/schemas/AiUsageGranularity'
78
+ $ref: '#/components/schemas/UsageGranularity'
79
+ product:
80
+ const: ai_inference
81
+ default: ai_inference
82
+ title: Product
83
+ type: string
70
84
  start_date:
71
85
  format: date
72
86
  title: Start Date
@@ -76,19 +90,24 @@ components:
76
90
  - start_date
77
91
  - end_date
78
92
  - buckets
79
- title: AiUsageSeriesResponse
93
+ title: AiInferenceUsageSeriesResponse
80
94
  type: object
81
- AiUsageSummaryResponse:
95
+ AiInferenceUsageSummaryResponse:
82
96
  properties:
83
- by_model:
84
- items:
85
- $ref: '#/components/schemas/AiUsageModelBreakdown'
86
- title: By Model
87
- type: array
88
97
  end_date:
89
98
  format: date
90
99
  title: End Date
91
100
  type: string
101
+ groups:
102
+ items:
103
+ $ref: '#/components/schemas/AiInferenceUsageGroup'
104
+ title: Groups
105
+ type: array
106
+ product:
107
+ const: ai_inference
108
+ default: ai_inference
109
+ title: Product
110
+ type: string
92
111
  start_date:
93
112
  format: date
94
113
  title: Start Date
@@ -96,24 +115,8 @@ components:
96
115
  required:
97
116
  - start_date
98
117
  - end_date
99
- - by_model
100
- title: AiUsageSummaryResponse
101
- type: object
102
- AiUsageTimeBucket:
103
- properties:
104
- by_model:
105
- items:
106
- $ref: '#/components/schemas/AiUsageModelBreakdown'
107
- title: By Model
108
- type: array
109
- period_start:
110
- format: date
111
- title: Period Start
112
- type: string
113
- required:
114
- - period_start
115
- - by_model
116
- title: AiUsageTimeBucket
118
+ - groups
119
+ title: AiInferenceUsageSummaryResponse
117
120
  type: object
118
121
  AllocationMethodType:
119
122
  enum:
@@ -7527,17 +7530,6 @@ components:
7527
7530
  type: string
7528
7531
  Footer:
7529
7532
  properties:
7530
- contact_email:
7531
- anyOf:
7532
- - pattern: ^[^@\s]+@[^@\s]+\.[^@\s]+$
7533
- type: string
7534
- - type: 'null'
7535
- title: Contact Email
7536
- disclaimer:
7537
- anyOf:
7538
- - type: string
7539
- - type: 'null'
7540
- title: Disclaimer
7541
7533
  legal_entity:
7542
7534
  anyOf:
7543
7535
  - maxLength: 255
@@ -13226,6 +13218,18 @@ components:
13226
13218
  - authinfo_required
13227
13219
  title: TransferPoliciesBase
13228
13220
  type: object
13221
+ UsageGranularity:
13222
+ enum:
13223
+ - day
13224
+ - week
13225
+ - month
13226
+ title: UsageGranularity
13227
+ type: string
13228
+ UsageProduct:
13229
+ enum:
13230
+ - ai_inference
13231
+ title: UsageProduct
13232
+ type: string
13229
13233
  User:
13230
13234
  properties:
13231
13235
  created_on:
@@ -14789,7 +14793,7 @@ info:
14789
14793
  \n\n"
14790
14794
  summary: OpusDNS - your gateway to a seamless domain management experience.
14791
14795
  title: OpusDNS API
14792
- version: 2026-07-24-083226
14796
+ version: 2026-07-26-224919
14793
14797
  x-logo:
14794
14798
  altText: OpusDNS API Reference
14795
14799
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -27470,164 +27474,6 @@ paths:
27470
27474
  summary: Create an organization
27471
27475
  tags:
27472
27476
  - organization
27473
- /v1/organizations/ai-usage:
27474
- get:
27475
- description: Retrieves the current organization's AI token usage as a time series,
27476
- bucketed by the requested granularity and broken down per model. Reports token
27477
- counts and request volumes only.
27478
- operationId: get_ai_usage_series_v1_organizations_ai_usage_get
27479
- parameters:
27480
- - in: query
27481
- name: start_date
27482
- required: true
27483
- schema:
27484
- format: date
27485
- title: Start Date
27486
- type: string
27487
- - in: query
27488
- name: end_date
27489
- required: true
27490
- schema:
27491
- format: date
27492
- title: End Date
27493
- type: string
27494
- - in: query
27495
- name: model
27496
- required: false
27497
- schema:
27498
- anyOf:
27499
- - type: string
27500
- - type: 'null'
27501
- title: Model
27502
- - in: query
27503
- name: granularity
27504
- required: false
27505
- schema:
27506
- $ref: '#/components/schemas/AiUsageGranularity'
27507
- default: day
27508
- - $ref: '#/components/parameters/DatetimeFormatHeader'
27509
- responses:
27510
- '200':
27511
- content:
27512
- application/json:
27513
- schema:
27514
- $ref: '#/components/schemas/AiUsageSeriesResponse'
27515
- description: Successful Response
27516
- '401':
27517
- content:
27518
- application/problem+json:
27519
- example:
27520
- code: ERROR_AUTHENTICATION
27521
- detail: Additional error context.
27522
- status: 401
27523
- title: Authentication Error
27524
- type: authentication
27525
- schema:
27526
- $ref: '#/components/schemas/Problem'
27527
- description: Unauthorized
27528
- '403':
27529
- content:
27530
- application/problem+json:
27531
- example:
27532
- code: ERROR_PERMISSION_DENIED
27533
- detail: Insufficient permissions to perform this action
27534
- status: 403
27535
- title: Permission Denied
27536
- type: permission-denied
27537
- schema:
27538
- $ref: '#/components/schemas/Problem'
27539
- description: Forbidden
27540
- '422':
27541
- content:
27542
- application/problem+json:
27543
- schema:
27544
- $ref: '#/components/schemas/HTTPValidationError'
27545
- description: Validation Error
27546
- security:
27547
- - OAuth2PasswordBearer: []
27548
- - APIKeyHeader: []
27549
- summary: AI usage over time
27550
- tags:
27551
- - organization
27552
- - ai_usage
27553
- x-required-permissions:
27554
- - organization:read
27555
- /v1/organizations/ai-usage/summary:
27556
- get:
27557
- description: Retrieves the current organization's total AI token usage over
27558
- a date range, broken down per model. Reports token counts and request volumes
27559
- only.
27560
- operationId: get_ai_usage_summary_v1_organizations_ai_usage_summary_get
27561
- parameters:
27562
- - in: query
27563
- name: start_date
27564
- required: true
27565
- schema:
27566
- format: date
27567
- title: Start Date
27568
- type: string
27569
- - in: query
27570
- name: end_date
27571
- required: true
27572
- schema:
27573
- format: date
27574
- title: End Date
27575
- type: string
27576
- - in: query
27577
- name: model
27578
- required: false
27579
- schema:
27580
- anyOf:
27581
- - type: string
27582
- - type: 'null'
27583
- title: Model
27584
- - $ref: '#/components/parameters/DatetimeFormatHeader'
27585
- responses:
27586
- '200':
27587
- content:
27588
- application/json:
27589
- schema:
27590
- $ref: '#/components/schemas/AiUsageSummaryResponse'
27591
- description: Successful Response
27592
- '401':
27593
- content:
27594
- application/problem+json:
27595
- example:
27596
- code: ERROR_AUTHENTICATION
27597
- detail: Additional error context.
27598
- status: 401
27599
- title: Authentication Error
27600
- type: authentication
27601
- schema:
27602
- $ref: '#/components/schemas/Problem'
27603
- description: Unauthorized
27604
- '403':
27605
- content:
27606
- application/problem+json:
27607
- example:
27608
- code: ERROR_PERMISSION_DENIED
27609
- detail: Insufficient permissions to perform this action
27610
- status: 403
27611
- title: Permission Denied
27612
- type: permission-denied
27613
- schema:
27614
- $ref: '#/components/schemas/Problem'
27615
- description: Forbidden
27616
- '422':
27617
- content:
27618
- application/problem+json:
27619
- schema:
27620
- $ref: '#/components/schemas/HTTPValidationError'
27621
- description: Validation Error
27622
- security:
27623
- - OAuth2PasswordBearer: []
27624
- - APIKeyHeader: []
27625
- summary: AI usage summary
27626
- tags:
27627
- - organization
27628
- - ai_usage
27629
- x-required-permissions:
27630
- - organization:read
27631
27477
  /v1/organizations/attributes:
27632
27478
  get:
27633
27479
  description: Retrieves a list of organization attributes for the current organization
@@ -29265,6 +29111,189 @@ paths:
29265
29111
  - organization
29266
29112
  x-required-permissions:
29267
29113
  - organization:read
29114
+ /v1/organizations/{organization_id}/usage/{product}:
29115
+ get:
29116
+ description: Retrieves the organization's usage of a metered product as a time
29117
+ series, bucketed by the requested granularity and grouped per sub-metric.
29118
+ Reports usage quantities only.
29119
+ operationId: get_usage_series_v1_organizations__organization_id__usage__product__get
29120
+ parameters:
29121
+ - in: path
29122
+ name: organization_id
29123
+ required: true
29124
+ schema:
29125
+ examples:
29126
+ - organization_01h45ytscbebyvny4gc8cr8ma2
29127
+ format: typeid
29128
+ pattern: ^organization_[0-7][0-9a-hjkmnpq-tv-z]{25}$
29129
+ title: Organization Id
29130
+ type: string
29131
+ x-typeid-prefix: organization
29132
+ - in: path
29133
+ name: product
29134
+ required: true
29135
+ schema:
29136
+ $ref: '#/components/schemas/UsageProduct'
29137
+ - description: Inclusive start date (YYYY-MM-DD)
29138
+ in: query
29139
+ name: start_date
29140
+ required: true
29141
+ schema:
29142
+ description: Inclusive start date (YYYY-MM-DD)
29143
+ format: date
29144
+ title: Start Date
29145
+ type: string
29146
+ - description: Inclusive end date (YYYY-MM-DD)
29147
+ in: query
29148
+ name: end_date
29149
+ required: true
29150
+ schema:
29151
+ description: Inclusive end date (YYYY-MM-DD)
29152
+ format: date
29153
+ title: End Date
29154
+ type: string
29155
+ - description: Time-bucket size
29156
+ in: query
29157
+ name: granularity
29158
+ required: false
29159
+ schema:
29160
+ $ref: '#/components/schemas/UsageGranularity'
29161
+ default: day
29162
+ description: Time-bucket size
29163
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
29164
+ responses:
29165
+ '200':
29166
+ content:
29167
+ application/json:
29168
+ schema:
29169
+ $ref: '#/components/schemas/AiInferenceUsageSeriesResponse'
29170
+ description: Successful Response
29171
+ '401':
29172
+ content:
29173
+ application/problem+json:
29174
+ example:
29175
+ code: ERROR_AUTHENTICATION
29176
+ detail: Additional error context.
29177
+ status: 401
29178
+ title: Authentication Error
29179
+ type: authentication
29180
+ schema:
29181
+ $ref: '#/components/schemas/Problem'
29182
+ description: Unauthorized
29183
+ '403':
29184
+ content:
29185
+ application/problem+json:
29186
+ example:
29187
+ code: ERROR_PERMISSION_DENIED
29188
+ detail: Insufficient permissions to perform this action
29189
+ status: 403
29190
+ title: Permission Denied
29191
+ type: permission-denied
29192
+ schema:
29193
+ $ref: '#/components/schemas/Problem'
29194
+ description: Forbidden
29195
+ '422':
29196
+ content:
29197
+ application/problem+json:
29198
+ schema:
29199
+ $ref: '#/components/schemas/HTTPValidationError'
29200
+ description: Validation Error
29201
+ security:
29202
+ - OAuth2PasswordBearer: []
29203
+ - APIKeyHeader: []
29204
+ summary: Usage over time
29205
+ tags:
29206
+ - organization
29207
+ - usage
29208
+ x-required-permissions:
29209
+ - organization:read
29210
+ /v1/organizations/{organization_id}/usage/{product}/summary:
29211
+ get:
29212
+ description: Retrieves the organization's total usage of a metered product over
29213
+ a date range, grouped per sub-metric. Reports usage quantities only.
29214
+ operationId: get_usage_summary_v1_organizations__organization_id__usage__product__summary_get
29215
+ parameters:
29216
+ - in: path
29217
+ name: organization_id
29218
+ required: true
29219
+ schema:
29220
+ examples:
29221
+ - organization_01h45ytscbebyvny4gc8cr8ma2
29222
+ format: typeid
29223
+ pattern: ^organization_[0-7][0-9a-hjkmnpq-tv-z]{25}$
29224
+ title: Organization Id
29225
+ type: string
29226
+ x-typeid-prefix: organization
29227
+ - in: path
29228
+ name: product
29229
+ required: true
29230
+ schema:
29231
+ $ref: '#/components/schemas/UsageProduct'
29232
+ - description: Inclusive start date (YYYY-MM-DD)
29233
+ in: query
29234
+ name: start_date
29235
+ required: true
29236
+ schema:
29237
+ description: Inclusive start date (YYYY-MM-DD)
29238
+ format: date
29239
+ title: Start Date
29240
+ type: string
29241
+ - description: Inclusive end date (YYYY-MM-DD)
29242
+ in: query
29243
+ name: end_date
29244
+ required: true
29245
+ schema:
29246
+ description: Inclusive end date (YYYY-MM-DD)
29247
+ format: date
29248
+ title: End Date
29249
+ type: string
29250
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
29251
+ responses:
29252
+ '200':
29253
+ content:
29254
+ application/json:
29255
+ schema:
29256
+ $ref: '#/components/schemas/AiInferenceUsageSummaryResponse'
29257
+ description: Successful Response
29258
+ '401':
29259
+ content:
29260
+ application/problem+json:
29261
+ example:
29262
+ code: ERROR_AUTHENTICATION
29263
+ detail: Additional error context.
29264
+ status: 401
29265
+ title: Authentication Error
29266
+ type: authentication
29267
+ schema:
29268
+ $ref: '#/components/schemas/Problem'
29269
+ description: Unauthorized
29270
+ '403':
29271
+ content:
29272
+ application/problem+json:
29273
+ example:
29274
+ code: ERROR_PERMISSION_DENIED
29275
+ detail: Insufficient permissions to perform this action
29276
+ status: 403
29277
+ title: Permission Denied
29278
+ type: permission-denied
29279
+ schema:
29280
+ $ref: '#/components/schemas/Problem'
29281
+ description: Forbidden
29282
+ '422':
29283
+ content:
29284
+ application/problem+json:
29285
+ schema:
29286
+ $ref: '#/components/schemas/HTTPValidationError'
29287
+ description: Validation Error
29288
+ security:
29289
+ - OAuth2PasswordBearer: []
29290
+ - APIKeyHeader: []
29291
+ summary: Usage summary
29292
+ tags:
29293
+ - organization
29294
+ - usage
29295
+ x-required-permissions:
29296
+ - organization:read
29268
29297
  /v1/parking:
29269
29298
  get:
29270
29299
  description: Retrieves a paginated list of parking entries for the organization
@@ -31928,12 +31957,12 @@ tags:
31928
31957
  - description: Endpoints for creating new Tags
31929
31958
  name: tag
31930
31959
  x-displayName: Tags
31931
- - description: 'Endpoints for reporting your organization''s AI usage.
31960
+ - description: 'Endpoints for reporting your organization''s usage of metered products.
31932
31961
 
31933
31962
 
31934
- These endpoints expose the AI token consumption incurred by your organization''s
31935
- use of OpusDNS AI features, so you can monitor usage over time and per model.
31936
- Usage is reported as token counts and request volumes only.
31963
+ These endpoints expose the usage your organization has incurred for a metered
31964
+ product, so you can monitor consumption over time and in total. Usage is reported
31965
+ as quantities only; billing costs are never included.
31937
31966
 
31938
31967
 
31939
31968
  ### Endpoints
@@ -31943,15 +31972,16 @@ tags:
31943
31972
 
31944
31973
  |--------|------|-------------|
31945
31974
 
31946
- | `GET` | `/v1/organizations/ai-usage` | Token usage as a time series, bucketed
31947
- by granularity and broken down per model |
31975
+ | `GET` | `/v1/organizations/{organization_id}/usage/{product}` | Usage as a time
31976
+ series, bucketed by granularity and grouped per sub-metric |
31948
31977
 
31949
- | `GET` | `/v1/organizations/ai-usage/summary` | Token usage totals over a date
31950
- range, broken down per model |
31978
+ | `GET` | `/v1/organizations/{organization_id}/usage/{product}/summary` | Usage
31979
+ totals over a date range, grouped per sub-metric |
31951
31980
 
31952
31981
 
31953
- The reporting organization is taken from the authentication token; usage is always
31954
- scoped to the calling organization.
31982
+ `{product}` selects the metered product. Currently supported: `ai_inference` (AI
31983
+ token consumption from OpusDNS AI features). The response carries a top-level
31984
+ `product` field identifying the reported product.
31955
31985
 
31956
31986
 
31957
31987
  ### Query Parameters
@@ -31968,8 +31998,6 @@ tags:
31968
31998
  | `granularity` | Time-bucket size for the series endpoint: `day` (default), `week`,
31969
31999
  or `month` |
31970
32000
 
31971
- | `model` | Optional filter to a single model |
31972
-
31973
32001
 
31974
32002
  `start_date` must be on or before `end_date`, otherwise the request is rejected
31975
32003
  with `422 Unprocessable Content`.
@@ -31978,7 +32006,10 @@ tags:
31978
32006
  ### Reported Metrics
31979
32007
 
31980
32008
 
31981
- Each per-model breakdown reports token counts and request volume:
32009
+ #### `ai_inference`
32010
+
32011
+
32012
+ Each group reports token counts and request volume for one AI model:
31982
32013
 
31983
32014
 
31984
32015
  | Field | Description |
@@ -32002,15 +32033,15 @@ tags:
32002
32033
  permission.
32003
32034
 
32004
32035
  '
32005
- name: ai_usage
32006
- x-displayName: AI usage
32036
+ name: usage
32037
+ x-displayName: Usage
32007
32038
  x-tagGroups:
32008
32039
  - name: Account management
32009
32040
  tags:
32010
32041
  - authentication
32011
32042
  - user
32012
32043
  - organization
32013
- - ai_usage
32044
+ - usage
32014
32045
  - name: Domains
32015
32046
  tags:
32016
32047
  - domain