@opusdns/api 1.159.0 → 1.161.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
@@ -536,6 +536,17 @@ components:
536
536
  - canceled
537
537
  title: BillingTransactionStatus
538
538
  type: string
539
+ Body_upload_whitelabel_asset_v1_whitelabel_branding_assets_post:
540
+ properties:
541
+ file:
542
+ contentMediaType: application/octet-stream
543
+ description: Asset file (image/font)
544
+ title: File
545
+ type: string
546
+ required:
547
+ - file
548
+ title: Body_upload_whitelabel_asset_v1_whitelabel_branding_assets_post
549
+ type: object
539
550
  Brand:
540
551
  properties:
541
552
  logo:
@@ -551,6 +562,38 @@ components:
551
562
  title: Name
552
563
  title: Brand
553
564
  type: object
565
+ BrandingAsset:
566
+ properties:
567
+ asset_id:
568
+ description: Opaque handle used to delete or reference the asset
569
+ title: Asset Id
570
+ type: string
571
+ asset_url:
572
+ description: Public URL of the asset
573
+ title: Asset Url
574
+ type: string
575
+ content_type:
576
+ anyOf:
577
+ - type: string
578
+ - type: 'null'
579
+ description: MIME type of the asset
580
+ title: Content Type
581
+ size_bytes:
582
+ description: Asset size in bytes
583
+ title: Size Bytes
584
+ type: integer
585
+ updated_on:
586
+ description: Last-modified timestamp
587
+ format: date-time
588
+ title: Updated On
589
+ type: string
590
+ required:
591
+ - asset_id
592
+ - asset_url
593
+ - size_bytes
594
+ - updated_on
595
+ title: BrandingAsset
596
+ type: object
554
597
  BrandingDocument:
555
598
  properties:
556
599
  auth:
@@ -4002,28 +4045,37 @@ components:
4002
4045
  - type: 'null'
4003
4046
  description: "Additional attributes of the domain, keyed by attribute name.\
4004
4047
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
4005
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
4006
- \ on update. Selects the\n period of the next renewal; the current expiry\
4007
- \ date does not move. On transfer-in without `period` it also sets the\n\
4008
- \ period added by the transfer. `monthly` is rejected on transfer-in\
4009
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
4010
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
4011
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
4012
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
4013
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
4014
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
4015
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
4016
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
4017
- \nWritten by the platform and rejected if supplied: `verification_required`,\
4018
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
4048
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
4049
+ \ the\n period of the next renewal; the current expiry date does not\
4050
+ \ move. On transfer-in without `period` it also sets the\n period added\
4051
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
4052
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
4053
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
4054
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
4055
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
4056
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
4057
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
4058
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
4059
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
4060
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
4061
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
4062
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
4019
4063
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
4020
4064
  returned under `attributes`; inline contact attributes surface on the\
4021
4065
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
4022
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
4066
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
4023
4067
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
4024
- \ update, only `.de` stores attributes and an empty value removes the\
4025
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
4026
- \ a registrant change and other registries ignore attributes.\n"
4068
+ \ update, every registry stores the supplied attributes, and the update\
4069
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
4070
+ \ the change stores nothing. An empty value removes the stored attribute,\
4071
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
4072
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
4073
+ \ a registrant change. An update cannot change what the registrant accepted\
4074
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
4075
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
4076
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
4077
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
4078
+ \ change but cannot be removed with an empty value.\n"
4027
4079
  examples:
4028
4080
  - auto_renew_period: monthly
4029
4081
  title: Attributes
@@ -4122,14 +4174,14 @@ components:
4122
4174
  - type: 'null'
4123
4175
  description: "Override attributes for this domain.\n\nAdditional attributes\
4124
4176
  \ of the domain, keyed by attribute name. Values are strings.\n\nCustomer-settable\
4125
- \ keys:\n\n- `auto_renew_period`: `monthly` or `yearly`. All TLDs on create\
4126
- \ and transfer-in, `.de` only on update. Selects the\n period of the\
4127
- \ next renewal; the current expiry date does not move. On transfer-in\
4128
- \ without `period` it also sets the\n period added by the transfer. `monthly`\
4129
- \ is rejected on transfer-in and ignored at renewal when the TLD has no\n\
4130
- \ month-unit renewal period.\n- `music_registrant_attestation`: `true`.\
4131
- \ `.music` registration.\n- `nic_it_compliance_confirmation`: `true`.\
4132
- \ `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
4177
+ \ keys:\n\n- `auto_renew_period`: `monthly` or `yearly`. All TLDs on create,\
4178
+ \ transfer-in and update. Selects the\n period of the next renewal; the\
4179
+ \ current expiry date does not move. On transfer-in without `period` it\
4180
+ \ also sets the\n period added by the transfer. When the TLD has no month-unit\
4181
+ \ renewal period, `monthly` is rejected on update and on\n a transfer-in\
4182
+ \ that omits `period`, and ignored at renewal.\n- `music_registrant_attestation`:\
4183
+ \ `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
4184
+ \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
4133
4185
  \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
4134
4186
  \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
4135
4187
  \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
@@ -4140,11 +4192,19 @@ components:
4140
4192
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
4141
4193
  returned under `attributes`; inline contact attributes surface on the\
4142
4194
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
4143
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
4195
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
4144
4196
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
4145
- \ update, only `.de` stores attributes and an empty value removes the\
4146
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
4147
- \ a registrant change and other registries ignore attributes.\n"
4197
+ \ update, every registry stores the supplied attributes, and the update\
4198
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
4199
+ \ the change stores nothing. An empty value removes the stored attribute,\
4200
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
4201
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
4202
+ \ a registrant change. An update cannot change what the registrant accepted\
4203
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
4204
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
4205
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
4206
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
4207
+ \ change but cannot be removed with an empty value.\n"
4148
4208
  title: Attributes
4149
4209
  auth_code:
4150
4210
  anyOf:
@@ -4228,28 +4288,37 @@ components:
4228
4288
  - type: 'null'
4229
4289
  description: "Additional attributes of the domain, keyed by attribute name.\
4230
4290
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
4231
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
4232
- \ on update. Selects the\n period of the next renewal; the current expiry\
4233
- \ date does not move. On transfer-in without `period` it also sets the\n\
4234
- \ period added by the transfer. `monthly` is rejected on transfer-in\
4235
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
4236
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
4237
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
4238
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
4239
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
4240
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
4241
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
4242
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
4243
- \nWritten by the platform and rejected if supplied: `verification_required`,\
4244
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
4291
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
4292
+ \ the\n period of the next renewal; the current expiry date does not\
4293
+ \ move. On transfer-in without `period` it also sets the\n period added\
4294
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
4295
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
4296
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
4297
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
4298
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
4299
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
4300
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
4301
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
4302
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
4303
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
4304
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
4305
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
4245
4306
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
4246
4307
  returned under `attributes`; inline contact attributes surface on the\
4247
4308
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
4248
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
4309
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
4249
4310
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
4250
- \ update, only `.de` stores attributes and an empty value removes the\
4251
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
4252
- \ a registrant change and other registries ignore attributes.\n"
4311
+ \ update, every registry stores the supplied attributes, and the update\
4312
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
4313
+ \ the change stores nothing. An empty value removes the stored attribute,\
4314
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
4315
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
4316
+ \ a registrant change. An update cannot change what the registrant accepted\
4317
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
4318
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
4319
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
4320
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
4321
+ \ change but cannot be removed with an empty value.\n"
4253
4322
  title: Attributes
4254
4323
  auth_code:
4255
4324
  anyOf:
@@ -4323,28 +4392,37 @@ components:
4323
4392
  - type: 'null'
4324
4393
  description: "Additional attributes of the domain, keyed by attribute name.\
4325
4394
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
4326
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
4327
- \ on update. Selects the\n period of the next renewal; the current expiry\
4328
- \ date does not move. On transfer-in without `period` it also sets the\n\
4329
- \ period added by the transfer. `monthly` is rejected on transfer-in\
4330
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
4331
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
4332
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
4333
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
4334
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
4335
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
4336
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
4337
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
4338
- \nWritten by the platform and rejected if supplied: `verification_required`,\
4339
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
4395
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
4396
+ \ the\n period of the next renewal; the current expiry date does not\
4397
+ \ move. On transfer-in without `period` it also sets the\n period added\
4398
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
4399
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
4400
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
4401
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
4402
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
4403
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
4404
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
4405
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
4406
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
4407
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
4408
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
4409
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
4340
4410
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
4341
4411
  returned under `attributes`; inline contact attributes surface on the\
4342
4412
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
4343
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
4413
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
4344
4414
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
4345
- \ update, only `.de` stores attributes and an empty value removes the\
4346
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
4347
- \ a registrant change and other registries ignore attributes.\n"
4415
+ \ update, every registry stores the supplied attributes, and the update\
4416
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
4417
+ \ the change stores nothing. An empty value removes the stored attribute,\
4418
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
4419
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
4420
+ \ a registrant change. An update cannot change what the registrant accepted\
4421
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
4422
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
4423
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
4424
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
4425
+ \ change but cannot be removed with an empty value.\n"
4348
4426
  examples:
4349
4427
  - auto_renew_period: monthly
4350
4428
  title: Attributes
@@ -6205,14 +6283,14 @@ components:
6205
6283
  - type: 'null'
6206
6284
  description: "Override attributes for this domain.\n\nAdditional attributes\
6207
6285
  \ of the domain, keyed by attribute name. Values are strings.\n\nCustomer-settable\
6208
- \ keys:\n\n- `auto_renew_period`: `monthly` or `yearly`. All TLDs on create\
6209
- \ and transfer-in, `.de` only on update. Selects the\n period of the\
6210
- \ next renewal; the current expiry date does not move. On transfer-in\
6211
- \ without `period` it also sets the\n period added by the transfer. `monthly`\
6212
- \ is rejected on transfer-in and ignored at renewal when the TLD has no\n\
6213
- \ month-unit renewal period.\n- `music_registrant_attestation`: `true`.\
6214
- \ `.music` registration.\n- `nic_it_compliance_confirmation`: `true`.\
6215
- \ `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
6286
+ \ keys:\n\n- `auto_renew_period`: `monthly` or `yearly`. All TLDs on create,\
6287
+ \ transfer-in and update. Selects the\n period of the next renewal; the\
6288
+ \ current expiry date does not move. On transfer-in without `period` it\
6289
+ \ also sets the\n period added by the transfer. When the TLD has no month-unit\
6290
+ \ renewal period, `monthly` is rejected on update and on\n a transfer-in\
6291
+ \ that omits `period`, and ignored at renewal.\n- `music_registrant_attestation`:\
6292
+ \ `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
6293
+ \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
6216
6294
  \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
6217
6295
  \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
6218
6296
  \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
@@ -6223,11 +6301,19 @@ components:
6223
6301
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
6224
6302
  returned under `attributes`; inline contact attributes surface on the\
6225
6303
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
6226
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
6304
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
6227
6305
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
6228
- \ update, only `.de` stores attributes and an empty value removes the\
6229
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
6230
- \ a registrant change and other registries ignore attributes.\n"
6306
+ \ update, every registry stores the supplied attributes, and the update\
6307
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
6308
+ \ the change stores nothing. An empty value removes the stored attribute,\
6309
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
6310
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
6311
+ \ a registrant change. An update cannot change what the registrant accepted\
6312
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
6313
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
6314
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
6315
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
6316
+ \ change but cannot be removed with an empty value.\n"
6231
6317
  title: Attributes
6232
6318
  auth_code:
6233
6319
  anyOf:
@@ -6311,28 +6397,37 @@ components:
6311
6397
  - type: 'null'
6312
6398
  description: "Additional attributes of the domain, keyed by attribute name.\
6313
6399
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
6314
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
6315
- \ on update. Selects the\n period of the next renewal; the current expiry\
6316
- \ date does not move. On transfer-in without `period` it also sets the\n\
6317
- \ period added by the transfer. `monthly` is rejected on transfer-in\
6318
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
6319
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
6320
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
6321
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
6322
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
6323
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
6324
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
6325
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
6326
- \nWritten by the platform and rejected if supplied: `verification_required`,\
6327
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6400
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
6401
+ \ the\n period of the next renewal; the current expiry date does not\
6402
+ \ move. On transfer-in without `period` it also sets the\n period added\
6403
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
6404
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
6405
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
6406
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
6407
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
6408
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
6409
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
6410
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
6411
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
6412
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
6413
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
6414
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6328
6415
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
6329
6416
  returned under `attributes`; inline contact attributes surface on the\
6330
6417
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
6331
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
6418
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
6332
6419
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
6333
- \ update, only `.de` stores attributes and an empty value removes the\
6334
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
6335
- \ a registrant change and other registries ignore attributes.\n"
6420
+ \ update, every registry stores the supplied attributes, and the update\
6421
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
6422
+ \ the change stores nothing. An empty value removes the stored attribute,\
6423
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
6424
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
6425
+ \ a registrant change. An update cannot change what the registrant accepted\
6426
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
6427
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
6428
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
6429
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
6430
+ \ change but cannot be removed with an empty value.\n"
6336
6431
  title: Attributes
6337
6432
  contacts:
6338
6433
  $ref: '#/components/schemas/DomainContactHandles'
@@ -6400,28 +6495,37 @@ components:
6400
6495
  - type: 'null'
6401
6496
  description: "Additional attributes of the domain, keyed by attribute name.\
6402
6497
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
6403
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
6404
- \ on update. Selects the\n period of the next renewal; the current expiry\
6405
- \ date does not move. On transfer-in without `period` it also sets the\n\
6406
- \ period added by the transfer. `monthly` is rejected on transfer-in\
6407
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
6408
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
6409
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
6410
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
6411
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
6412
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
6413
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
6414
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
6415
- \nWritten by the platform and rejected if supplied: `verification_required`,\
6416
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6498
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
6499
+ \ the\n period of the next renewal; the current expiry date does not\
6500
+ \ move. On transfer-in without `period` it also sets the\n period added\
6501
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
6502
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
6503
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
6504
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
6505
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
6506
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
6507
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
6508
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
6509
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
6510
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
6511
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
6512
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6417
6513
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
6418
6514
  returned under `attributes`; inline contact attributes surface on the\
6419
6515
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
6420
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
6516
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
6421
6517
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
6422
- \ update, only `.de` stores attributes and an empty value removes the\
6423
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
6424
- \ a registrant change and other registries ignore attributes.\n"
6518
+ \ update, every registry stores the supplied attributes, and the update\
6519
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
6520
+ \ the change stores nothing. An empty value removes the stored attribute,\
6521
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
6522
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
6523
+ \ a registrant change. An update cannot change what the registrant accepted\
6524
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
6525
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
6526
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
6527
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
6528
+ \ change but cannot be removed with an empty value.\n"
6425
6529
  examples:
6426
6530
  - auto_renew_period: monthly
6427
6531
  title: Attributes
@@ -6489,28 +6593,37 @@ components:
6489
6593
  - type: 'null'
6490
6594
  description: "Additional attributes of the domain, keyed by attribute name.\
6491
6595
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
6492
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
6493
- \ on update. Selects the\n period of the next renewal; the current expiry\
6494
- \ date does not move. On transfer-in without `period` it also sets the\n\
6495
- \ period added by the transfer. `monthly` is rejected on transfer-in\
6496
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
6497
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
6498
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
6499
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
6500
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
6501
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
6502
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
6503
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
6504
- \nWritten by the platform and rejected if supplied: `verification_required`,\
6505
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6596
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
6597
+ \ the\n period of the next renewal; the current expiry date does not\
6598
+ \ move. On transfer-in without `period` it also sets the\n period added\
6599
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
6600
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
6601
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
6602
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
6603
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
6604
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
6605
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
6606
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
6607
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
6608
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
6609
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
6610
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6506
6611
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
6507
6612
  returned under `attributes`; inline contact attributes surface on the\
6508
6613
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
6509
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
6614
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
6510
6615
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
6511
- \ update, only `.de` stores attributes and an empty value removes the\
6512
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
6513
- \ a registrant change and other registries ignore attributes.\n"
6616
+ \ update, every registry stores the supplied attributes, and the update\
6617
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
6618
+ \ the change stores nothing. An empty value removes the stored attribute,\
6619
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
6620
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
6621
+ \ a registrant change. An update cannot change what the registrant accepted\
6622
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
6623
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
6624
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
6625
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
6626
+ \ change but cannot be removed with an empty value.\n"
6514
6627
  examples:
6515
6628
  - auto_renew_period: monthly
6516
6629
  title: Attributes
@@ -6623,28 +6736,37 @@ components:
6623
6736
  - type: 'null'
6624
6737
  description: "Additional attributes of the domain, keyed by attribute name.\
6625
6738
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
6626
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
6627
- \ on update. Selects the\n period of the next renewal; the current expiry\
6628
- \ date does not move. On transfer-in without `period` it also sets the\n\
6629
- \ period added by the transfer. `monthly` is rejected on transfer-in\
6630
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
6631
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
6632
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
6633
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
6634
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
6635
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
6636
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
6637
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
6638
- \nWritten by the platform and rejected if supplied: `verification_required`,\
6639
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6739
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
6740
+ \ the\n period of the next renewal; the current expiry date does not\
6741
+ \ move. On transfer-in without `period` it also sets the\n period added\
6742
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
6743
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
6744
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
6745
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
6746
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
6747
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
6748
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
6749
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
6750
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
6751
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
6752
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
6753
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6640
6754
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
6641
6755
  returned under `attributes`; inline contact attributes surface on the\
6642
6756
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
6643
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
6757
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
6644
6758
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
6645
- \ update, only `.de` stores attributes and an empty value removes the\
6646
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
6647
- \ a registrant change and other registries ignore attributes.\n"
6759
+ \ update, every registry stores the supplied attributes, and the update\
6760
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
6761
+ \ the change stores nothing. An empty value removes the stored attribute,\
6762
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
6763
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
6764
+ \ a registrant change. An update cannot change what the registrant accepted\
6765
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
6766
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
6767
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
6768
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
6769
+ \ change but cannot be removed with an empty value.\n"
6648
6770
  examples:
6649
6771
  - auto_renew_period: monthly
6650
6772
  title: Attributes
@@ -6866,28 +6988,37 @@ components:
6866
6988
  - type: 'null'
6867
6989
  description: "Additional attributes of the domain, keyed by attribute name.\
6868
6990
  \ Values are strings.\n\nCustomer-settable keys:\n\n- `auto_renew_period`:\
6869
- \ `monthly` or `yearly`. All TLDs on create and transfer-in, `.de` only\
6870
- \ on update. Selects the\n period of the next renewal; the current expiry\
6871
- \ date does not move. On transfer-in without `period` it also sets the\n\
6872
- \ period added by the transfer. `monthly` is rejected on transfer-in\
6873
- \ and ignored at renewal when the TLD has no\n month-unit renewal period.\n\
6874
- - `music_registrant_attestation`: `true`. `.music` registration.\n- `nic_it_compliance_confirmation`:\
6875
- \ `true`. `.it` registration and transfer.\n- `travel_industry_acknowledgement`:\
6876
- \ `true`. `.travel` registration.\n- `internet_ee_registrant_agreement`:\
6877
- \ `true`. `.ee` registration.\n- `punktum_dk_terms_acceptance`: `true`.\
6878
- \ `.dk` registration and registrant change.\n- `de_general_request_contact`,\
6879
- \ `de_abuse_contact`: id of a contact whose `.de` attribute set has `DE_CONTACT_TYPE`\
6880
- \ =\n `REQUEST`. `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\
6881
- \nWritten by the platform and rejected if supplied: `verification_required`,\
6882
- \ `promotion`, `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6991
+ \ `monthly` or `yearly`. All TLDs on create, transfer-in and update. Selects\
6992
+ \ the\n period of the next renewal; the current expiry date does not\
6993
+ \ move. On transfer-in without `period` it also sets the\n period added\
6994
+ \ by the transfer. When the TLD has no month-unit renewal period, `monthly`\
6995
+ \ is rejected on update and on\n a transfer-in that omits `period`, and\
6996
+ \ ignored at renewal.\n- `music_registrant_attestation`: `true`. `.music`\
6997
+ \ registration.\n- `nic_it_compliance_confirmation`: `true`. `.it` registration\
6998
+ \ and transfer.\n- `travel_industry_acknowledgement`: `true`. `.travel`\
6999
+ \ registration.\n- `internet_ee_registrant_agreement`: `true`. `.ee` registration.\n\
7000
+ - `punktum_dk_terms_acceptance`: `true`. `.dk` registration and registrant\
7001
+ \ change.\n- `de_general_request_contact`, `de_abuse_contact`: id of a\
7002
+ \ contact whose `.de` attribute set has `DE_CONTACT_TYPE` =\n `REQUEST`.\
7003
+ \ `.de` only.\n\nBoolean keys also accept `1` and `yes`.\n\nWritten by\
7004
+ \ the platform and rejected if supplied: `verification_required`, `promotion`,\
7005
+ \ `promotion_eligibility`,\n`nor_id_declaration`, `nor_id_declaration_token`,\
6883
7006
  \ `punktum_dk_tracking_no`, `domain_contact_attributes`. They are never\n\
6884
7007
  returned under `attributes`; inline contact attributes surface on the\
6885
7008
  \ matching `contacts` entry instead.\n\nDerived from the signed `.no`\
6886
- \ applicant declaration and ignored if supplied: `nor_id_applicant_version`,\n\
7009
+ \ applicant declaration and ignored if supplied on create: `nor_id_applicant_version`,\n\
6887
7010
  `nor_id_applicant_accept_name`, `nor_id_applicant_accept_date`.\n\nOn\
6888
- \ update, only `.de` stores attributes and an empty value removes the\
6889
- \ stored attribute; `.dk` reads\n`punktum_dk_terms_acceptance` to confirm\
6890
- \ a registrant change and other registries ignore attributes.\n"
7011
+ \ update, every registry stores the supplied attributes, and the update\
7012
+ \ is not sent to the registry unless they\nstore; a registry that rejects\
7013
+ \ the change stores nothing. An empty value removes the stored attribute,\
7014
+ \ except for\n`auto_renew_period`, whose only accepted values are `monthly`\
7015
+ \ and `yearly`. `.dk` also reads\n`punktum_dk_terms_acceptance` to confirm\
7016
+ \ a registrant change. An update cannot change what the registrant accepted\
7017
+ \ at\nregistration, so these are rejected on update: `music_registrant_attestation`,\
7018
+ \ `nic_it_compliance_confirmation`,\n`travel_industry_acknowledgement`,\
7019
+ \ `internet_ee_registrant_agreement` and the three `nor_id_applicant_*`\
7020
+ \ keys.\n`punktum_dk_terms_acceptance` stays settable for a registrant\
7021
+ \ change but cannot be removed with an empty value.\n"
6891
7022
  examples:
6892
7023
  - auto_renew_period: monthly
6893
7024
  title: Attributes
@@ -9421,6 +9552,16 @@ components:
9421
9552
  - confirmation
9422
9553
  title: LegalRequirementType
9423
9554
  type: string
9555
+ ListBrandingAssetsResponse:
9556
+ properties:
9557
+ assets:
9558
+ description: Uploaded assets, most recent first
9559
+ items:
9560
+ $ref: '#/components/schemas/BrandingAsset'
9561
+ title: Assets
9562
+ type: array
9563
+ title: ListBrandingAssetsResponse
9564
+ type: object
9424
9565
  ListVanityNameserverSetsRes:
9425
9566
  properties:
9426
9567
  pagination:
@@ -9525,12 +9666,7 @@ components:
9525
9666
  title: Logo
9526
9667
  type: object
9527
9668
  MailTemplate:
9528
- description: 'One editable transactional email template. This is the public
9529
- catalog entry:
9530
-
9531
- mail-service''s operational fields (engine, internal, whitelabel, brand_defaults)
9532
-
9533
- are deliberately not declared, so the response model drops them.'
9669
+ description: One editable transactional email template in the catalog.
9534
9670
  properties:
9535
9671
  blocks:
9536
9672
  additionalProperties:
@@ -9604,12 +9740,8 @@ components:
9604
9740
  title: MailTemplateCatalogRes
9605
9741
  type: object
9606
9742
  MailTemplateCategory:
9607
- description: 'Category a template is grouped under in the editor. mail-service
9608
- owns the set
9609
-
9610
- and validates it; a value it adds before this enum is updated decodes to UNKNOWN
9611
-
9612
- rather than failing the catalog (see MailTemplate._coerce_category).'
9743
+ description: Category a template is grouped under in the editor. An unrecognised
9744
+ value decodes to `unknown`.
9613
9745
  enum:
9614
9746
  - organization
9615
9747
  - billing
@@ -12180,10 +12312,16 @@ components:
12180
12312
  anyOf:
12181
12313
  - $ref: '#/components/schemas/BrandingDocument'
12182
12314
  - type: 'null'
12315
+ description: Draft branding document to render the preview with; omit to
12316
+ preview with the default OpusDNS branding. Only the fields the template
12317
+ uses are applied, the rest are ignored.
12183
12318
  language_code:
12319
+ description: Locale to render in (e.g. en); falls back to the template's
12320
+ default
12184
12321
  title: Language Code
12185
12322
  type: string
12186
12323
  template_name:
12324
+ description: Template to render, as listed by the template catalog
12187
12325
  title: Template Name
12188
12326
  type: string
12189
12327
  required:
@@ -15299,14 +15437,13 @@ components:
15299
15437
  custom domain is untouched - it is re-pointed by its hostnames through recheck)
15300
15438
  and `enabled`
15301
15439
 
15302
- starts or stops serving - both applied asynchronously via the reconcile job,
15303
- neither a purchase.
15440
+ starts or stops serving - both applied asynchronously, neither a purchase.
15441
+ `renewal_mode` sets the
15304
15442
 
15305
- `renewal_mode` sets the subscription''s auto-renew intent synchronously (EXPIRE
15306
- = cancel at period
15443
+ subscription''s auto-renew intent synchronously (EXPIRE = cancel at period
15444
+ end, RENEW = un-cancel);
15307
15445
 
15308
- end, RENEW = un-cancel); it is not a purchase either - no price change. At
15309
- least one must be given.'
15446
+ it is not a purchase either - no price change. At least one must be given.'
15310
15447
  properties:
15311
15448
  enabled:
15312
15449
  anyOf:
@@ -15646,19 +15783,16 @@ components:
15646
15783
  title: WhitelabelRenewalMode
15647
15784
  type: string
15648
15785
  WhitelabelSubscriptionInfo:
15649
- description: 'The whitelabel''s billing-lifecycle state, a pass-through read
15650
- from the subscription at the api
15786
+ description: 'The whitelabel''s billing-lifecycle state, grouped into its own
15787
+ block: the parent''s
15651
15788
 
15652
- layer (product-service owns it; the branding row does not). Grouped into its
15653
- own object so it
15789
+ `subscription` is null when the config has no live subscription (still provisioning,
15790
+ or
15654
15791
 
15655
- reads as one all-or-nothing block: the parent''s `subscription` is null when
15656
- the config has no live
15792
+ terminated). A cancelled whitelabel reads as renewal_mode=expire with expires_on
15793
+ set to when
15657
15794
 
15658
- subscription (still provisioning, or terminated). renewal_mode EXPIRE + expires_on
15659
- is how a
15660
-
15661
- cancelled whitelabel reads: "cancelled, served until expires_on".'
15795
+ serving stops.'
15662
15796
  properties:
15663
15797
  expires_on:
15664
15798
  anyOf:
@@ -16250,7 +16384,7 @@ info:
16250
16384
  \n\n"
16251
16385
  summary: OpusDNS - your gateway to a seamless domain management experience.
16252
16386
  title: OpusDNS API
16253
- version: 2026-09-08-081758
16387
+ version: 2026-09-08-180300
16254
16388
  x-logo:
16255
16389
  altText: OpusDNS API Reference
16256
16390
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -34054,6 +34188,179 @@ paths:
34054
34188
  - whitelabel
34055
34189
  x-required-permissions:
34056
34190
  - whitelabel_branding:manage
34191
+ /v1/whitelabel-branding/assets:
34192
+ get:
34193
+ operationId: list_whitelabel_assets_v1_whitelabel_branding_assets_get
34194
+ parameters:
34195
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
34196
+ responses:
34197
+ '200':
34198
+ content:
34199
+ application/json:
34200
+ schema:
34201
+ $ref: '#/components/schemas/ListBrandingAssetsResponse'
34202
+ description: Successful Response
34203
+ '422':
34204
+ content:
34205
+ application/problem+json:
34206
+ schema:
34207
+ $ref: '#/components/schemas/HTTPValidationError'
34208
+ description: Validation Error
34209
+ security:
34210
+ - OAuth2PasswordBearer: []
34211
+ - APIKeyHeader: []
34212
+ summary: List uploaded branding assets
34213
+ tags:
34214
+ - whitelabel
34215
+ x-required-permissions:
34216
+ - whitelabel_branding:read
34217
+ post:
34218
+ operationId: upload_whitelabel_asset_v1_whitelabel_branding_assets_post
34219
+ parameters:
34220
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
34221
+ requestBody:
34222
+ content:
34223
+ multipart/form-data:
34224
+ schema:
34225
+ $ref: '#/components/schemas/Body_upload_whitelabel_asset_v1_whitelabel_branding_assets_post'
34226
+ required: true
34227
+ responses:
34228
+ '200':
34229
+ content:
34230
+ application/json:
34231
+ schema:
34232
+ $ref: '#/components/schemas/BrandingAsset'
34233
+ description: Successful Response
34234
+ '422':
34235
+ content:
34236
+ application/problem+json:
34237
+ schema:
34238
+ $ref: '#/components/schemas/HTTPValidationError'
34239
+ description: Validation Error
34240
+ security:
34241
+ - OAuth2PasswordBearer: []
34242
+ - APIKeyHeader: []
34243
+ summary: Upload a branding asset
34244
+ tags:
34245
+ - whitelabel
34246
+ x-required-permissions:
34247
+ - whitelabel_branding:manage
34248
+ /v1/whitelabel-branding/assets/{asset_id}:
34249
+ delete:
34250
+ operationId: delete_whitelabel_asset_v1_whitelabel_branding_assets__asset_id__delete
34251
+ parameters:
34252
+ - in: path
34253
+ name: asset_id
34254
+ required: true
34255
+ schema:
34256
+ title: Asset Id
34257
+ type: string
34258
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
34259
+ responses:
34260
+ '204':
34261
+ description: Successful Response
34262
+ '422':
34263
+ content:
34264
+ application/problem+json:
34265
+ schema:
34266
+ $ref: '#/components/schemas/HTTPValidationError'
34267
+ description: Validation Error
34268
+ security:
34269
+ - OAuth2PasswordBearer: []
34270
+ - APIKeyHeader: []
34271
+ summary: Delete an uploaded branding asset
34272
+ tags:
34273
+ - whitelabel
34274
+ x-required-permissions:
34275
+ - whitelabel_branding:manage
34276
+ /v1/whitelabel-branding/document:
34277
+ get:
34278
+ operationId: get_whitelabel_document_v1_whitelabel_branding_document_get
34279
+ parameters:
34280
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
34281
+ responses:
34282
+ '200':
34283
+ content:
34284
+ application/json:
34285
+ schema:
34286
+ $ref: '#/components/schemas/BrandingDocument'
34287
+ description: Successful Response
34288
+ '422':
34289
+ content:
34290
+ application/problem+json:
34291
+ schema:
34292
+ $ref: '#/components/schemas/HTTPValidationError'
34293
+ description: Validation Error
34294
+ security:
34295
+ - OAuth2PasswordBearer: []
34296
+ - APIKeyHeader: []
34297
+ summary: Get the stored branding document
34298
+ tags:
34299
+ - whitelabel
34300
+ x-required-permissions:
34301
+ - whitelabel_branding:read
34302
+ post:
34303
+ operationId: put_whitelabel_document_v1_whitelabel_branding_document_post
34304
+ parameters:
34305
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
34306
+ requestBody:
34307
+ content:
34308
+ application/json:
34309
+ schema:
34310
+ $ref: '#/components/schemas/BrandingDocument'
34311
+ required: true
34312
+ responses:
34313
+ '200':
34314
+ content:
34315
+ application/json:
34316
+ schema:
34317
+ $ref: '#/components/schemas/BrandingDocument'
34318
+ description: Successful Response
34319
+ '422':
34320
+ content:
34321
+ application/problem+json:
34322
+ schema:
34323
+ $ref: '#/components/schemas/HTTPValidationError'
34324
+ description: Validation Error
34325
+ security:
34326
+ - OAuth2PasswordBearer: []
34327
+ - APIKeyHeader: []
34328
+ summary: Upsert the branding document
34329
+ tags:
34330
+ - whitelabel
34331
+ x-required-permissions:
34332
+ - whitelabel_branding:manage
34333
+ put:
34334
+ operationId: put_whitelabel_document_v1_whitelabel_branding_document_put
34335
+ parameters:
34336
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
34337
+ requestBody:
34338
+ content:
34339
+ application/json:
34340
+ schema:
34341
+ $ref: '#/components/schemas/BrandingDocument'
34342
+ required: true
34343
+ responses:
34344
+ '200':
34345
+ content:
34346
+ application/json:
34347
+ schema:
34348
+ $ref: '#/components/schemas/BrandingDocument'
34349
+ description: Successful Response
34350
+ '422':
34351
+ content:
34352
+ application/problem+json:
34353
+ schema:
34354
+ $ref: '#/components/schemas/HTTPValidationError'
34355
+ description: Validation Error
34356
+ security:
34357
+ - OAuth2PasswordBearer: []
34358
+ - APIKeyHeader: []
34359
+ summary: Upsert the branding document
34360
+ tags:
34361
+ - whitelabel
34362
+ x-required-permissions:
34363
+ - whitelabel_branding:manage
34057
34364
  /v1/whitelabel-branding/email/preview:
34058
34365
  post:
34059
34366
  operationId: preview_whitelabel_email_v1_whitelabel_branding_email_preview_post
@@ -34671,16 +34978,19 @@ tags:
34671
34978
  "auth_subdomain": "auth", "period": {...}}`.
34672
34979
 
34673
34980
  A `label` is required for both tiers: every whitelabel keeps a managed subdomain,
34674
- composed by branding-service as `<label>-<hash>.<base-tier suffix>` and `<label>-<hash>-auth.<base-tier
34675
- suffix>`, where the hash comes from a per-organization secret it alone holds.
34981
+ composed as `app.<label>.<base-tier suffix>` (dashboard) and `auth.<label>.<base-tier
34982
+ suffix>` (login).
34676
34983
 
34677
- For base, that composed pair is what gets served; onboarding skips DNS verification
34678
- and the edge CNAME, because that zone has wildcard DNS and a wildcard certificate.
34984
+ For base, that composed pair is what gets served: onboarding skips domain verification
34985
+ (the zone is OpusDNS-owned) but still points each host at the whitelabel edge,
34986
+ which issues a per-host certificate on demand.
34679
34987
 
34680
34988
  For plus, the customer''s own domain is served instead (omitting `dashboard_subdomain`
34681
34989
  serves the dashboard on the apex); the domain must be an OpusDNS-hosted zone owned
34682
34990
  by the organization, which onboarding verifies before pointing both hosts at the
34683
- whitelabel edge.
34991
+ whitelabel edge. Set `create_zone: true` to have onboarding stand the zone up
34992
+ if it does not already exist. The managed base pair is published alongside the
34993
+ custom domain as a backup address.
34684
34994
 
34685
34995
  Labels are validated on the way in, and branding-service additionally rejects
34686
34996
  reserved ones (that rejection surfaces as a 400).
@@ -34718,20 +35028,22 @@ tags:
34718
35028
 
34719
35029
 
34720
35030
  A disabled whitelabel answers 409 to both `/recheck` and `/tier`: re-enable it
34721
- first (`PATCH {"enabled": true}` alone re-runs the reconcile).
35031
+ first (`PATCH {"enabled": true}` alone re-runs onboarding).
34722
35032
 
34723
35033
 
34724
35034
  `PATCH /v1/whitelabel-branding` changes the config without touching its subscription
34725
35035
  or price.
34726
35036
 
34727
- `{"label": "newname"}` moves a base-tier whitelabel to a different subdomain,
34728
- accepted only before provisioning has started (a plus whitelabel has no served
34729
- label - it is re-pointed by its hostnames through recheck).
35037
+ `{"label": "newname"}` moves the managed subdomain to a different label at any
35038
+ time, including while the whitelabel is active. On base this changes the served
35039
+ host; on plus it moves the backup pair, leaving the custom domain unchanged (re-point
35040
+ that through recheck).
34730
35041
 
34731
35042
  `{"enabled": false}` stops serving the whitelabel: its login client is disabled
34732
- and OpusDNS withdraws its routing - the managed subdomain is unpublished for base,
34733
- the DNS edge records are removed for plus (a plus host whose DNS is pointed at
34734
- the edge manually keeps reaching the branded dashboard, but its login stays disabled).
35043
+ and OpusDNS withdraws its routing - the edge records for the served hosts are
35044
+ removed and the managed subdomain unpublished (a plus host whose DNS is still
35045
+ pointed at the edge keeps reaching the branded dashboard, but its login stays
35046
+ disabled).
34735
35047
 
34736
35048
  The configuration, the branding document and the provisioning history are kept,
34737
35049
  so `{"enabled": true}` brings it back without re-provisioning.