@opusdns/api 0.233.0 → 0.235.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 +1 -1
- package/src/helpers/constants.ts +5 -1
- package/src/openapi.yaml +54 -52
- package/src/schema.d.ts +1 -1
package/package.json
CHANGED
package/src/helpers/constants.ts
CHANGED
|
@@ -4152,6 +4152,8 @@ export const REPORT_TYPE = {
|
|
|
4152
4152
|
DOMAIN_INVENTORY: "domain_inventory",
|
|
4153
4153
|
DNS_ZONE_SUMMARY: "dns_zone_summary",
|
|
4154
4154
|
DNS_ZONE_RECORDS: "dns_zone_records",
|
|
4155
|
+
BILLING_TRANSACTIONS: "billing_transactions",
|
|
4156
|
+
BILLING_TRANSACTIONS_MONTHLY: "billing_transactions_monthly",
|
|
4155
4157
|
} as const satisfies Record<string, ReportType>;
|
|
4156
4158
|
|
|
4157
4159
|
/**
|
|
@@ -4178,7 +4180,9 @@ export const REPORT_TYPE = {
|
|
|
4178
4180
|
export const REPORT_TYPE_VALUES = [
|
|
4179
4181
|
'domain_inventory',
|
|
4180
4182
|
'dns_zone_summary',
|
|
4181
|
-
'dns_zone_records'
|
|
4183
|
+
'dns_zone_records',
|
|
4184
|
+
'billing_transactions',
|
|
4185
|
+
'billing_transactions_monthly'
|
|
4182
4186
|
] as const satisfies [string, ...string[]] | ReportType[];
|
|
4183
4187
|
|
|
4184
4188
|
/**
|
package/src/openapi.yaml
CHANGED
|
@@ -8275,6 +8275,8 @@ components:
|
|
|
8275
8275
|
- domain_inventory
|
|
8276
8276
|
- dns_zone_summary
|
|
8277
8277
|
- dns_zone_records
|
|
8278
|
+
- billing_transactions
|
|
8279
|
+
- billing_transactions_monthly
|
|
8278
8280
|
title: ReportType
|
|
8279
8281
|
type: string
|
|
8280
8282
|
RequestHistory:
|
|
@@ -9600,19 +9602,19 @@ components:
|
|
|
9600
9602
|
tokenUrl: token
|
|
9601
9603
|
type: oauth2
|
|
9602
9604
|
info:
|
|
9603
|
-
description: "
|
|
9605
|
+
description: "## Authentication\n\nOpusDNS supports API authentication in two ways:\n\
|
|
9604
9606
|
\n- Direct API key authentication using the `X-Api-Key` header\n- OAuth token\
|
|
9605
9607
|
\ authentication using the `/v1/auth/token` [endpoint](https://developers.opusdns.com/#tag/authentication/POST/v1/auth/token)\n\
|
|
9606
|
-
\n
|
|
9607
|
-
\ Dashboard under [API Credentials](https://app.opusdns.com/developer/api-credentials)\n\
|
|
9608
|
-
+ Store the generated key securely when it is shown to you.\n\n
|
|
9609
|
-
\ key\n\n
|
|
9608
|
+
\n### Creating an API key in the Dashboard\n\n+ Create a new API key from the\
|
|
9609
|
+
\ OpusDNS Dashboard under [API Credentials](https://app.opusdns.com/developer/api-credentials)\n\
|
|
9610
|
+
+ Store the generated key securely when it is shown to you.\n\n### Using the API\
|
|
9611
|
+
\ key\n\n#### Option 1: `X-Api-Key` header\n\nSend your full OpusDNS API key in\
|
|
9610
9612
|
\ the `X-Api-Key` header on each request:\n\n```http\nGET /v1/domains HTTP/1.1\n\
|
|
9611
9613
|
Host: sandbox.opusdns.com\nX-Api-Key: opk_your_full_api_key_here\n```\n\nThis\
|
|
9612
|
-
\ is the most direct way to authenticate.\n\n
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
\ngrant_type=client_credentials&client_id=organization_...&client_secret=...\n\
|
|
9614
|
+
\ is the most direct way to authenticate.\n\n#### Option 2: OAuth token flow\n\
|
|
9615
|
+
\nOpusDNS also supports retrieving a bearer token from the token endpoint:\n\n\
|
|
9616
|
+
```http\nPOST /v1/auth/token HTTP/1.1\nHost: sandbox.opusdns.com\nContent-Type:\
|
|
9617
|
+
\ application/x-www-form-urlencoded\n\ngrant_type=client_credentials&client_id=organization_...&client_secret=...\n\
|
|
9616
9618
|
```\n\nSuccessful responses return a bearer token and expiry:\n\n```json\n{\n\
|
|
9617
9619
|
\ \"access_token\": \"eyJ...\",\n \"token_type\": \"Bearer\",\n \"expires_in\"\
|
|
9618
9620
|
: 3600\n}\n```\n\nYou can then use that token on subsequent requests:\n\n```http\n\
|
|
@@ -9620,7 +9622,7 @@ info:
|
|
|
9620
9622
|
```\n\nYou can use this method when:\n\n- Your platform prefers standard OAuth-style\
|
|
9621
9623
|
\ bearer tokens\n- You want short-lived access tokens instead of sending the API\
|
|
9622
9624
|
\ key on every request\n- Your HTTP tooling already expects `Authorization: Bearer\
|
|
9623
|
-
\ ...`\n\n\n\n\n
|
|
9625
|
+
\ ...`\n\n\n\n\n## Resource IDs\n\nThe API uses extensively [Type IDs](https://github.com/jetify-com/typeid):\
|
|
9624
9626
|
\ type-safe, K-sortable, globally unique identifier inspired by Stripe IDs. They\
|
|
9625
9627
|
\ can be easily identified with a format like `prefix_01jxe1nzrmf78scaqbkjx0va0f`.\
|
|
9626
9628
|
\ The `prefix` gives context to the ID - some examples include `user`, `organization`,\
|
|
@@ -9636,7 +9638,7 @@ info:
|
|
|
9636
9638
|
\ available for many languages to make handling Type IDs easier](https://github.com/jetify-com/typeid?tab=readme-ov-file#official-implementations-by-jetify).\
|
|
9637
9639
|
\ We're using them ourselves on the backend to quickly catch mistakes like passing\
|
|
9638
9640
|
\ the wrong Type ID (passing a user ID like `user_01jxe1z8atfxpabknqbzhkvr3s`\
|
|
9639
|
-
\ where a domain ID `domain_01jxe1zw90f1t8vgpyfns8qwk1` was expected).\n\n\n
|
|
9641
|
+
\ where a domain ID `domain_01jxe1zw90f1t8vgpyfns8qwk1` was expected).\n\n\n##\
|
|
9640
9642
|
\ Sandbox Environment\n\nWe provide a free sandbox environment where you can test\
|
|
9641
9643
|
\ and make sure your integration with OpusDNS runs smoothly. The sandbox is completely\
|
|
9642
9644
|
\ isolated, meaning all domains, configurations, and actions inside this environment\
|
|
@@ -9646,15 +9648,15 @@ info:
|
|
|
9646
9648
|
\ there.\n\nThis sandbox provides a separate dashboard at [app.sandbox.opusdns.com](https://app.sandbox.opusdns.com).\n\
|
|
9647
9649
|
\nThe sandbox API Base URL is `https://sandbox.opusdns.com`.\n\nIf you have any\
|
|
9648
9650
|
\ questions about the API or run into issues, please open a ticket at support@opusdns.com.\
|
|
9649
|
-
\ We are happy to help!\n\n
|
|
9651
|
+
\ We are happy to help!\n\n## Open-source SDKs and libraries\n\nWe're constantly\
|
|
9650
9652
|
\ building new features and services from SDKs and plugins to other exciting tools.\
|
|
9651
9653
|
\ Check out [our GitHub](https://github.com/OpusDNS/) to see the latest developments\
|
|
9652
|
-
\ and try them out yourself!\n\n
|
|
9654
|
+
\ and try them out yourself!\n\n#### OpusDNS Go Client\n\nWe offer a client implementation\
|
|
9653
9655
|
\ for go that supports all the features of our API. \nCheck out the client [here](https://github.com/OpusDNS/opusdns-go-client)!\n\
|
|
9654
|
-
\n"
|
|
9656
|
+
\n\n"
|
|
9655
9657
|
summary: OpusDNS - your gateway to a seamless domain management experience.
|
|
9656
9658
|
title: OpusDNS API
|
|
9657
|
-
version: 2026-04-
|
|
9659
|
+
version: 2026-04-02-142331
|
|
9658
9660
|
x-logo:
|
|
9659
9661
|
altText: OpusDNS API Reference
|
|
9660
9662
|
url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
|
|
@@ -21160,13 +21162,13 @@ tags:
|
|
|
21160
21162
|
- description: "Endpoints for submitting and tracking batch command execution.\n\n\
|
|
21161
21163
|
The Jobs API enables asynchronous execution of bulk operations through batches.\
|
|
21162
21164
|
\ Submit multiple commands in a single request and poll for completion status.\n\
|
|
21163
|
-
\n
|
|
21165
|
+
\n### Supported Commands\n\n#### Single-resource commands\n\n| Command | Description\
|
|
21164
21166
|
\ |\n|---------|-------------|\n| `domain_create` | Register a new domain |\n\
|
|
21165
21167
|
| `domain_update` | Modify domain settings (contacts, nameservers, statuses, renewal\
|
|
21166
21168
|
\ mode) |\n| `domain_transfer` | Initiate an inbound domain transfer |\n| `dns_zone_create`\
|
|
21167
21169
|
\ | Create a new DNS zone with optional records |\n| `dns_zone_update` | Update\
|
|
21168
|
-
\ an existing DNS zone |\n| `contact_create` | Create a new contact |\n\n
|
|
21169
|
-
\ commands (template + instances)\n\nBulk commands use a **template + instances**\
|
|
21170
|
+
\ an existing DNS zone |\n| `contact_create` | Create a new contact |\n\n####\
|
|
21171
|
+
\ Bulk commands (template + instances)\n\nBulk commands use a **template + instances**\
|
|
21170
21172
|
\ pattern. The template defines shared settings applied to all items, while each\
|
|
21171
21173
|
\ instance specifies a target resource and optional per-resource overrides.\n\n\
|
|
21172
21174
|
| Command | Description |\n|---------|-------------|\n| `domain_create_bulk` |\
|
|
@@ -21179,7 +21181,7 @@ tags:
|
|
|
21179
21181
|
\ contacts |\n| `parking_create_bulk` | Create parking pages for multiple domains\
|
|
21180
21182
|
\ |\n| `parking_enable_bulk` | Enable parking on multiple domains |\n| `parking_disable_bulk`\
|
|
21181
21183
|
\ | Disable parking on multiple domains |\n| `parking_delete_bulk` | Delete parking\
|
|
21182
|
-
\ pages for multiple domains |\n\n
|
|
21184
|
+
\ pages for multiple domains |\n\n### Batch Lifecycle\n\nEach job within a batch\
|
|
21183
21185
|
\ transitions through states:\n\n1. **blocked** \u2014 Waiting for eligibility\
|
|
21184
21186
|
\ (scheduled via `not_before`, or awaiting capacity)\n2. **queued** \u2014 Eligible\
|
|
21185
21187
|
\ and awaiting processing\n3. **paused** \u2014 Paused; must be explicitly resumed\
|
|
@@ -21189,26 +21191,26 @@ tags:
|
|
|
21189
21191
|
\ before completion\n8. **dead_letter** \u2014 Permanently failed after exhausting\
|
|
21190
21192
|
\ retries\n\nA batch itself has a `status` field that is either `pending` (jobs\
|
|
21191
21193
|
\ are still in progress) or `complete` (all jobs have reached a terminal state).\n\
|
|
21192
|
-
\n
|
|
21194
|
+
\n### Usage Pattern\n\n1. **Submit a batch** \u2014 `POST /v1/jobs` with an array\
|
|
21193
21195
|
\ of commands\n2. **Poll for status** \u2014 `GET /v1/jobs/{batch_id}` to check\
|
|
21194
21196
|
\ progress counts and `progress_percentage`\n3. **Review results** \u2014 `GET\
|
|
21195
|
-
\ /v1/jobs/{batch_id}/jobs` to see individual job outcomes\n\n
|
|
21197
|
+
\ /v1/jobs/{batch_id}/jobs` to see individual job outcomes\n\n### Managing Batches\n\
|
|
21196
21198
|
\n- **Pause** \u2014 `POST /v1/jobs/{batch_id}/pause` pauses all eligible jobs\
|
|
21197
21199
|
\ in the batch\n- **Resume** \u2014 `POST /v1/jobs/{batch_id}/resume` resumes\
|
|
21198
21200
|
\ all paused jobs\n- **Cancel** \u2014 `DELETE /v1/jobs/{batch_id}` cancels all\
|
|
21199
21201
|
\ pending jobs in the batch\n\nIndividual jobs can also be paused, resumed, or\
|
|
21200
|
-
\ canceled via the `/v1/job/{job_id}` endpoints.\n\n
|
|
21202
|
+
\ canceled via the `/v1/job/{job_id}` endpoints.\n\n### Limits\n\n- Maximum **50,000\
|
|
21201
21203
|
\ commands** per batch\n- Bulk commands support up to **1,000 instances** per\
|
|
21202
|
-
\ command\n\n
|
|
21204
|
+
\ command\n\n### Scheduling\n\nUse `not_before` to schedule batch execution for\
|
|
21203
21205
|
\ a future time (UTC timestamp). If not provided, processing begins as soon as\
|
|
21204
|
-
\ a worker is available.\n\n
|
|
21206
|
+
\ a worker is available.\n\n### Idempotency\n\nEach command can include an optional\
|
|
21205
21207
|
\ `idempotency_key` to prevent duplicate execution. If a command with the same\
|
|
21206
|
-
\ idempotency key has already been processed, it will be skipped.\n\n
|
|
21208
|
+
\ idempotency key has already been processed, it will be skipped.\n\n### Domain\
|
|
21207
21209
|
\ Status Updates in Batches\n\nThe `domain_update` and `domain_update_bulk` commands\
|
|
21208
21210
|
\ support two mutually exclusive approaches for modifying domain statuses. These\
|
|
21209
21211
|
\ work the same way as the `PATCH /v1/domains/{domain_reference}` endpoint \u2014\
|
|
21210
21212
|
\ see the [Domain management](#tag/Domain-management) documentation for full details\
|
|
21211
|
-
\ on `statuses` vs `status_changes`.\n\n
|
|
21213
|
+
\ on `statuses` vs `status_changes`.\n\n#### Using `status_changes` in bulk templates\n\
|
|
21212
21214
|
\nThe `domain_update_bulk` command is particularly useful with `status_changes`\
|
|
21213
21215
|
\ when you need to apply the same relative status change across many domains.\
|
|
21214
21216
|
\ Set `status_changes` in the **template** and list the target domains as **instances**.\
|
|
@@ -21217,7 +21219,7 @@ tags:
|
|
|
21217
21219
|
template\": {\n \"status_changes\": {\n \"add\": [\"clientTransferProhibited\"\
|
|
21218
21220
|
]\n }\n },\n \"instances\": [\n { \"name\": \"example.com\" },\n\
|
|
21219
21221
|
\ { \"name\": \"example.net\" },\n { \"name\": \"example.org\" }\n \
|
|
21220
|
-
\ ]\n }\n}\n```\n\n
|
|
21222
|
+
\ ]\n }\n}\n```\n\n#### Per-domain overrides\n\nIf an instance provides its\
|
|
21221
21223
|
\ own `statuses` or `status_changes` field, it completely overrides the template's\
|
|
21222
21224
|
\ status settings for that domain. This lets you apply a default change to most\
|
|
21223
21225
|
\ domains while handling exceptions individually:\n\n```json\n{\n \"command\"\
|
|
@@ -21237,44 +21239,44 @@ tags:
|
|
|
21237
21239
|
'
|
|
21238
21240
|
name: dns
|
|
21239
21241
|
x-displayName: DNS Management
|
|
21240
|
-
- description: "Endpoints for creating and managing domains.\n\n
|
|
21242
|
+
- description: "Endpoints for creating and managing domains.\n\n### Domain References\n\
|
|
21241
21243
|
\nMost domain endpoints accept a `domain_reference` path parameter. This can be\
|
|
21242
21244
|
\ either the **domain ID** (e.g., `domain_01jt7deb8mftf8261a54v6m3ey`) or the\
|
|
21243
21245
|
\ **domain name** (e.g., `example.com`). Both are interchangeable wherever `domain_reference`\
|
|
21244
|
-
\ appears.\n\n
|
|
21246
|
+
\ appears.\n\n### Transfer Lock\n\nThe `transfer_lock` field on a domain response\
|
|
21245
21247
|
\ reflects whether the domain has the `clientTransferProhibited` status. Setting\
|
|
21246
21248
|
\ or removing `clientTransferProhibited` via the `statuses` or `status_changes`\
|
|
21247
21249
|
\ fields will automatically update `transfer_lock` accordingly. The `transfer_lock`\
|
|
21248
|
-
\ field itself is read-only.\n\n
|
|
21250
|
+
\ field itself is read-only.\n\n### DNS Zone Creation\n\nWhen creating or transferring\
|
|
21249
21251
|
\ a domain, you can set `create_zone` to `true` to automatically provision a DNS\
|
|
21250
21252
|
\ zone on OpusDNS nameserver infrastructure. Zone creation and nameserver assignment\
|
|
21251
21253
|
\ are handled asynchronously after the domain operation completes, so there may\
|
|
21252
21254
|
\ be a short delay before the zone is created and nameservers are active.\n\n\
|
|
21253
|
-
|
|
21255
|
+
### Updating Domain Statuses\n\n`PATCH /v1/domains/{domain_reference}` supports\
|
|
21254
21256
|
\ two mutually exclusive approaches for modifying client statuses. You **cannot**\
|
|
21255
|
-
\ use both in the same request.\n\n
|
|
21257
|
+
\ use both in the same request.\n\n#### Option 1: `statuses` (absolute / declarative)\n\
|
|
21256
21258
|
\nProvide the **complete list** of client statuses the domain should have. The\
|
|
21257
21259
|
\ API computes the diff against the current state and adds or removes statuses\
|
|
21258
21260
|
\ accordingly.\n\n```json\n{\n \"statuses\": [\"clientTransferProhibited\", \"\
|
|
21259
21261
|
clientDeleteProhibited\"]\n}\n```\n\nUse this when you know exactly which statuses\
|
|
21260
21262
|
\ the domain should end up with. Any current client statuses not in the list will\
|
|
21261
|
-
\ be removed.\n\n
|
|
21263
|
+
\ be removed.\n\n#### Option 2: `status_changes` (relative / delta)\n\nSpecify\
|
|
21262
21264
|
\ which statuses to **add** and/or **remove** relative to the domain's current\
|
|
21263
21265
|
\ state. Statuses not mentioned are left unchanged.\n\n```json\n{\n \"status_changes\"\
|
|
21264
21266
|
: {\n \"add\": [\"clientTransferProhibited\"],\n \"remove\": [\"clientHold\"\
|
|
21265
21267
|
]\n }\n}\n```\n\nUse this when you want to make a targeted change without needing\
|
|
21266
21268
|
\ to know the domain's full current status set. This is especially useful in bulk\
|
|
21267
21269
|
\ operations where different domains may have different existing statuses.\n\n\
|
|
21268
|
-
|
|
21270
|
+
#### Validation rules\n\n- At least one of `add` or `remove` must contain a value\n\
|
|
21269
21271
|
- A status cannot appear in both `add` and `remove`\n- Only client statuses are\
|
|
21270
|
-
\ accepted \u2014 server statuses cannot be modified\n\n
|
|
21272
|
+
\ accepted \u2014 server statuses cannot be modified\n\n#### When to use which\n\
|
|
21271
21273
|
\n| Scenario | Recommended approach |\n|----------|---------------------|\n| Setting\
|
|
21272
21274
|
\ up a domain's statuses for the first time | `statuses` |\n| Locking many domains\
|
|
21273
21275
|
\ for transfer without touching other statuses | `status_changes` with `add` |\n\
|
|
21274
21276
|
| Releasing a hold on a specific domain | `status_changes` with `remove` |\n|\
|
|
21275
21277
|
\ Replacing all statuses as part of a known workflow | `statuses` |\n| Applying\
|
|
21276
21278
|
\ the same change across a batch of domains with varying existing statuses | `status_changes`\
|
|
21277
|
-
\ via `domain_update_bulk` |\n\n
|
|
21279
|
+
\ via `domain_update_bulk` |\n\n#### Blocking statuses\n\nSome statuses prevent\
|
|
21278
21280
|
\ domain updates entirely. If the domain has any of the following, the update\
|
|
21279
21281
|
\ will be rejected:\n\n- `clientUpdateProhibited`\n- `serverUpdateProhibited`\n\
|
|
21280
21282
|
- `pendingTransfer`\n- `pendingRestore`\n- `pendingDelete`\n- `redemptionPeriod`\n\
|
|
@@ -21333,19 +21335,19 @@ tags:
|
|
|
21333
21335
|
x-displayName: Users
|
|
21334
21336
|
- description: "Endpoints for generating and downloading inventory reports.\n\nReports\
|
|
21335
21337
|
\ provide exportable snapshots of your domain and DNS data. Reports are generated\
|
|
21336
|
-
\ asynchronously and can be downloaded as ZIP files once complete.\n\n
|
|
21338
|
+
\ asynchronously and can be downloaded as ZIP files once complete.\n\n### Report\
|
|
21337
21339
|
\ Types\n\n| Type | Description |\n|------|-------------|\n| `domain_inventory`\
|
|
21338
21340
|
\ | Full inventory of all domains in the organization |\n| `dns_zone_summary`\
|
|
21339
21341
|
\ | Summary of all DNS zones and their configuration |\n| `dns_zone_records` |\
|
|
21340
|
-
\ Detailed export of all DNS records across zones |\n\n
|
|
21342
|
+
\ Detailed export of all DNS records across zones |\n\n### Report Lifecycle\n\n\
|
|
21341
21343
|
A report transitions through the following statuses:\n\n1. **pending** \u2014\
|
|
21342
21344
|
\ Report has been queued for generation\n2. **generating** \u2014 Report is being\
|
|
21343
21345
|
\ built\n3. **completed** \u2014 Report is ready for download\n4. **failed** \u2014\
|
|
21344
|
-
\ Generation failed\n\n
|
|
21346
|
+
\ Generation failed\n\n### Usage Pattern\n\n1. **Request a report** \u2014 `POST\
|
|
21345
21347
|
\ /v1/reports` with the desired `report_type`\n2. **Poll for completion** \u2014\
|
|
21346
21348
|
\ `GET /v1/reports/{report_id}` until `status` is `completed`\n3. **Download**\
|
|
21347
21349
|
\ \u2014 `GET /v1/reports/{report_id}/download` returns the report as a streamed\
|
|
21348
|
-
\ ZIP file\n\n
|
|
21350
|
+
\ ZIP file\n\n### Downloading Reports\n\n`GET /v1/reports/{report_id}/download`\
|
|
21349
21351
|
\ streams the report file directly to the client. The report **must** have status\
|
|
21350
21352
|
\ `completed` before it can be downloaded \u2014 calling this endpoint on a report\
|
|
21351
21353
|
\ that is still `pending` or `generating` returns `409 Conflict`.\n\n**Response\
|
|
@@ -21354,19 +21356,19 @@ tags:
|
|
|
21354
21356
|
\ |\n| `Content-Length` | File size in bytes (included when known) |\n\nThe response\
|
|
21355
21357
|
\ body is streamed in chunks, so clients should read the body incrementally rather\
|
|
21356
21358
|
\ than buffering it entirely in memory. When `Content-Length` is present, it can\
|
|
21357
|
-
\ be used to display download progress.\n\n
|
|
21359
|
+
\ be used to display download progress.\n\n### Trigger Types\n\n| Type | Description\
|
|
21358
21360
|
\ |\n|------|-------------|\n| `on_demand` | Manually requested via the API |\n\
|
|
21359
|
-
| `scheduled` | Automatically generated on a recurring schedule |\n\n
|
|
21360
|
-
\nReport creation is rate-limited at two levels:\n\n- **Cooldown
|
|
21361
|
-
\ creating a report, you must wait **5 minutes** before requesting
|
|
21362
|
-
\ of the same type. Requests during the cooldown return `429 Too
|
|
21363
|
-
\ with a `Retry-After` header.\n- **Hourly limit** \u2014 Only
|
|
21364
|
-
\ type per organization per clock hour** (UTC) can be generated
|
|
21365
|
-
\ within the same hour will not produce an additional report.\n\
|
|
21366
|
-
\nThe **30 most recent reports** of each type are kept per organization
|
|
21367
|
-
\ reports and their associated files are automatically deleted when a new
|
|
21368
|
-
\ is generated.\n\n
|
|
21369
|
-
\ with optional filters:\n\n| Parameter | Description |\n|-----------|-------------|\n\
|
|
21361
|
+
| `scheduled` | Automatically generated on a recurring schedule |\n\n### Rate\
|
|
21362
|
+
\ Limiting\n\nReport creation is rate-limited at two levels:\n\n- **Cooldown**\
|
|
21363
|
+
\ \u2014 After creating a report, you must wait **5 minutes** before requesting\
|
|
21364
|
+
\ another report of the same type. Requests during the cooldown return `429 Too\
|
|
21365
|
+
\ Many Requests` with a `Retry-After` header.\n- **Hourly limit** \u2014 Only\
|
|
21366
|
+
\ **one report per type per organization per clock hour** (UTC) can be generated.\
|
|
21367
|
+
\ Duplicate requests within the same hour will not produce an additional report.\n\
|
|
21368
|
+
\n### Retention\n\nThe **30 most recent reports** of each type are kept per organization.\
|
|
21369
|
+
\ Older reports and their associated files are automatically deleted when a new\
|
|
21370
|
+
\ report is generated.\n\n### Listing Reports\n\nUse `GET /v1/reports` to list\
|
|
21371
|
+
\ reports with optional filters:\n\n| Parameter | Description |\n|-----------|-------------|\n\
|
|
21370
21372
|
| `report_type` | Filter by report type (repeatable) |\n| `status` | Filter by\
|
|
21371
21373
|
\ report status (repeatable) |\n| `trigger_type` | Filter by trigger type |\n\
|
|
21372
21374
|
| `created_after` | Only reports created after this timestamp |\n| `created_before`\
|
package/src/schema.d.ts
CHANGED
|
@@ -7660,7 +7660,7 @@ export interface components {
|
|
|
7660
7660
|
* ReportType
|
|
7661
7661
|
* @enum {string}
|
|
7662
7662
|
*/
|
|
7663
|
-
ReportType: "domain_inventory" | "dns_zone_summary" | "dns_zone_records";
|
|
7663
|
+
ReportType: "domain_inventory" | "dns_zone_summary" | "dns_zone_records" | "billing_transactions" | "billing_transactions_monthly";
|
|
7664
7664
|
/** RequestHistory */
|
|
7665
7665
|
RequestHistory: {
|
|
7666
7666
|
/**
|