@opusdns/api 1.152.0 → 1.153.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.153.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 = {
package/src/openapi.yaml CHANGED
@@ -12909,6 +12909,7 @@ components:
12909
12909
  - generating
12910
12910
  - completed
12911
12911
  - failed
12912
+ - empty
12912
12913
  title: ReportStatus
12913
12914
  type: string
12914
12915
  ReportTriggerType:
@@ -16164,7 +16165,7 @@ info:
16164
16165
  \n\n"
16165
16166
  summary: OpusDNS - your gateway to a seamless domain management experience.
16166
16167
  title: OpusDNS API
16167
- version: 2026-09-02-220446
16168
+ version: 2026-09-03-091013
16168
16169
  x-logo:
16169
16170
  altText: OpusDNS API Reference
16170
16171
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -34612,8 +34613,9 @@ tags:
34612
34613
  \ the registrar-elements OpenSearch index, populated by the scheduled daily registrar\
34613
34614
  \ syncs. Report generation does not trigger a sync; it uses the most recently\
34614
34615
  \ 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`.\
34616
+ \ a credential created since the last sync), the report ends as `empty` rather\
34617
+ \ than `failed`: there is nothing to report on yet, and the next run after a sync\
34618
+ \ produces the real report.\n\nThe downloaded ZIP contains `registrar-portfolio-{report_typeid}.pdf`.\
34617
34619
  \ Before each PDF generation, the report service loads the organization's current\
34618
34620
  \ available TLD list from the backend and uses it to mark TLDs in the portfolio\
34619
34621
  \ as available or unavailable. The first version includes the sections backed\
@@ -34624,14 +34626,18 @@ tags:
34624
34626
  \ through the following statuses:\n\n1. **pending** \u2014 Report has been queued\
34625
34627
  \ for generation\n2. **generating** \u2014 Report is being built\n3. **completed**\
34626
34628
  \ \u2014 Report is ready for download\n4. **failed** \u2014 Generation failed\n\
34629
+ 5. **empty** \u2014 The organization had no data for this report type (for example\
34630
+ \ no domains, zones or forwards). No file is produced and download returns `409\
34631
+ \ Conflict`. `record_count` is `0`.\n\n`completed`, `failed` and `empty` are terminal.\n\
34627
34632
  \n### Usage Pattern\n\n1. **Request a report** \u2014 `POST /v1/reports` with\
34628
34633
  \ 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\
34634
+ \ until `status` is terminal (`completed`, `empty` or `failed`)\n3. **Download**\
34635
+ \ \u2014 `GET /v1/reports/{report_id}/download` returns the report as a streamed\
34636
+ \ ZIP file\n\n### Downloading Reports\n\n`GET /v1/reports/{report_id}/download`\
34637
+ \ streams the report file directly to the client. The report **must** have status\
34638
+ \ `completed` before it can be downloaded \u2014 calling this endpoint on a report\
34639
+ \ that is still `pending` or `generating`, or that ended `empty`, returns `409\
34640
+ \ Conflict`.\n\n**Response details:**\n\n| Header | Value |\n|--------|-------|\n\
34635
34641
  | `Content-Type` | `application/zip` |\n| `Content-Disposition` | `attachment;\
34636
34642
  \ filename={report_type}-{report_id}.zip` |\n| `Content-Length` | File size in\
34637
34643
  \ bytes (included when known) |\n\nThe response body is streamed in chunks, so\
@@ -34647,13 +34653,17 @@ tags:
34647
34653
  \ per clock hour** (UTC) can be generated. Duplicate requests within the same\
34648
34654
  \ hour will not produce an additional report.\n\n### Retention\n\nThe **30 most\
34649
34655
  \ 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"
34656
+ \ associated files are automatically deleted when a new report is generated. Of\
34657
+ \ the `empty` reports of a type, only the most recent one is kept, so scheduled\
34658
+ \ runs for an organization without data do not fill the list with identical entries.\
34659
+ \ `registrar_portfolio_pdf` is exempt from that rule, because its reports are\
34660
+ \ per registrar credential and an `empty` result for one credential says nothing\
34661
+ \ about another.\n\n### Listing Reports\n\nUse `GET /v1/reports` to list reports\
34662
+ \ with optional filters:\n\n| Parameter | Description |\n|-----------|-------------|\n\
34663
+ | `report_type` | Filter by report type (repeatable) |\n| `status` | Filter by\
34664
+ \ report status (repeatable) |\n| `trigger_type` | Filter by trigger type |\n\
34665
+ | `created_after` | Only reports created after this timestamp |\n| `created_before`\
34666
+ \ | Only reports created before this timestamp |\n"
34657
34667
  name: report
34658
34668
  x-displayName: Reports
34659
34669
  - description: Endpoints for creating new Tags
package/src/schema.d.ts CHANGED
@@ -11582,7 +11582,7 @@ export interface components {
11582
11582
  * ReportStatus
11583
11583
  * @enum {string}
11584
11584
  */
11585
- ReportStatus: "pending" | "generating" | "completed" | "failed";
11585
+ ReportStatus: "pending" | "generating" | "completed" | "failed" | "empty";
11586
11586
  /**
11587
11587
  * ReportTriggerType
11588
11588
  * @enum {string}