phrase 4.30.1 → 4.32.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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +3 -3
  4. data/docs/Automation.md +2 -0
  5. data/docs/AutomationsCreateParameters.md +3 -1
  6. data/docs/AutomationsCreateParameters1.md +3 -1
  7. data/docs/CustomMetadataPropertiesUpdateParameters.md +1 -1
  8. data/docs/Glossary.md +2 -0
  9. data/docs/GlossaryTermUpdateParameters.md +1 -1
  10. data/docs/JobCreateParameters.md +2 -0
  11. data/docs/JobTemplateUpdateParameters.md +1 -1
  12. data/docs/JobUpdateParameters.md +4 -2
  13. data/docs/KeyUpdateParameters.md +5 -5
  14. data/docs/LocaleUpdateParameters.md +2 -2
  15. data/docs/OrganizationJobTemplateUpdateParameters.md +1 -1
  16. data/docs/ProjectUpdateParameters.md +1 -1
  17. data/docs/ReleaseUpdateParameters.md +3 -3
  18. data/docs/ScreenshotUpdateParameters.md +1 -1
  19. data/docs/StyleguideUpdateParameters.md +9 -9
  20. data/docs/TranslationUpdateParameters.md +1 -1
  21. data/docs/WebhookDeliveriesApi.md +3 -1
  22. data/docs/WebhookUpdateParameters.md +1 -1
  23. data/lib/phrase/api/webhook_deliveries_api.rb +7 -0
  24. data/lib/phrase/models/automation.rb +11 -1
  25. data/lib/phrase/models/automations_create_parameters.rb +14 -4
  26. data/lib/phrase/models/automations_create_parameters1.rb +14 -4
  27. data/lib/phrase/models/custom_metadata_properties_update_parameters.rb +2 -1
  28. data/lib/phrase/models/glossary.rb +11 -1
  29. data/lib/phrase/models/glossary_term_update_parameters.rb +2 -1
  30. data/lib/phrase/models/job_create_parameters.rb +11 -1
  31. data/lib/phrase/models/job_template_update_parameters.rb +2 -1
  32. data/lib/phrase/models/job_update_parameters.rb +15 -3
  33. data/lib/phrase/models/key_update_parameters.rb +10 -5
  34. data/lib/phrase/models/locale_update_parameters.rb +4 -2
  35. data/lib/phrase/models/organization_job_template_update_parameters.rb +2 -1
  36. data/lib/phrase/models/project_update_parameters.rb +2 -1
  37. data/lib/phrase/models/release_update_parameters.rb +6 -3
  38. data/lib/phrase/models/screenshot_update_parameters.rb +2 -1
  39. data/lib/phrase/models/styleguide_update_parameters.rb +18 -9
  40. data/lib/phrase/models/translation_update_parameters.rb +2 -1
  41. data/lib/phrase/models/webhook_update_parameters.rb +2 -1
  42. data/lib/phrase/version.rb +1 -1
  43. data/spec/api/webhook_deliveries_api_spec.rb +1 -0
  44. data/spec/models/automation_spec.rb +6 -0
  45. data/spec/models/automations_create_parameters1_spec.rb +6 -0
  46. data/spec/models/automations_create_parameters_spec.rb +6 -0
  47. data/spec/models/glossary_spec.rb +6 -0
  48. data/spec/models/job_create_parameters_spec.rb +6 -0
  49. data/spec/models/job_update_parameters_spec.rb +6 -0
  50. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dffc1bec606f4465ddd43c467c10550b2668c56fef9deb7ff7d3e97f7d1aad31
4
- data.tar.gz: 6ab6524e76df4a7ccea73e89bb8c5c61dbce675ab1023a2915fc5dce52820564
3
+ metadata.gz: ec425011ef8d54dd03ef89b993465998a2c975808294cb13e584ebfa32458f6f
4
+ data.tar.gz: fae8e39e3e7d87b3236ab7809dd4a76482fdbc08bb660aa7abca9824388d8867
5
5
  SHA512:
6
- metadata.gz: a3368ab3ee17d15f156eb26695cefdad43b6f40d6023cf51cb6049d65be1f35733ac304f3ced4a9fe20e00b758801c8bfb470ab98c25199cf431de86415b3ffb
7
- data.tar.gz: fbe0f6b9d21403a6a946b93e0a6c67521cbc42b971ab1b4fd4b93392cd7d72f6f0736a6baff9ddd7fdad5af2d464c7ec826158f0e0c332640893569441212ed0
6
+ metadata.gz: afcbf3a53c5fa5e777ea470aae0024cf0d2a04cb7b35b545d6593e05773f04f258a9e1c74dedc04447a6332dd05b2a29be8ebdef7278ad46f6a4e445f9ee9065
7
+ data.tar.gz: ef28a1bc068d3dd168aae018fc92ddb733ba7420da1d8bb340f1bd00d860ea125a0d40aa5ddc31acda1e201b5649e2106cc7e66ae591ac63e240ad481bff6c2b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.32.0](https://github.com/phrase/strings-openapi/compare/ruby-v4.31.0...ruby-v4.32.0) (2026-10-22)
4
+
5
+
6
+ ### Features
7
+
8
+ * **API:** add terms_count field to glossary responses #STRINGS-3924 ([#1334](https://github.com/phrase/strings-openapi/issues/1334)) ([9eab4dc](https://github.com/phrase/strings-openapi/commit/9eab4dcc28074b581934d603ec6f653efe100d72))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **API:** make clearable string fields on update endpoints nullable #STRINGS-3652 ([#1326](https://github.com/phrase/strings-openapi/issues/1326)) ([3eb4b6f](https://github.com/phrase/strings-openapi/commit/3eb4b6fe2481f5ad199ae5e3c88eaecabc4d62da))
14
+ * **API:** make translation content and key description nullable #STRINGS-3652 ([#1325](https://github.com/phrase/strings-openapi/issues/1325)) ([2f18702](https://github.com/phrase/strings-openapi/commit/2f1870215d4c84a382ab3cfa76dd9f922dad5903))
15
+
16
+ ## [4.31.0](https://github.com/phrase/strings-openapi/compare/ruby-v4.30.1...ruby-v4.31.0) (2026-10-22)
17
+
18
+
19
+ ### Features
20
+
21
+ * **API:** add include_branches field to automations request and response #STRINGS-3748 ([#1329](https://github.com/phrase/strings-openapi/issues/1329)) ([0219fce](https://github.com/phrase/strings-openapi/commit/0219fce491ceaa02a78ffddb72349ea27cd56d47))
22
+ * **API:** add status filter to webhook deliveries list ([#1317](https://github.com/phrase/strings-openapi/issues/1317)) ([3890f8c](https://github.com/phrase/strings-openapi/commit/3890f8cef2fc7195b0920ccfc2b323c72b56d5ca))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **API:** add review_due_date to job create and update requests #STRINGS-3938 ([#1333](https://github.com/phrase/strings-openapi/issues/1333)) ([312388b](https://github.com/phrase/strings-openapi/commit/312388b1f53e463455022cc1601f01d1a2aa65e7))
28
+
3
29
  ## [4.30.1](https://github.com/phrase/strings-openapi/compare/ruby-v4.30.0...ruby-v4.30.1) (2026-10-05)
4
30
 
5
31
 
data/README.md CHANGED
@@ -7,7 +7,7 @@ Phrase Strings is a translation management platform for software projects. You c
7
7
  ## This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
8
 
9
9
  - API version: 2.0.0
10
- - Package version: 4.30.1
10
+ - Package version: 4.32.0
11
11
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
12
12
  For more information, please visit [https://developers.phrase.com/api/](https://developers.phrase.com/api/)
13
13
 
@@ -56,10 +56,10 @@ gem build phrase.gemspec
56
56
  Then install the gem locally:
57
57
 
58
58
  ```shell
59
- gem install ./phrase-4.30.1.gem
59
+ gem install ./phrase-4.32.0.gem
60
60
  ```
61
61
 
62
- (for development, run `gem install --dev ./phrase-4.30.1.gem` to install the development dependencies)
62
+ (for development, run `gem install --dev ./phrase-4.32.0.gem` to install the development dependencies)
63
63
 
64
64
  ## Getting Started
65
65
 
data/docs/Automation.md CHANGED
@@ -14,6 +14,7 @@ Name | Type | Description | Notes
14
14
  **job_template_id** | **String** | | [optional]
15
15
  **job_owner_id** | **String** | User ID of the job owner that newly created jobs are assigned to. | [optional]
16
16
  **include_only_updated_locales** | **Boolean** | When `true`, the automation only acts on locales that changed since its last run. | [optional]
17
+ **include_branches** | **Boolean** | When true, the automation targets branches of the configured projects in addition to the main project. Requires the designated job owner to have permission to create jobs in branches for every configured project. | [optional]
17
18
  **tags** | **Array<String>** | | [optional]
18
19
  **cron_schedule** | **String** | | [optional]
19
20
  **time_zone** | **String** | | [optional]
@@ -36,6 +37,7 @@ instance = Phrase::Automation.new(id: nil,
36
37
  job_template_id: nil,
37
38
  job_owner_id: nil,
38
39
  include_only_updated_locales: nil,
40
+ include_branches: nil,
39
41
  tags: nil,
40
42
  cron_schedule: nil,
41
43
  time_zone: nil,
@@ -14,6 +14,7 @@ Name | Type | Description | Notes
14
14
  **time_zone** | **String** | along with cron_schedule, specifies when the scheduled automation is supposed to run | [optional]
15
15
  **job_owner_id** | **String** | User ID of the job owner that newly created jobs are assigned to. | [optional]
16
16
  **include_only_updated_locales** | **Boolean** | When `true`, the automation only acts on locales that changed since its last run. Defaults to `false`. | [optional]
17
+ **include_branches** | **Boolean** | When true, the automation also runs against branches of the configured projects. The designated job owner must have permission to create jobs in branches for every configured project; otherwise the request is rejected with 403. | [optional]
17
18
 
18
19
  ## Code Sample
19
20
 
@@ -29,7 +30,8 @@ instance = Phrase::AutomationsCreateParameters.new(name: 'Scheduled Job Automati
29
30
  cron_schedule: '00 13 * * 1,2',
30
31
  time_zone: 'GMT',
31
32
  job_owner_id: 'abcd1234abcd1234abcd1234abcd1234',
32
- include_only_updated_locales: false)
33
+ include_only_updated_locales: false,
34
+ include_branches: nil)
33
35
  ```
34
36
 
35
37
 
@@ -14,6 +14,7 @@ Name | Type | Description | Notes
14
14
  **time_zone** | **String** | along with cron_schedule, specifies when the scheduled automation is supposed to run | [optional]
15
15
  **job_owner_id** | **String** | User ID of the job owner that newly created jobs are assigned to. | [optional]
16
16
  **include_only_updated_locales** | **Boolean** | When `true`, the automation only acts on locales that changed since its last run. | [optional]
17
+ **include_branches** | **Boolean** | When true, the automation also runs against branches of the configured projects. The designated job owner must have permission to create jobs in branches for every configured project; otherwise the request is rejected with 403. | [optional]
17
18
 
18
19
  ## Code Sample
19
20
 
@@ -29,7 +30,8 @@ instance = Phrase::AutomationsCreateParameters1.new(name: 'Scheduled Job Automat
29
30
  cron_schedule: '00 13 * * 1,2',
30
31
  time_zone: 'GMT',
31
32
  job_owner_id: 'abcd1234abcd1234abcd1234abcd1234',
32
- include_only_updated_locales: false)
33
+ include_only_updated_locales: false,
34
+ include_branches: nil)
33
35
  ```
34
36
 
35
37
 
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **name** | **String** | name of the property | [optional]
8
8
  **project_ids** | **Array<String>** | ids of projects that the property belongs to | [optional]
9
- **description** | **String** | description of property | [optional]
9
+ **description** | **String** | description of property. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
10
10
  **value_options** | **Array<String>** | value options of property (only applies to single or multi select properties) | [optional]
11
11
 
12
12
  ## Code Sample
data/docs/Glossary.md CHANGED
@@ -6,6 +6,7 @@ Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **id** | **String** | | [optional]
8
8
  **name** | **String** | | [optional]
9
+ **terms_count** | **Integer** | Number of terms in the glossary. | [optional]
9
10
  **projects** | [**Array<ProjectShort>**](ProjectShort.md) | | [optional]
10
11
  **spaces** | [**Array<Space>**](Space.md) | | [optional]
11
12
  **created_at** | **Time** | | [optional]
@@ -18,6 +19,7 @@ require 'phrase'
18
19
 
19
20
  instance = Phrase::Glossary.new(id: nil,
20
21
  name: nil,
22
+ terms_count: 42,
21
23
  projects: nil,
22
24
  spaces: nil,
23
25
  created_at: nil,
@@ -5,7 +5,7 @@
5
5
  Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **term** | **String** | Glossary term | [optional]
8
- **description** | **String** | Description of term | [optional]
8
+ **description** | **String** | Description of term. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
9
9
  **translatable** | **Boolean** | Indicates whether the term should be used for all languages or can be translated | [optional]
10
10
  **case_sensitive** | **Boolean** | Indicates whether the term is case sensitive | [optional]
11
11
 
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
9
9
  **source_locale_id** | **String** | The API id of the source language | [optional]
10
10
  **briefing** | **String** | Briefing for the translators | [optional]
11
11
  **due_date** | **Time** | Date the job should be finished | [optional]
12
+ **review_due_date** | **Time** | Date the review of the job should be finished. Must not be before `due_date`. | [optional]
12
13
  **ticket_url** | **String** | URL to a ticket for this job (e.g. Jira, Trello) | [optional]
13
14
  **tags** | **Array<String>** | tags of keys that should be included within the job. *Note: a tag matches every key currently carrying that tag, not just the ones you just tagged. For example, if hundreds of pre-existing keys already share the tag `myUploadTag`, adding it here pulls in every one of them, not only the key you just tagged. Use `translation_key_ids` to scope the job to specific keys instead.* | [optional]
14
15
  **translation_key_ids** | **Array<String>** | ids of keys that should be included within the job | [optional]
@@ -26,6 +27,7 @@ instance = Phrase::JobCreateParameters.new(branch: 'my-feature-branch',
26
27
  source_locale_id: 'abcd1234cdef1234abcd1234cdef1234',
27
28
  briefing: 'de-DE',
28
29
  due_date: nil,
30
+ review_due_date: nil,
29
31
  ticket_url: 'https://example.atlassian.net/browse/FOO',
30
32
  tags: ["myUploadTag"],
31
33
  translation_key_ids: ["abcd1234cdef1234abcd1234cdef1234"],
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **branch** | **String** | specify the branch to use | [optional]
8
8
  **name** | **String** | Job template name |
9
- **briefing** | **String** | Briefing for the translators | [optional]
9
+ **briefing** | **String** | Briefing for the translators. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
10
10
  **autotranslate** | **Boolean** | Automatically translate the job using machine translation. | [optional]
11
11
  **source_locale_id** | **String** | The API id of the source language. This locale will be set as source locale for the job template. If not provided, the project default locale will be used. | [optional]
12
12
  **owner_id** | **String** | Code of the account member to set as the job template owner. The referenced user must also be a member of the project; passing the code of an account member who is not a project member returns a 404. Pass an empty string to clear a previously set owner; when blank, jobs created from this template will default to assigning the job creator as owner. | [optional]
@@ -5,9 +5,10 @@
5
5
  Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **name** | **String** | Job name | [optional]
8
- **briefing** | **String** | Briefing for the translators | [optional]
8
+ **briefing** | **String** | Briefing for the translators. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
9
9
  **due_date** | **Time** | Date the job should be finished | [optional]
10
- **ticket_url** | **String** | URL to a ticket for this job (e.g. Jira, Trello) | [optional]
10
+ **review_due_date** | **Time** | Date the review of the job should be finished. Must not be before `due_date`. | [optional]
11
+ **ticket_url** | **String** | URL to a ticket for this job (e.g. Jira, Trello) Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
11
12
  **target_locale_ids** | **Array<String>** | List of target locales for the job. | [optional]
12
13
  **autotranslate** | **Boolean** | Automatically translate the job using machine translation | [optional]
13
14
 
@@ -19,6 +20,7 @@ require 'phrase'
19
20
  instance = Phrase::JobUpdateParameters.new(name: 'de',
20
21
  briefing: 'de-DE',
21
22
  due_date: nil,
23
+ review_due_date: nil,
22
24
  ticket_url: 'https://example.atlassian.net/browse/FOO',
23
25
  target_locale_ids: ["abcd1234cdef1234abcd1234cdef1234"],
24
26
  autotranslate: true)
@@ -6,10 +6,10 @@ Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **branch** | **String** | specify the branch to use | [optional]
8
8
  **name** | **String** | Key name | [optional]
9
- **description** | **String** | Key description (usually includes contextual information for translators) | [optional]
9
+ **description** | **String** | Key description (usually includes contextual information for translators). Send an empty string or `null` to clear the description; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
10
10
  **plural** | **Boolean** | Indicates whether key supports pluralization | [optional]
11
11
  **use_ordinal_rules** | **Boolean** | Indicates whether key uses ordinal rules for pluralization | [optional]
12
- **name_plural** | **String** | Plural name for the key (used in some file formats, e.g. Gettext) | [optional]
12
+ **name_plural** | **String** | Plural name for the key (used in some file formats, e.g. Gettext) Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
13
13
  **data_type** | **String** | Type of the key. Can be one of the following: string, number, boolean, array, markdown. | [optional]
14
14
  **tags** | **String** | List of tags separated by comma to be associated with the key. | [optional]
15
15
  **max_characters_allowed** | **Integer** | Max. number of characters translations for this key can have. | [optional]
@@ -17,9 +17,9 @@ Name | Type | Description | Notes
17
17
  **remove_screenshot** | **Boolean** | Indicates whether the screenshot will be deleted. This parameter is deprecated. Please use the Screenshots endpoint instead. | [optional]
18
18
  **unformatted** | **Boolean** | Indicates whether the key should be exported as \"unformatted\". Supported by Android XML and other formats. | [optional]
19
19
  **xml_space_preserve** | **Boolean** | Indicates whether the key should be exported with \"xml:space=preserve\". Supported by several XML-based formats. | [optional]
20
- **original_file** | **String** | Original file attribute. Used in some formats, e.g. XLIFF. | [optional]
21
- **localized_format_string** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. | [optional]
22
- **localized_format_key** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. | [optional]
20
+ **original_file** | **String** | Original file attribute. Used in some formats, e.g. XLIFF. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
21
+ **localized_format_string** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
22
+ **localized_format_key** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
23
23
  **custom_metadata** | **Object** | Updates/Creates custom metadata property name and value pairs to be associated with key. If you want to delete a custom metadata property, you can set its value to null. If you want to update a custom metadata property, you can set its value to the new value. | [optional]
24
24
  **excluded_in_locales** | **Array<String>** | Locales for which translations of this key are excluded from exports. Pass an empty array to clear exclusions. | [optional]
25
25
  **format_value_type** | **String** | Override of the value type for the key in the export. Most useful for formats like Android XML that distinguish string vs. plural resources. | [optional]
@@ -11,12 +11,12 @@ Name | Type | Description | Notes
11
11
  **main** | **Boolean** | Indicates whether locale is a main locale. Main locales are part of the [Verification System](https://support.phrase.com/hc/en-us/articles/5784094755484) feature. | [optional]
12
12
  **rtl** | **Boolean** | Indicates whether locale is a RTL (Right-to-Left) locale. | [optional]
13
13
  **source_locale_id** | **String** | Source locale. Can be the name or id of the locale. Preferred is id. | [optional]
14
- **fallback_locale_id** | **String** | Fallback locale for empty translations. Can be a locale name or id. | [optional]
14
+ **fallback_locale_id** | **String** | Fallback locale for empty translations. Can be a locale name or id. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
15
15
  **unverify_new_translations** | **Boolean** | Indicates that new translations for this locale should be marked as unverified. Part of the [Advanced Workflows](https://support.phrase.com/hc/en-us/articles/5784094755484) feature. | [optional]
16
16
  **unverify_updated_translations** | **Boolean** | Indicates that updated translations for this locale should be marked as unverified. Part of the [Advanced Workflows](https://support.phrase.com/hc/en-us/articles/5784094755484) feature. | [optional]
17
17
  **unverify_on_source_changes** | **Boolean** | Indicates that translations for this locale should be marked as unverified when the source language has been changed. | [optional]
18
18
  **autotranslate** | **Boolean** | If set, translations for this locale will be fetched automatically, right after creation. | [optional]
19
- **language_ai_profile** | **String** | Identifier of the Language AI profile to use for this locale. | [optional]
19
+ **language_ai_profile** | **String** | Identifier of the Language AI profile to use for this locale. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
20
20
 
21
21
  ## Code Sample
22
22
 
@@ -5,7 +5,7 @@
5
5
  Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **name** | **String** | Job template name |
8
- **briefing** | **String** | Briefing for the translators | [optional]
8
+ **briefing** | **String** | Briefing for the translators. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
9
9
  **autotranslate** | **Boolean** | Automatically translate the job using machine translation. | [optional]
10
10
  **owner_id** | **String** | Code of the account member to set as the job template owner. Pass an empty string to clear a previously set owner; when blank, the owner is set to null and jobs created from this template will default to assigning the job creator as owner. | [optional]
11
11
 
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **account_id** | **String** | (Optional) ID of an account the requesting user belongs to. Used only to disambiguate the request context; the project itself cannot be moved between accounts through this endpoint. | [optional]
8
8
  **name** | **String** | (Optional) Name of the project | [optional]
9
- **point_of_contact** | **String** | (Optional) User ID of the point of contact for the project. Pass `null` to unset. | [optional]
9
+ **point_of_contact** | **String** | (Optional) User ID of the point of contact for the project. Pass `null` or an empty string to unset. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
10
10
  **main_format** | **String** | (Optional) Main file format specified by its API Extension name. Used for locale downloads if no format is specified. For API Extension names of available file formats see [Format Guide](https://support.phrase.com/hc/en-us/sections/6111343326364) or our [Formats API Endpoint](#formats). | [optional]
11
11
  **media** | **String** | (Optional) Main technology stack used in the project. It affects for example the suggested placeholder style. Predefined values include: `Ruby`, `JavaScript`, `AngularJS`, `React`, `iOS`, `Android`, `Python`, `PHP`, `Java`, `Go`, `Windows Phone`, `Rails`, `Node.js`, `.NET`, `Django`, `Symfony`, `Yii Framework`, `Zend Framework`, `Apple App Store Description`, `Google Play Description`, but it can also take any other value. | [optional]
12
12
  **shares_translation_memory** | **Boolean** | (Optional) Indicates whether the project should share the account's translation memory | [optional]
@@ -4,10 +4,10 @@
4
4
 
5
5
  Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
- **description** | **String** | Description of the release | [optional]
7
+ **description** | **String** | Description of the release. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
8
8
  **platforms** | **Array<String>** | List of platforms the release should support. | [optional]
9
- **app_min_version** | **String** | Minimum version of the app that the release supports in semver format | [optional]
10
- **app_max_version** | **String** | Maximum version of the app that the release supports in semver format | [optional]
9
+ **app_min_version** | **String** | Minimum version of the app that the release supports in semver format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
10
+ **app_max_version** | **String** | Maximum version of the app that the release supports in semver format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
11
11
  **branch** | **String** | Branch used for release | [optional]
12
12
 
13
13
  ## Code Sample
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **branch** | **String** | specify the branch to use | [optional]
8
8
  **name** | **String** | Name of the screenshot | [optional]
9
- **description** | **String** | Description of the screenshot | [optional]
9
+ **description** | **String** | Description of the screenshot. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
10
10
  **filename** | **File** | Screenshot file | [optional]
11
11
 
12
12
  ## Code Sample
@@ -5,18 +5,18 @@
5
5
  Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **title** | **String** | Style guide title | [optional]
8
- **audience** | **String** | Audience description | [optional]
8
+ **audience** | **String** | Audience description. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
9
9
  **target_audience** | **String** | Target audience for the translations. | [optional]
10
10
  **grammatical_person** | **String** | Preferred grammatical person. | [optional]
11
11
  **vocabulary_type** | **String** | Vocabulary register the translations should use. | [optional]
12
- **business** | **String** | Description of the business | [optional]
13
- **company_branding** | **String** | Company branding to remain consistent. | [optional]
14
- **formatting** | **String** | Formatting requirements and character limitations. | [optional]
15
- **glossary_terms** | **String** | List of terms and/or phrases that need to be translated consistently. | [optional]
16
- **grammar_consistency** | **String** | Formal or informal pronouns, consistent conjugation, grammatical gender | [optional]
17
- **literal_translation** | **String** | Can be one of: Cultural/Conversational, Literal, Neutral. | [optional]
18
- **overall_tone** | **String** | Tone requirement descriptions | [optional]
19
- **samples** | **String** | Provide links to sample product pages, FAQ pages, etc. to give the translator a point of reference. You can also provide past translations. Even snippets or short paragraphs are helpful for maintaining consistency. | [optional]
12
+ **business** | **String** | Description of the business. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
13
+ **company_branding** | **String** | Company branding to remain consistent. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
14
+ **formatting** | **String** | Formatting requirements and character limitations. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
15
+ **glossary_terms** | **String** | List of terms and/or phrases that need to be translated consistently. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
16
+ **grammar_consistency** | **String** | Formal or informal pronouns, consistent conjugation, grammatical gender. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
17
+ **literal_translation** | **String** | Can be one of: Cultural/Conversational, Literal, Neutral. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
18
+ **overall_tone** | **String** | Tone requirement descriptions. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
19
+ **samples** | **String** | Provide links to sample product pages, FAQ pages, etc. to give the translator a point of reference. You can also provide past translations. Even snippets or short paragraphs are helpful for maintaining consistency. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
20
20
 
21
21
  ## Code Sample
22
22
 
@@ -5,7 +5,7 @@
5
5
  Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **branch** | **String** | specify the branch to use | [optional]
8
- **content** | **String** | Translation content | [optional]
8
+ **content** | **String** | Translation content. Send an empty string or `null` to clear the translation's content; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
9
9
  **plural_suffix** | **String** | Plural suffix. Can be one of: zero, one, two, few, many, other. Must be specified if the key associated to the translation is pluralized. | [optional]
10
10
  **unverified** | **Boolean** | Indicates whether translation is unverified. Part of the [Advanced Workflows](https://support.phrase.com/hc/en-us/articles/5784094755484) feature. | [optional]
11
11
  **excluded** | **Boolean** | Indicates whether translation is excluded. | [optional]
@@ -39,7 +39,8 @@ project_id = 'project_id_example' # String | Project ID
39
39
  webhook_id = 'webhook_id_example' # String | Webhook ID
40
40
  opts = {
41
41
  x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
42
- response_status_codes: 'response_status_codes_example' # String | List of Response Status Codes
42
+ response_status_codes: 'response_status_codes_example', # String | List of Response Status Codes
43
+ status: 'success' # String | Filter deliveries by outcome. `success` returns deliveries with a 2xx response code or a soft error. `failed` returns all other deliveries, including exceptions and timeouts without a response code.
43
44
  }
44
45
 
45
46
  begin
@@ -60,6 +61,7 @@ Name | Type | Description | Notes
60
61
  **webhook_id** | **String**| Webhook ID |
61
62
  **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
62
63
  **response_status_codes** | **String**| List of Response Status Codes | [optional]
64
+ **status** | **String**| Filter deliveries by outcome. `success` returns deliveries with a 2xx response code or a soft error. `failed` returns all other deliveries, including exceptions and timeouts without a response code. | [optional]
63
65
 
64
66
  ### Return type
65
67
 
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
6
6
  ------------ | ------------- | ------------- | -------------
7
7
  **callback_url** | **String** | Callback URL to send requests to | [optional]
8
8
  **secret** | **String** | Webhook secret used to calculate signature. If empty, the default project secret will be used. | [optional]
9
- **description** | **String** | Webhook description | [optional]
9
+ **description** | **String** | Webhook description. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there. | [optional]
10
10
  **events** | **String** | List of event names to trigger the webhook (separated by comma) | [optional]
11
11
  **active** | **Boolean** | Whether webhook is active or inactive | [optional]
12
12
  **include_branches** | **Boolean** | If enabled, webhook will also be triggered for events from branches of the project specified. | [optional]
@@ -14,6 +14,7 @@ module Phrase
14
14
  # @param [Hash] opts the optional parameters
15
15
  # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
16
16
  # @option opts [String] :response_status_codes List of Response Status Codes
17
+ # @option opts [String] :status Filter deliveries by outcome. `success` returns deliveries with a 2xx response code or a soft error. `failed` returns all other deliveries, including exceptions and timeouts without a response code.
17
18
  # @return [Array<WebhookDelivery>]
18
19
  def webhook_deliveries_list(project_id, webhook_id, opts = {})
19
20
  data, _status_code, _headers = webhook_deliveries_list_with_http_info(project_id, webhook_id, opts)
@@ -27,6 +28,7 @@ module Phrase
27
28
  # @param [Hash] opts the optional parameters
28
29
  # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
29
30
  # @option opts [String] :response_status_codes List of Response Status Codes
31
+ # @option opts [String] :status Filter deliveries by outcome. &#x60;success&#x60; returns deliveries with a 2xx response code or a soft error. &#x60;failed&#x60; returns all other deliveries, including exceptions and timeouts without a response code.
30
32
  # @return [Array<(Response<(Array<WebhookDelivery>)>, Integer, Hash)>] Response<(Array<WebhookDelivery>)> data, response status code and response headers
31
33
  def webhook_deliveries_list_with_http_info(project_id, webhook_id, opts = {})
32
34
  if @api_client.config.debugging
@@ -40,12 +42,17 @@ module Phrase
40
42
  if @api_client.config.client_side_validation && webhook_id.nil?
41
43
  fail ArgumentError, "Missing the required parameter 'webhook_id' when calling WebhookDeliveriesApi.webhook_deliveries_list"
42
44
  end
45
+ allowable_values = ["success", "failed"]
46
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
47
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
48
+ end
43
49
  # resource path
44
50
  local_var_path = '/projects/{project_id}/webhooks/{webhook_id}/deliveries'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'webhook_id' + '}', CGI.escape(webhook_id.to_s))
45
51
 
46
52
  # query parameters
47
53
  query_params = opts[:query_params] || {}
48
54
  query_params[:'response_status_codes'] = opts[:'response_status_codes'] if !opts[:'response_status_codes'].nil?
55
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
49
56
 
50
57
  # header parameters
51
58
  header_params = opts[:header_params] || {}
@@ -26,6 +26,9 @@ module Phrase
26
26
  # When `true`, the automation only acts on locales that changed since its last run.
27
27
  attr_accessor :include_only_updated_locales
28
28
 
29
+ # When true, the automation targets branches of the configured projects in addition to the main project. Requires the designated job owner to have permission to create jobs in branches for every configured project.
30
+ attr_accessor :include_branches
31
+
29
32
  attr_accessor :tags
30
33
 
31
34
  attr_accessor :cron_schedule
@@ -73,6 +76,7 @@ module Phrase
73
76
  :'job_template_id' => :'job_template_id',
74
77
  :'job_owner_id' => :'job_owner_id',
75
78
  :'include_only_updated_locales' => :'include_only_updated_locales',
79
+ :'include_branches' => :'include_branches',
76
80
  :'tags' => :'tags',
77
81
  :'cron_schedule' => :'cron_schedule',
78
82
  :'time_zone' => :'time_zone',
@@ -95,6 +99,7 @@ module Phrase
95
99
  :'job_template_id' => :'String',
96
100
  :'job_owner_id' => :'String',
97
101
  :'include_only_updated_locales' => :'Boolean',
102
+ :'include_branches' => :'Boolean',
98
103
  :'tags' => :'Array<String>',
99
104
  :'cron_schedule' => :'String',
100
105
  :'time_zone' => :'String',
@@ -170,6 +175,10 @@ module Phrase
170
175
  self.include_only_updated_locales = attributes[:'include_only_updated_locales']
171
176
  end
172
177
 
178
+ if attributes.key?(:'include_branches')
179
+ self.include_branches = attributes[:'include_branches']
180
+ end
181
+
173
182
  if attributes.key?(:'tags')
174
183
  if (value = attributes[:'tags']).is_a?(Array)
175
184
  self.tags = value
@@ -249,6 +258,7 @@ module Phrase
249
258
  job_template_id == o.job_template_id &&
250
259
  job_owner_id == o.job_owner_id &&
251
260
  include_only_updated_locales == o.include_only_updated_locales &&
261
+ include_branches == o.include_branches &&
252
262
  tags == o.tags &&
253
263
  cron_schedule == o.cron_schedule &&
254
264
  time_zone == o.time_zone &&
@@ -266,7 +276,7 @@ module Phrase
266
276
  # Calculates hash code according to all attributes.
267
277
  # @return [Integer] Hash code
268
278
  def hash
269
- [id, name, status, trigger, status_filters, project_id, project_ids, job_template_id, job_owner_id, include_only_updated_locales, tags, cron_schedule, time_zone, account, created_at, updated_at].hash
279
+ [id, name, status, trigger, status_filters, project_id, project_ids, job_template_id, job_owner_id, include_only_updated_locales, include_branches, tags, cron_schedule, time_zone, account, created_at, updated_at].hash
270
280
  end
271
281
 
272
282
  # Builds the object from hash
@@ -31,6 +31,9 @@ module Phrase
31
31
  # When `true`, the automation only acts on locales that changed since its last run. Defaults to `false`.
32
32
  attr_accessor :include_only_updated_locales
33
33
 
34
+ # When true, the automation also runs against branches of the configured projects. The designated job owner must have permission to create jobs in branches for every configured project; otherwise the request is rejected with 403.
35
+ attr_accessor :include_branches
36
+
34
37
  class EnumAttributeValidator
35
38
  attr_reader :datatype
36
39
  attr_reader :allowable_values
@@ -65,7 +68,8 @@ module Phrase
65
68
  :'cron_schedule' => :'cron_schedule',
66
69
  :'time_zone' => :'time_zone',
67
70
  :'job_owner_id' => :'job_owner_id',
68
- :'include_only_updated_locales' => :'include_only_updated_locales'
71
+ :'include_only_updated_locales' => :'include_only_updated_locales',
72
+ :'include_branches' => :'include_branches'
69
73
  }
70
74
  end
71
75
 
@@ -81,7 +85,8 @@ module Phrase
81
85
  :'cron_schedule' => :'String',
82
86
  :'time_zone' => :'String',
83
87
  :'job_owner_id' => :'String',
84
- :'include_only_updated_locales' => :'Boolean'
88
+ :'include_only_updated_locales' => :'Boolean',
89
+ :'include_branches' => :'Boolean'
85
90
  }
86
91
  end
87
92
 
@@ -151,6 +156,10 @@ module Phrase
151
156
  if attributes.key?(:'include_only_updated_locales')
152
157
  self.include_only_updated_locales = attributes[:'include_only_updated_locales']
153
158
  end
159
+
160
+ if attributes.key?(:'include_branches')
161
+ self.include_branches = attributes[:'include_branches']
162
+ end
154
163
  end
155
164
 
156
165
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -212,7 +221,8 @@ module Phrase
212
221
  cron_schedule == o.cron_schedule &&
213
222
  time_zone == o.time_zone &&
214
223
  job_owner_id == o.job_owner_id &&
215
- include_only_updated_locales == o.include_only_updated_locales
224
+ include_only_updated_locales == o.include_only_updated_locales &&
225
+ include_branches == o.include_branches
216
226
  end
217
227
 
218
228
  # @see the `==` method
@@ -224,7 +234,7 @@ module Phrase
224
234
  # Calculates hash code according to all attributes.
225
235
  # @return [Integer] Hash code
226
236
  def hash
227
- [name, trigger, project_ids, job_template_id, status_filters, tags, cron_schedule, time_zone, job_owner_id, include_only_updated_locales].hash
237
+ [name, trigger, project_ids, job_template_id, status_filters, tags, cron_schedule, time_zone, job_owner_id, include_only_updated_locales, include_branches].hash
228
238
  end
229
239
 
230
240
  # Builds the object from hash
@@ -31,6 +31,9 @@ module Phrase
31
31
  # When `true`, the automation only acts on locales that changed since its last run.
32
32
  attr_accessor :include_only_updated_locales
33
33
 
34
+ # When true, the automation also runs against branches of the configured projects. The designated job owner must have permission to create jobs in branches for every configured project; otherwise the request is rejected with 403.
35
+ attr_accessor :include_branches
36
+
34
37
  class EnumAttributeValidator
35
38
  attr_reader :datatype
36
39
  attr_reader :allowable_values
@@ -65,7 +68,8 @@ module Phrase
65
68
  :'cron_schedule' => :'cron_schedule',
66
69
  :'time_zone' => :'time_zone',
67
70
  :'job_owner_id' => :'job_owner_id',
68
- :'include_only_updated_locales' => :'include_only_updated_locales'
71
+ :'include_only_updated_locales' => :'include_only_updated_locales',
72
+ :'include_branches' => :'include_branches'
69
73
  }
70
74
  end
71
75
 
@@ -81,7 +85,8 @@ module Phrase
81
85
  :'cron_schedule' => :'String',
82
86
  :'time_zone' => :'String',
83
87
  :'job_owner_id' => :'String',
84
- :'include_only_updated_locales' => :'Boolean'
88
+ :'include_only_updated_locales' => :'Boolean',
89
+ :'include_branches' => :'Boolean'
85
90
  }
86
91
  end
87
92
 
@@ -151,6 +156,10 @@ module Phrase
151
156
  if attributes.key?(:'include_only_updated_locales')
152
157
  self.include_only_updated_locales = attributes[:'include_only_updated_locales']
153
158
  end
159
+
160
+ if attributes.key?(:'include_branches')
161
+ self.include_branches = attributes[:'include_branches']
162
+ end
154
163
  end
155
164
 
156
165
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -212,7 +221,8 @@ module Phrase
212
221
  cron_schedule == o.cron_schedule &&
213
222
  time_zone == o.time_zone &&
214
223
  job_owner_id == o.job_owner_id &&
215
- include_only_updated_locales == o.include_only_updated_locales
224
+ include_only_updated_locales == o.include_only_updated_locales &&
225
+ include_branches == o.include_branches
216
226
  end
217
227
 
218
228
  # @see the `==` method
@@ -224,7 +234,7 @@ module Phrase
224
234
  # Calculates hash code according to all attributes.
225
235
  # @return [Integer] Hash code
226
236
  def hash
227
- [name, trigger, project_ids, job_template_id, status_filters, tags, cron_schedule, time_zone, job_owner_id, include_only_updated_locales].hash
237
+ [name, trigger, project_ids, job_template_id, status_filters, tags, cron_schedule, time_zone, job_owner_id, include_only_updated_locales, include_branches].hash
228
238
  end
229
239
 
230
240
  # Builds the object from hash
@@ -8,7 +8,7 @@ module Phrase
8
8
  # ids of projects that the property belongs to
9
9
  attr_accessor :project_ids
10
10
 
11
- # description of property
11
+ # description of property. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
12
12
  attr_accessor :description
13
13
 
14
14
  # value options of property (only applies to single or multi select properties)
@@ -37,6 +37,7 @@ module Phrase
37
37
  # List of attributes with nullable: true
38
38
  def self.openapi_nullable
39
39
  Set.new([
40
+ :'description',
40
41
  ])
41
42
  end
42
43
 
@@ -6,6 +6,9 @@ module Phrase
6
6
 
7
7
  attr_accessor :name
8
8
 
9
+ # Number of terms in the glossary.
10
+ attr_accessor :terms_count
11
+
9
12
  attr_accessor :projects
10
13
 
11
14
  attr_accessor :spaces
@@ -19,6 +22,7 @@ module Phrase
19
22
  {
20
23
  :'id' => :'id',
21
24
  :'name' => :'name',
25
+ :'terms_count' => :'terms_count',
22
26
  :'projects' => :'projects',
23
27
  :'spaces' => :'spaces',
24
28
  :'created_at' => :'created_at',
@@ -31,6 +35,7 @@ module Phrase
31
35
  {
32
36
  :'id' => :'String',
33
37
  :'name' => :'String',
38
+ :'terms_count' => :'Integer',
34
39
  :'projects' => :'Array<ProjectShort>',
35
40
  :'spaces' => :'Array<Space>',
36
41
  :'created_at' => :'DateTime',
@@ -67,6 +72,10 @@ module Phrase
67
72
  self.name = attributes[:'name']
68
73
  end
69
74
 
75
+ if attributes.key?(:'terms_count')
76
+ self.terms_count = attributes[:'terms_count']
77
+ end
78
+
70
79
  if attributes.key?(:'projects')
71
80
  if (value = attributes[:'projects']).is_a?(Array)
72
81
  self.projects = value
@@ -108,6 +117,7 @@ module Phrase
108
117
  self.class == o.class &&
109
118
  id == o.id &&
110
119
  name == o.name &&
120
+ terms_count == o.terms_count &&
111
121
  projects == o.projects &&
112
122
  spaces == o.spaces &&
113
123
  created_at == o.created_at &&
@@ -123,7 +133,7 @@ module Phrase
123
133
  # Calculates hash code according to all attributes.
124
134
  # @return [Integer] Hash code
125
135
  def hash
126
- [id, name, projects, spaces, created_at, updated_at].hash
136
+ [id, name, terms_count, projects, spaces, created_at, updated_at].hash
127
137
  end
128
138
 
129
139
  # Builds the object from hash
@@ -5,7 +5,7 @@ module Phrase
5
5
  # Glossary term
6
6
  attr_accessor :term
7
7
 
8
- # Description of term
8
+ # Description of term. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
9
9
  attr_accessor :description
10
10
 
11
11
  # Indicates whether the term should be used for all languages or can be translated
@@ -37,6 +37,7 @@ module Phrase
37
37
  # List of attributes with nullable: true
38
38
  def self.openapi_nullable
39
39
  Set.new([
40
+ :'description',
40
41
  ])
41
42
  end
42
43
 
@@ -17,6 +17,9 @@ module Phrase
17
17
  # Date the job should be finished
18
18
  attr_accessor :due_date
19
19
 
20
+ # Date the review of the job should be finished. Must not be before `due_date`.
21
+ attr_accessor :review_due_date
22
+
20
23
  # URL to a ticket for this job (e.g. Jira, Trello)
21
24
  attr_accessor :ticket_url
22
25
 
@@ -43,6 +46,7 @@ module Phrase
43
46
  :'source_locale_id' => :'source_locale_id',
44
47
  :'briefing' => :'briefing',
45
48
  :'due_date' => :'due_date',
49
+ :'review_due_date' => :'review_due_date',
46
50
  :'ticket_url' => :'ticket_url',
47
51
  :'tags' => :'tags',
48
52
  :'translation_key_ids' => :'translation_key_ids',
@@ -60,6 +64,7 @@ module Phrase
60
64
  :'source_locale_id' => :'String',
61
65
  :'briefing' => :'String',
62
66
  :'due_date' => :'DateTime',
67
+ :'review_due_date' => :'DateTime',
63
68
  :'ticket_url' => :'String',
64
69
  :'tags' => :'Array<String>',
65
70
  :'translation_key_ids' => :'Array<String>',
@@ -111,6 +116,10 @@ module Phrase
111
116
  self.due_date = attributes[:'due_date']
112
117
  end
113
118
 
119
+ if attributes.key?(:'review_due_date')
120
+ self.review_due_date = attributes[:'review_due_date']
121
+ end
122
+
114
123
  if attributes.key?(:'ticket_url')
115
124
  self.ticket_url = attributes[:'ticket_url']
116
125
  end
@@ -170,6 +179,7 @@ module Phrase
170
179
  source_locale_id == o.source_locale_id &&
171
180
  briefing == o.briefing &&
172
181
  due_date == o.due_date &&
182
+ review_due_date == o.review_due_date &&
173
183
  ticket_url == o.ticket_url &&
174
184
  tags == o.tags &&
175
185
  translation_key_ids == o.translation_key_ids &&
@@ -187,7 +197,7 @@ module Phrase
187
197
  # Calculates hash code according to all attributes.
188
198
  # @return [Integer] Hash code
189
199
  def hash
190
- [branch, name, source_locale_id, briefing, due_date, ticket_url, tags, translation_key_ids, target_locale_ids, job_template_id, autotranslate].hash
200
+ [branch, name, source_locale_id, briefing, due_date, review_due_date, ticket_url, tags, translation_key_ids, target_locale_ids, job_template_id, autotranslate].hash
191
201
  end
192
202
 
193
203
  # Builds the object from hash
@@ -8,7 +8,7 @@ module Phrase
8
8
  # Job template name
9
9
  attr_accessor :name
10
10
 
11
- # Briefing for the translators
11
+ # Briefing for the translators. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
12
12
  attr_accessor :briefing
13
13
 
14
14
  # Automatically translate the job using machine translation.
@@ -47,6 +47,7 @@ module Phrase
47
47
  # List of attributes with nullable: true
48
48
  def self.openapi_nullable
49
49
  Set.new([
50
+ :'briefing',
50
51
  ])
51
52
  end
52
53
 
@@ -5,13 +5,16 @@ module Phrase
5
5
  # Job name
6
6
  attr_accessor :name
7
7
 
8
- # Briefing for the translators
8
+ # Briefing for the translators. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
9
9
  attr_accessor :briefing
10
10
 
11
11
  # Date the job should be finished
12
12
  attr_accessor :due_date
13
13
 
14
- # URL to a ticket for this job (e.g. Jira, Trello)
14
+ # Date the review of the job should be finished. Must not be before `due_date`.
15
+ attr_accessor :review_due_date
16
+
17
+ # URL to a ticket for this job (e.g. Jira, Trello) Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
15
18
  attr_accessor :ticket_url
16
19
 
17
20
  # List of target locales for the job.
@@ -26,6 +29,7 @@ module Phrase
26
29
  :'name' => :'name',
27
30
  :'briefing' => :'briefing',
28
31
  :'due_date' => :'due_date',
32
+ :'review_due_date' => :'review_due_date',
29
33
  :'ticket_url' => :'ticket_url',
30
34
  :'target_locale_ids' => :'target_locale_ids',
31
35
  :'autotranslate' => :'autotranslate'
@@ -38,6 +42,7 @@ module Phrase
38
42
  :'name' => :'String',
39
43
  :'briefing' => :'String',
40
44
  :'due_date' => :'DateTime',
45
+ :'review_due_date' => :'DateTime',
41
46
  :'ticket_url' => :'String',
42
47
  :'target_locale_ids' => :'Array<String>',
43
48
  :'autotranslate' => :'Boolean'
@@ -47,7 +52,9 @@ module Phrase
47
52
  # List of attributes with nullable: true
48
53
  def self.openapi_nullable
49
54
  Set.new([
55
+ :'briefing',
50
56
  :'due_date',
57
+ :'ticket_url',
51
58
  ])
52
59
  end
53
60
 
@@ -78,6 +85,10 @@ module Phrase
78
85
  self.due_date = attributes[:'due_date']
79
86
  end
80
87
 
88
+ if attributes.key?(:'review_due_date')
89
+ self.review_due_date = attributes[:'review_due_date']
90
+ end
91
+
81
92
  if attributes.key?(:'ticket_url')
82
93
  self.ticket_url = attributes[:'ticket_url']
83
94
  end
@@ -114,6 +125,7 @@ module Phrase
114
125
  name == o.name &&
115
126
  briefing == o.briefing &&
116
127
  due_date == o.due_date &&
128
+ review_due_date == o.review_due_date &&
117
129
  ticket_url == o.ticket_url &&
118
130
  target_locale_ids == o.target_locale_ids &&
119
131
  autotranslate == o.autotranslate
@@ -128,7 +140,7 @@ module Phrase
128
140
  # Calculates hash code according to all attributes.
129
141
  # @return [Integer] Hash code
130
142
  def hash
131
- [name, briefing, due_date, ticket_url, target_locale_ids, autotranslate].hash
143
+ [name, briefing, due_date, review_due_date, ticket_url, target_locale_ids, autotranslate].hash
132
144
  end
133
145
 
134
146
  # Builds the object from hash
@@ -8,7 +8,7 @@ module Phrase
8
8
  # Key name
9
9
  attr_accessor :name
10
10
 
11
- # Key description (usually includes contextual information for translators)
11
+ # Key description (usually includes contextual information for translators). Send an empty string or `null` to clear the description; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
12
12
  attr_accessor :description
13
13
 
14
14
  # Indicates whether key supports pluralization
@@ -17,7 +17,7 @@ module Phrase
17
17
  # Indicates whether key uses ordinal rules for pluralization
18
18
  attr_accessor :use_ordinal_rules
19
19
 
20
- # Plural name for the key (used in some file formats, e.g. Gettext)
20
+ # Plural name for the key (used in some file formats, e.g. Gettext) Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
21
21
  attr_accessor :name_plural
22
22
 
23
23
  # Type of the key. Can be one of the following: string, number, boolean, array, markdown.
@@ -41,13 +41,13 @@ module Phrase
41
41
  # Indicates whether the key should be exported with \"xml:space=preserve\". Supported by several XML-based formats.
42
42
  attr_accessor :xml_space_preserve
43
43
 
44
- # Original file attribute. Used in some formats, e.g. XLIFF.
44
+ # Original file attribute. Used in some formats, e.g. XLIFF. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
45
45
  attr_accessor :original_file
46
46
 
47
- # NSStringLocalizedFormatKey attribute. Used in .stringsdict format.
47
+ # NSStringLocalizedFormatKey attribute. Used in .stringsdict format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
48
48
  attr_accessor :localized_format_string
49
49
 
50
- # NSStringLocalizedFormatKey attribute. Used in .stringsdict format.
50
+ # NSStringLocalizedFormatKey attribute. Used in .stringsdict format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
51
51
  attr_accessor :localized_format_key
52
52
 
53
53
  # Updates/Creates custom metadata property name and value pairs to be associated with key. If you want to delete a custom metadata property, you can set its value to null. If you want to update a custom metadata property, you can set its value to the new value.
@@ -112,6 +112,11 @@ module Phrase
112
112
  # List of attributes with nullable: true
113
113
  def self.openapi_nullable
114
114
  Set.new([
115
+ :'description',
116
+ :'name_plural',
117
+ :'original_file',
118
+ :'localized_format_string',
119
+ :'localized_format_key',
115
120
  ])
116
121
  end
117
122
 
@@ -23,7 +23,7 @@ module Phrase
23
23
  # Source locale. Can be the name or id of the locale. Preferred is id.
24
24
  attr_accessor :source_locale_id
25
25
 
26
- # Fallback locale for empty translations. Can be a locale name or id.
26
+ # Fallback locale for empty translations. Can be a locale name or id. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
27
27
  attr_accessor :fallback_locale_id
28
28
 
29
29
  # Indicates that new translations for this locale should be marked as unverified. Part of the [Advanced Workflows](https://support.phrase.com/hc/en-us/articles/5784094755484) feature.
@@ -38,7 +38,7 @@ module Phrase
38
38
  # If set, translations for this locale will be fetched automatically, right after creation.
39
39
  attr_accessor :autotranslate
40
40
 
41
- # Identifier of the Language AI profile to use for this locale.
41
+ # Identifier of the Language AI profile to use for this locale. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
42
42
  attr_accessor :language_ai_profile
43
43
 
44
44
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -82,6 +82,8 @@ module Phrase
82
82
  # List of attributes with nullable: true
83
83
  def self.openapi_nullable
84
84
  Set.new([
85
+ :'fallback_locale_id',
86
+ :'language_ai_profile'
85
87
  ])
86
88
  end
87
89
 
@@ -5,7 +5,7 @@ module Phrase
5
5
  # Job template name
6
6
  attr_accessor :name
7
7
 
8
- # Briefing for the translators
8
+ # Briefing for the translators. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
9
9
  attr_accessor :briefing
10
10
 
11
11
  # Automatically translate the job using machine translation.
@@ -37,6 +37,7 @@ module Phrase
37
37
  # List of attributes with nullable: true
38
38
  def self.openapi_nullable
39
39
  Set.new([
40
+ :'briefing',
40
41
  ])
41
42
  end
42
43
 
@@ -8,7 +8,7 @@ module Phrase
8
8
  # (Optional) Name of the project
9
9
  attr_accessor :name
10
10
 
11
- # (Optional) User ID of the point of contact for the project. Pass `null` to unset.
11
+ # (Optional) User ID of the point of contact for the project. Pass `null` or an empty string to unset. The Phrase CLI drops `null` values before sending, so use an empty string there.
12
12
  attr_accessor :point_of_contact
13
13
 
14
14
  # (Optional) Main file format specified by its API Extension name. Used for locale downloads if no format is specified. For API Extension names of available file formats see [Format Guide](https://support.phrase.com/hc/en-us/sections/6111343326364) or our [Formats API Endpoint](#formats).
@@ -214,6 +214,7 @@ module Phrase
214
214
  # List of attributes with nullable: true
215
215
  def self.openapi_nullable
216
216
  Set.new([
217
+ :'point_of_contact',
217
218
  ])
218
219
  end
219
220
 
@@ -2,16 +2,16 @@ require 'date'
2
2
 
3
3
  module Phrase
4
4
  class ReleaseUpdateParameters
5
- # Description of the release
5
+ # Description of the release. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
6
6
  attr_accessor :description
7
7
 
8
8
  # List of platforms the release should support.
9
9
  attr_accessor :platforms
10
10
 
11
- # Minimum version of the app that the release supports in semver format
11
+ # Minimum version of the app that the release supports in semver format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
12
12
  attr_accessor :app_min_version
13
13
 
14
- # Maximum version of the app that the release supports in semver format
14
+ # Maximum version of the app that the release supports in semver format. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
15
15
  attr_accessor :app_max_version
16
16
 
17
17
  # Branch used for release
@@ -42,6 +42,9 @@ module Phrase
42
42
  # List of attributes with nullable: true
43
43
  def self.openapi_nullable
44
44
  Set.new([
45
+ :'description',
46
+ :'app_min_version',
47
+ :'app_max_version',
45
48
  ])
46
49
  end
47
50
 
@@ -8,7 +8,7 @@ module Phrase
8
8
  # Name of the screenshot
9
9
  attr_accessor :name
10
10
 
11
- # Description of the screenshot
11
+ # Description of the screenshot. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
12
12
  attr_accessor :description
13
13
 
14
14
  # Screenshot file
@@ -37,6 +37,7 @@ module Phrase
37
37
  # List of attributes with nullable: true
38
38
  def self.openapi_nullable
39
39
  Set.new([
40
+ :'description',
40
41
  ])
41
42
  end
42
43
 
@@ -5,7 +5,7 @@ module Phrase
5
5
  # Style guide title
6
6
  attr_accessor :title
7
7
 
8
- # Audience description
8
+ # Audience description. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
9
9
  attr_accessor :audience
10
10
 
11
11
  # Target audience for the translations.
@@ -17,28 +17,28 @@ module Phrase
17
17
  # Vocabulary register the translations should use.
18
18
  attr_accessor :vocabulary_type
19
19
 
20
- # Description of the business
20
+ # Description of the business. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
21
21
  attr_accessor :business
22
22
 
23
- # Company branding to remain consistent.
23
+ # Company branding to remain consistent. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
24
24
  attr_accessor :company_branding
25
25
 
26
- # Formatting requirements and character limitations.
26
+ # Formatting requirements and character limitations. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
27
27
  attr_accessor :formatting
28
28
 
29
- # List of terms and/or phrases that need to be translated consistently.
29
+ # List of terms and/or phrases that need to be translated consistently. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
30
30
  attr_accessor :glossary_terms
31
31
 
32
- # Formal or informal pronouns, consistent conjugation, grammatical gender
32
+ # Formal or informal pronouns, consistent conjugation, grammatical gender. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
33
33
  attr_accessor :grammar_consistency
34
34
 
35
- # Can be one of: Cultural/Conversational, Literal, Neutral.
35
+ # Can be one of: Cultural/Conversational, Literal, Neutral. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
36
36
  attr_accessor :literal_translation
37
37
 
38
- # Tone requirement descriptions
38
+ # Tone requirement descriptions. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
39
39
  attr_accessor :overall_tone
40
40
 
41
- # Provide links to sample product pages, FAQ pages, etc. to give the translator a point of reference. You can also provide past translations. Even snippets or short paragraphs are helpful for maintaining consistency.
41
+ # Provide links to sample product pages, FAQ pages, etc. to give the translator a point of reference. You can also provide past translations. Even snippets or short paragraphs are helpful for maintaining consistency. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
42
42
  attr_accessor :samples
43
43
 
44
44
  class EnumAttributeValidator
@@ -104,6 +104,15 @@ module Phrase
104
104
  # List of attributes with nullable: true
105
105
  def self.openapi_nullable
106
106
  Set.new([
107
+ :'audience',
108
+ :'business',
109
+ :'company_branding',
110
+ :'formatting',
111
+ :'glossary_terms',
112
+ :'grammar_consistency',
113
+ :'literal_translation',
114
+ :'overall_tone',
115
+ :'samples'
107
116
  ])
108
117
  end
109
118
 
@@ -5,7 +5,7 @@ module Phrase
5
5
  # specify the branch to use
6
6
  attr_accessor :branch
7
7
 
8
- # Translation content
8
+ # Translation content. Send an empty string or `null` to clear the translation's content; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
9
9
  attr_accessor :content
10
10
 
11
11
  # Plural suffix. Can be one of: zero, one, two, few, many, other. Must be specified if the key associated to the translation is pluralized.
@@ -57,6 +57,7 @@ module Phrase
57
57
  # List of attributes with nullable: true
58
58
  def self.openapi_nullable
59
59
  Set.new([
60
+ :'content',
60
61
  ])
61
62
  end
62
63
 
@@ -8,7 +8,7 @@ module Phrase
8
8
  # Webhook secret used to calculate signature. If empty, the default project secret will be used.
9
9
  attr_accessor :secret
10
10
 
11
- # Webhook description
11
+ # Webhook description. Send an empty string or `null` to clear the value; omit the field to leave it unchanged. The Phrase CLI drops `null` values before sending, so use an empty string there.
12
12
  attr_accessor :description
13
13
 
14
14
  # List of event names to trigger the webhook (separated by comma)
@@ -47,6 +47,7 @@ module Phrase
47
47
  # List of attributes with nullable: true
48
48
  def self.openapi_nullable
49
49
  Set.new([
50
+ :'description',
50
51
  ])
51
52
  end
52
53
 
@@ -1,3 +1,3 @@
1
1
  module Phrase
2
- VERSION = '4.30.1'
2
+ VERSION = '4.32.0'
3
3
  end
@@ -28,6 +28,7 @@ describe 'WebhookDeliveriesApi' do
28
28
  # @param [Hash] opts the optional parameters
29
29
  # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
30
30
  # @option opts [String] :response_status_codes List of Response Status Codes
31
+ # @option opts [String] :status Filter deliveries by outcome. &#x60;success&#x60; returns deliveries with a 2xx response code or a soft error. &#x60;failed&#x60; returns all other deliveries, including exceptions and timeouts without a response code.
31
32
  # @return [Array<WebhookDelivery>]
32
33
  describe 'webhook_deliveries_list test' do
33
34
  it 'should work' do
@@ -92,6 +92,12 @@ describe 'Automation' do
92
92
  end
93
93
  end
94
94
 
95
+ describe 'test attribute "include_branches"' do
96
+ it 'should work' do
97
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
98
+ end
99
+ end
100
+
95
101
  describe 'test attribute "tags"' do
96
102
  it 'should work' do
97
103
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -88,4 +88,10 @@ describe 'AutomationsCreateParameters1' do
88
88
  end
89
89
  end
90
90
 
91
+ describe 'test attribute "include_branches"' do
92
+ it 'should work' do
93
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
94
+ end
95
+ end
96
+
91
97
  end
@@ -88,4 +88,10 @@ describe 'AutomationsCreateParameters' do
88
88
  end
89
89
  end
90
90
 
91
+ describe 'test attribute "include_branches"' do
92
+ it 'should work' do
93
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
94
+ end
95
+ end
96
+
91
97
  end
@@ -32,6 +32,12 @@ describe 'Glossary' do
32
32
  end
33
33
  end
34
34
 
35
+ describe 'test attribute "terms_count"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
35
41
  describe 'test attribute "projects"' do
36
42
  it 'should work' do
37
43
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -50,6 +50,12 @@ describe 'JobCreateParameters' do
50
50
  end
51
51
  end
52
52
 
53
+ describe 'test attribute "review_due_date"' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
56
+ end
57
+ end
58
+
53
59
  describe 'test attribute "ticket_url"' do
54
60
  it 'should work' do
55
61
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -38,6 +38,12 @@ describe 'JobUpdateParameters' do
38
38
  end
39
39
  end
40
40
 
41
+ describe 'test attribute "review_due_date"' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
41
47
  describe 'test attribute "ticket_url"' do
42
48
  it 'should work' do
43
49
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phrase
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.30.1
4
+ version: 4.32.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phrase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-08 00:00:00.000000000 Z
11
+ date: 2026-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus