@opusdns/api 0.288.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:
@@ -4161,6 +4250,10 @@ components:
4161
4250
  type: boolean
4162
4251
  price:
4163
4252
  $ref: '#/components/schemas/DomainSearchSuggestionPriceData'
4253
+ renewal_price:
4254
+ anyOf:
4255
+ - $ref: '#/components/schemas/DomainSearchSuggestionPriceData'
4256
+ - type: 'null'
4164
4257
  required:
4165
4258
  - domain
4166
4259
  - available
@@ -5704,6 +5797,13 @@ components:
5704
5797
  - errors
5705
5798
  title: RequestValidationError
5706
5799
  type: object
5800
+ HolderEntitlement:
5801
+ enum:
5802
+ - owner
5803
+ - assignee
5804
+ - licensee
5805
+ title: HolderEntitlement
5806
+ type: string
5707
5807
  HostSchema:
5708
5808
  properties:
5709
5809
  created_on:
@@ -9735,6 +9835,260 @@ components:
9735
9835
  - transfer_policies
9736
9836
  title: TldSpecificationResponse
9737
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
9738
10092
  TrademarkClaimsBase:
9739
10093
  properties:
9740
10094
  end_date:
@@ -10768,7 +11122,7 @@ info:
10768
11122
  \n\n"
10769
11123
  summary: OpusDNS - your gateway to a seamless domain management experience.
10770
11124
  title: OpusDNS API
10771
- version: 2026-05-06-194040
11125
+ version: 2026-05-08-115438
10772
11126
  x-logo:
10773
11127
  altText: OpusDNS API Reference
10774
11128
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -17947,7 +18301,18 @@ paths:
17947
18301
  tags:
17948
18302
  - domain
17949
18303
  post:
17950
- 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.'
17951
18316
  operationId: create_domain_v1_domains_post
17952
18317
  requestBody:
17953
18318
  content:
@@ -17965,48 +18330,87 @@ paths:
17965
18330
  '400':
17966
18331
  content:
17967
18332
  application/problem+json:
17968
- example:
17969
- code: ERROR_TLD_NOT_AVAILABLE
17970
- detail: This TLD is not available
17971
- status: 400
17972
- title: Domain Management Error
17973
- tld: Additional error context.
17974
- 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
17975
18344
  schema:
17976
18345
  $ref: '#/components/schemas/Problem'
17977
18346
  description: Bad Request
17978
18347
  '404':
17979
18348
  content:
17980
18349
  application/problem+json:
17981
- example:
17982
- code: ERROR_CONTACT_NOT_FOUND
17983
- contact_id: Additional error context.
17984
- detail: Contact not found
17985
- status: 404
17986
- title: Contact Management Error
17987
- 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
17988
18367
  schema:
17989
18368
  $ref: '#/components/schemas/Problem'
17990
18369
  description: Not Found
17991
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':
17992
18390
  content:
17993
18391
  application/problem+json:
17994
18392
  example:
17995
- code: ERROR_DOMAIN_EXISTS
17996
- detail: Domain already exists
18393
+ code: ERROR_CLAIMS_NOTICE_HASH_MISMATCH
18394
+ detail: The provided claims notice acceptance hash does not match
17997
18395
  domain_name: Additional error context.
17998
- status: 409
18396
+ status: 422
17999
18397
  title: Domain Management Error
18000
- type: domain-exists
18398
+ type: claims-notice-hash-mismatch
18001
18399
  schema:
18002
18400
  $ref: '#/components/schemas/Problem'
18003
- description: Conflict
18004
- '422':
18401
+ description: Unprocessable Content
18402
+ '503':
18005
18403
  content:
18006
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
18007
18411
  schema:
18008
- $ref: '#/components/schemas/HTTPValidationError'
18009
- description: Validation Error
18412
+ $ref: '#/components/schemas/Problem'
18413
+ description: Service Unavailable
18010
18414
  security:
18011
18415
  - OAuth2PasswordBearer: []
18012
18416
  - APIKeyHeader: []
@@ -18015,22 +18419,30 @@ paths:
18015
18419
  - domain
18016
18420
  /v1/domains/check:
18017
18421
  get:
18018
- description: "Performs a real-time check against the authoritative registry\
18019
- \ for each domain and returns availability plus any registry-specific metadata\
18020
- \ needed to register it.\n\nFor each domain the response includes:\n- **Availability**\
18021
- \ \u2014 whether the domain can be registered, and the registry's reason if\
18022
- \ not.\n- **Trademark claims (TMCH)** \u2014 when the TLD is in its claims\
18023
- \ phase and the domain matches a trademark in the Trademark Clearinghouse,\
18024
- \ a `claims_key` is returned. The corresponding claims notice must be retrieved\
18025
- \ and acknowledged before the domain can be registered. See the [Trademarked\
18026
- \ domains](/products/domains/trademarked-domains) guide for the full workflow.\n\
18027
- - **Premium status and pricing** \u2014 whether the domain is classified as\
18028
- \ premium by the registry, and if so, the price per action (create / renew\
18029
- \ / transfer / restore). See the [Premium domains](/products/domains/premium)\
18030
- \ guide for background on how premium domains are priced and registered.\n\
18031
- \nDomains are queried in parallel, grouped by registry connection. Availability\
18032
- \ and metadata reflect the registry's state at the moment of the call and\
18033
- \ 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.'
18034
18446
  operationId: epp_check_domain_v1_domains_check_get
18035
18447
  parameters:
18036
18448
  - description: '
@@ -18092,6 +18504,65 @@ paths:
18092
18504
  summary: Check domain availability and registration metadata
18093
18505
  tags:
18094
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
18095
18566
  /v1/domains/summary:
18096
18567
  get:
18097
18568
  description: Retrieves a summary of domains including counts by status, TLD,