@opusdns/api 1.192.0 → 1.194.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.192.0",
6
+ "version": "1.194.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -1054,7 +1054,7 @@ export const REQUIRED_PERMISSIONS = {
1054
1054
  },
1055
1055
  [ORGANIZATIONS_PRODUCT_WAITLIST_BY_PRODUCT_APPLY_ENDPOINT]: {
1056
1056
  get: [],
1057
- post: [],
1057
+ post: [PUBLIC_PERMISSION.ORGANIZATION_READ],
1058
1058
  put: [],
1059
1059
  patch: [],
1060
1060
  delete: [],
package/src/openapi.yaml CHANGED
@@ -16092,7 +16092,7 @@ components:
16092
16092
  title: VisitsByKeyBucket
16093
16093
  type: object
16094
16094
  WaitlistApplyRequest:
16095
- description: What an organization says when applying for a product.
16095
+ description: What you say when applying for a product.
16096
16096
  properties:
16097
16097
  note:
16098
16098
  anyOf:
@@ -16100,17 +16100,17 @@ components:
16100
16100
  minLength: 1
16101
16101
  type: string
16102
16102
  - type: 'null'
16103
- description: What your organization would use the product for
16103
+ description: What you would use the product for
16104
16104
  examples:
16105
16105
  - We manage 12k domains for agency clients and triage renewals by hand.
16106
16106
  title: Note
16107
16107
  title: WaitlistApplyRequest
16108
16108
  type: object
16109
16109
  WaitlistEntryResponse:
16110
- description: An organization's own waitlist application.
16110
+ description: Your own waitlist application.
16111
16111
  properties:
16112
16112
  applied_on:
16113
- description: When the organization applied
16113
+ description: When you applied
16114
16114
  format: date-time
16115
16115
  title: Applied On
16116
16116
  type: string
@@ -16155,10 +16155,10 @@ components:
16155
16155
  title: WaitlistProduct
16156
16156
  type: string
16157
16157
  WaitlistProductListResponse:
16158
- description: The waitlisted products an organization may see.
16158
+ description: The waitlisted products you may see.
16159
16159
  properties:
16160
16160
  products:
16161
- description: Waitlisted products this organization may see
16161
+ description: Waitlisted products you may see
16162
16162
  items:
16163
16163
  $ref: '#/components/schemas/WaitlistProductState'
16164
16164
  title: Products
@@ -16166,17 +16166,18 @@ components:
16166
16166
  title: WaitlistProductListResponse
16167
16167
  type: object
16168
16168
  WaitlistProductState:
16169
- description: A waitlisted product, and where the organization stands with it.
16169
+ description: A waitlisted product, and where your own application for it stands.
16170
16170
  properties:
16171
16171
  applied_on:
16172
16172
  anyOf:
16173
16173
  - format: date-time
16174
16174
  type: string
16175
16175
  - type: 'null'
16176
- description: When the organization applied, if it has
16176
+ description: When you applied, if you have
16177
16177
  title: Applied On
16178
16178
  can_apply:
16179
- description: Whether an apply would be accepted right now
16179
+ description: Whether an apply from you would be accepted right now; false
16180
+ for an API key
16180
16181
  title: Can Apply
16181
16182
  type: boolean
16182
16183
  decided_on:
@@ -16184,7 +16185,7 @@ components:
16184
16185
  - format: date-time
16185
16186
  type: string
16186
16187
  - type: 'null'
16187
- description: When the application was decided, if it was
16188
+ description: When your application was decided, if it was
16188
16189
  title: Decided On
16189
16190
  description:
16190
16191
  description: What the product does
@@ -16201,8 +16202,8 @@ components:
16201
16202
  anyOf:
16202
16203
  - $ref: '#/components/schemas/WaitlistEntryStatus'
16203
16204
  - type: 'null'
16204
- description: Where the organization's application stands; null until it
16205
- applies
16205
+ description: Where your application stands; null until you apply, and for
16206
+ an API key
16206
16207
  required:
16207
16208
  - product
16208
16209
  - display_name
@@ -17191,7 +17192,7 @@ info:
17191
17192
  \n\n"
17192
17193
  summary: OpusDNS - your gateway to a seamless domain management experience.
17193
17194
  title: OpusDNS API
17194
- version: 2026-09-22-153526
17195
+ version: 2026-09-22-220605
17195
17196
  x-logo:
17196
17197
  altText: OpusDNS API Reference
17197
17198
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -31504,9 +31505,11 @@ paths:
31504
31505
  - organization
31505
31506
  /v1/organizations/product-waitlist:
31506
31507
  get:
31507
- description: Lists the waitlisted products your organization has been invited
31508
- to, or has already applied for, with where your organization stands on each.
31509
- Any other product is omitted entirely.
31508
+ description: 'Lists the waitlisted products your organization has been invited
31509
+ to, or that you have already applied for, with where your own application
31510
+ stands on each. Any other product is omitted entirely. An API key sees the
31511
+ invited products but has no application of its own: `status` is null and `can_apply`
31512
+ is false.'
31510
31513
  operationId: list_product_waitlists_v1_organizations_product_waitlist_get
31511
31514
  parameters:
31512
31515
  - $ref: '#/components/parameters/DatetimeFormatHeader'
@@ -31558,11 +31561,12 @@ paths:
31558
31561
  - organization:read
31559
31562
  /v1/organizations/product-waitlist/{product}/apply:
31560
31563
  post:
31561
- description: 'Applies your organization to a product''s waitlist, optionally
31562
- saying what you would use the product for. The application is recorded as
31563
- `pending` until OpusDNS decides on it. One application per organization per
31564
- product: a second apply is refused, and a rejection is reconsidered by OpusDNS
31565
- rather than by applying again.'
31564
+ description: 'Applies you for a product''s waitlist, optionally saying what
31565
+ you would use the product for. Any member of an invited organization may apply.
31566
+ The application is recorded as `pending` until OpusDNS decides on it. One
31567
+ application per user per product: a second apply is refused, and a rejection
31568
+ is reconsidered by OpusDNS rather than by applying again. A colleague''s application
31569
+ does not stand in for yours, nor block it.'
31566
31570
  operationId: apply_for_product_waitlist_v1_organizations_product_waitlist__product__apply_post
31567
31571
  parameters:
31568
31572
  - in: path
@@ -31630,7 +31634,7 @@ paths:
31630
31634
  Waitlist Error:
31631
31635
  value:
31632
31636
  code: ERROR_WAITLIST_ENTRY_REJECTED
31633
- detail: This organization's application for ai_concierge was rejected
31637
+ detail: Your application for ai_concierge was rejected
31634
31638
  product: ai_concierge
31635
31639
  status: 409
31636
31640
  title: Waitlist Error
@@ -31650,6 +31654,8 @@ paths:
31650
31654
  tags:
31651
31655
  - organization
31652
31656
  - product_waitlist
31657
+ x-required-permissions:
31658
+ - organization:read
31653
31659
  /v1/organizations/role-permissions:
31654
31660
  get:
31655
31661
  description: Retrieves the catalog of `resource:scope` permissions a custom
@@ -36170,11 +36176,11 @@ tags:
36170
36176
  reached through a waitlist.
36171
36177
 
36172
36178
 
36173
- A waitlisted product is invitation-only: OpusDNS invites an organization, the
36174
- organization applies, and OpusDNS decides. Until your organization is invited,
36175
- the product does not exist as far as this API is concerned - it is left out of
36176
- the listing, and applying for it answers `404`. Once your organization has applied,
36177
- the product stays in its listing whatever happens to the invite afterwards.
36179
+ A waitlisted product is invitation-only: OpusDNS invites an organization, its
36180
+ members apply, and OpusDNS decides on each application. Until your organization
36181
+ is invited, the product does not exist as far as this API is concerned - it is
36182
+ left out of the listing, and applying for it answers `404`. Once you have applied,
36183
+ the product stays in your listing whatever happens to the invite afterwards.
36178
36184
 
36179
36185
 
36180
36186
  ### Endpoints
@@ -36184,22 +36190,24 @@ tags:
36184
36190
 
36185
36191
  |--------|------|-------------|
36186
36192
 
36187
- | `GET` | `/v1/organizations/product-waitlist` | The waitlisted products your
36188
- organization may see, and where it stands on each |
36193
+ | `GET` | `/v1/organizations/product-waitlist` | The waitlisted products you may
36194
+ see, and where your own application stands on each |
36189
36195
 
36190
- | `POST` | `/v1/organizations/product-waitlist/{product}/apply` | Apply your organization
36191
- to one product''s waitlist |
36196
+ | `POST` | `/v1/organizations/product-waitlist/{product}/apply` | Apply for one
36197
+ product''s waitlist |
36192
36198
 
36193
36199
 
36194
- Both routes act on the organization the request is authenticated for; neither
36200
+ Both routes act on your own organization - the one you authenticated as - even
36201
+ when an `X-Organization-Context` header names one of its sub-organizations. Neither
36195
36202
  takes an organization in the path.
36196
36203
 
36197
36204
 
36198
36205
  ### Product state
36199
36206
 
36200
36207
 
36201
- Each entry in the listing describes one product and your organization''s standing
36202
- with it:
36208
+ Each entry in the listing describes one product and your own standing with it.
36209
+ Applications are per user, so two members of one organization can see different
36210
+ states for the same product:
36203
36211
 
36204
36212
 
36205
36213
  | Field | Description |
@@ -36212,40 +36220,48 @@ tags:
36212
36220
 
36213
36221
  | `description` | What the product does |
36214
36222
 
36215
- | `status` | `pending`, `granted` or `rejected`, or `null` while your organization
36216
- has not applied |
36223
+ | `status` | `pending`, `granted` or `rejected`, or `null` while you have not
36224
+ applied |
36217
36225
 
36218
- | `applied_on` | When your organization applied, or `null` |
36226
+ | `applied_on` | When you applied, or `null` |
36219
36227
 
36220
36228
  | `decided_on` | When OpusDNS decided, or `null` |
36221
36229
 
36222
- | `can_apply` | Whether an apply would be accepted right now, from this caller:
36223
- it also takes the `organization:write` the apply route requires |
36230
+ | `can_apply` | Whether an apply from you would be accepted right now |
36231
+
36232
+
36233
+ An API key has no application of its own: it sees the products your organization
36234
+ is invited to, with `status` `null` and `can_apply` `false`.
36224
36235
 
36225
36236
 
36226
36237
  ### Applying
36227
36238
 
36228
36239
 
36229
- `POST /v1/organizations/product-waitlist/{product}/apply` records the application
36230
- as `pending`, together with the applying user. It requires a user token: an API-key
36231
- token has no user to record.
36240
+ `POST /v1/organizations/product-waitlist/{product}/apply` records your application
36241
+ as `pending`. Any member of an invited organization may apply. It requires a user
36242
+ token: an API-key token has no user to record.
36243
+
36244
+
36245
+ The body is optional. Send `{"note": "..."}` to say what you would use the product
36246
+ for - it is the one thing OpusDNS has to go on when deciding, so it is worth filling
36247
+ in. A note is trimmed and may be up to 1000 characters; a blank or whitespace-only
36248
+ one is rejected rather than stored. Posting no body at all applies without a note.
36232
36249
 
36233
36250
 
36234
- The body is optional. Send `{"note": "..."}` to say what your organization would
36235
- use the product for - it is the one thing OpusDNS has to go on when deciding,
36236
- so it is worth filling in. A note is trimmed and may be up to 1000 characters;
36237
- a blank or whitespace-only one is rejected rather than stored. Posting no body
36238
- at all applies without a note.
36251
+ One application per user per product. A second apply answers `409`, whatever state
36252
+ the first one reached - a rejection is reconsidered by OpusDNS approving it after
36253
+ all, not by applying again. A colleague''s application neither stands in for yours
36254
+ nor blocks it. `can_apply` in the listing tells you in advance whether an apply
36255
+ would be accepted.
36239
36256
 
36240
36257
 
36241
- One application per organization per product. A second apply answers `409`, whatever
36242
- state the first one reached - a rejection is reconsidered by OpusDNS approving
36243
- it after all, not by applying again. `can_apply` in the listing tells you in advance
36244
- which applies would be accepted.
36258
+ Being granted a product means you, the user who applied, gain access to it. Your
36259
+ colleagues apply on their own, or ask OpusDNS if the whole organization should
36260
+ have it.
36245
36261
 
36246
36262
 
36247
- Being granted a product means every user of your organization gains access to
36248
- it, including users created afterwards.
36263
+ A decision is not final: OpusDNS can approve an application it rejected, and can
36264
+ withdraw a product it granted, which puts the application back to `rejected`.
36249
36265
 
36250
36266
  '
36251
36267
  name: product_waitlist
package/src/schema.d.ts CHANGED
@@ -2213,7 +2213,7 @@ export interface paths {
2213
2213
  };
2214
2214
  /**
2215
2215
  * List product waitlists
2216
- * @description Lists the waitlisted products your organization has been invited to, or has already applied for, with where your organization stands on each. Any other product is omitted entirely.
2216
+ * @description Lists the waitlisted products your organization has been invited to, or that you have already applied for, with where your own application stands on each. Any other product is omitted entirely. An API key sees the invited products but has no application of its own: `status` is null and `can_apply` is false.
2217
2217
  */
2218
2218
  get: operations["list_product_waitlists_v1_organizations_product_waitlist_get"];
2219
2219
  put?: never;
@@ -2235,7 +2235,7 @@ export interface paths {
2235
2235
  put?: never;
2236
2236
  /**
2237
2237
  * Apply for a product waitlist
2238
- * @description Applies your organization to a product's waitlist, optionally saying what you would use the product for. The application is recorded as `pending` until OpusDNS decides on it. One application per organization per product: a second apply is refused, and a rejection is reconsidered by OpusDNS rather than by applying again.
2238
+ * @description Applies you for a product's waitlist, optionally saying what you would use the product for. Any member of an invited organization may apply. The application is recorded as `pending` until OpusDNS decides on it. One application per user per product: a second apply is refused, and a rejection is reconsidered by OpusDNS rather than by applying again. A colleague's application does not stand in for yours, nor block it.
2239
2239
  */
2240
2240
  post: operations["apply_for_product_waitlist_v1_organizations_product_waitlist__product__apply_post"];
2241
2241
  delete?: never;
@@ -13930,25 +13930,25 @@ export interface components {
13930
13930
  };
13931
13931
  /**
13932
13932
  * WaitlistApplyRequest
13933
- * @description What an organization says when applying for a product.
13933
+ * @description What you say when applying for a product.
13934
13934
  */
13935
13935
  WaitlistApplyRequest: {
13936
13936
  /**
13937
13937
  * Note
13938
- * @description What your organization would use the product for
13938
+ * @description What you would use the product for
13939
13939
  * @example We manage 12k domains for agency clients and triage renewals by hand.
13940
13940
  */
13941
13941
  note?: string | null;
13942
13942
  };
13943
13943
  /**
13944
13944
  * WaitlistEntryResponse
13945
- * @description An organization's own waitlist application.
13945
+ * @description Your own waitlist application.
13946
13946
  */
13947
13947
  WaitlistEntryResponse: {
13948
13948
  /**
13949
13949
  * Applied On
13950
13950
  * Format: date-time
13951
- * @description When the organization applied
13951
+ * @description When you applied
13952
13952
  */
13953
13953
  applied_on: Date;
13954
13954
  /**
@@ -13977,33 +13977,33 @@ export interface components {
13977
13977
  WaitlistProduct: "ai_concierge";
13978
13978
  /**
13979
13979
  * WaitlistProductListResponse
13980
- * @description The waitlisted products an organization may see.
13980
+ * @description The waitlisted products you may see.
13981
13981
  */
13982
13982
  WaitlistProductListResponse: {
13983
13983
  /**
13984
13984
  * Products
13985
- * @description Waitlisted products this organization may see
13985
+ * @description Waitlisted products you may see
13986
13986
  */
13987
13987
  products?: components["schemas"]["WaitlistProductState"][];
13988
13988
  };
13989
13989
  /**
13990
13990
  * WaitlistProductState
13991
- * @description A waitlisted product, and where the organization stands with it.
13991
+ * @description A waitlisted product, and where your own application for it stands.
13992
13992
  */
13993
13993
  WaitlistProductState: {
13994
13994
  /**
13995
13995
  * Applied On
13996
- * @description When the organization applied, if it has
13996
+ * @description When you applied, if you have
13997
13997
  */
13998
13998
  applied_on?: Date | null;
13999
13999
  /**
14000
14000
  * Can Apply
14001
- * @description Whether an apply would be accepted right now
14001
+ * @description Whether an apply from you would be accepted right now; false for an API key
14002
14002
  */
14003
14003
  can_apply: boolean;
14004
14004
  /**
14005
14005
  * Decided On
14006
- * @description When the application was decided, if it was
14006
+ * @description When your application was decided, if it was
14007
14007
  */
14008
14008
  decided_on?: Date | null;
14009
14009
  /**
@@ -14018,7 +14018,7 @@ export interface components {
14018
14018
  display_name: string;
14019
14019
  /** @description Product key, used in the apply path */
14020
14020
  product: components["schemas"]["WaitlistProduct"];
14021
- /** @description Where the organization's application stands; null until it applies */
14021
+ /** @description Where your application stands; null until you apply, and for an API key */
14022
14022
  status?: components["schemas"]["WaitlistEntryStatus"] | null;
14023
14023
  };
14024
14024
  /**