@opusdns/api 0.289.0 → 0.290.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/src/openapi.yaml CHANGED
@@ -323,6 +323,88 @@ components:
323
323
  - objects
324
324
  title: BulkObjectTagChanges
325
325
  type: object
326
+ ClaimsNotice:
327
+ properties:
328
+ claims:
329
+ description: List of trademark claims
330
+ items:
331
+ $ref: '#/components/schemas/TmClaim'
332
+ title: Claims
333
+ type: array
334
+ claims_key:
335
+ description: The claims key used to retrieve this claims notice
336
+ title: Claims Key
337
+ type: string
338
+ claims_notice_acceptance_hash:
339
+ description: Hash to accept the claims notice
340
+ title: Claims Notice Acceptance Hash
341
+ type: string
342
+ label:
343
+ description: Domain name label covered by this claims notice
344
+ title: Label
345
+ type: string
346
+ notice_footer:
347
+ default: ''
348
+ description: Claims notice form footer text
349
+ title: Notice Footer
350
+ type: string
351
+ notice_footer_url:
352
+ default: ''
353
+ description: Claims notice form footer URL
354
+ title: Notice Footer Url
355
+ type: string
356
+ notice_intro:
357
+ default: ''
358
+ description: Introductory text for the claims notice
359
+ title: Notice Intro
360
+ type: string
361
+ notice_not_exact_match_intro:
362
+ default: ''
363
+ description: Introductory text for the non-exact match section
364
+ title: Notice Not Exact Match Intro
365
+ type: string
366
+ notice_title:
367
+ default: ''
368
+ description: Title for the claims notice
369
+ title: Notice Title
370
+ type: string
371
+ rendered_html:
372
+ default: ''
373
+ description: The rendered trademark claims notice HTML
374
+ title: Rendered Html
375
+ type: string
376
+ required:
377
+ - claims_key
378
+ - claims_notice_acceptance_hash
379
+ - label
380
+ title: ClaimsNotice
381
+ type: object
382
+ ClaimsNoticesRequest:
383
+ properties:
384
+ claims_keys:
385
+ description: List of claims keys to retrieve claims notices for, for the
386
+ time being limited to one claims key
387
+ items:
388
+ type: string
389
+ maxItems: 1
390
+ minItems: 1
391
+ title: Claims Keys
392
+ type: array
393
+ required:
394
+ - claims_keys
395
+ title: ClaimsNoticesRequest
396
+ type: object
397
+ ClaimsNoticesResponse:
398
+ properties:
399
+ claims_notices:
400
+ items:
401
+ $ref: '#/components/schemas/ClaimsNotice'
402
+ title: Claims Notices
403
+ type: array
404
+ required:
405
+ - claims_notices
406
+ title: ClaimsNoticesResponse
407
+ type: object
326
408
  CommandError:
327
409
  properties:
328
410
  code:
@@ -1341,6 +1423,13 @@ components:
1341
1423
  - created_on
1342
1424
  title: ContactSortField
1343
1425
  type: string
1426
+ ContactType:
1427
+ enum:
1428
+ - owner
1429
+ - agent
1430
+ - third party
1431
+ title: ContactType
1432
+ type: string
1344
1433
  ContactVerificationApiResponse:
1345
1434
  properties:
1346
1435
  canceled_on:
@@ -5708,6 +5797,13 @@ components:
5708
5797
  - errors
5709
5798
  title: RequestValidationError
5710
5799
  type: object
5800
+ HolderEntitlement:
5801
+ enum:
5802
+ - owner
5803
+ - assignee
5804
+ - licensee
5805
+ title: HolderEntitlement
5806
+ type: string
5711
5807
  HostSchema:
5712
5808
  properties:
5713
5809
  created_on:
@@ -9739,6 +9835,260 @@ components:
9739
9835
  - transfer_policies
9740
9836
  title: TldSpecificationResponse
9741
9837
  type: object
9838
+ TmAddr:
9839
+ description: Address information (addrType in RFC 9361)
9840
+ properties:
9841
+ cc:
9842
+ description: ISO 3166-2 two-character country code
9843
+ maxLength: 2
9844
+ minLength: 2
9845
+ title: Cc
9846
+ type: string
9847
+ city:
9848
+ title: City
9849
+ type: string
9850
+ pc:
9851
+ anyOf:
9852
+ - type: string
9853
+ - type: 'null'
9854
+ title: Pc
9855
+ sp:
9856
+ anyOf:
9857
+ - type: string
9858
+ - type: 'null'
9859
+ title: Sp
9860
+ street:
9861
+ items:
9862
+ type: string
9863
+ maxItems: 3
9864
+ minItems: 1
9865
+ title: Street
9866
+ type: array
9867
+ required:
9868
+ - street
9869
+ - city
9870
+ - cc
9871
+ title: TmAddr
9872
+ type: object
9873
+ TmClaim:
9874
+ description: A single trademark claim within a notice (claimType in RFC 9361)
9875
+ properties:
9876
+ class_descs:
9877
+ description: Nice Classification descriptions
9878
+ items:
9879
+ $ref: '#/components/schemas/TmClassDesc'
9880
+ title: Class Descs
9881
+ type: array
9882
+ contacts:
9883
+ description: Zero or more contacts/representatives
9884
+ items:
9885
+ $ref: '#/components/schemas/TmContact'
9886
+ title: Contacts
9887
+ type: array
9888
+ goods_and_services:
9889
+ description: Full description of goods and services
9890
+ title: Goods And Services
9891
+ type: string
9892
+ holders:
9893
+ description: One or more holders of the mark
9894
+ items:
9895
+ $ref: '#/components/schemas/TmHolder'
9896
+ minItems: 1
9897
+ title: Holders
9898
+ type: array
9899
+ jur_desc:
9900
+ $ref: '#/components/schemas/TmJurDesc'
9901
+ description: Jurisdiction where the mark is protected
9902
+ mark_name:
9903
+ description: Mark text string
9904
+ title: Mark Name
9905
+ type: string
9906
+ not_exact_match:
9907
+ anyOf:
9908
+ - $ref: '#/components/schemas/TmNotExactMatch'
9909
+ - type: 'null'
9910
+ description: Present if claim added by non-exact match rule
9911
+ required:
9912
+ - mark_name
9913
+ - holders
9914
+ - jur_desc
9915
+ - goods_and_services
9916
+ title: TmClaim
9917
+ type: object
9918
+ TmClassDesc:
9919
+ description: Nice Classification description (classDescType in RFC 9361)
9920
+ properties:
9921
+ class_num:
9922
+ description: Nice Classification class number
9923
+ title: Class Num
9924
+ type: integer
9925
+ description:
9926
+ description: Description of the class in English
9927
+ title: Description
9928
+ type: string
9929
+ required:
9930
+ - class_num
9931
+ - description
9932
+ title: TmClassDesc
9933
+ type: object
9934
+ TmContact:
9935
+ description: Contact / representative of the mark (contactType in RFC 9361)
9936
+ properties:
9937
+ addr:
9938
+ $ref: '#/components/schemas/TmAddr'
9939
+ email:
9940
+ title: Email
9941
+ type: string
9942
+ fax:
9943
+ anyOf:
9944
+ - type: string
9945
+ - type: 'null'
9946
+ title: Fax
9947
+ name:
9948
+ title: Name
9949
+ type: string
9950
+ org:
9951
+ anyOf:
9952
+ - type: string
9953
+ - type: 'null'
9954
+ title: Org
9955
+ type:
9956
+ $ref: '#/components/schemas/ContactType'
9957
+ voice:
9958
+ title: Voice
9959
+ type: string
9960
+ required:
9961
+ - type
9962
+ - name
9963
+ - addr
9964
+ - voice
9965
+ - email
9966
+ title: TmContact
9967
+ type: object
9968
+ TmCourt:
9969
+ description: Court resolution reference (courtType in RFC 9361)
9970
+ properties:
9971
+ cc:
9972
+ description: ISO 3166-2 jurisdiction country code
9973
+ maxLength: 2
9974
+ minLength: 2
9975
+ title: Cc
9976
+ type: string
9977
+ court_name:
9978
+ description: Name of the court
9979
+ title: Court Name
9980
+ type: string
9981
+ ref_num:
9982
+ description: Reference number of the court resolution
9983
+ title: Ref Num
9984
+ type: string
9985
+ region:
9986
+ description: Region(s) within the jurisdiction
9987
+ items:
9988
+ type: string
9989
+ title: Region
9990
+ type: array
9991
+ required:
9992
+ - ref_num
9993
+ - cc
9994
+ - court_name
9995
+ title: TmCourt
9996
+ type: object
9997
+ TmHolder:
9998
+ description: Holder of the mark (holderType in RFC 9361). name or org must be
9999
+ set.
10000
+ properties:
10001
+ addr:
10002
+ $ref: '#/components/schemas/TmAddr'
10003
+ email:
10004
+ anyOf:
10005
+ - type: string
10006
+ - type: 'null'
10007
+ title: Email
10008
+ entitlement:
10009
+ $ref: '#/components/schemas/HolderEntitlement'
10010
+ fax:
10011
+ anyOf:
10012
+ - type: string
10013
+ - type: 'null'
10014
+ title: Fax
10015
+ name:
10016
+ anyOf:
10017
+ - type: string
10018
+ - type: 'null'
10019
+ title: Name
10020
+ org:
10021
+ anyOf:
10022
+ - type: string
10023
+ - type: 'null'
10024
+ title: Org
10025
+ voice:
10026
+ anyOf:
10027
+ - type: string
10028
+ - type: 'null'
10029
+ title: Voice
10030
+ required:
10031
+ - entitlement
10032
+ - addr
10033
+ title: TmHolder
10034
+ type: object
10035
+ TmJurDesc:
10036
+ description: Jurisdiction description (jurDescType in RFC 9361)
10037
+ properties:
10038
+ description:
10039
+ description: Name of jurisdiction in English
10040
+ title: Description
10041
+ type: string
10042
+ jur_cc:
10043
+ description: WIPO ST.3 two-character jurisdiction code
10044
+ maxLength: 2
10045
+ minLength: 2
10046
+ title: Jur Cc
10047
+ type: string
10048
+ required:
10049
+ - jur_cc
10050
+ - description
10051
+ title: TmJurDesc
10052
+ type: object
10053
+ TmNotExactMatch:
10054
+ description: Signals claim was added by non-exact match rules (noExactMatchType
10055
+ in RFC 9361)
10056
+ properties:
10057
+ court:
10058
+ items:
10059
+ $ref: '#/components/schemas/TmCourt'
10060
+ title: Court
10061
+ type: array
10062
+ intro:
10063
+ default: 'This domain name label has previously been found to be used or
10064
+ registered abusively against the following trademarks according to the
10065
+ referenced decisions:'
10066
+ description: Introductory text for the non-exact match section
10067
+ title: Intro
10068
+ type: string
10069
+ udrp:
10070
+ items:
10071
+ $ref: '#/components/schemas/TmUdrp'
10072
+ title: Udrp
10073
+ type: array
10074
+ title: TmNotExactMatch
10075
+ type: object
10076
+ TmUdrp:
10077
+ description: UDRP case reference (udrpType in RFC 9361)
10078
+ properties:
10079
+ case_no:
10080
+ description: UDRP case number
10081
+ title: Case No
10082
+ type: string
10083
+ udrp_provider:
10084
+ description: Name of the UDRP provider
10085
+ title: Udrp Provider
10086
+ type: string
10087
+ required:
10088
+ - case_no
10089
+ - udrp_provider
10090
+ title: TmUdrp
10091
+ type: object
9742
10092
  TrademarkClaimsBase:
9743
10093
  properties:
9744
10094
  end_date:
@@ -10772,7 +11122,7 @@ info:
10772
11122
  \n\n"
10773
11123
  summary: OpusDNS - your gateway to a seamless domain management experience.
10774
11124
  title: OpusDNS API
10775
- version: 2026-05-07-222637
11125
+ version: 2026-05-08-115438
10776
11126
  x-logo:
10777
11127
  altText: OpusDNS API Reference
10778
11128
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -17951,7 +18301,18 @@ paths:
17951
18301
  tags:
17952
18302
  - domain
17953
18303
  post:
17954
- description: Registers a new domain
18304
+ description: 'Registers a new domain.
18305
+
18306
+
18307
+ - **Premium domains** - when the registry classifies the domain as premium,
18308
+ an `expected_price` must be supplied to confirm the non-standard price returned
18309
+ by the availability check. See the [Premium domains](/products/domains/premium)
18310
+ guide for background on how premium domains are priced and registered.
18311
+
18312
+ - **Trademark claims (TMCH)** - when the TLD is in its claims phase and the
18313
+ domain matches a trademark in the Trademark Clearinghouse, a `claims_notice_acceptance_hash`
18314
+ must be supplied to acknowledge the corresponding claims notice. See the [Trademarked
18315
+ domains](/products/domains/trademarked-domains) guide for the full workflow.'
17955
18316
  operationId: create_domain_v1_domains_post
17956
18317
  requestBody:
17957
18318
  content:
@@ -17969,48 +18330,87 @@ paths:
17969
18330
  '400':
17970
18331
  content:
17971
18332
  application/problem+json:
17972
- example:
17973
- code: ERROR_TLD_NOT_AVAILABLE
17974
- detail: This TLD is not available
17975
- status: 400
17976
- title: Domain Management Error
17977
- tld: Additional error context.
17978
- type: domain-tld-not-available
18333
+ examples:
18334
+ Domain Management Error:
18335
+ value:
18336
+ code: ERROR_PREMIUM_PRICE_NOT_APPLICABLE
18337
+ detail: 'Domain is not premium-priced; expected_price must not
18338
+ be supplied. Provided price: 100.00.'
18339
+ domain_name: example.com
18340
+ expected_price: '100.00'
18341
+ status: 400
18342
+ title: Domain Management Error
18343
+ type: premium-price-not-applicable
17979
18344
  schema:
17980
18345
  $ref: '#/components/schemas/Problem'
17981
18346
  description: Bad Request
17982
18347
  '404':
17983
18348
  content:
17984
18349
  application/problem+json:
17985
- example:
17986
- code: ERROR_CONTACT_NOT_FOUND
17987
- contact_id: Additional error context.
17988
- detail: Contact not found
17989
- status: 404
17990
- title: Contact Management Error
17991
- type: contact-not-found
18350
+ examples:
18351
+ Claims Error:
18352
+ value:
18353
+ code: ERROR_CLAIMS_NOTICE_NOT_FOUND
18354
+ detail: 'Claims notice not found for claims key: Additional error
18355
+ context.'
18356
+ status: 404
18357
+ title: Claims Error
18358
+ type: claims-notice-not-found
18359
+ Contact Management Error:
18360
+ value:
18361
+ code: ERROR_CONTACT_NOT_FOUND
18362
+ contact_id: Additional error context.
18363
+ detail: Contact not found
18364
+ status: 404
18365
+ title: Contact Management Error
18366
+ type: contact-not-found
17992
18367
  schema:
17993
18368
  $ref: '#/components/schemas/Problem'
17994
18369
  description: Not Found
17995
18370
  '409':
18371
+ content:
18372
+ application/problem+json:
18373
+ examples:
18374
+ Domain Management Error:
18375
+ value:
18376
+ actual_price: '125.00'
18377
+ code: ERROR_PREMIUM_PRICE_MISMATCH
18378
+ detail: 'Premium domain requires price confirmation. Provided
18379
+ price: 100.00, correct price: 125.00. Use the domain check endpoint
18380
+ to get current premium pricing.'
18381
+ domain_name: premium.domain
18382
+ expected_price: '100.00'
18383
+ status: 409
18384
+ title: Domain Management Error
18385
+ type: premium-price-mismatch
18386
+ schema:
18387
+ $ref: '#/components/schemas/Problem'
18388
+ description: Conflict
18389
+ '422':
17996
18390
  content:
17997
18391
  application/problem+json:
17998
18392
  example:
17999
- code: ERROR_DOMAIN_EXISTS
18000
- detail: Domain already exists
18393
+ code: ERROR_CLAIMS_NOTICE_HASH_MISMATCH
18394
+ detail: The provided claims notice acceptance hash does not match
18001
18395
  domain_name: Additional error context.
18002
- status: 409
18396
+ status: 422
18003
18397
  title: Domain Management Error
18004
- type: domain-exists
18398
+ type: claims-notice-hash-mismatch
18005
18399
  schema:
18006
18400
  $ref: '#/components/schemas/Problem'
18007
- description: Conflict
18008
- '422':
18401
+ description: Unprocessable Content
18402
+ '503':
18009
18403
  content:
18010
18404
  application/problem+json:
18405
+ example:
18406
+ code: ERROR_CLAIMS_SERVICE_ERROR
18407
+ detail: Additional error context.
18408
+ status: 503
18409
+ title: Claims Error
18410
+ type: claims-service
18011
18411
  schema:
18012
- $ref: '#/components/schemas/HTTPValidationError'
18013
- description: Validation Error
18412
+ $ref: '#/components/schemas/Problem'
18413
+ description: Service Unavailable
18014
18414
  security:
18015
18415
  - OAuth2PasswordBearer: []
18016
18416
  - APIKeyHeader: []
@@ -18019,22 +18419,30 @@ paths:
18019
18419
  - domain
18020
18420
  /v1/domains/check:
18021
18421
  get:
18022
- description: "Performs a real-time check against the authoritative registry\
18023
- \ for each domain and returns availability plus any registry-specific metadata\
18024
- \ needed to register it.\n\nFor each domain the response includes:\n- **Availability**\
18025
- \ \u2014 whether the domain can be registered, and the registry's reason if\
18026
- \ not.\n- **Trademark claims (TMCH)** \u2014 when the TLD is in its claims\
18027
- \ phase and the domain matches a trademark in the Trademark Clearinghouse,\
18028
- \ a `claims_key` is returned. The corresponding claims notice must be retrieved\
18029
- \ and acknowledged before the domain can be registered. See the [Trademarked\
18030
- \ domains](/products/domains/trademarked-domains) guide for the full workflow.\n\
18031
- - **Premium status and pricing** \u2014 whether the domain is classified as\
18032
- \ premium by the registry, and if so, the price per action (create / renew\
18033
- \ / transfer / restore). See the [Premium domains](/products/domains/premium)\
18034
- \ guide for background on how premium domains are priced and registered.\n\
18035
- \nDomains are queried in parallel, grouped by registry connection. Availability\
18036
- \ and metadata reflect the registry's state at the moment of the call and\
18037
- \ are not cached."
18422
+ description: 'Performs a real-time check against the authoritative registry
18423
+ for each domain and returns availability plus any registry-specific metadata
18424
+ needed to register it.
18425
+
18426
+
18427
+ For each domain the response includes:
18428
+
18429
+ - **Availability** - whether the domain can be registered, and the registry''s
18430
+ reason if not.
18431
+
18432
+ - **Premium status and pricing** - whether the domain is classified as premium
18433
+ by the registry, and if so, the price per action (create / renew / transfer
18434
+ / restore). See the [Premium domains](/products/domains/premium) guide for
18435
+ background on how premium domains are priced and registered.
18436
+
18437
+ - **Trademark claims (TMCH)** - when the TLD is in its claims phase and the
18438
+ domain matches a trademark in the Trademark Clearinghouse, a `claims_key`
18439
+ is returned. See the [Trademarked domains](/products/domains/trademarked-domains)
18440
+ guide for the full workflow.
18441
+
18442
+
18443
+ Domains are queried in parallel, grouped by registry connection. Availability
18444
+ and metadata reflect the registry''s state at the moment of the call and are
18445
+ not cached.'
18038
18446
  operationId: epp_check_domain_v1_domains_check_get
18039
18447
  parameters:
18040
18448
  - description: '
@@ -18096,6 +18504,65 @@ paths:
18096
18504
  summary: Check domain availability and registration metadata
18097
18505
  tags:
18098
18506
  - domain
18507
+ /v1/domains/claims-notices:
18508
+ post:
18509
+ description: Retrieves the trademark claims notice for a `claims_key` returned
18510
+ during a domain availability check. The response contains a `claims_notice_acceptance_hash`
18511
+ to acknowledge the notice when registering the domain, a ready-to-display
18512
+ `rendered_html`, and the structured fields needed to render a custom notice.
18513
+ See the [Trademarked domains](/products/domains/trademarked-domains) guide
18514
+ for the full workflow.
18515
+ operationId: get_claims_notices_v1_domains_claims_notices_post
18516
+ requestBody:
18517
+ content:
18518
+ application/json:
18519
+ schema:
18520
+ $ref: '#/components/schemas/ClaimsNoticesRequest'
18521
+ required: true
18522
+ responses:
18523
+ '200':
18524
+ content:
18525
+ application/json:
18526
+ schema:
18527
+ $ref: '#/components/schemas/ClaimsNoticesResponse'
18528
+ description: Successful Response
18529
+ '404':
18530
+ content:
18531
+ application/problem+json:
18532
+ example:
18533
+ code: ERROR_CLAIMS_NOTICE_NOT_FOUND
18534
+ detail: 'Claims notice not found for claims key: Additional error
18535
+ context.'
18536
+ status: 404
18537
+ title: Claims Error
18538
+ type: claims-notice-not-found
18539
+ schema:
18540
+ $ref: '#/components/schemas/Problem'
18541
+ description: Not Found
18542
+ '422':
18543
+ content:
18544
+ application/problem+json:
18545
+ schema:
18546
+ $ref: '#/components/schemas/HTTPValidationError'
18547
+ description: Validation Error
18548
+ '503':
18549
+ content:
18550
+ application/problem+json:
18551
+ example:
18552
+ code: ERROR_CLAIMS_SERVICE_ERROR
18553
+ detail: Additional error context.
18554
+ status: 503
18555
+ title: Claims Error
18556
+ type: claims-service
18557
+ schema:
18558
+ $ref: '#/components/schemas/Problem'
18559
+ description: Service Unavailable
18560
+ security:
18561
+ - OAuth2PasswordBearer: []
18562
+ - APIKeyHeader: []
18563
+ summary: Retrieve claims notices from claim keys
18564
+ tags:
18565
+ - domain
18099
18566
  /v1/domains/summary:
18100
18567
  get:
18101
18568
  description: Retrieves a summary of domains including counts by status, TLD,