phrase 2.20.0 → 2.21.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +16 -5
  4. data/docs/CustomMetadataApi.md +353 -0
  5. data/docs/CustomMetadataDataType.md +16 -0
  6. data/docs/CustomMetadataProperty.md +33 -0
  7. data/docs/CustomMetadataPropertyCreate422Response.md +19 -0
  8. data/docs/{InvitationCreate422ResponseErrorsInner.md → CustomMetadataPropertyCreate422ResponseErrorsInner.md} +2 -2
  9. data/docs/KeyCreateParameters.md +4 -2
  10. data/docs/KeyUpdateParameters.md +4 -2
  11. data/docs/KeysApi.md +2 -2
  12. data/docs/KeysSearchParameters.md +1 -1
  13. data/docs/LocaleReport.md +43 -0
  14. data/docs/LocalesApi.md +3 -1
  15. data/docs/ProjectCreateParameters.md +1 -1
  16. data/docs/ProjectReport.md +31 -0
  17. data/docs/ProjectUpdateParameters.md +1 -1
  18. data/docs/ReportsApi.md +144 -0
  19. data/docs/ScreenshotUpdateParameters.md +1 -1
  20. data/docs/TranslationKeyDetails.md +3 -1
  21. data/docs/Upload.md +2 -0
  22. data/lib/phrase/api/custom_metadata_api.rb +409 -0
  23. data/lib/phrase/api/keys_api.rb +2 -2
  24. data/lib/phrase/api/locales_api.rb +3 -0
  25. data/lib/phrase/api/reports_api.rb +160 -0
  26. data/lib/phrase/models/custom_metadata_data_type.rb +30 -0
  27. data/lib/phrase/models/custom_metadata_property.rb +294 -0
  28. data/lib/phrase/models/{invitation_create422_response.rb → custom_metadata_property_create422_response.rb} +4 -4
  29. data/lib/phrase/models/{invitation_create422_response_errors_inner.rb → custom_metadata_property_create422_response_errors_inner.rb} +3 -3
  30. data/lib/phrase/models/key_create_parameters.rb +14 -4
  31. data/lib/phrase/models/key_update_parameters.rb +14 -4
  32. data/lib/phrase/models/keys_search_parameters.rb +1 -1
  33. data/lib/phrase/models/locale_report.rb +313 -0
  34. data/lib/phrase/models/project_report.rb +259 -0
  35. data/lib/phrase/models/translation_key_details.rb +15 -4
  36. data/lib/phrase/models/upload.rb +11 -1
  37. data/lib/phrase/version.rb +1 -1
  38. data/lib/phrase.rb +8 -2
  39. data/spec/api/custom_metadata_api_spec.rb +106 -0
  40. data/spec/api/keys_api_spec.rb +1 -1
  41. data/spec/api/reports_api_spec.rb +55 -0
  42. data/spec/models/custom_metadata_data_type_spec.rb +23 -0
  43. data/spec/models/{invitation_create422_response_errors_inner_spec.rb → custom_metadata_property_create422_response_errors_inner_spec.rb} +6 -6
  44. data/spec/models/{invitation_create422_response_spec.rb → custom_metadata_property_create422_response_spec.rb} +6 -6
  45. data/spec/models/custom_metadata_property_spec.rb +77 -0
  46. data/spec/models/key_create_parameters_spec.rb +6 -0
  47. data/spec/models/key_update_parameters_spec.rb +6 -0
  48. data/spec/models/locale_report_spec.rb +107 -0
  49. data/spec/models/project_report_spec.rb +71 -0
  50. data/spec/models/translation_key_details_spec.rb +6 -0
  51. data/spec/models/upload_spec.rb +6 -0
  52. metadata +236 -212
  53. data/docs/InvitationCreate422Response.md +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 677fad1b1926a85244c87c403c95c040e26a59cecbaca5169d2bc77c2d8a3aa5
4
- data.tar.gz: 5dc85870e2fc9e029b806cfc7fb16ae4729307a70730ea1b82c1761443814705
3
+ metadata.gz: 3c9e6602de1415c1ef4c28f729079cfa70e3f7992c3ced10ddeb96dd0ec10bf0
4
+ data.tar.gz: 0b006707561ed1522bff7b484579578810f96104a29cdb30e4578a70b7f7ee31
5
5
  SHA512:
6
- metadata.gz: 2d47718084d2168f6f0f3c821f8c05d7674e0ad17c38aa828c8f3dbc0582016e4a7b7be20b5e77715e98f817830b7cca26ce83b13c0eda5b9c3021a4cb84070f
7
- data.tar.gz: 13bebaa088d9d12288962fe955a58d45fd81e3ca860898e33cbc0912a3b206c10b2cc4b5e867e7a8bd2c0c3e0d18274235873ce1e91936394f386dd8c1d96bb8
6
+ metadata.gz: 171702d0e6a75af786cbcbec72029688b9904c67aff83acdd156c8b1e5b9f8620bcfb6f36c6299cfb2733db8ebd38dd1ab4a58feafbfa112ab6008796ad3fc24
7
+ data.tar.gz: 868b4c03c4e83a9feeaa217996125fd76c17ce4a5982c6afcb23740cd5a83f0ed8a81e56105f6950c0cca62df06e5b0d5a0727d0d279f8b6edbc6a1b6fb56e75
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.21.0](https://github.com/phrase/openapi/compare/ruby-v2.20.0...ruby-v2.21.0) (2023-12-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * Add reports locales endpoint to API [TSS-2439] ([#465](https://github.com/phrase/openapi/issues/465)) ([e03aa9f](https://github.com/phrase/openapi/commit/e03aa9f49f031517b36db715fe70e8e0b65a438b))
9
+ * **API:** add Custom Metadata endpoints ([#474](https://github.com/phrase/openapi/issues/474)) ([d407d8b](https://github.com/phrase/openapi/commit/d407d8be5ccddec1afde14a12804a7a616f77d7a))
10
+ * **API:** Add custom_metadata_filters param to locale download endpoint [TSI-2174] ([#478](https://github.com/phrase/openapi/issues/478)) ([3623478](https://github.com/phrase/openapi/commit/3623478fc1518b457ab018b5630a693081637d6e))
11
+ * **API:** Add url field to uploads ([#481](https://github.com/phrase/openapi/issues/481)) ([7332a84](https://github.com/phrase/openapi/commit/7332a84f9958346f2fb28dee4b0353519ef466d5))
12
+
3
13
  ## [2.20.0](https://github.com/phrase/openapi/compare/ruby-v2.19.0...ruby-v2.20.0) (2023-11-03)
4
14
 
5
15
 
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: 2.20.0
10
+ - Package version: 2.21.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-2.20.0.gem
59
+ gem install ./phrase-2.21.0.gem
60
60
  ```
61
61
 
62
- (for development, run `gem install --dev ./phrase-2.20.0.gem` to install the development dependencies)
62
+ (for development, run `gem install --dev ./phrase-2.21.0.gem` to install the development dependencies)
63
63
 
64
64
  ## Getting Started
65
65
 
@@ -170,6 +170,11 @@ Class | Method | HTTP request | Description
170
170
  *Phrase::CommentsApi* | [**comment_show**](docs/CommentsApi.md#comment_show) | **GET** /projects/{project_id}/keys/{key_id}/comments/{id} | Get a single comment
171
171
  *Phrase::CommentsApi* | [**comment_update**](docs/CommentsApi.md#comment_update) | **PATCH** /projects/{project_id}/keys/{key_id}/comments/{id} | Update a comment
172
172
  *Phrase::CommentsApi* | [**comments_list**](docs/CommentsApi.md#comments_list) | **GET** /projects/{project_id}/keys/{key_id}/comments | List comments
173
+ *Phrase::CustomMetadataApi* | [**custom_metadata_properties_delete**](docs/CustomMetadataApi.md#custom_metadata_properties_delete) | **DELETE** /accounts/{account_id}/custom_metadata/properties/{id} | Destroy property
174
+ *Phrase::CustomMetadataApi* | [**custom_metadata_properties_list**](docs/CustomMetadataApi.md#custom_metadata_properties_list) | **GET** /accounts/{account_id}/custom_metadata/properties | List properties
175
+ *Phrase::CustomMetadataApi* | [**custom_metadata_property_create**](docs/CustomMetadataApi.md#custom_metadata_property_create) | **POST** /accounts/{account_id}/custom_metadata/properties | Create a property
176
+ *Phrase::CustomMetadataApi* | [**custom_metadata_property_show**](docs/CustomMetadataApi.md#custom_metadata_property_show) | **GET** /accounts/{account_id}/custom_metadata/properties/{id} | Get a single property
177
+ *Phrase::CustomMetadataApi* | [**custom_metadata_property_update**](docs/CustomMetadataApi.md#custom_metadata_property_update) | **PATCH** /accounts/{account_id}/custom_metadata/properties/{id} | Update a property
173
178
  *Phrase::DistributionsApi* | [**distribution_create**](docs/DistributionsApi.md#distribution_create) | **POST** /accounts/{account_id}/distributions | Create a distribution
174
179
  *Phrase::DistributionsApi* | [**distribution_delete**](docs/DistributionsApi.md#distribution_delete) | **DELETE** /accounts/{account_id}/distributions/{id} | Delete a distribution
175
180
  *Phrase::DistributionsApi* | [**distribution_show**](docs/DistributionsApi.md#distribution_show) | **GET** /accounts/{account_id}/distributions/{id} | Get a single distribution
@@ -306,6 +311,8 @@ Class | Method | HTTP request | Description
306
311
  *Phrase::ReleasesApi* | [**release_show**](docs/ReleasesApi.md#release_show) | **GET** /accounts/{account_id}/distributions/{distribution_id}/releases/{id} | Get a single release
307
312
  *Phrase::ReleasesApi* | [**release_update**](docs/ReleasesApi.md#release_update) | **PATCH** /accounts/{account_id}/distributions/{distribution_id}/releases/{id} | Update a release
308
313
  *Phrase::ReleasesApi* | [**releases_list**](docs/ReleasesApi.md#releases_list) | **GET** /accounts/{account_id}/distributions/{distribution_id}/releases | List releases
314
+ *Phrase::ReportsApi* | [**report_locales_list**](docs/ReportsApi.md#report_locales_list) | **GET** /projects/{project_id}/report/locales | List Locale Reports
315
+ *Phrase::ReportsApi* | [**report_show**](docs/ReportsApi.md#report_show) | **GET** /projects/{project_id}/report | Get Project Report
309
316
  *Phrase::ScreenshotMarkersApi* | [**screenshot_marker_create**](docs/ScreenshotMarkersApi.md#screenshot_marker_create) | **POST** /projects/{project_id}/screenshots/{screenshot_id}/markers | Create a screenshot marker
310
317
  *Phrase::ScreenshotMarkersApi* | [**screenshot_marker_delete**](docs/ScreenshotMarkersApi.md#screenshot_marker_delete) | **DELETE** /projects/{project_id}/screenshots/{screenshot_id}/markers | Delete a screenshot marker
311
318
  *Phrase::ScreenshotMarkersApi* | [**screenshot_marker_show**](docs/ScreenshotMarkersApi.md#screenshot_marker_show) | **GET** /projects/{project_id}/screenshots/{screenshot_id}/markers/{id} | Get a single screenshot marker
@@ -414,6 +421,10 @@ Class | Method | HTTP request | Description
414
421
  - [Phrase::CommentUpdateParameters](docs/CommentUpdateParameters.md)
415
422
  - [Phrase::CommentsListParameters](docs/CommentsListParameters.md)
416
423
  - [Phrase::CurrentUser](docs/CurrentUser.md)
424
+ - [Phrase::CustomMetadataDataType](docs/CustomMetadataDataType.md)
425
+ - [Phrase::CustomMetadataProperty](docs/CustomMetadataProperty.md)
426
+ - [Phrase::CustomMetadataPropertyCreate422Response](docs/CustomMetadataPropertyCreate422Response.md)
427
+ - [Phrase::CustomMetadataPropertyCreate422ResponseErrorsInner](docs/CustomMetadataPropertyCreate422ResponseErrorsInner.md)
417
428
  - [Phrase::Distribution](docs/Distribution.md)
418
429
  - [Phrase::DistributionCreateParameters](docs/DistributionCreateParameters.md)
419
430
  - [Phrase::DistributionPreview](docs/DistributionPreview.md)
@@ -443,8 +454,6 @@ Class | Method | HTTP request | Description
443
454
  - [Phrase::Icu](docs/Icu.md)
444
455
  - [Phrase::IcuSkeletonParameters](docs/IcuSkeletonParameters.md)
445
456
  - [Phrase::Invitation](docs/Invitation.md)
446
- - [Phrase::InvitationCreate422Response](docs/InvitationCreate422Response.md)
447
- - [Phrase::InvitationCreate422ResponseErrorsInner](docs/InvitationCreate422ResponseErrorsInner.md)
448
457
  - [Phrase::InvitationCreateParameters](docs/InvitationCreateParameters.md)
449
458
  - [Phrase::InvitationUpdateParameters](docs/InvitationUpdateParameters.md)
450
459
  - [Phrase::InvitationUpdateSettingsParameters](docs/InvitationUpdateSettingsParameters.md)
@@ -487,6 +496,7 @@ Class | Method | HTTP request | Description
487
496
  - [Phrase::LocaleDetails](docs/LocaleDetails.md)
488
497
  - [Phrase::LocalePreview](docs/LocalePreview.md)
489
498
  - [Phrase::LocalePreview1](docs/LocalePreview1.md)
499
+ - [Phrase::LocaleReport](docs/LocaleReport.md)
490
500
  - [Phrase::LocaleStatistics](docs/LocaleStatistics.md)
491
501
  - [Phrase::LocaleTeamPreview](docs/LocaleTeamPreview.md)
492
502
  - [Phrase::LocaleUpdateParameters](docs/LocaleUpdateParameters.md)
@@ -512,6 +522,7 @@ Class | Method | HTTP request | Description
512
522
  - [Phrase::ProjectCreateParameters](docs/ProjectCreateParameters.md)
513
523
  - [Phrase::ProjectDetails](docs/ProjectDetails.md)
514
524
  - [Phrase::ProjectLocales](docs/ProjectLocales.md)
525
+ - [Phrase::ProjectReport](docs/ProjectReport.md)
515
526
  - [Phrase::ProjectShort](docs/ProjectShort.md)
516
527
  - [Phrase::ProjectUpdateParameters](docs/ProjectUpdateParameters.md)
517
528
  - [Phrase::Release](docs/Release.md)
@@ -0,0 +1,353 @@
1
+ # Phrase::CustomMetadataApi
2
+
3
+ All URIs are relative to *https://api.phrase.com/v2*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**custom_metadata_properties_delete**](CustomMetadataApi.md#custom_metadata_properties_delete) | **DELETE** /accounts/{account_id}/custom_metadata/properties/{id} | Destroy property
8
+ [**custom_metadata_properties_list**](CustomMetadataApi.md#custom_metadata_properties_list) | **GET** /accounts/{account_id}/custom_metadata/properties | List properties
9
+ [**custom_metadata_property_create**](CustomMetadataApi.md#custom_metadata_property_create) | **POST** /accounts/{account_id}/custom_metadata/properties | Create a property
10
+ [**custom_metadata_property_show**](CustomMetadataApi.md#custom_metadata_property_show) | **GET** /accounts/{account_id}/custom_metadata/properties/{id} | Get a single property
11
+ [**custom_metadata_property_update**](CustomMetadataApi.md#custom_metadata_property_update) | **PATCH** /accounts/{account_id}/custom_metadata/properties/{id} | Update a property
12
+
13
+
14
+
15
+ ## custom_metadata_properties_delete
16
+
17
+ > custom_metadata_properties_delete(account_id, id, opts)
18
+
19
+ Destroy property
20
+
21
+ Destroy a custom metadata property of an account. This endpoint is only available to accounts with advanced plans or above.
22
+
23
+ ### Example
24
+
25
+ ```ruby
26
+ # load the gem
27
+ require 'phrase'
28
+ # setup authorization
29
+ Phrase.configure do |config|
30
+ # Configure HTTP basic authorization: Basic
31
+ config.username = 'YOUR USERNAME'
32
+ config.password = 'YOUR PASSWORD'
33
+
34
+ # Configure API key authorization: Token
35
+ config.api_key['Authorization'] = 'YOUR API KEY'
36
+ config.api_key_prefix['Authorization'] = 'token'
37
+ end
38
+
39
+ api_instance = Phrase::CustomMetadataApi.new
40
+ account_id = 'account_id_example' # String | Account ID
41
+ id = 'id_example' # String | ID
42
+ opts = {
43
+ x_phrase_app_otp: 'x_phrase_app_otp_example' # String | Two-Factor-Authentication token (optional)
44
+ }
45
+
46
+ begin
47
+ #Destroy property
48
+ api_instance.custom_metadata_properties_delete(account_id, id, opts)
49
+ rescue Phrase::ApiError => e
50
+ puts "Exception when calling CustomMetadataApi->custom_metadata_properties_delete: #{e}"
51
+ end
52
+ ```
53
+
54
+ ### Parameters
55
+
56
+
57
+ Name | Type | Description | Notes
58
+ ------------- | ------------- | ------------- | -------------
59
+ **account_id** | **String**| Account ID |
60
+ **id** | **String**| ID |
61
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
62
+
63
+ ### Return type
64
+
65
+ Response<(nil (empty response body))>
66
+
67
+ ### Authorization
68
+
69
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
70
+
71
+ ### HTTP request headers
72
+
73
+ - **Content-Type**: Not defined
74
+ - **Accept**: Not defined
75
+
76
+
77
+ ## custom_metadata_properties_list
78
+
79
+ > Array&lt;CustomMetadataProperty&gt; custom_metadata_properties_list(account_id, opts)
80
+
81
+ List properties
82
+
83
+ List all custom metadata properties for an account. This endpoint is only available to accounts with advanced plans or above.
84
+
85
+ ### Example
86
+
87
+ ```ruby
88
+ # load the gem
89
+ require 'phrase'
90
+ # setup authorization
91
+ Phrase.configure do |config|
92
+ # Configure HTTP basic authorization: Basic
93
+ config.username = 'YOUR USERNAME'
94
+ config.password = 'YOUR PASSWORD'
95
+
96
+ # Configure API key authorization: Token
97
+ config.api_key['Authorization'] = 'YOUR API KEY'
98
+ config.api_key_prefix['Authorization'] = 'token'
99
+ end
100
+
101
+ api_instance = Phrase::CustomMetadataApi.new
102
+ account_id = 'account_id_example' # String | Account ID
103
+ opts = {
104
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
105
+ data_type: Phrase::CustomMetadataDataType::BOOLEAN, # CustomMetadataDataType | Data Type of Custom Metadata Property
106
+ project_id: 'abcd1234cdef1234abcd1234cdef1234', # String | id of project that the properties belong to
107
+ page: 1, # Integer | Page number
108
+ per_page: 25, # Integer | Limit on the number of objects to be returned, between 1 and 100. 25 by default
109
+ sort: 'updated_at', # String | Sort criteria. Can be one of: name, data_type, created_at.
110
+ order: 'desc' # String | Order direction. Can be one of: asc, desc.
111
+ }
112
+
113
+ begin
114
+ #List properties
115
+ result = api_instance.custom_metadata_properties_list(account_id, opts)
116
+ pp result
117
+ rescue Phrase::ApiError => e
118
+ puts "Exception when calling CustomMetadataApi->custom_metadata_properties_list: #{e}"
119
+ end
120
+ ```
121
+
122
+ ### Parameters
123
+
124
+
125
+ Name | Type | Description | Notes
126
+ ------------- | ------------- | ------------- | -------------
127
+ **account_id** | **String**| Account ID |
128
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
129
+ **data_type** | [**CustomMetadataDataType**](.md)| Data Type of Custom Metadata Property | [optional]
130
+ **project_id** | **String**| id of project that the properties belong to | [optional]
131
+ **page** | **Integer**| Page number | [optional]
132
+ **per_page** | **Integer**| Limit on the number of objects to be returned, between 1 and 100. 25 by default | [optional]
133
+ **sort** | **String**| Sort criteria. Can be one of: name, data_type, created_at. | [optional]
134
+ **order** | **String**| Order direction. Can be one of: asc, desc. | [optional]
135
+
136
+ ### Return type
137
+
138
+ Response<([**Array&lt;CustomMetadataProperty&gt;**](CustomMetadataProperty.md))>
139
+
140
+ ### Authorization
141
+
142
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
143
+
144
+ ### HTTP request headers
145
+
146
+ - **Content-Type**: Not defined
147
+ - **Accept**: application/json
148
+
149
+
150
+ ## custom_metadata_property_create
151
+
152
+ > CustomMetadataProperty custom_metadata_property_create(account_id, name, data_type, opts)
153
+
154
+ Create a property
155
+
156
+ Create a new custom metadata property.
157
+
158
+ ### Example
159
+
160
+ ```ruby
161
+ # load the gem
162
+ require 'phrase'
163
+ # setup authorization
164
+ Phrase.configure do |config|
165
+ # Configure HTTP basic authorization: Basic
166
+ config.username = 'YOUR USERNAME'
167
+ config.password = 'YOUR PASSWORD'
168
+
169
+ # Configure API key authorization: Token
170
+ config.api_key['Authorization'] = 'YOUR API KEY'
171
+ config.api_key_prefix['Authorization'] = 'token'
172
+ end
173
+
174
+ api_instance = Phrase::CustomMetadataApi.new
175
+ account_id = 'account_id_example' # String | Account ID
176
+ name = '["Fruit"]' # String | name of the property
177
+ data_type = Phrase::CustomMetadataDataType::BOOLEAN # CustomMetadataDataType | Data Type of Custom Metadata Property
178
+ opts = {
179
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
180
+ description: '["A healthy snack for all ages"]', # String | description of property
181
+ project_ids: ['inner_example'], # Array<String> | ids of projects that the property belongs to
182
+ value_options: ['inner_example'] # Array<String> | value options of property (only applies to single or multi select properties)
183
+ }
184
+
185
+ begin
186
+ #Create a property
187
+ result = api_instance.custom_metadata_property_create(account_id, name, data_type, opts)
188
+ pp result
189
+ rescue Phrase::ApiError => e
190
+ puts "Exception when calling CustomMetadataApi->custom_metadata_property_create: #{e}"
191
+ end
192
+ ```
193
+
194
+ ### Parameters
195
+
196
+
197
+ Name | Type | Description | Notes
198
+ ------------- | ------------- | ------------- | -------------
199
+ **account_id** | **String**| Account ID |
200
+ **name** | **String**| name of the property |
201
+ **data_type** | [**CustomMetadataDataType**](.md)| Data Type of Custom Metadata Property |
202
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
203
+ **description** | **String**| description of property | [optional]
204
+ **project_ids** | [**Array&lt;String&gt;**](String.md)| ids of projects that the property belongs to | [optional]
205
+ **value_options** | [**Array&lt;String&gt;**](String.md)| value options of property (only applies to single or multi select properties) | [optional]
206
+
207
+ ### Return type
208
+
209
+ Response<([**CustomMetadataProperty**](CustomMetadataProperty.md))>
210
+
211
+ ### Authorization
212
+
213
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
214
+
215
+ ### HTTP request headers
216
+
217
+ - **Content-Type**: Not defined
218
+ - **Accept**: application/json
219
+
220
+
221
+ ## custom_metadata_property_show
222
+
223
+ > CustomMetadataProperty custom_metadata_property_show(account_id, id, opts)
224
+
225
+ Get a single property
226
+
227
+ Get details of a single custom property.
228
+
229
+ ### Example
230
+
231
+ ```ruby
232
+ # load the gem
233
+ require 'phrase'
234
+ # setup authorization
235
+ Phrase.configure do |config|
236
+ # Configure HTTP basic authorization: Basic
237
+ config.username = 'YOUR USERNAME'
238
+ config.password = 'YOUR PASSWORD'
239
+
240
+ # Configure API key authorization: Token
241
+ config.api_key['Authorization'] = 'YOUR API KEY'
242
+ config.api_key_prefix['Authorization'] = 'token'
243
+ end
244
+
245
+ api_instance = Phrase::CustomMetadataApi.new
246
+ account_id = 'account_id_example' # String | Account ID
247
+ id = 'id_example' # String | ID
248
+ opts = {
249
+ x_phrase_app_otp: 'x_phrase_app_otp_example' # String | Two-Factor-Authentication token (optional)
250
+ }
251
+
252
+ begin
253
+ #Get a single property
254
+ result = api_instance.custom_metadata_property_show(account_id, id, opts)
255
+ pp result
256
+ rescue Phrase::ApiError => e
257
+ puts "Exception when calling CustomMetadataApi->custom_metadata_property_show: #{e}"
258
+ end
259
+ ```
260
+
261
+ ### Parameters
262
+
263
+
264
+ Name | Type | Description | Notes
265
+ ------------- | ------------- | ------------- | -------------
266
+ **account_id** | **String**| Account ID |
267
+ **id** | **String**| ID |
268
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
269
+
270
+ ### Return type
271
+
272
+ Response<([**CustomMetadataProperty**](CustomMetadataProperty.md))>
273
+
274
+ ### Authorization
275
+
276
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
277
+
278
+ ### HTTP request headers
279
+
280
+ - **Content-Type**: Not defined
281
+ - **Accept**: application/json
282
+
283
+
284
+ ## custom_metadata_property_update
285
+
286
+ > CustomMetadataProperty custom_metadata_property_update(account_id, id, opts)
287
+
288
+ Update a property
289
+
290
+ Update an existing custom metadata property.
291
+
292
+ ### Example
293
+
294
+ ```ruby
295
+ # load the gem
296
+ require 'phrase'
297
+ # setup authorization
298
+ Phrase.configure do |config|
299
+ # Configure HTTP basic authorization: Basic
300
+ config.username = 'YOUR USERNAME'
301
+ config.password = 'YOUR PASSWORD'
302
+
303
+ # Configure API key authorization: Token
304
+ config.api_key['Authorization'] = 'YOUR API KEY'
305
+ config.api_key_prefix['Authorization'] = 'token'
306
+ end
307
+
308
+ api_instance = Phrase::CustomMetadataApi.new
309
+ account_id = 'account_id_example' # String | Account ID
310
+ id = 'id_example' # String | ID
311
+ opts = {
312
+ x_phrase_app_otp: 'x_phrase_app_otp_example', # String | Two-Factor-Authentication token (optional)
313
+ name: '["Fruit"]', # String | name of the property
314
+ description: '["A healthy snack for all ages"]', # String | description of property
315
+ project_ids: ['inner_example'], # Array<String> | ids of projects that the property belongs to
316
+ value_options: ['inner_example'] # Array<String> | value options of property (only applies to single or multi select properties)
317
+ }
318
+
319
+ begin
320
+ #Update a property
321
+ result = api_instance.custom_metadata_property_update(account_id, id, opts)
322
+ pp result
323
+ rescue Phrase::ApiError => e
324
+ puts "Exception when calling CustomMetadataApi->custom_metadata_property_update: #{e}"
325
+ end
326
+ ```
327
+
328
+ ### Parameters
329
+
330
+
331
+ Name | Type | Description | Notes
332
+ ------------- | ------------- | ------------- | -------------
333
+ **account_id** | **String**| Account ID |
334
+ **id** | **String**| ID |
335
+ **x_phrase_app_otp** | **String**| Two-Factor-Authentication token (optional) | [optional]
336
+ **name** | **String**| name of the property | [optional]
337
+ **description** | **String**| description of property | [optional]
338
+ **project_ids** | [**Array&lt;String&gt;**](String.md)| ids of projects that the property belongs to | [optional]
339
+ **value_options** | [**Array&lt;String&gt;**](String.md)| value options of property (only applies to single or multi select properties) | [optional]
340
+
341
+ ### Return type
342
+
343
+ Response<([**CustomMetadataProperty**](CustomMetadataProperty.md))>
344
+
345
+ ### Authorization
346
+
347
+ [Basic](../README.md#Basic), [Token](../README.md#Token)
348
+
349
+ ### HTTP request headers
350
+
351
+ - **Content-Type**: Not defined
352
+ - **Accept**: application/json
353
+
@@ -0,0 +1,16 @@
1
+ # Phrase::CustomMetadataDataType
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+
8
+ ## Code Sample
9
+
10
+ ```ruby
11
+ require 'Phrase'
12
+
13
+ instance = Phrase::CustomMetadataDataType.new()
14
+ ```
15
+
16
+
@@ -0,0 +1,33 @@
1
+ # Phrase::CustomMetadataProperty
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **id** | **String** | | [optional]
8
+ **name** | **String** | | [optional]
9
+ **description** | **String** | | [optional]
10
+ **data_type** | [**CustomMetadataDataType**](CustomMetadataDataType.md) | | [optional]
11
+ **user** | [**UserPreview**](UserPreview.md) | | [optional]
12
+ **projects** | [**Array&lt;ProjectShort&gt;**](ProjectShort.md) | | [optional]
13
+ **value_options** | **Array&lt;String&gt;** | | [optional]
14
+ **created_at** | **Time** | | [optional]
15
+ **updated_at** | **Time** | | [optional]
16
+
17
+ ## Code Sample
18
+
19
+ ```ruby
20
+ require 'Phrase'
21
+
22
+ instance = Phrase::CustomMetadataProperty.new(id: null,
23
+ name: null,
24
+ description: null,
25
+ data_type: null,
26
+ user: null,
27
+ projects: null,
28
+ value_options: null,
29
+ created_at: null,
30
+ updated_at: null)
31
+ ```
32
+
33
+
@@ -0,0 +1,19 @@
1
+ # Phrase::CustomMetadataPropertyCreate422Response
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **message** | **String** | | [optional]
8
+ **errors** | [**Array&lt;CustomMetadataPropertyCreate422ResponseErrorsInner&gt;**](CustomMetadataPropertyCreate422ResponseErrorsInner.md) | | [optional]
9
+
10
+ ## Code Sample
11
+
12
+ ```ruby
13
+ require 'Phrase'
14
+
15
+ instance = Phrase::CustomMetadataPropertyCreate422Response.new(message: null,
16
+ errors: null)
17
+ ```
18
+
19
+
@@ -1,4 +1,4 @@
1
- # Phrase::InvitationCreate422ResponseErrorsInner
1
+ # Phrase::CustomMetadataPropertyCreate422ResponseErrorsInner
2
2
 
3
3
  ## Properties
4
4
 
@@ -13,7 +13,7 @@ Name | Type | Description | Notes
13
13
  ```ruby
14
14
  require 'Phrase'
15
15
 
16
- instance = Phrase::InvitationCreate422ResponseErrorsInner.new(resource: null,
16
+ instance = Phrase::CustomMetadataPropertyCreate422ResponseErrorsInner.new(resource: null,
17
17
  field: null,
18
18
  message: null)
19
19
  ```
@@ -20,6 +20,7 @@ Name | Type | Description | Notes
20
20
  **original_file** | **String** | Original file attribute. Used in some formats, e.g. XLIFF. | [optional]
21
21
  **localized_format_string** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. | [optional]
22
22
  **localized_format_key** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. | [optional]
23
+ **custom_metadata** | **Object** | Custom metadata property name and value pairs to be associated with key. | [optional]
23
24
 
24
25
  ## Code Sample
25
26
 
@@ -34,14 +35,15 @@ instance = Phrase::KeyCreateParameters.new(branch: my-feature-branch,
34
35
  data_type: number,
35
36
  tags: awesome-feature,needs-proofreading,
36
37
  max_characters_allowed: 140,
37
- screenshot: [B@1ef64e45,
38
+ screenshot: [B@20865ff2,
38
39
  remove_screenshot: null,
39
40
  unformatted: null,
40
41
  default_translation_content: Default translation content,
41
42
  xml_space_preserve: null,
42
43
  original_file: null,
43
44
  localized_format_string: null,
44
- localized_format_key: null)
45
+ localized_format_key: null,
46
+ custom_metadata: {&quot;fruit&quot;:&quot;Apple&quot;,&quot;vegetable&quot;:&quot;Tomato&quot;})
45
47
  ```
46
48
 
47
49
 
@@ -19,6 +19,7 @@ Name | Type | Description | Notes
19
19
  **original_file** | **String** | Original file attribute. Used in some formats, e.g. XLIFF. | [optional]
20
20
  **localized_format_string** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. | [optional]
21
21
  **localized_format_key** | **String** | NSStringLocalizedFormatKey attribute. Used in .stringsdict format. | [optional]
22
+ **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]
22
23
 
23
24
  ## Code Sample
24
25
 
@@ -33,13 +34,14 @@ instance = Phrase::KeyUpdateParameters.new(branch: my-feature-branch,
33
34
  data_type: number,
34
35
  tags: awesome-feature,needs-proofreading,
35
36
  max_characters_allowed: 140,
36
- screenshot: [B@39e08d73,
37
+ screenshot: [B@1a7c593b,
37
38
  remove_screenshot: null,
38
39
  unformatted: null,
39
40
  xml_space_preserve: null,
40
41
  original_file: null,
41
42
  localized_format_string: null,
42
- localized_format_key: null)
43
+ localized_format_key: null,
44
+ custom_metadata: {&quot;fruit&quot;:&quot;Apple&quot;,&quot;vegetable&quot;:&quot;Tomato&quot;})
43
45
  ```
44
46
 
45
47
 
data/docs/KeysApi.md CHANGED
@@ -501,7 +501,7 @@ opts = {
501
501
  branch: 'my-feature-branch', # String | specify the branch to use
502
502
  sort: 'updated_at', # String | Sort by field. Can be one of: name, created_at, updated_at.
503
503
  order: 'desc', # String | Order direction. Can be one of: asc, desc.
504
- q: 'mykey* translated:true', # String | Specify a query to do broad search for keys by name (including wildcards).<br><br> The following qualifiers are also supported in the search term:<br> <ul> <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li> <li><code>name:key_name</code> for text queries on exact key names - spaces, commas, and colons need to be escaped with double backslashes</li> <li><code>tags:tag_name</code> to filter for keys with certain tags</li> <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li> <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li> <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li> </ul> Find more examples <a href=\"#overview--usage-examples\">here</a>.
504
+ q: 'mykey* translated:true', # String | Specify a query to do broad search for keys by name (including wildcards).<br><br> The following qualifiers are also supported in the search term:<br> <ul> <li><code>ids:key_id,...</code> for queries on a comma-separated list of ids</li> <li><code>name:key_name,...</code> for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes</li> <li><code>tags:tag_name,...</code> to filter for keys with certain comma-seperated list of tags</li> <li><code>uploads:upload_id,...</code> to filter for keys with certain comma-seperated list of uploads</li> <li><code>job:{true|false}</code> to filter for keys mentioned in an active job</li> <li><code>translated:{true|false}</code> for translation status (also requires <code>locale_id</code> to be specified)</li> <li><code>updated_at:{&gt;=|&lt;=}2013-02-21T00:00:00Z</code> for date range queries</li> <li><code>unmentioned_in_upload:upload_id</code> to filter keys unmentioned within upload</li> </ul> Find more examples <a href=\"#overview--usage-examples\">here</a>.
505
505
  locale_id: 'abcd1234abcd1234abcd1234abcd1234' # String | Locale used to determine the translation state of a key when filtering for untranslated or translated keys.
506
506
  }
507
507
 
@@ -526,7 +526,7 @@ Name | Type | Description | Notes
526
526
  **branch** | **String**| specify the branch to use | [optional]
527
527
  **sort** | **String**| Sort by field. Can be one of: name, created_at, updated_at. | [optional]
528
528
  **order** | **String**| Order direction. Can be one of: asc, desc. | [optional]
529
- **q** | **String**| Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name&lt;/code&gt; for text queries on exact key names - spaces, commas, and colons need to be escaped with double backslashes&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name&lt;/code&gt; to filter for keys with certain tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&gt;&#x3D;|&lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;. | [optional]
529
+ **q** | **String**| Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name,...&lt;/code&gt; for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name,...&lt;/code&gt; to filter for keys with certain comma-seperated list of tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;uploads:upload_id,...&lt;/code&gt; to filter for keys with certain comma-seperated list of uploads&lt;/li&gt; &lt;li&gt;&lt;code&gt;job:{true|false}&lt;/code&gt; to filter for keys mentioned in an active job&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&amp;gt;&#x3D;|&amp;lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;. | [optional]
530
530
  **locale_id** | **String**| Locale used to determine the translation state of a key when filtering for untranslated or translated keys. | [optional]
531
531
 
532
532
  ### Return type
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
7
7
  **branch** | **String** | specify the branch to use | [optional]
8
8
  **sort** | **String** | Sort by field. Can be one of: name, created_at, updated_at. | [optional]
9
9
  **order** | **String** | Order direction. Can be one of: asc, desc. | [optional]
10
- **q** | **String** | Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name&lt;/code&gt; for text queries on exact key names - spaces, commas, and colons need to be escaped with double backslashes&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name&lt;/code&gt; to filter for keys with certain tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&gt;&#x3D;|&lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;. Please note: If &lt;code&gt;tags&lt;/code&gt; are added to filter the search, the search will be limited to a maximum of 65,536 tagged keys. | [optional]
10
+ **q** | **String** | Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name,...&lt;/code&gt; for text queries on a comma-seperated list of exact key names - spaces, commas, and colons need to be escaped with double backslashes&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name,...&lt;/code&gt; to filter for keys with certain comma-seperated list of tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;uploads:upload_id,...&lt;/code&gt; to filter for keys with certain comma-seperated list of uploads&lt;/li&gt; &lt;li&gt;&lt;code&gt;job:{true|false}&lt;/code&gt; to filter for keys mentioned in an active job&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&amp;gt;&#x3D;|&amp;lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;. Please note: If &lt;code&gt;tags&lt;/code&gt; are added to filter the search, the search will be limited to a maximum of 65,536 tagged keys. | [optional]
11
11
  **locale_id** | **String** | Locale used to determine the translation state of a key when filtering for untranslated or translated keys. | [optional]
12
12
 
13
13
  ## Code Sample