@opusdns/api 0.277.0 → 0.278.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": "^0.19.0"
4
4
  },
5
5
  "name": "@opusdns/api",
6
- "version": "0.277.0",
6
+ "version": "0.278.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -172,6 +172,7 @@ import { DomainUpdateWorkerPayload } from './schemas';
172
172
  import { DomainWithdrawRequest } from './schemas';
173
173
  import { DomainWithdraw } from './schemas';
174
174
  import { DomainsExpiringSoon } from './schemas';
175
+ import { DuplicateCommand } from './schemas';
175
176
  import { EmailForwardAlias } from './schemas';
176
177
  import { EmailForwardAliasCreate } from './schemas';
177
178
  import { EmailForwardAliasMetrics } from './schemas';
@@ -6378,6 +6379,32 @@ export const KEYS_CONTACTS_BASE = [
6378
6379
  * @see {@link KEYS_CREATE_JOB_BATCH} - Array of all keys for this type
6379
6380
  */
6380
6381
  export const KEY_CREATE_JOB_BATCH_BATCH_ID: keyof CreateJobBatch = 'batch_id';
6382
+ /**
6383
+ * Duplicates
6384
+ *
6385
+ * Per-command details for duplicates, including pointers to the existing jobs/batches
6386
+ *
6387
+ * @type {array}
6388
+ *
6389
+ *
6390
+ * @remarks
6391
+ * This key constant provides type-safe access to the `duplicates` property of CreateJobBatch objects.
6392
+ * Use this constant when you need to access properties dynamically or ensure type safety.
6393
+ *
6394
+ * @example
6395
+ * ```typescript
6396
+ * // Direct property access
6397
+ * const value = createjobbatch[KEY_CREATE_JOB_BATCH_DUPLICATES];
6398
+ *
6399
+ * // Dynamic property access
6400
+ * const propertyName = KEY_CREATE_JOB_BATCH_DUPLICATES;
6401
+ * const value = createjobbatch[propertyName];
6402
+ * ```
6403
+ *
6404
+ * @see {@link CreateJobBatch} - The TypeScript type definition
6405
+ * @see {@link KEYS_CREATE_JOB_BATCH} - Array of all keys for this type
6406
+ */
6407
+ export const KEY_CREATE_JOB_BATCH_DUPLICATES: keyof CreateJobBatch = 'duplicates';
6381
6408
  /**
6382
6409
  * Errors
6383
6410
  *
@@ -6430,6 +6457,32 @@ export const KEY_CREATE_JOB_BATCH_ERRORS: keyof CreateJobBatch = 'errors';
6430
6457
  * @see {@link KEYS_CREATE_JOB_BATCH} - Array of all keys for this type
6431
6458
  */
6432
6459
  export const KEY_CREATE_JOB_BATCH_JOBS_CREATED: keyof CreateJobBatch = 'jobs_created';
6460
+ /**
6461
+ * Jobs Duplicated
6462
+ *
6463
+ * Number of commands skipped because their idempotency_key matched a previously-submitted job
6464
+ *
6465
+ * @type {integer}
6466
+ *
6467
+ *
6468
+ * @remarks
6469
+ * This key constant provides type-safe access to the `jobs_duplicated` property of CreateJobBatch objects.
6470
+ * Use this constant when you need to access properties dynamically or ensure type safety.
6471
+ *
6472
+ * @example
6473
+ * ```typescript
6474
+ * // Direct property access
6475
+ * const value = createjobbatch[KEY_CREATE_JOB_BATCH_JOBS_DUPLICATED];
6476
+ *
6477
+ * // Dynamic property access
6478
+ * const propertyName = KEY_CREATE_JOB_BATCH_JOBS_DUPLICATED;
6479
+ * const value = createjobbatch[propertyName];
6480
+ * ```
6481
+ *
6482
+ * @see {@link CreateJobBatch} - The TypeScript type definition
6483
+ * @see {@link KEYS_CREATE_JOB_BATCH} - Array of all keys for this type
6484
+ */
6485
+ export const KEY_CREATE_JOB_BATCH_JOBS_DUPLICATED: keyof CreateJobBatch = 'jobs_duplicated';
6433
6486
  /**
6434
6487
  * Jobs Failed
6435
6488
  *
@@ -6459,7 +6512,7 @@ export const KEY_CREATE_JOB_BATCH_JOBS_FAILED: keyof CreateJobBatch = 'jobs_fail
6459
6512
  /**
6460
6513
  * Status Url
6461
6514
  *
6462
- * URL to check batch status
6515
+ * URL to check batch status. May 404 if jobs_created is 0 — see duplicates[].existing_batch_id for prior batches.
6463
6516
  *
6464
6517
  * @type {string}
6465
6518
  *
@@ -6531,8 +6584,10 @@ export const KEY_CREATE_JOB_BATCH_TOTAL_COMMANDS: keyof CreateJobBatch = 'total_
6531
6584
  */
6532
6585
  export const KEYS_CREATE_JOB_BATCH = [
6533
6586
  KEY_CREATE_JOB_BATCH_BATCH_ID,
6587
+ KEY_CREATE_JOB_BATCH_DUPLICATES,
6534
6588
  KEY_CREATE_JOB_BATCH_ERRORS,
6535
6589
  KEY_CREATE_JOB_BATCH_JOBS_CREATED,
6590
+ KEY_CREATE_JOB_BATCH_JOBS_DUPLICATED,
6536
6591
  KEY_CREATE_JOB_BATCH_JOBS_FAILED,
6537
6592
  KEY_CREATE_JOB_BATCH_STATUS_URL,
6538
6593
  KEY_CREATE_JOB_BATCH_TOTAL_COMMANDS,
@@ -19905,6 +19960,162 @@ export const KEYS_DOMAINS_EXPIRING_SOON = [
19905
19960
  KEY_DOMAINS_EXPIRING_SOON_NEXT_90_DAYS,
19906
19961
  ] as const satisfies (keyof DomainsExpiringSoon)[];
19907
19962
 
19963
+ /**
19964
+ * Existing Batch Id
19965
+ *
19966
+ * batch_id of the batch the existing job belongs to. Use this with /v1/jobs/{batch_id} to check status — the batch_id returned at the top level of this response will 404 if no new jobs were created.
19967
+ *
19968
+ *
19969
+ *
19970
+ * @remarks
19971
+ * This key constant provides type-safe access to the `existing_batch_id` property of DuplicateCommand objects.
19972
+ * Use this constant when you need to access properties dynamically or ensure type safety.
19973
+ *
19974
+ * @example
19975
+ * ```typescript
19976
+ * // Direct property access
19977
+ * const value = duplicatecommand[KEY_DUPLICATE_COMMAND_EXISTING_BATCH_ID];
19978
+ *
19979
+ * // Dynamic property access
19980
+ * const propertyName = KEY_DUPLICATE_COMMAND_EXISTING_BATCH_ID;
19981
+ * const value = duplicatecommand[propertyName];
19982
+ * ```
19983
+ *
19984
+ * @see {@link DuplicateCommand} - The TypeScript type definition
19985
+ * @see {@link KEYS_DUPLICATE_COMMAND} - Array of all keys for this type
19986
+ */
19987
+ export const KEY_DUPLICATE_COMMAND_EXISTING_BATCH_ID: keyof DuplicateCommand = 'existing_batch_id';
19988
+ /**
19989
+ * Existing Job Id
19990
+ *
19991
+ * ID of the previously-created job whose idempotency_key matched this command
19992
+ *
19993
+ * @type {string}
19994
+ *
19995
+ *
19996
+ * @remarks
19997
+ * This key constant provides type-safe access to the `existing_job_id` property of DuplicateCommand objects.
19998
+ * Use this constant when you need to access properties dynamically or ensure type safety.
19999
+ *
20000
+ * @example
20001
+ * ```typescript
20002
+ * // Direct property access
20003
+ * const value = duplicatecommand[KEY_DUPLICATE_COMMAND_EXISTING_JOB_ID];
20004
+ *
20005
+ * // Dynamic property access
20006
+ * const propertyName = KEY_DUPLICATE_COMMAND_EXISTING_JOB_ID;
20007
+ * const value = duplicatecommand[propertyName];
20008
+ * ```
20009
+ *
20010
+ * @see {@link DuplicateCommand} - The TypeScript type definition
20011
+ * @see {@link KEYS_DUPLICATE_COMMAND} - Array of all keys for this type
20012
+ */
20013
+ export const KEY_DUPLICATE_COMMAND_EXISTING_JOB_ID: keyof DuplicateCommand = 'existing_job_id';
20014
+ /**
20015
+ * Index
20016
+ *
20017
+ * Index of the duplicate command in the request
20018
+ *
20019
+ * @type {integer}
20020
+ *
20021
+ *
20022
+ * @remarks
20023
+ * This key constant provides type-safe access to the `index` property of DuplicateCommand objects.
20024
+ * Use this constant when you need to access properties dynamically or ensure type safety.
20025
+ *
20026
+ * @example
20027
+ * ```typescript
20028
+ * // Direct property access
20029
+ * const value = duplicatecommand[KEY_DUPLICATE_COMMAND_INDEX];
20030
+ *
20031
+ * // Dynamic property access
20032
+ * const propertyName = KEY_DUPLICATE_COMMAND_INDEX;
20033
+ * const value = duplicatecommand[propertyName];
20034
+ * ```
20035
+ *
20036
+ * @see {@link DuplicateCommand} - The TypeScript type definition
20037
+ * @see {@link KEYS_DUPLICATE_COMMAND} - Array of all keys for this type
20038
+ */
20039
+ export const KEY_DUPLICATE_COMMAND_INDEX: keyof DuplicateCommand = 'index';
20040
+ /**
20041
+ * Instance Index
20042
+ *
20043
+ * Index within a bulk command's instances[] for per-instance duplicates
20044
+ *
20045
+ *
20046
+ *
20047
+ * @remarks
20048
+ * This key constant provides type-safe access to the `instance_index` property of DuplicateCommand objects.
20049
+ * Use this constant when you need to access properties dynamically or ensure type safety.
20050
+ *
20051
+ * @example
20052
+ * ```typescript
20053
+ * // Direct property access
20054
+ * const value = duplicatecommand[KEY_DUPLICATE_COMMAND_INSTANCE_INDEX];
20055
+ *
20056
+ * // Dynamic property access
20057
+ * const propertyName = KEY_DUPLICATE_COMMAND_INSTANCE_INDEX;
20058
+ * const value = duplicatecommand[propertyName];
20059
+ * ```
20060
+ *
20061
+ * @see {@link DuplicateCommand} - The TypeScript type definition
20062
+ * @see {@link KEYS_DUPLICATE_COMMAND} - Array of all keys for this type
20063
+ */
20064
+ export const KEY_DUPLICATE_COMMAND_INSTANCE_INDEX: keyof DuplicateCommand = 'instance_index';
20065
+ /**
20066
+ * Resource Key
20067
+ *
20068
+ * Resource identifier (zone name, domain name, contact email) for this duplicate
20069
+ *
20070
+ *
20071
+ *
20072
+ * @remarks
20073
+ * This key constant provides type-safe access to the `resource_key` property of DuplicateCommand objects.
20074
+ * Use this constant when you need to access properties dynamically or ensure type safety.
20075
+ *
20076
+ * @example
20077
+ * ```typescript
20078
+ * // Direct property access
20079
+ * const value = duplicatecommand[KEY_DUPLICATE_COMMAND_RESOURCE_KEY];
20080
+ *
20081
+ * // Dynamic property access
20082
+ * const propertyName = KEY_DUPLICATE_COMMAND_RESOURCE_KEY;
20083
+ * const value = duplicatecommand[propertyName];
20084
+ * ```
20085
+ *
20086
+ * @see {@link DuplicateCommand} - The TypeScript type definition
20087
+ * @see {@link KEYS_DUPLICATE_COMMAND} - Array of all keys for this type
20088
+ */
20089
+ export const KEY_DUPLICATE_COMMAND_RESOURCE_KEY: keyof DuplicateCommand = 'resource_key';
20090
+
20091
+ /**
20092
+ * Array of all DuplicateCommand property keys
20093
+ *
20094
+ * @remarks
20095
+ * This constant provides a readonly array containing all valid property keys for DuplicateCommand objects.
20096
+ * Useful for iteration, validation, and generating dynamic UI components.
20097
+ *
20098
+ * @example
20099
+ * ```typescript
20100
+ * // Iterating through all keys
20101
+ * for (const key of KEYS_DUPLICATE_COMMAND) {
20102
+ * console.log(`Property: ${key}, Value: ${duplicatecommand[key]}`);
20103
+ * }
20104
+ *
20105
+ * // Validation
20106
+ * const isValidKey = KEYS_DUPLICATE_COMMAND.includes(someKey);
20107
+ * ```
20108
+ *
20109
+ * @see {@link DuplicateCommand} - The TypeScript type definition
20110
+ */
20111
+ export const KEYS_DUPLICATE_COMMAND = [
20112
+ KEY_DUPLICATE_COMMAND_EXISTING_BATCH_ID,
20113
+ KEY_DUPLICATE_COMMAND_EXISTING_JOB_ID,
20114
+ KEY_DUPLICATE_COMMAND_INDEX,
20115
+ KEY_DUPLICATE_COMMAND_INSTANCE_INDEX,
20116
+ KEY_DUPLICATE_COMMAND_RESOURCE_KEY,
20117
+ ] as const satisfies (keyof DuplicateCommand)[];
20118
+
19908
20119
  /**
19909
20120
  * Alias
19910
20121
  *
@@ -21,7 +21,7 @@
21
21
  * This file is auto-generated from the OpenAPI specification.
22
22
  * Do not edit manually.
23
23
  */
24
- import { ContactIncludeField, ZoneIncludeField, DomainIncludeField, DomainDnssecData, DomainDnssecDataCreate, JobStatus, OrganizationAttribute, OrganizationAttributeUpdate, IpRestriction, ReportType, ReportStatus, TagType, TldResponseShort, AttributeCondition, DomainContactType, ContactCreateBulkInstance, ContactAttributeLinkDetail, TagEnriched, ContactAttributeDefinition, PostalAddressType, ContactConfigBase, CommandError, DnsChange, DnsRecordCreate, DnsRecord, DnsRrsetCreate, DnsZoneCreateBulkInstance, DnsRecordPatchOp, DnsZonePatchRecordsBulkInstance, DnsRrsetPatchOp, DnsZonePatchRrsetsBulkInstance, DnsRrset, DnsZoneUpdateBulkInstance, DomainAvailabilityCheck, ContactHandle, Nameserver, DomainCreateBulkInstance, BrowserStatsBucket, GeoStatsBucket, TimeSeriesBucket, DomainForwardPatchOp, PlatformStatsBucket, HttpRedirectRequest, HttpRedirectList, ReferrerStatsBucket, StatusCodeStatsBucket, UserAgentStatsBucket, VisitsByKeyBucket, DomainForward, DeletePolicyType, SyncOperationType, DomainContact, DomainHost, DomainSearchSuggestionWithPrice, DomainStatus, DomainTransferBulkInstance, DomainClientStatus, DomainUpdateBulkInstance, EmailForwardAliasCreate, EmailForwardLogEvent, EmailForwardAliasMetrics, EmailForwardAlias, EmailForward, PriceInfo, ValidationError, LaunchPhaseBase, LegalRequirementOperationType, LocalPresenceRequirementType, OrganizationAttribute2, User, OrganizationAttributeCreate, UserCreate, BillingTransaction, ContactAttributeSet, Contact, DnsZone, DomainForwardZone, Domain, EmailForwardLog, EmailForwardZone, EventResponse, Invoice, JobBatchMetadata, Job, ObjectLog, Organization, Parking, RequestHistory, Tag, UserPublic, ParkingCreateBulkInstance, ParkingDeleteBulkInstance, ParkingDisableBulkInstance, ParkingEnableBulkInstance, Period, Permission, PremiumAffectsType, PremiumPriceEntryRes, PremiumPricingAction, PublicReportRes, Relation, LegalRequirementBase, TldBase, PostTransferRequirements, UserAttributeBase, DomainAvailability } from './schemas.d';
24
+ import { ContactIncludeField, ZoneIncludeField, DomainIncludeField, DomainDnssecData, DomainDnssecDataCreate, JobStatus, OrganizationAttribute, OrganizationAttributeUpdate, IpRestriction, ReportType, ReportStatus, TagType, TldResponseShort, AttributeCondition, DomainContactType, ContactCreateBulkInstance, ContactAttributeLinkDetail, TagEnriched, ContactAttributeDefinition, PostalAddressType, ContactConfigBase, DuplicateCommand, CommandError, DnsChange, DnsRecordCreate, DnsRecord, DnsRrsetCreate, DnsZoneCreateBulkInstance, DnsRecordPatchOp, DnsZonePatchRecordsBulkInstance, DnsRrsetPatchOp, DnsZonePatchRrsetsBulkInstance, DnsRrset, DnsZoneUpdateBulkInstance, DomainAvailabilityCheck, ContactHandle, Nameserver, DomainCreateBulkInstance, BrowserStatsBucket, GeoStatsBucket, TimeSeriesBucket, DomainForwardPatchOp, PlatformStatsBucket, HttpRedirectRequest, HttpRedirectList, ReferrerStatsBucket, StatusCodeStatsBucket, UserAgentStatsBucket, VisitsByKeyBucket, DomainForward, DeletePolicyType, SyncOperationType, DomainContact, DomainHost, DomainSearchSuggestionWithPrice, DomainStatus, DomainTransferBulkInstance, DomainClientStatus, DomainUpdateBulkInstance, EmailForwardAliasCreate, EmailForwardLogEvent, EmailForwardAliasMetrics, EmailForwardAlias, EmailForward, PriceInfo, ValidationError, LaunchPhaseBase, LegalRequirementOperationType, LocalPresenceRequirementType, OrganizationAttribute2, User, OrganizationAttributeCreate, UserCreate, BillingTransaction, ContactAttributeSet, Contact, DnsZone, DomainForwardZone, Domain, EmailForwardLog, EmailForwardZone, EventResponse, Invoice, JobBatchMetadata, Job, ObjectLog, Organization, Parking, RequestHistory, Tag, UserPublic, ParkingCreateBulkInstance, ParkingDeleteBulkInstance, ParkingDisableBulkInstance, ParkingEnableBulkInstance, Period, Permission, PremiumAffectsType, PremiumPriceEntryRes, PremiumPricingAction, PublicReportRes, Relation, LegalRequirementBase, TldBase, PostTransferRequirements, UserAttributeBase, DomainAvailability } from './schemas.d';
25
25
 
26
26
  /**
27
27
  * ContactIncludeField
@@ -317,6 +317,20 @@ export type PostalAddressTypeArray = PostalAddressType[];
317
317
  * @see {@link ContactConfigBase} - The individual ContactConfigBase type definition
318
318
  */
319
319
  export type ContactConfigBaseArray = ContactConfigBase[];
320
+ /**
321
+ * DuplicateCommand
322
+ *
323
+ * @remarks
324
+ * Array type for DuplicateCommand objects. Used when the API returns a collection of DuplicateCommand instances.
325
+ *
326
+ * @example
327
+ * ```typescript
328
+ * const items: DuplicateCommandArray = await api.getDuplicateCommands();
329
+ * ```
330
+ *
331
+ * @see {@link DuplicateCommand} - The individual DuplicateCommand type definition
332
+ */
333
+ export type DuplicateCommandArray = DuplicateCommand[];
320
334
  /**
321
335
  * CommandError
322
336
  *
@@ -2858,6 +2858,22 @@ export type DomainWithdraw = components['schemas']['DomainWithdrawResponse'];
2858
2858
  * @see {@link components} - The OpenAPI components schema definition
2859
2859
  */
2860
2860
  export type DomainsExpiringSoon = components['schemas']['DomainsExpiringSoon'];
2861
+ /**
2862
+ * DuplicateCommand
2863
+ *
2864
+ * @remarks
2865
+ * Type alias for the `DuplicateCommand` OpenAPI schema.
2866
+ * This type represents duplicatecommand data structures used in API requests and responses.
2867
+ *
2868
+ * @example
2869
+ * ```typescript
2870
+ * const response = await api.getDuplicateCommand();
2871
+ * const item: DuplicateCommand = response.results;
2872
+ * ```
2873
+ *
2874
+ * @see {@link components} - The OpenAPI components schema definition
2875
+ */
2876
+ export type DuplicateCommand = components['schemas']['DuplicateCommand'];
2861
2877
  /**
2862
2878
  * EmailForwardAlias
2863
2879
  *
package/src/openapi.yaml CHANGED
@@ -1596,6 +1596,13 @@ components:
1596
1596
  title: Batch Id
1597
1597
  type: string
1598
1598
  x-typeid-prefix: batch
1599
+ duplicates:
1600
+ description: Per-command details for duplicates, including pointers to the
1601
+ existing jobs/batches
1602
+ items:
1603
+ $ref: '#/components/schemas/DuplicateCommand'
1604
+ title: Duplicates
1605
+ type: array
1599
1606
  errors:
1600
1607
  description: Details of failed commands
1601
1608
  items:
@@ -1606,12 +1613,19 @@ components:
1606
1613
  description: Number of jobs successfully created
1607
1614
  title: Jobs Created
1608
1615
  type: integer
1616
+ jobs_duplicated:
1617
+ default: 0
1618
+ description: Number of commands skipped because their idempotency_key matched
1619
+ a previously-submitted job
1620
+ title: Jobs Duplicated
1621
+ type: integer
1609
1622
  jobs_failed:
1610
1623
  description: Number of jobs that failed to create
1611
1624
  title: Jobs Failed
1612
1625
  type: integer
1613
1626
  status_url:
1614
- description: URL to check batch status
1627
+ description: "URL to check batch status. May 404 if jobs_created is 0 \u2014\
1628
+ \ see duplicates[].existing_batch_id for prior batches."
1615
1629
  title: Status Url
1616
1630
  type: string
1617
1631
  total_commands:
@@ -4720,6 +4734,54 @@ components:
4720
4734
  - next_90_days
4721
4735
  title: DomainsExpiringSoon
4722
4736
  type: object
4737
+ DuplicateCommand:
4738
+ properties:
4739
+ existing_batch_id:
4740
+ anyOf:
4741
+ - examples:
4742
+ - batch_01h45ytscbebyvny4gc8cr8ma2
4743
+ format: typeid
4744
+ pattern: ^batch_[0-7][0-9a-hjkmnpq-tv-z]{25}$
4745
+ type: string
4746
+ x-typeid-prefix: batch
4747
+ - type: 'null'
4748
+ description: "batch_id of the batch the existing job belongs to. Use this\
4749
+ \ with /v1/jobs/{batch_id} to check status \u2014 the batch_id returned\
4750
+ \ at the top level of this response will 404 if no new jobs were created."
4751
+ title: Existing Batch Id
4752
+ existing_job_id:
4753
+ description: ID of the previously-created job whose idempotency_key matched
4754
+ this command
4755
+ examples:
4756
+ - job_01h45ytscbebyvny4gc8cr8ma2
4757
+ format: typeid
4758
+ pattern: ^job_[0-7][0-9a-hjkmnpq-tv-z]{25}$
4759
+ title: Existing Job Id
4760
+ type: string
4761
+ x-typeid-prefix: job
4762
+ index:
4763
+ description: Index of the duplicate command in the request
4764
+ title: Index
4765
+ type: integer
4766
+ instance_index:
4767
+ anyOf:
4768
+ - type: integer
4769
+ - type: 'null'
4770
+ description: Index within a bulk command's instances[] for per-instance
4771
+ duplicates
4772
+ title: Instance Index
4773
+ resource_key:
4774
+ anyOf:
4775
+ - type: string
4776
+ - type: 'null'
4777
+ description: Resource identifier (zone name, domain name, contact email)
4778
+ for this duplicate
4779
+ title: Resource Key
4780
+ required:
4781
+ - index
4782
+ - existing_job_id
4783
+ title: DuplicateCommand
4784
+ type: object
4723
4785
  EmailForwardAlias:
4724
4786
  properties:
4725
4787
  alias:
@@ -10212,7 +10274,7 @@ info:
10212
10274
  \n\n"
10213
10275
  summary: OpusDNS - your gateway to a seamless domain management experience.
10214
10276
  title: OpusDNS API
10215
- version: 2026-04-29-122519
10277
+ version: 2026-04-30-022644
10216
10278
  x-logo:
10217
10279
  altText: OpusDNS API Reference
10218
10280
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
package/src/schema.d.ts CHANGED
@@ -3385,6 +3385,11 @@ export interface components {
3385
3385
  * @example batch_01h45ytscbebyvny4gc8cr8ma2
3386
3386
  */
3387
3387
  batch_id: TypeId<"batch">;
3388
+ /**
3389
+ * Duplicates
3390
+ * @description Per-command details for duplicates, including pointers to the existing jobs/batches
3391
+ */
3392
+ duplicates?: components["schemas"]["DuplicateCommand"][];
3388
3393
  /**
3389
3394
  * Errors
3390
3395
  * @description Details of failed commands
@@ -3395,6 +3400,12 @@ export interface components {
3395
3400
  * @description Number of jobs successfully created
3396
3401
  */
3397
3402
  jobs_created: number;
3403
+ /**
3404
+ * Jobs Duplicated
3405
+ * @description Number of commands skipped because their idempotency_key matched a previously-submitted job
3406
+ * @default 0
3407
+ */
3408
+ jobs_duplicated: number;
3398
3409
  /**
3399
3410
  * Jobs Failed
3400
3411
  * @description Number of jobs that failed to create
@@ -3402,7 +3413,7 @@ export interface components {
3402
3413
  jobs_failed: number;
3403
3414
  /**
3404
3415
  * Status Url
3405
- * @description URL to check batch status
3416
+ * @description URL to check batch status. May 404 if jobs_created is 0 — see duplicates[].existing_batch_id for prior batches.
3406
3417
  */
3407
3418
  status_url: string;
3408
3419
  /**
@@ -5405,6 +5416,36 @@ export interface components {
5405
5416
  */
5406
5417
  next_90_days: number;
5407
5418
  };
5419
+ /** DuplicateCommand */
5420
+ DuplicateCommand: {
5421
+ /**
5422
+ * Existing Batch Id
5423
+ * @description batch_id of the batch the existing job belongs to. Use this with /v1/jobs/{batch_id} to check status — the batch_id returned at the top level of this response will 404 if no new jobs were created.
5424
+ */
5425
+ existing_batch_id?: TypeId<"batch"> | null;
5426
+ /**
5427
+ * Existing Job Id
5428
+ * Format: typeid
5429
+ * @description ID of the previously-created job whose idempotency_key matched this command
5430
+ * @example job_01h45ytscbebyvny4gc8cr8ma2
5431
+ */
5432
+ existing_job_id: TypeId<"job">;
5433
+ /**
5434
+ * Index
5435
+ * @description Index of the duplicate command in the request
5436
+ */
5437
+ index: number;
5438
+ /**
5439
+ * Instance Index
5440
+ * @description Index within a bulk command's instances[] for per-instance duplicates
5441
+ */
5442
+ instance_index?: number | null;
5443
+ /**
5444
+ * Resource Key
5445
+ * @description Resource identifier (zone name, domain name, contact email) for this duplicate
5446
+ */
5447
+ resource_key?: string | null;
5448
+ };
5408
5449
  /** EmailForwardAlias */
5409
5450
  EmailForwardAlias: {
5410
5451
  /** Alias */