@opusdns/api 1.152.0 → 1.154.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.5.0"
4
4
  },
5
5
  "name": "@opusdns/api",
6
- "version": "1.152.0",
6
+ "version": "1.154.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -1916,6 +1916,7 @@ export const REPORT_STATUS = {
1916
1916
  GENERATING: "generating",
1917
1917
  COMPLETED: "completed",
1918
1918
  FAILED: "failed",
1919
+ EMPTY: "empty",
1919
1920
  } as const satisfies Record<string, ReportStatus>;
1920
1921
 
1921
1922
  export const REPORT_STATUS_VALUES = [
@@ -1923,6 +1924,7 @@ export const REPORT_STATUS_VALUES = [
1923
1924
  'generating',
1924
1925
  'completed',
1925
1926
  'failed',
1927
+ 'empty',
1926
1928
  ] as const satisfies ReadonlyArray<ReportStatus>;
1927
1929
 
1928
1930
  export const REPORT_TRIGGER_TYPE = {
@@ -1146,6 +1146,7 @@ export const KEYS_CONTACT_VERIFICATION_STATUS = [
1146
1146
  ] as const satisfies (keyof ContactVerificationStatus)[];
1147
1147
 
1148
1148
  export const KEY_CONTACTS_BASE_AUTHINFO_REQUIRED = 'authinfo_required' satisfies keyof ContactsBase;
1149
+ export const KEY_CONTACTS_BASE_AUTHINFO_SUPPORTED = 'authinfo_supported' satisfies keyof ContactsBase;
1149
1150
  export const KEY_CONTACTS_BASE_IS_THICK = 'is_thick' satisfies keyof ContactsBase;
1150
1151
  export const KEY_CONTACTS_BASE_POSSIBLE_ATTRIBUTES = 'possible_attributes' satisfies keyof ContactsBase;
1151
1152
  export const KEY_CONTACTS_BASE_PRIVACY_PROXY = 'privacy_proxy' satisfies keyof ContactsBase;
@@ -1160,6 +1161,7 @@ export const KEY_CONTACTS_BASE_UPDATE_SUPPORTED_ROLES = 'update_supported_roles'
1160
1161
 
1161
1162
  export const KEYS_CONTACTS_BASE = [
1162
1163
  KEY_CONTACTS_BASE_AUTHINFO_REQUIRED,
1164
+ KEY_CONTACTS_BASE_AUTHINFO_SUPPORTED,
1163
1165
  KEY_CONTACTS_BASE_IS_THICK,
1164
1166
  KEY_CONTACTS_BASE_POSSIBLE_ATTRIBUTES,
1165
1167
  KEY_CONTACTS_BASE_PRIVACY_PROXY,
package/src/openapi.yaml CHANGED
@@ -2023,6 +2023,11 @@ components:
2023
2023
  - type: 'null'
2024
2024
  description: Whether the registry requires authinfo for contact creation
2025
2025
  title: Authinfo Required
2026
+ authinfo_supported:
2027
+ default: true
2028
+ description: Whether the registry supports authinfo for contact creation
2029
+ title: Authinfo Supported
2030
+ type: boolean
2026
2031
  is_thick:
2027
2032
  anyOf:
2028
2033
  - type: boolean
@@ -12909,6 +12914,7 @@ components:
12909
12914
  - generating
12910
12915
  - completed
12911
12916
  - failed
12917
+ - empty
12912
12918
  title: ReportStatus
12913
12919
  type: string
12914
12920
  ReportTriggerType:
@@ -16164,7 +16170,7 @@ info:
16164
16170
  \n\n"
16165
16171
  summary: OpusDNS - your gateway to a seamless domain management experience.
16166
16172
  title: OpusDNS API
16167
- version: 2026-09-02-220446
16173
+ version: 2026-09-03-201425
16168
16174
  x-logo:
16169
16175
  altText: OpusDNS API Reference
16170
16176
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -34612,8 +34618,9 @@ tags:
34612
34618
  \ the registrar-elements OpenSearch index, populated by the scheduled daily registrar\
34613
34619
  \ syncs. Report generation does not trigger a sync; it uses the most recently\
34614
34620
  \ synced data as-is. If the credential has no portfolio data yet (for example,\
34615
- \ a credential created since the last sync), generation fails with an error indicating\
34616
- \ the credential is too new to report on.\n\nThe downloaded ZIP contains `registrar-portfolio-{report_typeid}.pdf`.\
34621
+ \ a credential created since the last sync), the report ends as `empty` rather\
34622
+ \ than `failed`: there is nothing to report on yet, and the next run after a sync\
34623
+ \ produces the real report.\n\nThe downloaded ZIP contains `registrar-portfolio-{report_typeid}.pdf`.\
34617
34624
  \ Before each PDF generation, the report service loads the organization's current\
34618
34625
  \ available TLD list from the backend and uses it to mark TLDs in the portfolio\
34619
34626
  \ as available or unavailable. The first version includes the sections backed\
@@ -34624,14 +34631,18 @@ tags:
34624
34631
  \ through the following statuses:\n\n1. **pending** \u2014 Report has been queued\
34625
34632
  \ for generation\n2. **generating** \u2014 Report is being built\n3. **completed**\
34626
34633
  \ \u2014 Report is ready for download\n4. **failed** \u2014 Generation failed\n\
34634
+ 5. **empty** \u2014 The organization had no data for this report type (for example\
34635
+ \ no domains, zones or forwards). No file is produced and download returns `409\
34636
+ \ Conflict`. `record_count` is `0`.\n\n`completed`, `failed` and `empty` are terminal.\n\
34627
34637
  \n### Usage Pattern\n\n1. **Request a report** \u2014 `POST /v1/reports` with\
34628
34638
  \ the desired `report_type`\n2. **Poll for completion** \u2014 `GET /v1/reports/{report_id}`\
34629
- \ until `status` is `completed`\n3. **Download** \u2014 `GET /v1/reports/{report_id}/download`\
34630
- \ returns the report as a streamed ZIP file\n\n### Downloading Reports\n\n`GET\
34631
- \ /v1/reports/{report_id}/download` streams the report file directly to the client.\
34632
- \ The report **must** have status `completed` before it can be downloaded \u2014\
34633
- \ calling this endpoint on a report that is still `pending` or `generating` returns\
34634
- \ `409 Conflict`.\n\n**Response details:**\n\n| Header | Value |\n|--------|-------|\n\
34639
+ \ until `status` is terminal (`completed`, `empty` or `failed`)\n3. **Download**\
34640
+ \ \u2014 `GET /v1/reports/{report_id}/download` returns the report as a streamed\
34641
+ \ ZIP file\n\n### Downloading Reports\n\n`GET /v1/reports/{report_id}/download`\
34642
+ \ streams the report file directly to the client. The report **must** have status\
34643
+ \ `completed` before it can be downloaded \u2014 calling this endpoint on a report\
34644
+ \ that is still `pending` or `generating`, or that ended `empty`, returns `409\
34645
+ \ Conflict`.\n\n**Response details:**\n\n| Header | Value |\n|--------|-------|\n\
34635
34646
  | `Content-Type` | `application/zip` |\n| `Content-Disposition` | `attachment;\
34636
34647
  \ filename={report_type}-{report_id}.zip` |\n| `Content-Length` | File size in\
34637
34648
  \ bytes (included when known) |\n\nThe response body is streamed in chunks, so\
@@ -34647,13 +34658,17 @@ tags:
34647
34658
  \ per clock hour** (UTC) can be generated. Duplicate requests within the same\
34648
34659
  \ hour will not produce an additional report.\n\n### Retention\n\nThe **30 most\
34649
34660
  \ recent reports** of each type are kept per organization. Older reports and their\
34650
- \ associated files are automatically deleted when a new report is generated.\n\
34651
- \n### Listing Reports\n\nUse `GET /v1/reports` to list reports with optional filters:\n\
34652
- \n| Parameter | Description |\n|-----------|-------------|\n| `report_type` |\
34653
- \ Filter by report type (repeatable) |\n| `status` | Filter by report status (repeatable)\
34654
- \ |\n| `trigger_type` | Filter by trigger type |\n| `created_after` | Only reports\
34655
- \ created after this timestamp |\n| `created_before` | Only reports created before\
34656
- \ this timestamp |\n"
34661
+ \ associated files are automatically deleted when a new report is generated. Of\
34662
+ \ the `empty` reports of a type, only the most recent one is kept, so scheduled\
34663
+ \ runs for an organization without data do not fill the list with identical entries.\
34664
+ \ `registrar_portfolio_pdf` is exempt from that rule, because its reports are\
34665
+ \ per registrar credential and an `empty` result for one credential says nothing\
34666
+ \ about another.\n\n### Listing Reports\n\nUse `GET /v1/reports` to list reports\
34667
+ \ with optional filters:\n\n| Parameter | Description |\n|-----------|-------------|\n\
34668
+ | `report_type` | Filter by report type (repeatable) |\n| `status` | Filter by\
34669
+ \ report status (repeatable) |\n| `trigger_type` | Filter by trigger type |\n\
34670
+ | `created_after` | Only reports created after this timestamp |\n| `created_before`\
34671
+ \ | Only reports created before this timestamp |\n"
34657
34672
  name: report
34658
34673
  x-displayName: Reports
34659
34674
  - description: Endpoints for creating new Tags
package/src/schema.d.ts CHANGED
@@ -4480,6 +4480,12 @@ export interface components {
4480
4480
  * @description Whether the registry requires authinfo for contact creation
4481
4481
  */
4482
4482
  authinfo_required?: boolean | null;
4483
+ /**
4484
+ * Authinfo Supported
4485
+ * @description Whether the registry supports authinfo for contact creation
4486
+ * @default true
4487
+ */
4488
+ authinfo_supported: boolean;
4483
4489
  /**
4484
4490
  * Is Thick
4485
4491
  * @description Whether the registry supports thick contacts
@@ -11582,7 +11588,7 @@ export interface components {
11582
11588
  * ReportStatus
11583
11589
  * @enum {string}
11584
11590
  */
11585
- ReportStatus: "pending" | "generating" | "completed" | "failed";
11591
+ ReportStatus: "pending" | "generating" | "completed" | "failed" | "empty";
11586
11592
  /**
11587
11593
  * ReportTriggerType
11588
11594
  * @enum {string}