From 6adc09aa2f3d08d9b1996ec4766d361797b9fb25 Mon Sep 17 00:00:00 2001
From: Sainish Momin <130490494+sainishm2@users.noreply.github.com>
Date: Fri, 16 May 2025 13:46:07 -0700
Subject: [PATCH 1/4] =?UTF-8?q?updated=20doc=20and=20sdk=20for=20template?=
=?UTF-8?q?=20response=20to=20include=20regex=20value=20for=20=E2=80=A6=20?=
=?UTF-8?q?(#492)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Juan Treminio <50673996+jtreminio-dropbox@users.noreply.github.com>
---
openapi-raw.yaml | 8 ++
openapi-sdk.yaml | 8 ++
openapi.yaml | 8 ++
.../TemplateResponseDocumentFormFieldText.md | 2 +-
.../TemplateResponseDocumentFormFieldText.cs | 54 +++++++-
.../TemplateResponseDocumentFormFieldText.md | 2 +
...TemplateResponseDocumentFormFieldText.java | 122 ++++++++++++++++++
.../TemplateResponseDocumentFormFieldText.md | 2 +
...TemplateResponseDocumentFormFieldText.java | 104 ++++++++++++++-
sdks/node/dist/api.js | 10 ++
.../TemplateResponseDocumentFormFieldText.md | 2 +
.../templateResponseDocumentFormFieldText.ts | 18 +++
...templateResponseDocumentFormFieldText.d.ts | 2 +
.../TemplateResponseDocumentFormFieldText.md | 2 +
.../TemplateResponseDocumentFormFieldText.php | 82 ++++++++++++
.../TemplateResponseDocumentFormFieldText.md | 2 +
...plate_response_document_form_field_text.py | 16 +++
.../TemplateResponseDocumentFormFieldText.md | 2 +
...plate_response_document_form_field_text.rb | 26 +++-
translations/en.yaml | 3 +-
20 files changed, 470 insertions(+), 5 deletions(-)
diff --git a/openapi-raw.yaml b/openapi-raw.yaml
index 167663414..48c4321fb 100644
--- a/openapi-raw.yaml
+++ b/openapi-raw.yaml
@@ -12286,6 +12286,14 @@ components:
- employer_identification_number
- custom_regex
nullable: true
+ validation_custom_regex:
+ description: '_t__TemplateResponseDocumentFormField::CUSTOM_REGEX'
+ type: string
+ nullable: true
+ validation_custom_regex_format_label:
+ description: '_t__TemplateResponseDocumentFormField::CUSTOM_REGEX_LABEL'
+ type: string
+ nullable: true
group:
description: '_t__TemplateResponseDocumentFormField::GROUP'
type: string
diff --git a/openapi-sdk.yaml b/openapi-sdk.yaml
index c832450e1..72542c9b1 100644
--- a/openapi-sdk.yaml
+++ b/openapi-sdk.yaml
@@ -13130,6 +13130,14 @@ components:
- employer_identification_number
- custom_regex
nullable: true
+ validation_custom_regex:
+ description: 'When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.'
+ type: string
+ nullable: true
+ validation_custom_regex_format_label:
+ description: 'When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.'
+ type: string
+ nullable: true
group:
description: 'The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.'
type: string
diff --git a/openapi.yaml b/openapi.yaml
index 679506241..819e4ec59 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -13108,6 +13108,14 @@ components:
- employer_identification_number
- custom_regex
nullable: true
+ validation_custom_regex:
+ description: 'When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.'
+ type: string
+ nullable: true
+ validation_custom_regex_format_label:
+ description: 'When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.'
+ type: string
+ nullable: true
group:
description: 'The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.'
type: string
diff --git a/sdks/dotnet/docs/TemplateResponseDocumentFormFieldText.md b/sdks/dotnet/docs/TemplateResponseDocumentFormFieldText.md
index 368fec852..3005e1033 100644
--- a/sdks/dotnet/docs/TemplateResponseDocumentFormFieldText.md
+++ b/sdks/dotnet/docs/TemplateResponseDocumentFormFieldText.md
@@ -13,7 +13,7 @@ Name | Type | Description | Notes
**Width** | **int** | The width in pixels of this form field. | [optional]
**Height** | **int** | The height in pixels of this form field. | [optional]
**Required** | **bool** | Boolean showing whether or not this field is required. | [optional]
-**Type** | **string** | The type of this form field. See [field types](/api/reference/constants/#field-types).
* Text Field uses `TemplateResponseDocumentFormFieldText`
* Dropdown Field uses `TemplateResponseDocumentFormFieldDropdown`
* Hyperlink Field uses `TemplateResponseDocumentFormFieldHyperlink`
* Checkbox Field uses `TemplateResponseDocumentFormFieldCheckbox`
* Radio Field uses `TemplateResponseDocumentFormFieldRadio`
* Signature Field uses `TemplateResponseDocumentFormFieldSignature`
* Date Signed Field uses `TemplateResponseDocumentFormFieldDateSigned`
* Initials Field uses `TemplateResponseDocumentFormFieldInitials` | [default to "text"]**AvgTextLength** | [**TemplateResponseFieldAvgTextLength**](TemplateResponseFieldAvgTextLength.md) | | [optional] **IsMultiline** | **bool** | Whether this form field is multiline text. | [optional] **OriginalFontSize** | **int** | Original font size used in this form field's text. | [optional] **FontFamily** | **string** | Font family used in this form field's text. | [optional] **ValidationType** | **string** | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | [optional] **Group** | **string** | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | [optional]
+**Type** | **string** | The type of this form field. See [field types](/api/reference/constants/#field-types).
* Text Field uses `TemplateResponseDocumentFormFieldText`
* Dropdown Field uses `TemplateResponseDocumentFormFieldDropdown`
* Hyperlink Field uses `TemplateResponseDocumentFormFieldHyperlink`
* Checkbox Field uses `TemplateResponseDocumentFormFieldCheckbox`
* Radio Field uses `TemplateResponseDocumentFormFieldRadio`
* Signature Field uses `TemplateResponseDocumentFormFieldSignature`
* Date Signed Field uses `TemplateResponseDocumentFormFieldDateSigned`
* Initials Field uses `TemplateResponseDocumentFormFieldInitials` | [default to "text"]**AvgTextLength** | [**TemplateResponseFieldAvgTextLength**](TemplateResponseFieldAvgTextLength.md) | | [optional] **IsMultiline** | **bool** | Whether this form field is multiline text. | [optional] **OriginalFontSize** | **int** | Original font size used in this form field's text. | [optional] **FontFamily** | **string** | Font family used in this form field's text. | [optional] **ValidationType** | **string** | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | [optional] **ValidationCustomRegex** | **string** | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | [optional] **ValidationCustomRegexFormatLabel** | **string** | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | [optional] **Group** | **string** | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/sdks/dotnet/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs b/sdks/dotnet/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs
index 70797b67d..8c7509535 100644
--- a/sdks/dotnet/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs
+++ b/sdks/dotnet/src/Dropbox.Sign/Model/TemplateResponseDocumentFormFieldText.cs
@@ -122,6 +122,8 @@ protected TemplateResponseDocumentFormFieldText() { }
/// Original font size used in this form field's text..
/// Font family used in this form field's text..
/// Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values..
+ /// When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field..
+ /// When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern..
/// The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields..
/// A unique id for the form field..
/// The name of the form field..
@@ -131,7 +133,7 @@ protected TemplateResponseDocumentFormFieldText() { }
/// The width in pixels of this form field..
/// The height in pixels of this form field..
/// Boolean showing whether or not this field is required..
- public TemplateResponseDocumentFormFieldText(string type = @"text", TemplateResponseFieldAvgTextLength avgTextLength = default(TemplateResponseFieldAvgTextLength), bool isMultiline = default(bool), int originalFontSize = default(int), string fontFamily = default(string), ValidationTypeEnum? validationType = default(ValidationTypeEnum?), string group = default(string), string apiId = default(string), string name = default(string), Object signer = null, int x = default(int), int y = default(int), int width = default(int), int height = default(int), bool required = default(bool))
+ public TemplateResponseDocumentFormFieldText(string type = @"text", TemplateResponseFieldAvgTextLength avgTextLength = default(TemplateResponseFieldAvgTextLength), bool isMultiline = default(bool), int originalFontSize = default(int), string fontFamily = default(string), ValidationTypeEnum? validationType = default(ValidationTypeEnum?), string validationCustomRegex = default(string), string validationCustomRegexFormatLabel = default(string), string group = default(string), string apiId = default(string), string name = default(string), Object signer = null, int x = default(int), int y = default(int), int width = default(int), int height = default(int), bool required = default(bool))
{
this.ApiId = apiId;
this.Name = name;
@@ -153,6 +155,8 @@ protected TemplateResponseDocumentFormFieldText() { }
this.OriginalFontSize = originalFontSize;
this.FontFamily = fontFamily;
this.ValidationType = validationType;
+ this.ValidationCustomRegex = validationCustomRegex;
+ this.ValidationCustomRegexFormatLabel = validationCustomRegexFormatLabel;
this.Group = group;
}
@@ -206,6 +210,20 @@ public static TemplateResponseDocumentFormFieldText Init(string jsonData)
[DataMember(Name = "fontFamily", EmitDefaultValue = true)]
public string FontFamily { get; set; }
+ ///
+ /// When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.
+ ///
+ /// When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.
+ [DataMember(Name = "validation_custom_regex", EmitDefaultValue = true)]
+ public string ValidationCustomRegex { get; set; }
+
+ ///
+ /// When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.
+ ///
+ /// When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.
+ [DataMember(Name = "validation_custom_regex_format_label", EmitDefaultValue = true)]
+ public string ValidationCustomRegexFormatLabel { get; set; }
+
///
/// The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.
///
@@ -228,6 +246,8 @@ public override string ToString()
sb.Append(" OriginalFontSize: ").Append(OriginalFontSize).Append("\n");
sb.Append(" FontFamily: ").Append(FontFamily).Append("\n");
sb.Append(" ValidationType: ").Append(ValidationType).Append("\n");
+ sb.Append(" ValidationCustomRegex: ").Append(ValidationCustomRegex).Append("\n");
+ sb.Append(" ValidationCustomRegexFormatLabel: ").Append(ValidationCustomRegexFormatLabel).Append("\n");
sb.Append(" Group: ").Append(Group).Append("\n");
sb.Append("}\n");
return sb.ToString();
@@ -291,6 +311,16 @@ public bool Equals(TemplateResponseDocumentFormFieldText input)
this.ValidationType == input.ValidationType ||
this.ValidationType.Equals(input.ValidationType)
) && base.Equals(input) &&
+ (
+ this.ValidationCustomRegex == input.ValidationCustomRegex ||
+ (this.ValidationCustomRegex != null &&
+ this.ValidationCustomRegex.Equals(input.ValidationCustomRegex))
+ ) && base.Equals(input) &&
+ (
+ this.ValidationCustomRegexFormatLabel == input.ValidationCustomRegexFormatLabel ||
+ (this.ValidationCustomRegexFormatLabel != null &&
+ this.ValidationCustomRegexFormatLabel.Equals(input.ValidationCustomRegexFormatLabel))
+ ) && base.Equals(input) &&
(
this.Group == input.Group ||
(this.Group != null &&
@@ -322,6 +352,14 @@ public override int GetHashCode()
hashCode = (hashCode * 59) + this.FontFamily.GetHashCode();
}
hashCode = (hashCode * 59) + this.ValidationType.GetHashCode();
+ if (this.ValidationCustomRegex != null)
+ {
+ hashCode = (hashCode * 59) + this.ValidationCustomRegex.GetHashCode();
+ }
+ if (this.ValidationCustomRegexFormatLabel != null)
+ {
+ hashCode = (hashCode * 59) + this.ValidationCustomRegexFormatLabel.GetHashCode();
+ }
if (this.Group != null)
{
hashCode = (hashCode * 59) + this.Group.GetHashCode();
@@ -399,6 +437,20 @@ public List GetOpenApiTypes()
Value = ValidationType,
});
types.Add(new OpenApiType()
+ {
+ Name = "validation_custom_regex",
+ Property = "ValidationCustomRegex",
+ Type = "string",
+ Value = ValidationCustomRegex,
+ });
+ types.Add(new OpenApiType()
+ {
+ Name = "validation_custom_regex_format_label",
+ Property = "ValidationCustomRegexFormatLabel",
+ Type = "string",
+ Value = ValidationCustomRegexFormatLabel,
+ });
+ types.Add(new OpenApiType()
{
Name = "group",
Property = "Group",
diff --git a/sdks/java-v1/docs/TemplateResponseDocumentFormFieldText.md b/sdks/java-v1/docs/TemplateResponseDocumentFormFieldText.md
index 49cdfaad6..1b8d78c02 100644
--- a/sdks/java-v1/docs/TemplateResponseDocumentFormFieldText.md
+++ b/sdks/java-v1/docs/TemplateResponseDocumentFormFieldText.md
@@ -14,6 +14,8 @@ This class extends `TemplateResponseDocumentFormFieldBase`
| `originalFontSize` | ```Integer``` | Original font size used in this form field's text. | |
| `fontFamily` | ```String``` | Font family used in this form field's text. | |
| `validationType` | [```ValidationTypeEnum```](#ValidationTypeEnum) | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | |
+| `validationCustomRegex` | ```String``` | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | |
+| `validationCustomRegexFormatLabel` | ```String``` | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | |
| `group` | ```String``` | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | |
diff --git a/sdks/java-v1/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java b/sdks/java-v1/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java
index 353bd8941..1eb8a426c 100644
--- a/sdks/java-v1/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java
+++ b/sdks/java-v1/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java
@@ -34,6 +34,8 @@
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_ORIGINAL_FONT_SIZE,
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_FONT_FAMILY,
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_VALIDATION_TYPE,
+ TemplateResponseDocumentFormFieldText.JSON_PROPERTY_VALIDATION_CUSTOM_REGEX,
+ TemplateResponseDocumentFormFieldText.JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL,
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_GROUP
})
@javax.annotation.Generated(
@@ -119,6 +121,13 @@ public static ValidationTypeEnum fromValue(String value) {
public static final String JSON_PROPERTY_VALIDATION_TYPE = "validation_type";
@javax.annotation.Nullable private ValidationTypeEnum validationType;
+ public static final String JSON_PROPERTY_VALIDATION_CUSTOM_REGEX = "validation_custom_regex";
+ @javax.annotation.Nullable private String validationCustomRegex;
+
+ public static final String JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL =
+ "validation_custom_regex_format_label";
+ @javax.annotation.Nullable private String validationCustomRegexFormatLabel;
+
public static final String JSON_PROPERTY_GROUP = "group";
@javax.annotation.Nullable private String group;
@@ -289,6 +298,55 @@ public void setValidationType(@javax.annotation.Nullable ValidationTypeEnum vali
this.validationType = validationType;
}
+ public TemplateResponseDocumentFormFieldText validationCustomRegex(
+ @javax.annotation.Nullable String validationCustomRegex) {
+ this.validationCustomRegex = validationCustomRegex;
+ return this;
+ }
+
+ /**
+ * When `validation_type` is set to `custom_regex`, this specifies the
+ * custom regular expression pattern that will be used to validate the text field.
+ *
+ * @return validationCustomRegex
+ */
+ @javax.annotation.Nullable @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getValidationCustomRegex() {
+ return validationCustomRegex;
+ }
+
+ @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setValidationCustomRegex(@javax.annotation.Nullable String validationCustomRegex) {
+ this.validationCustomRegex = validationCustomRegex;
+ }
+
+ public TemplateResponseDocumentFormFieldText validationCustomRegexFormatLabel(
+ @javax.annotation.Nullable String validationCustomRegexFormatLabel) {
+ this.validationCustomRegexFormatLabel = validationCustomRegexFormatLabel;
+ return this;
+ }
+
+ /**
+ * When `validation_type` is set to `custom_regex`, this specifies the error
+ * message displayed to the signer when the text does not match the provided regex pattern.
+ *
+ * @return validationCustomRegexFormatLabel
+ */
+ @javax.annotation.Nullable @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getValidationCustomRegexFormatLabel() {
+ return validationCustomRegexFormatLabel;
+ }
+
+ @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setValidationCustomRegexFormatLabel(
+ @javax.annotation.Nullable String validationCustomRegexFormatLabel) {
+ this.validationCustomRegexFormatLabel = validationCustomRegexFormatLabel;
+ }
+
public TemplateResponseDocumentFormFieldText group(@javax.annotation.Nullable String group) {
this.group = group;
return this;
@@ -334,6 +392,12 @@ public boolean equals(Object o) {
&& Objects.equals(this.fontFamily, templateResponseDocumentFormFieldText.fontFamily)
&& Objects.equals(
this.validationType, templateResponseDocumentFormFieldText.validationType)
+ && Objects.equals(
+ this.validationCustomRegex,
+ templateResponseDocumentFormFieldText.validationCustomRegex)
+ && Objects.equals(
+ this.validationCustomRegexFormatLabel,
+ templateResponseDocumentFormFieldText.validationCustomRegexFormatLabel)
&& Objects.equals(this.group, templateResponseDocumentFormFieldText.group)
&& super.equals(o);
}
@@ -347,6 +411,8 @@ public int hashCode() {
originalFontSize,
fontFamily,
validationType,
+ validationCustomRegex,
+ validationCustomRegexFormatLabel,
group,
super.hashCode());
}
@@ -362,6 +428,12 @@ public String toString() {
sb.append(" originalFontSize: ").append(toIndentedString(originalFontSize)).append("\n");
sb.append(" fontFamily: ").append(toIndentedString(fontFamily)).append("\n");
sb.append(" validationType: ").append(toIndentedString(validationType)).append("\n");
+ sb.append(" validationCustomRegex: ")
+ .append(toIndentedString(validationCustomRegex))
+ .append("\n");
+ sb.append(" validationCustomRegexFormatLabel: ")
+ .append(toIndentedString(validationCustomRegexFormatLabel))
+ .append("\n");
sb.append(" group: ").append(toIndentedString(group)).append("\n");
sb.append("}");
return sb.toString();
@@ -490,6 +562,56 @@ public Map createFormData() throws ApiException {
JSON.getDefault().getMapper().writeValueAsString(validationType));
}
}
+ if (validationCustomRegex != null) {
+ if (isFileTypeOrListOfFiles(validationCustomRegex)) {
+ fileTypeFound = true;
+ }
+
+ if (validationCustomRegex.getClass().equals(java.io.File.class)
+ || validationCustomRegex.getClass().equals(Integer.class)
+ || validationCustomRegex.getClass().equals(String.class)
+ || validationCustomRegex.getClass().isEnum()) {
+ map.put("validation_custom_regex", validationCustomRegex);
+ } else if (isListOfFile(validationCustomRegex)) {
+ for (int i = 0; i < getListSize(validationCustomRegex); i++) {
+ map.put(
+ "validation_custom_regex[" + i + "]",
+ getFromList(validationCustomRegex, i));
+ }
+ } else {
+ map.put(
+ "validation_custom_regex",
+ JSON.getDefault()
+ .getMapper()
+ .writeValueAsString(validationCustomRegex));
+ }
+ }
+ if (validationCustomRegexFormatLabel != null) {
+ if (isFileTypeOrListOfFiles(validationCustomRegexFormatLabel)) {
+ fileTypeFound = true;
+ }
+
+ if (validationCustomRegexFormatLabel.getClass().equals(java.io.File.class)
+ || validationCustomRegexFormatLabel.getClass().equals(Integer.class)
+ || validationCustomRegexFormatLabel.getClass().equals(String.class)
+ || validationCustomRegexFormatLabel.getClass().isEnum()) {
+ map.put(
+ "validation_custom_regex_format_label",
+ validationCustomRegexFormatLabel);
+ } else if (isListOfFile(validationCustomRegexFormatLabel)) {
+ for (int i = 0; i < getListSize(validationCustomRegexFormatLabel); i++) {
+ map.put(
+ "validation_custom_regex_format_label[" + i + "]",
+ getFromList(validationCustomRegexFormatLabel, i));
+ }
+ } else {
+ map.put(
+ "validation_custom_regex_format_label",
+ JSON.getDefault()
+ .getMapper()
+ .writeValueAsString(validationCustomRegexFormatLabel));
+ }
+ }
if (group != null) {
if (isFileTypeOrListOfFiles(group)) {
fileTypeFound = true;
diff --git a/sdks/java-v2/docs/TemplateResponseDocumentFormFieldText.md b/sdks/java-v2/docs/TemplateResponseDocumentFormFieldText.md
index 49cdfaad6..1b8d78c02 100644
--- a/sdks/java-v2/docs/TemplateResponseDocumentFormFieldText.md
+++ b/sdks/java-v2/docs/TemplateResponseDocumentFormFieldText.md
@@ -14,6 +14,8 @@ This class extends `TemplateResponseDocumentFormFieldBase`
| `originalFontSize` | ```Integer``` | Original font size used in this form field's text. | |
| `fontFamily` | ```String``` | Font family used in this form field's text. | |
| `validationType` | [```ValidationTypeEnum```](#ValidationTypeEnum) | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | |
+| `validationCustomRegex` | ```String``` | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | |
+| `validationCustomRegexFormatLabel` | ```String``` | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | |
| `group` | ```String``` | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | |
diff --git a/sdks/java-v2/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java b/sdks/java-v2/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java
index 7bbb7ca05..47567e1ba 100644
--- a/sdks/java-v2/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java
+++ b/sdks/java-v2/src/main/java/com/dropbox/sign/model/TemplateResponseDocumentFormFieldText.java
@@ -44,6 +44,8 @@
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_ORIGINAL_FONT_SIZE,
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_FONT_FAMILY,
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_VALIDATION_TYPE,
+ TemplateResponseDocumentFormFieldText.JSON_PROPERTY_VALIDATION_CUSTOM_REGEX,
+ TemplateResponseDocumentFormFieldText.JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL,
TemplateResponseDocumentFormFieldText.JSON_PROPERTY_GROUP
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0")
@@ -129,6 +131,14 @@ public static ValidationTypeEnum fromValue(String value) {
@jakarta.annotation.Nullable
private ValidationTypeEnum validationType;
+ public static final String JSON_PROPERTY_VALIDATION_CUSTOM_REGEX = "validation_custom_regex";
+ @jakarta.annotation.Nullable
+ private String validationCustomRegex;
+
+ public static final String JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL = "validation_custom_regex_format_label";
+ @jakarta.annotation.Nullable
+ private String validationCustomRegexFormatLabel;
+
public static final String JSON_PROPERTY_GROUP = "group";
@jakarta.annotation.Nullable
private String group;
@@ -301,6 +311,56 @@ public void setValidationType(@jakarta.annotation.Nullable ValidationTypeEnum va
}
+ public TemplateResponseDocumentFormFieldText validationCustomRegex(@jakarta.annotation.Nullable String validationCustomRegex) {
+ this.validationCustomRegex = validationCustomRegex;
+ return this;
+ }
+
+ /**
+ * When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.
+ * @return validationCustomRegex
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getValidationCustomRegex() {
+ return validationCustomRegex;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setValidationCustomRegex(@jakarta.annotation.Nullable String validationCustomRegex) {
+ this.validationCustomRegex = validationCustomRegex;
+ }
+
+
+ public TemplateResponseDocumentFormFieldText validationCustomRegexFormatLabel(@jakarta.annotation.Nullable String validationCustomRegexFormatLabel) {
+ this.validationCustomRegexFormatLabel = validationCustomRegexFormatLabel;
+ return this;
+ }
+
+ /**
+ * When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.
+ * @return validationCustomRegexFormatLabel
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getValidationCustomRegexFormatLabel() {
+ return validationCustomRegexFormatLabel;
+ }
+
+
+ @JsonProperty(JSON_PROPERTY_VALIDATION_CUSTOM_REGEX_FORMAT_LABEL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setValidationCustomRegexFormatLabel(@jakarta.annotation.Nullable String validationCustomRegexFormatLabel) {
+ this.validationCustomRegexFormatLabel = validationCustomRegexFormatLabel;
+ }
+
+
public TemplateResponseDocumentFormFieldText group(@jakarta.annotation.Nullable String group) {
this.group = group;
return this;
@@ -344,13 +404,15 @@ public boolean equals(Object o) {
Objects.equals(this.originalFontSize, templateResponseDocumentFormFieldText.originalFontSize) &&
Objects.equals(this.fontFamily, templateResponseDocumentFormFieldText.fontFamily) &&
Objects.equals(this.validationType, templateResponseDocumentFormFieldText.validationType) &&
+ Objects.equals(this.validationCustomRegex, templateResponseDocumentFormFieldText.validationCustomRegex) &&
+ Objects.equals(this.validationCustomRegexFormatLabel, templateResponseDocumentFormFieldText.validationCustomRegexFormatLabel) &&
Objects.equals(this.group, templateResponseDocumentFormFieldText.group) &&
super.equals(o);
}
@Override
public int hashCode() {
- return Objects.hash(type, avgTextLength, isMultiline, originalFontSize, fontFamily, validationType, group, super.hashCode());
+ return Objects.hash(type, avgTextLength, isMultiline, originalFontSize, fontFamily, validationType, validationCustomRegex, validationCustomRegexFormatLabel, group, super.hashCode());
}
@Override
@@ -364,6 +426,8 @@ public String toString() {
sb.append(" originalFontSize: ").append(toIndentedString(originalFontSize)).append("\n");
sb.append(" fontFamily: ").append(toIndentedString(fontFamily)).append("\n");
sb.append(" validationType: ").append(toIndentedString(validationType)).append("\n");
+ sb.append(" validationCustomRegex: ").append(toIndentedString(validationCustomRegex)).append("\n");
+ sb.append(" validationCustomRegexFormatLabel: ").append(toIndentedString(validationCustomRegexFormatLabel)).append("\n");
sb.append(" group: ").append(toIndentedString(group)).append("\n");
sb.append("}");
return sb.toString();
@@ -488,6 +552,44 @@ public Map createFormData() throws ApiException {
map.put("validation_type", JSON.getDefault().getMapper().writeValueAsString(validationType));
}
}
+ if (validationCustomRegex != null) {
+ if (isFileTypeOrListOfFiles(validationCustomRegex)) {
+ fileTypeFound = true;
+ }
+
+ if (validationCustomRegex.getClass().equals(java.io.File.class) ||
+ validationCustomRegex.getClass().equals(Integer.class) ||
+ validationCustomRegex.getClass().equals(String.class) ||
+ validationCustomRegex.getClass().isEnum()) {
+ map.put("validation_custom_regex", validationCustomRegex);
+ } else if (isListOfFile(validationCustomRegex)) {
+ for(int i = 0; i< getListSize(validationCustomRegex); i++) {
+ map.put("validation_custom_regex[" + i + "]", getFromList(validationCustomRegex, i));
+ }
+ }
+ else {
+ map.put("validation_custom_regex", JSON.getDefault().getMapper().writeValueAsString(validationCustomRegex));
+ }
+ }
+ if (validationCustomRegexFormatLabel != null) {
+ if (isFileTypeOrListOfFiles(validationCustomRegexFormatLabel)) {
+ fileTypeFound = true;
+ }
+
+ if (validationCustomRegexFormatLabel.getClass().equals(java.io.File.class) ||
+ validationCustomRegexFormatLabel.getClass().equals(Integer.class) ||
+ validationCustomRegexFormatLabel.getClass().equals(String.class) ||
+ validationCustomRegexFormatLabel.getClass().isEnum()) {
+ map.put("validation_custom_regex_format_label", validationCustomRegexFormatLabel);
+ } else if (isListOfFile(validationCustomRegexFormatLabel)) {
+ for(int i = 0; i< getListSize(validationCustomRegexFormatLabel); i++) {
+ map.put("validation_custom_regex_format_label[" + i + "]", getFromList(validationCustomRegexFormatLabel, i));
+ }
+ }
+ else {
+ map.put("validation_custom_regex_format_label", JSON.getDefault().getMapper().writeValueAsString(validationCustomRegexFormatLabel));
+ }
+ }
if (group != null) {
if (isFileTypeOrListOfFiles(group)) {
fileTypeFound = true;
diff --git a/sdks/node/dist/api.js b/sdks/node/dist/api.js
index 0e8c3dcfd..943de1b8c 100644
--- a/sdks/node/dist/api.js
+++ b/sdks/node/dist/api.js
@@ -25344,6 +25344,16 @@ var TemplateResponseDocumentFormFieldText = class _TemplateResponseDocumentFormF
baseName: "validation_type",
type: "TemplateResponseDocumentFormFieldText.ValidationTypeEnum"
},
+ {
+ name: "validationCustomRegex",
+ baseName: "validation_custom_regex",
+ type: "string"
+ },
+ {
+ name: "validationCustomRegexFormatLabel",
+ baseName: "validation_custom_regex_format_label",
+ type: "string"
+ },
{
name: "group",
baseName: "group",
diff --git a/sdks/node/docs/model/TemplateResponseDocumentFormFieldText.md b/sdks/node/docs/model/TemplateResponseDocumentFormFieldText.md
index 25a86e871..07154a227 100644
--- a/sdks/node/docs/model/TemplateResponseDocumentFormFieldText.md
+++ b/sdks/node/docs/model/TemplateResponseDocumentFormFieldText.md
@@ -12,6 +12,8 @@ Name | Type | Description | Notes
| `originalFontSize` | ```number``` | Original font size used in this form field's text. | |
| `fontFamily` | ```string``` | Font family used in this form field's text. | |
| `validationType` | ```string``` | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | |
+| `validationCustomRegex` | ```string``` | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | |
+| `validationCustomRegexFormatLabel` | ```string``` | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | |
| `group` | ```string``` | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | |
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
diff --git a/sdks/node/model/templateResponseDocumentFormFieldText.ts b/sdks/node/model/templateResponseDocumentFormFieldText.ts
index e758496f8..a10ace959 100644
--- a/sdks/node/model/templateResponseDocumentFormFieldText.ts
+++ b/sdks/node/model/templateResponseDocumentFormFieldText.ts
@@ -51,6 +51,14 @@ export class TemplateResponseDocumentFormFieldText extends TemplateResponseDocum
* Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values.
*/
"validationType"?: TemplateResponseDocumentFormFieldText.ValidationTypeEnum;
+ /**
+ * When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.
+ */
+ "validationCustomRegex"?: string | null;
+ /**
+ * When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.
+ */
+ "validationCustomRegexFormatLabel"?: string | null;
/**
* The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.
*/
@@ -89,6 +97,16 @@ export class TemplateResponseDocumentFormFieldText extends TemplateResponseDocum
baseName: "validation_type",
type: "TemplateResponseDocumentFormFieldText.ValidationTypeEnum",
},
+ {
+ name: "validationCustomRegex",
+ baseName: "validation_custom_regex",
+ type: "string",
+ },
+ {
+ name: "validationCustomRegexFormatLabel",
+ baseName: "validation_custom_regex_format_label",
+ type: "string",
+ },
{
name: "group",
baseName: "group",
diff --git a/sdks/node/types/model/templateResponseDocumentFormFieldText.d.ts b/sdks/node/types/model/templateResponseDocumentFormFieldText.d.ts
index 5f6dcb4f1..2509450f9 100644
--- a/sdks/node/types/model/templateResponseDocumentFormFieldText.d.ts
+++ b/sdks/node/types/model/templateResponseDocumentFormFieldText.d.ts
@@ -8,6 +8,8 @@ export declare class TemplateResponseDocumentFormFieldText extends TemplateRespo
"originalFontSize"?: number;
"fontFamily"?: string;
"validationType"?: TemplateResponseDocumentFormFieldText.ValidationTypeEnum;
+ "validationCustomRegex"?: string | null;
+ "validationCustomRegexFormatLabel"?: string | null;
"group"?: string | null;
static discriminator: string | undefined;
static attributeTypeMap: AttributeTypeMap;
diff --git a/sdks/php/docs/Model/TemplateResponseDocumentFormFieldText.md b/sdks/php/docs/Model/TemplateResponseDocumentFormFieldText.md
index e6af0e041..630c7a032 100644
--- a/sdks/php/docs/Model/TemplateResponseDocumentFormFieldText.md
+++ b/sdks/php/docs/Model/TemplateResponseDocumentFormFieldText.md
@@ -12,6 +12,8 @@ Name | Type | Description | Notes
| `original_font_size` | ```int``` | Original font size used in this form field's text. | |
| `font_family` | ```string``` | Font family used in this form field's text. | |
| `validation_type` | ```string``` | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | |
+| `validation_custom_regex` | ```string``` | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | |
+| `validation_custom_regex_format_label` | ```string``` | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | |
| `group` | ```string``` | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | |
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
diff --git a/sdks/php/src/Model/TemplateResponseDocumentFormFieldText.php b/sdks/php/src/Model/TemplateResponseDocumentFormFieldText.php
index afb433174..078f5995d 100644
--- a/sdks/php/src/Model/TemplateResponseDocumentFormFieldText.php
+++ b/sdks/php/src/Model/TemplateResponseDocumentFormFieldText.php
@@ -62,6 +62,8 @@ class TemplateResponseDocumentFormFieldText extends TemplateResponseDocumentForm
'original_font_size' => 'int',
'font_family' => 'string',
'validation_type' => 'string',
+ 'validation_custom_regex' => 'string',
+ 'validation_custom_regex_format_label' => 'string',
'group' => 'string',
];
@@ -79,6 +81,8 @@ class TemplateResponseDocumentFormFieldText extends TemplateResponseDocumentForm
'original_font_size' => null,
'font_family' => null,
'validation_type' => null,
+ 'validation_custom_regex' => null,
+ 'validation_custom_regex_format_label' => null,
'group' => null,
];
@@ -94,6 +98,8 @@ class TemplateResponseDocumentFormFieldText extends TemplateResponseDocumentForm
'original_font_size' => false,
'font_family' => false,
'validation_type' => true,
+ 'validation_custom_regex' => true,
+ 'validation_custom_regex_format_label' => true,
'group' => true,
];
@@ -181,6 +187,8 @@ public function isNullableSetToNull(string $property): bool
'original_font_size' => 'originalFontSize',
'font_family' => 'fontFamily',
'validation_type' => 'validation_type',
+ 'validation_custom_regex' => 'validation_custom_regex',
+ 'validation_custom_regex_format_label' => 'validation_custom_regex_format_label',
'group' => 'group',
];
@@ -196,6 +204,8 @@ public function isNullableSetToNull(string $property): bool
'original_font_size' => 'setOriginalFontSize',
'font_family' => 'setFontFamily',
'validation_type' => 'setValidationType',
+ 'validation_custom_regex' => 'setValidationCustomRegex',
+ 'validation_custom_regex_format_label' => 'setValidationCustomRegexFormatLabel',
'group' => 'setGroup',
];
@@ -211,6 +221,8 @@ public function isNullableSetToNull(string $property): bool
'original_font_size' => 'getOriginalFontSize',
'font_family' => 'getFontFamily',
'validation_type' => 'getValidationType',
+ 'validation_custom_regex' => 'getValidationCustomRegex',
+ 'validation_custom_regex_format_label' => 'getValidationCustomRegexFormatLabel',
'group' => 'getGroup',
];
@@ -303,6 +315,8 @@ public function __construct(?array $data = null)
$this->setIfExists('original_font_size', $data ?? [], null);
$this->setIfExists('font_family', $data ?? [], null);
$this->setIfExists('validation_type', $data ?? [], null);
+ $this->setIfExists('validation_custom_regex', $data ?? [], null);
+ $this->setIfExists('validation_custom_regex_format_label', $data ?? [], null);
$this->setIfExists('group', $data ?? [], null);
}
@@ -556,6 +570,74 @@ public function setValidationType(?string $validation_type)
return $this;
}
+ /**
+ * Gets validation_custom_regex
+ *
+ * @return string|null
+ */
+ public function getValidationCustomRegex()
+ {
+ return $this->container['validation_custom_regex'];
+ }
+
+ /**
+ * Sets validation_custom_regex
+ *
+ * @param string|null $validation_custom_regex when `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field
+ *
+ * @return self
+ */
+ public function setValidationCustomRegex(?string $validation_custom_regex)
+ {
+ if (is_null($validation_custom_regex)) {
+ array_push($this->openAPINullablesSetToNull, 'validation_custom_regex');
+ } else {
+ $nullablesSetToNull = $this->getOpenAPINullablesSetToNull();
+ $index = array_search('validation_custom_regex', $nullablesSetToNull);
+ if ($index !== false) {
+ unset($nullablesSetToNull[$index]);
+ $this->setOpenAPINullablesSetToNull($nullablesSetToNull);
+ }
+ }
+ $this->container['validation_custom_regex'] = $validation_custom_regex;
+
+ return $this;
+ }
+
+ /**
+ * Gets validation_custom_regex_format_label
+ *
+ * @return string|null
+ */
+ public function getValidationCustomRegexFormatLabel()
+ {
+ return $this->container['validation_custom_regex_format_label'];
+ }
+
+ /**
+ * Sets validation_custom_regex_format_label
+ *
+ * @param string|null $validation_custom_regex_format_label when `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern
+ *
+ * @return self
+ */
+ public function setValidationCustomRegexFormatLabel(?string $validation_custom_regex_format_label)
+ {
+ if (is_null($validation_custom_regex_format_label)) {
+ array_push($this->openAPINullablesSetToNull, 'validation_custom_regex_format_label');
+ } else {
+ $nullablesSetToNull = $this->getOpenAPINullablesSetToNull();
+ $index = array_search('validation_custom_regex_format_label', $nullablesSetToNull);
+ if ($index !== false) {
+ unset($nullablesSetToNull[$index]);
+ $this->setOpenAPINullablesSetToNull($nullablesSetToNull);
+ }
+ }
+ $this->container['validation_custom_regex_format_label'] = $validation_custom_regex_format_label;
+
+ return $this;
+ }
+
/**
* Gets group
*
diff --git a/sdks/python/docs/TemplateResponseDocumentFormFieldText.md b/sdks/python/docs/TemplateResponseDocumentFormFieldText.md
index 8d52035f9..c0ed796ca 100644
--- a/sdks/python/docs/TemplateResponseDocumentFormFieldText.md
+++ b/sdks/python/docs/TemplateResponseDocumentFormFieldText.md
@@ -11,6 +11,8 @@ Name | Type | Description | Notes
| `original_font_size` | ```int``` | Original font size used in this form field's text. | |
| `font_family` | ```str``` | Font family used in this form field's text. | |
| `validation_type` | ```str``` | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | |
+| `validation_custom_regex` | ```str``` | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | |
+| `validation_custom_regex_format_label` | ```str``` | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | |
| `group` | ```str``` | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/sdks/python/dropbox_sign/models/template_response_document_form_field_text.py b/sdks/python/dropbox_sign/models/template_response_document_form_field_text.py
index e6800d2ed..6280970f4 100644
--- a/sdks/python/dropbox_sign/models/template_response_document_form_field_text.py
+++ b/sdks/python/dropbox_sign/models/template_response_document_form_field_text.py
@@ -68,6 +68,14 @@ class TemplateResponseDocumentFormFieldText(TemplateResponseDocumentFormFieldBas
default=None,
description="Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values.",
)
+ validation_custom_regex: Optional[StrictStr] = Field(
+ default=None,
+ description="When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.",
+ )
+ validation_custom_regex_format_label: Optional[StrictStr] = Field(
+ default=None,
+ description="When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.",
+ )
group: Optional[StrictStr] = Field(
default=None,
description="The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.",
@@ -87,6 +95,8 @@ class TemplateResponseDocumentFormFieldText(TemplateResponseDocumentFormFieldBas
"originalFontSize",
"fontFamily",
"validation_type",
+ "validation_custom_regex",
+ "validation_custom_regex_format_label",
"group",
]
@@ -199,6 +209,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"originalFontSize": obj.get("originalFontSize"),
"fontFamily": obj.get("fontFamily"),
"validation_type": obj.get("validation_type"),
+ "validation_custom_regex": obj.get("validation_custom_regex"),
+ "validation_custom_regex_format_label": obj.get(
+ "validation_custom_regex_format_label"
+ ),
"group": obj.get("group"),
}
)
@@ -223,6 +237,8 @@ def openapi_types(cls) -> Dict[str, str]:
"original_font_size": "(int,)",
"font_family": "(str,)",
"validation_type": "(str,)",
+ "validation_custom_regex": "(str,)",
+ "validation_custom_regex_format_label": "(str,)",
"group": "(str,)",
"api_id": "(str,)",
"name": "(str,)",
diff --git a/sdks/ruby/docs/TemplateResponseDocumentFormFieldText.md b/sdks/ruby/docs/TemplateResponseDocumentFormFieldText.md
index 7bfe70283..f63026a61 100644
--- a/sdks/ruby/docs/TemplateResponseDocumentFormFieldText.md
+++ b/sdks/ruby/docs/TemplateResponseDocumentFormFieldText.md
@@ -12,5 +12,7 @@ This class extends `TemplateResponseDocumentFormFieldBase`
| `original_font_size` | ```Integer``` | Original font size used in this form field's text. | |
| `font_family` | ```String``` | Font family used in this form field's text. | |
| `validation_type` | ```String``` | Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values. | |
+| `validation_custom_regex` | ```String``` | When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field. | |
+| `validation_custom_regex_format_label` | ```String``` | When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern. | |
| `group` | ```String``` | The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields. | |
diff --git a/sdks/ruby/lib/dropbox-sign/models/template_response_document_form_field_text.rb b/sdks/ruby/lib/dropbox-sign/models/template_response_document_form_field_text.rb
index 7028169e3..11d6178bb 100644
--- a/sdks/ruby/lib/dropbox-sign/models/template_response_document_form_field_text.rb
+++ b/sdks/ruby/lib/dropbox-sign/models/template_response_document_form_field_text.rb
@@ -42,6 +42,14 @@ class TemplateResponseDocumentFormFieldText < TemplateResponseDocumentFormFieldB
# @return [String, nil]
attr_accessor :validation_type
+ # When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.
+ # @return [String, nil]
+ attr_accessor :validation_custom_regex
+
+ # When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.
+ # @return [String, nil]
+ attr_accessor :validation_custom_regex_format_label
+
# The name of the group this field is in. If this field is not a group, this defaults to `null` except for Radio fields.
# @return [String, nil]
attr_accessor :group
@@ -77,6 +85,8 @@ def self.attribute_map
:'original_font_size' => :'originalFontSize',
:'font_family' => :'fontFamily',
:'validation_type' => :'validation_type',
+ :'validation_custom_regex' => :'validation_custom_regex',
+ :'validation_custom_regex_format_label' => :'validation_custom_regex_format_label',
:'group' => :'group'
}
end
@@ -100,6 +110,8 @@ def self.openapi_types
:'original_font_size' => :'Integer',
:'font_family' => :'String',
:'validation_type' => :'String',
+ :'validation_custom_regex' => :'String',
+ :'validation_custom_regex_format_label' => :'String',
:'group' => :'String'
}
end
@@ -108,6 +120,8 @@ def self.openapi_types
def self.openapi_nullable
Set.new([
:'validation_type',
+ :'validation_custom_regex',
+ :'validation_custom_regex_format_label',
:'group'
])
end
@@ -182,6 +196,14 @@ def initialize(attributes = {})
self.validation_type = attributes[:'validation_type']
end
+ if attributes.key?(:'validation_custom_regex')
+ self.validation_custom_regex = attributes[:'validation_custom_regex']
+ end
+
+ if attributes.key?(:'validation_custom_regex_format_label')
+ self.validation_custom_regex_format_label = attributes[:'validation_custom_regex_format_label']
+ end
+
if attributes.key?(:'group')
self.group = attributes[:'group']
end
@@ -238,6 +260,8 @@ def ==(o)
original_font_size == o.original_font_size &&
font_family == o.font_family &&
validation_type == o.validation_type &&
+ validation_custom_regex == o.validation_custom_regex &&
+ validation_custom_regex_format_label == o.validation_custom_regex_format_label &&
group == o.group && super(o)
end
@@ -250,7 +274,7 @@ def eql?(o)
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [type, avg_text_length, is_multiline, original_font_size, font_family, validation_type, group].hash
+ [type, avg_text_length, is_multiline, original_font_size, font_family, validation_type, validation_custom_regex, validation_custom_regex_format_label, group].hash
end
# Builds the object from hash
diff --git a/translations/en.yaml b/translations/en.yaml
index 38f1edc13..3dcaf3ea3 100644
--- a/translations/en.yaml
+++ b/translations/en.yaml
@@ -1623,7 +1623,8 @@
"TemplateResponseDocumentFormField::FONT_FAMILY": Font family used in this form field's text.
# text-only
"TemplateResponseDocumentFormField::VALIDATION_TYPE": Each text field may contain a `validation_type` parameter. Check out the list of [validation types](https://faq.hellosign.com/hc/en-us/articles/217115577) to learn more about the possible values.
-
+"TemplateResponseDocumentFormField::CUSTOM_REGEX": When `validation_type` is set to `custom_regex`, this specifies the custom regular expression pattern that will be used to validate the text field.
+"TemplateResponseDocumentFormField::CUSTOM_REGEX_LABEL": When `validation_type` is set to `custom_regex`, this specifies the error message displayed to the signer when the text does not match the provided regex pattern.
"TemplateResponseDocumentStaticField::DESCRIPTION": An array describing static overlay fields. **NOTE:** Only available for certain subscriptions.
"TemplateResponseDocumentStaticField::DESCRIPTION_EXTENDS": This class extends `TemplateResponseDocumentStaticFieldBase`
"TemplateResponseDocumentStaticField::NAME": The name of the static field.
From 971c8292d02cb329f12e73d90f6d3e33b3539eee Mon Sep 17 00:00:00 2001
From: Jen Young <165731018+jyoung-dbx@users.noreply.github.com>
Date: Wed, 18 Jun 2025 14:30:54 -0700
Subject: [PATCH 2/4] [SIGN-6826] Add Fax and FaxLine tests (#494)
---
.../src/Dropbox.Sign.Test/Api/FaxApiTests.cs | 65 ++++++++++++++
.../Dropbox.Sign.Test/Api/FaxLineApiTests.cs | 54 +++++++++++
.../java/com/dropbox/sign/api/FaxApiTest.java | 58 ++++++++++++
.../com/dropbox/sign/api/FaxLineApiTest.java | 58 ++++++++++++
.../java/com/dropbox/sign/api/FaxApiTest.java | 69 ++++++++++++++
.../com/dropbox/sign/api/FaxLineApiTest.java | 68 ++++++++++++++
sdks/node/tests/api/faxApi.test.ts | 89 ++++++++++++++++++
sdks/node/tests/api/faxLineApi.test.ts | 86 ++++++++++++++++++
sdks/php/test/Api/FaxApiTest.php | 90 +++++++++++++++++++
sdks/php/test/Api/FaxLineApiTest.php | 87 ++++++++++++++++++
sdks/python/tests/test_fax_api.py | 71 +++++++++++++++
sdks/python/tests/test_fax_line_api.py | 68 ++++++++++++++
sdks/ruby/spec/api/fax_api_spec.rb | 69 ++++++++++++++
sdks/ruby/spec/api/fax_line_api_spec.rb | 67 ++++++++++++++
test_fixtures/FaxGetResponse.json | 3 +-
test_fixtures/FaxLineCreateRequest.json | 6 ++
test_fixtures/FaxLineListResponse.json | 26 ++++++
test_fixtures/FaxLineResponse.json | 18 ++++
test_fixtures/FaxListResponse.json | 3 +-
test_fixtures/FaxResponse.json | 24 +++++
test_fixtures/FaxSendResponse.json | 16 ----
21 files changed, 1075 insertions(+), 20 deletions(-)
create mode 100644 sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs
create mode 100644 sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs
create mode 100644 sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java
create mode 100644 sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java
create mode 100644 sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java
create mode 100644 sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java
create mode 100644 sdks/node/tests/api/faxApi.test.ts
create mode 100644 sdks/node/tests/api/faxLineApi.test.ts
create mode 100644 sdks/php/test/Api/FaxApiTest.php
create mode 100644 sdks/php/test/Api/FaxLineApiTest.php
create mode 100644 sdks/python/tests/test_fax_api.py
create mode 100644 sdks/python/tests/test_fax_line_api.py
create mode 100644 sdks/ruby/spec/api/fax_api_spec.rb
create mode 100644 sdks/ruby/spec/api/fax_line_api_spec.rb
create mode 100644 test_fixtures/FaxLineCreateRequest.json
create mode 100644 test_fixtures/FaxLineListResponse.json
create mode 100644 test_fixtures/FaxLineResponse.json
create mode 100644 test_fixtures/FaxResponse.json
delete mode 100644 test_fixtures/FaxSendResponse.json
diff --git a/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs
new file mode 100644
index 000000000..1c9882326
--- /dev/null
+++ b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxApiTests.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using Xunit;
+using System.Text.Json;
+
+using Dropbox.Sign.Api;
+using Dropbox.Sign.Model;
+
+namespace Dropbox.Sign.Test.Api
+{
+ public class FaxApiTests
+ {
+ [Fact]
+ public void SendFaxTest()
+ {
+ var requestData = TestHelper.GetJsonContents(nameof(FaxSendRequest));
+ var responseData = TestHelper.GetJsonContents(nameof(FaxGetResponse));
+
+ var obj = FaxSendRequest.Init(
+ requestData.ToString()
+ );
+
+ obj.Files = new List {
+ new FileStream(
+ TestHelper.RootPath + "/pdf-sample.pdf",
+ FileMode.Open,
+ FileAccess.Read,
+ FileShare.Read
+ )
+ };
+
+ var responseObj = FaxGetResponse.Init(responseData.ToString());
+
+ var api = MockRestClientHelper.CreateApiExpectMultiFormRequest(responseObj);
+ var response = api.FaxSend(obj);
+
+ TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson());
+ }
+
+ [Fact]
+ public void FaxListTest()
+ {
+ var responseData = TestHelper.GetJsonContents(nameof(FaxListResponse));
+
+ var api = MockRestClientHelper.CreateApi(responseData);
+ var response = api.FaxList();
+
+ TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson());
+ }
+
+ [Fact]
+ public void FaxGetTest()
+ {
+ var faxId = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d";
+
+ var responseData = TestHelper.GetJsonContents(nameof(FaxGetResponse));
+
+ var api = MockRestClientHelper.CreateApi(responseData);
+ var response = api.FaxGet(faxId);
+
+ TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson());
+ }
+ }
+}
diff --git a/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs
new file mode 100644
index 000000000..a4e00cccc
--- /dev/null
+++ b/sdks/dotnet/src/Dropbox.Sign.Test/Api/FaxLineApiTests.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using Xunit;
+using System.Text.Json;
+
+using Dropbox.Sign.Api;
+using Dropbox.Sign.Model;
+
+namespace Dropbox.Sign.Test.Api
+{
+ public class FaxLineApiTests
+ {
+ [Fact]
+ public void FaxLineCreateTest()
+ {
+ var requestData = TestHelper.GetJsonContents(nameof(FaxLineCreateRequest));
+ var responseData = TestHelper.GetJsonContents(nameof(FaxLineResponse));
+
+ var obj = FaxLineCreateRequest.Init(
+ requestData.ToString()
+ );
+
+ var api = MockRestClientHelper.CreateApi(responseData);
+ var response = api.FaxLineCreate(obj);
+
+ TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson());
+ }
+
+ [Fact]
+ public void FaxLineListTest()
+ {
+ var responseData = TestHelper.GetJsonContents(nameof(FaxLineListResponse));
+
+ var api = MockRestClientHelper.CreateApi(responseData);
+ var response = api.FaxLineList();
+
+ TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson());
+ }
+
+ [Fact]
+ public void FaxLineGetTest()
+ {
+ var faxLineNumber = "14155557897";
+
+ var responseData = TestHelper.GetJsonContents(nameof(FaxLineResponse));
+
+ var api = MockRestClientHelper.CreateApi(responseData);
+ var response = api.FaxLineGet(faxLineNumber);
+
+ TestHelper.AssertJsonSame(responseData.ToString(), response.ToJson());
+ }
+ }
+}
diff --git a/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java
new file mode 100644
index 000000000..ff1ae8185
--- /dev/null
+++ b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxApiTest.java
@@ -0,0 +1,58 @@
+package com.dropbox.sign.api;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import com.dropbox.sign.ApiClient;
+import com.dropbox.sign.TestHelper;
+import com.dropbox.sign.model.*;
+import com.fasterxml.jackson.databind.JsonNode;
+import java.io.File;
+import org.junit.jupiter.api.Test;
+
+public class FaxApiTest {
+ @Test
+ public void faxSendTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName());
+ FaxGetResponse expectedResponse = FaxGetResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ JsonNode requestData = TestHelper.getJsonContents(FaxSendRequest.class.getSimpleName());
+
+ FaxSendRequest request = FaxSendRequest.init(requestData.toString());
+ request.addFilesItem(new File("test_fixtures/pdf-sample.pdf"));
+
+ FaxApi api = new FaxApi(apiClient);
+ FaxGetResponse response = api.faxSend(request);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxGetTest() throws Exception {
+ String faxId = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d";
+
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName());
+ FaxGetResponse expectedResponse = FaxGetResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxApi api = new FaxApi(apiClient);
+ FaxGetResponse response = api.faxGet(faxId);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxListTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxListResponse.class.getSimpleName());
+ FaxListResponse expectedResponse = FaxListResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxApi api = new FaxApi(apiClient);
+ FaxListResponse response = api.faxList();
+
+ assertEquals(expectedResponse, response);
+ }
+}
diff --git a/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java
new file mode 100644
index 000000000..50ea98706
--- /dev/null
+++ b/sdks/java-v1/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java
@@ -0,0 +1,58 @@
+package com.dropbox.sign.api;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import com.dropbox.sign.ApiClient;
+import com.dropbox.sign.TestHelper;
+import com.dropbox.sign.model.*;
+import com.fasterxml.jackson.databind.JsonNode;
+import org.junit.jupiter.api.Test;
+
+public class FaxLineApiTest {
+ @Test
+ public void faxLineCreateTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName());
+ FaxLineResponse expectedResponse = FaxLineResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ JsonNode requestData =
+ TestHelper.getJsonContents(FaxLineCreateRequest.class.getSimpleName());
+
+ FaxLineCreateRequest request = FaxLineCreateRequest.init(requestData.toString());
+
+ FaxLineApi api = new FaxLineApi(apiClient);
+ FaxLineResponse response = api.faxLineCreate(request);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxLineGetTest() throws Exception {
+ String faxLineNumber = "14155557897";
+
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName());
+ FaxLineResponse expectedResponse = FaxLineResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxLineApi api = new FaxLineApi(apiClient);
+ FaxLineResponse response = api.faxLineGet(faxLineNumber);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxLineListTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxLineListResponse.class.getSimpleName());
+ FaxLineListResponse expectedResponse =
+ FaxLineListResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxLineApi api = new FaxLineApi(apiClient);
+ FaxLineListResponse response = api.faxLineList();
+
+ assertEquals(expectedResponse, response);
+ }
+}
diff --git a/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java
new file mode 100644
index 000000000..8ddaf5866
--- /dev/null
+++ b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxApiTest.java
@@ -0,0 +1,69 @@
+package com.dropbox.sign.api;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+
+import com.dropbox.sign.ApiClient;
+import com.dropbox.sign.TestHelper;
+import com.dropbox.sign.model.*;
+import com.fasterxml.jackson.databind.JsonNode;
+import java.io.File;
+import java.util.Arrays;
+import java.util.HashMap;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+public class FaxApiTest {
+ @Test
+ public void faxSendTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName());
+ FaxGetResponse expectedResponse =
+ FaxGetResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ JsonNode requestData =
+ TestHelper.getJsonContents(
+ FaxSendRequest.class.getSimpleName());
+
+ FaxSendRequest request =
+ FaxSendRequest.init(requestData.toString());
+ request.addFilesItem(new File("test_fixtures/pdf-sample.pdf"));
+
+ FaxApi api = new FaxApi(apiClient);
+ FaxGetResponse response = api.faxSend(request);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxGetTest() throws Exception {
+ String faxId = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d";
+
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxGetResponse.class.getSimpleName());
+ FaxGetResponse expectedResponse =
+ FaxGetResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxApi api = new FaxApi(apiClient);
+ FaxGetResponse response = api.faxGet(faxId);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxListTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxListResponse.class.getSimpleName());
+ FaxListResponse expectedResponse =
+ FaxListResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxApi api = new FaxApi(apiClient);
+ FaxListResponse response = api.faxList();
+
+ assertEquals(expectedResponse, response);
+ }
+}
diff --git a/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java
new file mode 100644
index 000000000..5e805a7f5
--- /dev/null
+++ b/sdks/java-v2/src/test/java/com/dropbox/sign/api/FaxLineApiTest.java
@@ -0,0 +1,68 @@
+package com.dropbox.sign.api;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+
+import com.dropbox.sign.ApiClient;
+import com.dropbox.sign.TestHelper;
+import com.dropbox.sign.model.*;
+import com.fasterxml.jackson.databind.JsonNode;
+import java.io.File;
+import java.util.Arrays;
+import java.util.HashMap;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+public class FaxLineApiTest {
+ @Test
+ public void faxLineCreateTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName());
+ FaxLineResponse expectedResponse =
+ FaxLineResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ JsonNode requestData =
+ TestHelper.getJsonContents(
+ FaxLineCreateRequest.class.getSimpleName());
+
+ FaxLineCreateRequest request =
+ FaxLineCreateRequest.init(requestData.toString());
+
+ FaxLineApi api = new FaxLineApi(apiClient);
+ FaxLineResponse response = api.faxLineCreate(request);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxLineGetTest() throws Exception {
+ String faxLineNumber = "14155557897";
+
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxLineResponse.class.getSimpleName());
+ FaxLineResponse expectedResponse =
+ FaxLineResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxLineApi api = new FaxLineApi(apiClient);
+ FaxLineResponse response = api.faxLineGet(faxLineNumber);
+
+ assertEquals(expectedResponse, response);
+ }
+
+ @Test
+ public void faxLineListTest() throws Exception {
+ JsonNode expectedResponseData =
+ TestHelper.getJsonContents(FaxLineListResponse.class.getSimpleName());
+ FaxLineListResponse expectedResponse =
+ FaxLineListResponse.init(expectedResponseData.toString());
+ ApiClient apiClient = TestHelper.setUpMock(200, expectedResponse);
+
+ FaxLineApi api = new FaxLineApi(apiClient);
+ FaxLineListResponse response = api.faxLineList();
+
+ assertEquals(expectedResponse, response);
+ }
+}
diff --git a/sdks/node/tests/api/faxApi.test.ts b/sdks/node/tests/api/faxApi.test.ts
new file mode 100644
index 000000000..a943da17b
--- /dev/null
+++ b/sdks/node/tests/api/faxApi.test.ts
@@ -0,0 +1,89 @@
+import 'jest';
+
+import { FaxApi } from '../../api/';
+import * as m from '../../model/';
+import {
+ getFixtureData,
+ setExpectedResponse,
+ diffJson,
+} from '../test_utils';
+
+const axios = require('axios');
+const fs = require('fs');
+const MockAdapter = require('axios-mock-adapter');
+
+describe('FaxApiTest', () => {
+ let mock: typeof MockAdapter;
+
+ beforeEach(() => {
+ mock = new MockAdapter(axios);
+ });
+
+ const api = new FaxApi();
+ const rootFilePath = __dirname + '/../../test_fixtures';
+
+ it('testFaxSend', () => {
+ const requestClass = 'FaxSendRequest';
+ const requestData = getFixtureData(requestClass)['default'];
+
+ const responseClass = 'FaxGetResponse';
+ const responseData = getFixtureData(responseClass)['default'];
+
+ setExpectedResponse(mock, responseData, 200);
+
+ const obj = m.FaxSendRequest.init(requestData);
+ obj.files = [fs.createReadStream(`${rootFilePath}/pdf-sample.pdf`)];
+
+ api.faxSend(obj).then(response => {
+ const diff = diffJson(
+ response.body,
+ m.FaxGetResponse.init(responseData),
+ );
+
+ expect(response.body.constructor.name).toBe(responseClass);
+ expect(diff).toBeFalsy();
+ }).catch(error => {
+ throw new Error('Should not have thrown error: ' + error);
+ });
+ });
+
+ it('testFaxGet', () => {
+ const faxId = 'c2e9691c85d9d6fa6ae773842e3680b2b8650f1d';
+
+ const responseClass = 'FaxGetResponse';
+ const responseData = getFixtureData(responseClass)['default'];
+
+ setExpectedResponse(mock, responseData, 200);
+
+ api.faxGet(faxId).then(response => {
+ const diff = diffJson(
+ response.body,
+ m.FaxGetResponse.init(responseData),
+ );
+
+ expect(response.body.constructor.name).toBe(responseClass);
+ expect(diff).toBeFalsy();
+ }).catch(error => {
+ throw new Error('Should not have thrown error: ' + error);
+ });
+ });
+
+ it('testFaxList', () => {
+ const responseClass = 'FaxListResponse';
+ const responseData = getFixtureData(responseClass)['default'];
+
+ setExpectedResponse(mock, responseData, 200);
+
+ api.faxList().then(response => {
+ const diff = diffJson(
+ response.body,
+ m.FaxListResponse.init(responseData),
+ );
+
+ expect(response.body.constructor.name).toBe(responseClass);
+ expect(diff).toBeFalsy();
+ }).catch(error => {
+ throw new Error('Should not have thrown error: ' + error);
+ });
+ });
+});
diff --git a/sdks/node/tests/api/faxLineApi.test.ts b/sdks/node/tests/api/faxLineApi.test.ts
new file mode 100644
index 000000000..2d0ff9967
--- /dev/null
+++ b/sdks/node/tests/api/faxLineApi.test.ts
@@ -0,0 +1,86 @@
+import 'jest';
+
+import { FaxLineApi } from '../../api/';
+import * as m from '../../model/';
+import {
+ getFixtureData,
+ setExpectedResponse,
+ diffJson,
+} from '../test_utils';
+
+const axios = require('axios');
+const fs = require('fs');
+const MockAdapter = require('axios-mock-adapter');
+
+describe('FaxLineApiTest', () => {
+ let mock: typeof MockAdapter;
+
+ beforeEach(() => {
+ mock = new MockAdapter(axios);
+ });
+
+ const api = new FaxLineApi();
+ const rootFilePath = __dirname + '/../../test_fixtures';
+
+ it('testFaxLineCreate', () => {
+ const requestClass = 'FaxLineCreateRequest';
+ const requestData = getFixtureData(requestClass)['default'];
+
+ const responseClass = 'FaxLineResponse';
+ const responseData = getFixtureData(responseClass)['default'];
+
+ setExpectedResponse(mock, responseData, 200);
+
+ api.faxLineCreate(requestData).then(response => {
+ const diff = diffJson(
+ response.body,
+ m.FaxLineResponse.init(responseData),
+ );
+
+ expect(response.body.constructor.name).toBe(responseClass);
+ expect(diff).toBeFalsy();
+ }).catch(error => {
+ throw new Error('Should not have thrown error: ' + error);
+ });
+ });
+
+ it('testFaxLineGet', () => {
+ const faxLineNumber = '14155557897';
+
+ const responseClass = 'FaxLineResponse';
+ const responseData = getFixtureData(responseClass)['default'];
+
+ setExpectedResponse(mock, responseData, 200);
+
+ api.faxLineGet(faxLineNumber).then(response => {
+ const diff = diffJson(
+ response.body,
+ m.FaxLineResponse.init(responseData),
+ );
+
+ expect(response.body.constructor.name).toBe(responseClass);
+ expect(diff).toBeFalsy();
+ }).catch(error => {
+ throw new Error('Should not have thrown error: ' + error);
+ });
+ });
+
+ it('testFaxLineList', () => {
+ const responseClass = 'FaxLineListResponse';
+ const responseData = getFixtureData(responseClass)['default'];
+
+ setExpectedResponse(mock, responseData, 200);
+
+ api.faxLineList().then(response => {
+ const diff = diffJson(
+ response.body,
+ m.FaxLineListResponse.init(responseData),
+ );
+
+ expect(response.body.constructor.name).toBe(responseClass);
+ expect(diff).toBeFalsy();
+ }).catch(error => {
+ throw new Error('Should not have thrown error: ' + error);
+ });
+ });
+});
diff --git a/sdks/php/test/Api/FaxApiTest.php b/sdks/php/test/Api/FaxApiTest.php
new file mode 100644
index 000000000..fe40e1e45
--- /dev/null
+++ b/sdks/php/test/Api/FaxApiTest.php
@@ -0,0 +1,90 @@
+client = new GuzzleHttp\Client([
+ 'handler' => GuzzleHttp\HandlerStack::create($this->handler),
+ ]);
+
+ $this->api = new Api\FaxApi(
+ Configuration::getDefaultConfiguration(),
+ $this->client,
+ );
+ }
+
+ public function testFaxSend()
+ {
+ $requestClass = Model\FaxSendRequest::class;
+ $requestData = TestUtils::getFixtureData($requestClass)['default'];
+
+ $responseClass = Model\FaxGetResponse::class;
+ $responseData = TestUtils::getFixtureData($responseClass)['default'];
+
+ $this->setExpectedResponse($responseData);
+
+ $obj = Model\FaxSendRequest::init(
+ $requestData
+ );
+ $obj->setFiles([
+ new SplFileObject(self::ROOT_FILE_PATH . '/pdf-sample.pdf'),
+ ]);
+
+ $response = $this->api->faxSend($obj);
+ $serialized = TestUtils::toArray($response);
+
+ $this->assertInstanceOf($responseClass, $response);
+ $this->assertEquals($responseData, $serialized);
+ $this->assertEquals($responseData, TestUtils::toArray($response));
+ }
+
+ public function testFaxList()
+ {
+ $responseClass = Model\FaxListResponse::class;
+ $responseData = TestUtils::getFixtureData($responseClass)['default'];
+
+ $this->setExpectedResponse($responseData);
+
+ $response = $this->api->faxList();
+ $serialized = TestUtils::toArray($response);
+
+ $this->assertInstanceOf($responseClass, $response);
+ $this->assertEquals($responseData, $serialized);
+ $this->assertEquals($responseData, TestUtils::toArray($response));
+ }
+
+ public function testFaxGet()
+ {
+ $faxId = 'c2e9691c85d9d6fa6ae773842e3680b2b8650f1d';
+
+ $responseClass = Model\FaxGetResponse::class;
+ $responseData = TestUtils::getFixtureData($responseClass)['default'];
+
+ $this->setExpectedResponse($responseData);
+
+ $response = $this->api->faxGet($faxId);
+ $serialized = TestUtils::toArray($response);
+
+ $this->assertInstanceOf($responseClass, $response);
+ $this->assertEquals($responseData, $serialized);
+ $this->assertEquals($responseData, TestUtils::toArray($response));
+ }
+}
diff --git a/sdks/php/test/Api/FaxLineApiTest.php b/sdks/php/test/Api/FaxLineApiTest.php
new file mode 100644
index 000000000..82e5b2fc7
--- /dev/null
+++ b/sdks/php/test/Api/FaxLineApiTest.php
@@ -0,0 +1,87 @@
+client = new GuzzleHttp\Client([
+ 'handler' => GuzzleHttp\HandlerStack::create($this->handler),
+ ]);
+
+ $this->api = new Api\FaxLineApi(
+ Configuration::getDefaultConfiguration(),
+ $this->client,
+ );
+ }
+
+ public function testFaxSend()
+ {
+ $requestClass = Model\FaxLineCreateRequest::class;
+ $requestData = TestUtils::getFixtureData($requestClass)['default'];
+
+ $responseClass = Model\FaxLineResponse::class;
+ $responseData = TestUtils::getFixtureData($responseClass)['default'];
+
+ $this->setExpectedResponse($responseData);
+
+ $obj = Model\FaxLineCreateRequest::init(
+ $requestData
+ );
+
+ $response = $this->api->faxLineCreate($obj);
+ $serialized = TestUtils::toArray($response);
+
+ $this->assertInstanceOf($responseClass, $response);
+ $this->assertEquals($responseData, $serialized);
+ $this->assertEquals($responseData, TestUtils::toArray($response));
+ }
+
+ public function testFaxLineList()
+ {
+ $responseClass = Model\FaxLineListResponse::class;
+ $responseData = TestUtils::getFixtureData($responseClass)['default'];
+
+ $this->setExpectedResponse($responseData);
+
+ $response = $this->api->faxLineList();
+ $serialized = TestUtils::toArray($response);
+
+ $this->assertInstanceOf($responseClass, $response);
+ $this->assertEquals($responseData, $serialized);
+ $this->assertEquals($responseData, TestUtils::toArray($response));
+ }
+
+ public function testFaxLineGet()
+ {
+ $faxLineNumber = '14155557897';
+
+ $responseClass = Model\FaxLineResponse::class;
+ $responseData = TestUtils::getFixtureData($responseClass)['default'];
+
+ $this->setExpectedResponse($responseData);
+
+ $response = $this->api->faxLineGet($faxLineNumber);
+ $serialized = TestUtils::toArray($response);
+
+ $this->assertInstanceOf($responseClass, $response);
+ $this->assertEquals($responseData, $serialized);
+ $this->assertEquals($responseData, TestUtils::toArray($response));
+ }
+}
diff --git a/sdks/python/tests/test_fax_api.py b/sdks/python/tests/test_fax_api.py
new file mode 100644
index 000000000..b97509b1c
--- /dev/null
+++ b/sdks/python/tests/test_fax_api.py
@@ -0,0 +1,71 @@
+import unittest
+
+from dropbox_sign import ApiClient, Configuration, apis, models as m
+from test_utils import get_fixture_data, MockPoolManager, get_base_path
+
+
+class TestFaxApi(unittest.TestCase):
+ def setUp(self):
+ self.configuration = Configuration()
+ self.api_client = ApiClient(self.configuration)
+ self.mock_pool = MockPoolManager(self)
+ self.api_client.rest_client.pool_manager = self.mock_pool
+
+ self.api = apis.FaxApi(self.api_client)
+
+ def test_fax_send(self):
+ request_class = "FaxSendRequest"
+ request_data = get_fixture_data(request_class)["default"]
+
+ response_class = "FaxGetResponse"
+ response_data = get_fixture_data(response_class)["default"]
+
+ self.mock_pool.expect_request(
+ content_type="multipart/form-data",
+ data=request_data,
+ response=response_data,
+ )
+ expected = m.FaxGetResponse.init(response_data)
+ obj = m.FaxSendRequest.init(request_data)
+ obj.files = [open(f"{get_base_path()}/pdf-sample.pdf", "rb")]
+
+ result = self.api.fax_send(obj)
+
+ self.assertEqual(result.__class__.__name__, response_class)
+ self.assertEqual(result, expected)
+
+ obj.files[0].close()
+
+ def test_fax_get(self):
+ fax_id = "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d"
+
+ response_class = "FaxGetResponse"
+ response_data = get_fixture_data(response_class)["default"]
+
+ self.mock_pool.expect_request(
+ content_type="application/json", response=response_data
+ )
+ expected = m.FaxGetResponse.init(response_data)
+
+ result = self.api.fax_get(fax_id)
+
+ self.assertEqual(result.__class__.__name__, response_class)
+ self.assertEqual(result, expected)
+
+ def test_fax_list(self):
+ response_class = "FaxListResponse"
+ response_data = get_fixture_data(response_class)["default"]
+
+ self.mock_pool.expect_request(
+ content_type="application/json", response=response_data
+ )
+ expected = m.FaxListResponse.init(response_data)
+
+ result = self.api.fax_list()
+
+ self.assertEqual(result.__class__.__name__, response_class)
+ self.assertEqual(result, expected)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/sdks/python/tests/test_fax_line_api.py b/sdks/python/tests/test_fax_line_api.py
new file mode 100644
index 000000000..569a08b76
--- /dev/null
+++ b/sdks/python/tests/test_fax_line_api.py
@@ -0,0 +1,68 @@
+import unittest
+
+from dropbox_sign import ApiClient, Configuration, apis, models as m
+from test_utils import get_fixture_data, MockPoolManager, get_base_path
+
+
+class TestFaxLineApi(unittest.TestCase):
+ def setUp(self):
+ self.configuration = Configuration()
+ self.api_client = ApiClient(self.configuration)
+ self.mock_pool = MockPoolManager(self)
+ self.api_client.rest_client.pool_manager = self.mock_pool
+
+ self.api = apis.FaxLineApi(self.api_client)
+
+ def test_fax_line_create(self):
+ request_class = "FaxLineCreateRequest"
+ request_data = get_fixture_data(request_class)["default"]
+
+ response_class = "FaxLineResponse"
+ response_data = get_fixture_data(response_class)["default"]
+
+ self.mock_pool.expect_request(
+ content_type="application/json", response=response_data
+ )
+
+ expected = m.FaxLineResponse.init(response_data)
+
+ result = self.api.fax_line_create(obj)
+
+ self.assertEqual(result.__class__.__name__, response_class)
+ self.assertEqual(result, expected)
+
+ obj.files[0].close()
+
+ def test_fax_line_get(self):
+ fax_line_number = "14155557897"
+
+ response_class = "FaxLineResponse"
+ response_data = get_fixture_data(response_class)["default"]
+
+ self.mock_pool.expect_request(
+ content_type="application/json", response=response_data
+ )
+ expected = m.FaxLineResponse.init(response_data)
+
+ result = self.api.fax_line_get(fax_line_number)
+
+ self.assertEqual(result.__class__.__name__, response_class)
+ self.assertEqual(result, expected)
+
+ def test_fax_line_list(self):
+ response_class = "FaxLineListResponse"
+ response_data = get_fixture_data(response_class)["default"]
+
+ self.mock_pool.expect_request(
+ content_type="application/json", response=response_data
+ )
+ expected = m.FaxLineListResponse.init(response_data)
+
+ result = self.api.fax_line_list()
+
+ self.assertEqual(result.__class__.__name__, response_class)
+ self.assertEqual(result, expected)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/sdks/ruby/spec/api/fax_api_spec.rb b/sdks/ruby/spec/api/fax_api_spec.rb
new file mode 100644
index 000000000..95e673a1e
--- /dev/null
+++ b/sdks/ruby/spec/api/fax_api_spec.rb
@@ -0,0 +1,69 @@
+=begin
+#Dropbox Sign API
+
+#Dropbox Sign v3 API
+
+The version of the OpenAPI document: 3.0.0
+Contact: apisupport@hellosign.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 5.3.0
+
+=end
+
+require 'spec_helper'
+require 'json_spec'
+require_relative '../test_utils'
+
+root_file_path = __dir__ + "/../../test_fixtures"
+
+describe Dropbox::Sign::FaxApi do
+ context 'FaxApiTest' do
+ api = Dropbox::Sign::FaxApi.new
+
+ it 'testFaxSend' do
+ request_class = 'FaxSendRequest'
+ request_data = get_fixture_data(request_class)[:default]
+
+ response_class = 'FaxGetResponse'
+ response_data = get_fixture_data(response_class)[:default]
+
+ set_expected_response(200, JSON.dump(response_data))
+ expected = Dropbox::Sign::FaxGetResponse.init(response_data)
+ obj = Dropbox::Sign::FaxSendRequest.init(request_data)
+ obj.files = [File.new("#{root_file_path}/pdf-sample.pdf", "r")]
+
+ result = api.fax_send(obj)
+
+ expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}")
+ expect(result.to_json).to be_json_eql(JSON.dump(expected))
+ end
+
+ it 'testFaxGet' do
+ signature_request_id = 'c2e9691c85d9d6fa6ae773842e3680b2b8650f1d'
+
+ response_class = 'FaxGetResponse'
+ response_data = get_fixture_data(response_class)[:default]
+
+ set_expected_response(200, JSON.dump(response_data))
+ expected = Dropbox::Sign::FaxGetResponse.init(response_data)
+
+ result = api.fax_get(signature_request_id)
+
+ expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}")
+ expect(result.to_json).to be_json_eql(JSON.dump(expected))
+ end
+
+ it 'testFaxList' do
+ response_class = 'FaxListResponse'
+ response_data = get_fixture_data(response_class)[:default]
+
+ set_expected_response(200, JSON.dump(response_data))
+ expected = Dropbox::Sign::FaxListResponse.init(response_data)
+
+ result = api.fax_list()
+
+ expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}")
+ expect(result.to_json).to be_json_eql(JSON.dump(expected))
+ end
+ end
+end
diff --git a/sdks/ruby/spec/api/fax_line_api_spec.rb b/sdks/ruby/spec/api/fax_line_api_spec.rb
new file mode 100644
index 000000000..a6a6edffc
--- /dev/null
+++ b/sdks/ruby/spec/api/fax_line_api_spec.rb
@@ -0,0 +1,67 @@
+=begin
+#Dropbox Sign API
+
+#Dropbox Sign v3 API
+
+The version of the OpenAPI document: 3.0.0
+Contact: apisupport@hellosign.com
+Generated by: https://openapi-generator.tech
+OpenAPI Generator version: 5.3.0
+
+=end
+
+require 'spec_helper'
+require 'json_spec'
+require_relative '../test_utils'
+
+root_file_path = __dir__ + "/../../test_fixtures"
+
+describe Dropbox::Sign::FaxApi do
+ context 'FaxLineApiTest' do
+ api = Dropbox::Sign::FaxLineApi.new
+
+ it 'testFaxLineCreate' do
+ request_class = 'FaxLineCreateRequest'
+ request_data = get_fixture_data(request_class)[:default]
+
+ response_class = 'FaxLineResponse'
+ response_data = get_fixture_data(response_class)[:default]
+
+ set_expected_response(200, JSON.dump(response_data))
+ expected = Dropbox::Sign::FaxLineResponse.init(response_data)
+
+ result = api.fax_line_create(request_data)
+
+ expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}")
+ expect(result.to_json).to be_json_eql(JSON.dump(expected))
+ end
+
+ it 'testFaxLineGet' do
+ fax_line_number = '14155557897'
+
+ response_class = 'FaxLineResponse'
+ response_data = get_fixture_data(response_class)[:default]
+
+ set_expected_response(200, JSON.dump(response_data))
+ expected = Dropbox::Sign::FaxLineResponse.init(response_data)
+
+ result = api.fax_line_get(fax_line_number)
+
+ expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}")
+ expect(result.to_json).to be_json_eql(JSON.dump(expected))
+ end
+
+ it 'testFaxLineList' do
+ response_class = 'FaxLineListResponse'
+ response_data = get_fixture_data(response_class)[:default]
+
+ set_expected_response(200, JSON.dump(response_data))
+ expected = Dropbox::Sign::FaxLineListResponse.init(response_data)
+
+ result = api.fax_line_list()
+
+ expect(result.class.to_s).to eq("Dropbox::Sign::#{response_class}")
+ expect(result.to_json).to be_json_eql(JSON.dump(expected))
+ end
+ end
+end
diff --git a/test_fixtures/FaxGetResponse.json b/test_fixtures/FaxGetResponse.json
index 2eda936be..0d668e0e3 100644
--- a/test_fixtures/FaxGetResponse.json
+++ b/test_fixtures/FaxGetResponse.json
@@ -20,12 +20,11 @@
"transmissions": [
{
"recipient": "recipient@dropboxsign.com",
- "sender": "me@dropboxsign.com",
"sent_at": 1723231831,
"status_code": "success"
}
],
- "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2",
+ "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2"
}
}
}
diff --git a/test_fixtures/FaxLineCreateRequest.json b/test_fixtures/FaxLineCreateRequest.json
new file mode 100644
index 000000000..91d11c8f8
--- /dev/null
+++ b/test_fixtures/FaxLineCreateRequest.json
@@ -0,0 +1,6 @@
+{
+ "default": {
+ "country": "US",
+ "area_code": 949
+ }
+}
diff --git a/test_fixtures/FaxLineListResponse.json b/test_fixtures/FaxLineListResponse.json
new file mode 100644
index 000000000..c241c1b93
--- /dev/null
+++ b/test_fixtures/FaxLineListResponse.json
@@ -0,0 +1,26 @@
+{
+ "default": {
+ "list_info": {
+ "num_pages": 1,
+ "num_results": 1,
+ "page": 1,
+ "page_size": 1
+ },
+ "fax_lines": [
+ {
+ "number": "14155557897",
+ "created_at": 1750196223,
+ "updated_at": 1750196223,
+ "accounts": [
+ {
+ "account_id": "a3367a4130f3624687ea7de6f09df951a44923dd",
+ "email_address": "me@dropboxsign.com",
+ "is_locked": false,
+ "is_paid_hs": false,
+ "is_paid_hf": true
+ }
+ ]
+ }
+ ]
+ }
+}
diff --git a/test_fixtures/FaxLineResponse.json b/test_fixtures/FaxLineResponse.json
new file mode 100644
index 000000000..3855a8a65
--- /dev/null
+++ b/test_fixtures/FaxLineResponse.json
@@ -0,0 +1,18 @@
+{
+ "default": {
+ "fax_line": {
+ "number": "14155557897",
+ "created_at": 1750196223,
+ "updated_at": 1750196223,
+ "accounts": [
+ {
+ "account_id": "a3367a4130f3624687ea7de6f09df951a44923dd",
+ "email_address": "me@dropboxsign.com",
+ "is_locked": false,
+ "is_paid_hs": false,
+ "is_paid_hf": true
+ }
+ ]
+ }
+ }
+}
diff --git a/test_fixtures/FaxListResponse.json b/test_fixtures/FaxListResponse.json
index a9ebf63cf..d0ce7feb6 100644
--- a/test_fixtures/FaxListResponse.json
+++ b/test_fixtures/FaxListResponse.json
@@ -27,12 +27,11 @@
"transmissions": [
{
"recipient": "recipient@dropboxsign.com",
- "sender": "me@dropboxsign.com",
"sent_at": 1723231831,
"status_code": "success"
}
],
- "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2",
+ "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2"
}
]
}
diff --git a/test_fixtures/FaxResponse.json b/test_fixtures/FaxResponse.json
new file mode 100644
index 000000000..32a44d568
--- /dev/null
+++ b/test_fixtures/FaxResponse.json
@@ -0,0 +1,24 @@
+{
+ "default": {
+ "fax": {
+ "fax_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d",
+ "title": "example title",
+ "original_title": "example original title",
+ "metadata": {},
+ "created_at": 1750105080,
+ "sender": "14155557068",
+ "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2",
+ "final_copy_uri": "/v3/transmission/final_copy/c2e9691c85d9d6fa6ae773842e3680b2b8650f1d",
+ "transmissions": [
+ {
+ "recipient": "18005550199",
+ "status_code": "transmitting"
+ }
+ ],
+ "transmission_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d",
+ "from": "14155557068",
+ "test_mode": false
+ }
+ }
+}
+
diff --git a/test_fixtures/FaxSendResponse.json b/test_fixtures/FaxSendResponse.json
deleted file mode 100644
index b651c7836..000000000
--- a/test_fixtures/FaxSendResponse.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "default": {
- "fax": {
- "fax_id": "c2e9691c85d9d6fa6ae773842e3680b2b8650f1d",
- "title": "example title",
- "original_title": "example original title",
- "subject": "example subject",
- "message": "example message",
- "metadata": [ ],
- "created_at": 1726774555,
- "sender": "me@dropboxsign.com",
- "transmissions": [],
- "files_url": "https://api.hellosign.com/v3/fax/files/2b388914e3ae3b738bd4e2ee2850c677e6dc53d2"
- }
- }
-}
From 78bfe89012b32e7311c5662930134ba45cdd46c6 Mon Sep 17 00:00:00 2001
From: Juan Treminio <50673996+jtreminio-dropbox@users.noreply.github.com>
Date: Tue, 24 Jun 2025 18:13:24 -0500
Subject: [PATCH 3/4] Bumps max domains from 2 to 10 for approved API Apps
(#495)
---
openapi-raw.yaml | 4 ++--
openapi-sdk.yaml | 4 ++--
openapi.yaml | 4 ++--
sdks/php/src/Model/ApiAppCreateRequest.php | 8 ++++----
sdks/php/src/Model/ApiAppUpdateRequest.php | 8 ++++----
.../dropbox_sign/models/api_app_create_request.py | 2 +-
.../dropbox_sign/models/api_app_update_request.py | 2 +-
.../lib/dropbox-sign/models/api_app_create_request.rb | 10 +++++-----
.../lib/dropbox-sign/models/api_app_update_request.rb | 10 +++++-----
9 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/openapi-raw.yaml b/openapi-raw.yaml
index 48c4321fb..fcbb4baa2 100644
--- a/openapi-raw.yaml
+++ b/openapi-raw.yaml
@@ -7697,7 +7697,7 @@ components:
type: array
items:
type: string
- maxItems: 2
+ maxItems: 10
minItems: 1
name:
description: '_t__ApiAppCreate::NAME'
@@ -7723,7 +7723,7 @@ components:
type: array
items:
type: string
- maxItems: 2
+ maxItems: 10
name:
description: '_t__ApiAppUpdate::NAME'
type: string
diff --git a/openapi-sdk.yaml b/openapi-sdk.yaml
index 72542c9b1..881f4e4da 100644
--- a/openapi-sdk.yaml
+++ b/openapi-sdk.yaml
@@ -7797,7 +7797,7 @@ components:
type: array
items:
type: string
- maxItems: 2
+ maxItems: 10
minItems: 1
name:
description: 'The name you want to assign to the ApiApp.'
@@ -7823,7 +7823,7 @@ components:
type: array
items:
type: string
- maxItems: 2
+ maxItems: 10
name:
description: 'The name you want to assign to the ApiApp.'
type: string
diff --git a/openapi.yaml b/openapi.yaml
index 819e4ec59..bb5851ebe 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -7797,7 +7797,7 @@ components:
type: array
items:
type: string
- maxItems: 2
+ maxItems: 10
minItems: 1
name:
description: 'The name you want to assign to the ApiApp.'
@@ -7823,7 +7823,7 @@ components:
type: array
items:
type: string
- maxItems: 2
+ maxItems: 10
name:
description: 'The name you want to assign to the ApiApp.'
type: string
diff --git a/sdks/php/src/Model/ApiAppCreateRequest.php b/sdks/php/src/Model/ApiAppCreateRequest.php
index c6d0cc9a9..39c1c9ace 100644
--- a/sdks/php/src/Model/ApiAppCreateRequest.php
+++ b/sdks/php/src/Model/ApiAppCreateRequest.php
@@ -329,8 +329,8 @@ public function listInvalidProperties()
if ($this->container['domains'] === null) {
$invalidProperties[] = "'domains' can't be null";
}
- if (count($this->container['domains']) > 2) {
- $invalidProperties[] = "invalid value for 'domains', number of items must be less than or equal to 2.";
+ if (count($this->container['domains']) > 10) {
+ $invalidProperties[] = "invalid value for 'domains', number of items must be less than or equal to 10.";
}
if (count($this->container['domains']) < 1) {
@@ -377,8 +377,8 @@ public function setDomains(array $domains)
throw new InvalidArgumentException('non-nullable domains cannot be null');
}
- if (count($domains) > 2) {
- throw new InvalidArgumentException('invalid value for $domains when calling ApiAppCreateRequest., number of items must be less than or equal to 2.');
+ if (count($domains) > 10) {
+ throw new InvalidArgumentException('invalid value for $domains when calling ApiAppCreateRequest., number of items must be less than or equal to 10.');
}
if (count($domains) < 1) {
throw new InvalidArgumentException('invalid length for $domains when calling ApiAppCreateRequest., number of items must be greater than or equal to 1.');
diff --git a/sdks/php/src/Model/ApiAppUpdateRequest.php b/sdks/php/src/Model/ApiAppUpdateRequest.php
index 323f28d52..54f0a8c4e 100644
--- a/sdks/php/src/Model/ApiAppUpdateRequest.php
+++ b/sdks/php/src/Model/ApiAppUpdateRequest.php
@@ -326,8 +326,8 @@ public function listInvalidProperties()
{
$invalidProperties = [];
- if (!is_null($this->container['domains']) && (count($this->container['domains']) > 2)) {
- $invalidProperties[] = "invalid value for 'domains', number of items must be less than or equal to 2.";
+ if (!is_null($this->container['domains']) && (count($this->container['domains']) > 10)) {
+ $invalidProperties[] = "invalid value for 'domains', number of items must be less than or equal to 10.";
}
return $invalidProperties;
@@ -421,8 +421,8 @@ public function setDomains(?array $domains)
throw new InvalidArgumentException('non-nullable domains cannot be null');
}
- if (count($domains) > 2) {
- throw new InvalidArgumentException('invalid value for $domains when calling ApiAppUpdateRequest., number of items must be less than or equal to 2.');
+ if (count($domains) > 10) {
+ throw new InvalidArgumentException('invalid value for $domains when calling ApiAppUpdateRequest., number of items must be less than or equal to 10.');
}
$this->container['domains'] = $domains;
diff --git a/sdks/python/dropbox_sign/models/api_app_create_request.py b/sdks/python/dropbox_sign/models/api_app_create_request.py
index 2e8e6a77b..788c74a23 100644
--- a/sdks/python/dropbox_sign/models/api_app_create_request.py
+++ b/sdks/python/dropbox_sign/models/api_app_create_request.py
@@ -36,7 +36,7 @@ class ApiAppCreateRequest(BaseModel):
ApiAppCreateRequest
""" # noqa: E501
- domains: Annotated[List[StrictStr], Field(min_length=1, max_length=2)] = Field(
+ domains: Annotated[List[StrictStr], Field(min_length=1, max_length=10)] = Field(
description="The domain names the ApiApp will be associated with."
)
name: StrictStr = Field(description="The name you want to assign to the ApiApp.")
diff --git a/sdks/python/dropbox_sign/models/api_app_update_request.py b/sdks/python/dropbox_sign/models/api_app_update_request.py
index 7e1f87206..7370a7e96 100644
--- a/sdks/python/dropbox_sign/models/api_app_update_request.py
+++ b/sdks/python/dropbox_sign/models/api_app_update_request.py
@@ -46,7 +46,7 @@ class ApiAppUpdateRequest(BaseModel):
default=None,
description="An image file to use as a custom logo in embedded contexts. (Only applies to some API plans)",
)
- domains: Optional[Annotated[List[StrictStr], Field(max_length=2)]] = Field(
+ domains: Optional[Annotated[List[StrictStr], Field(max_length=10)]] = Field(
default=None, description="The domain names the ApiApp will be associated with."
)
name: Optional[StrictStr] = Field(
diff --git a/sdks/ruby/lib/dropbox-sign/models/api_app_create_request.rb b/sdks/ruby/lib/dropbox-sign/models/api_app_create_request.rb
index f37d1a2fc..c9cf7bf08 100644
--- a/sdks/ruby/lib/dropbox-sign/models/api_app_create_request.rb
+++ b/sdks/ruby/lib/dropbox-sign/models/api_app_create_request.rb
@@ -165,8 +165,8 @@ def list_invalid_properties
invalid_properties.push('invalid value for "domains", domains cannot be nil.')
end
- if @domains.length > 2
- invalid_properties.push('invalid value for "domains", number of items must be less than or equal to 2.')
+ if @domains.length > 10
+ invalid_properties.push('invalid value for "domains", number of items must be less than or equal to 10.')
end
if @domains.length < 1
@@ -184,7 +184,7 @@ def list_invalid_properties
# @return true if the model is valid
def valid?
return false if @domains.nil?
- return false if @domains.length > 2
+ return false if @domains.length > 10
return false if @domains.length < 1
return false if @name.nil?
true
@@ -196,8 +196,8 @@ def domains=(domains)
if domains.nil?
fail ArgumentError, 'domains cannot be nil'
end
- if domains.length > 2
- fail ArgumentError, 'invalid value for "domains", number of items must be less than or equal to 2.'
+ if domains.length > 10
+ fail ArgumentError, 'invalid value for "domains", number of items must be less than or equal to 10.'
end
if domains.length < 1
diff --git a/sdks/ruby/lib/dropbox-sign/models/api_app_update_request.rb b/sdks/ruby/lib/dropbox-sign/models/api_app_update_request.rb
index 45b38ce82..4e04ba155 100644
--- a/sdks/ruby/lib/dropbox-sign/models/api_app_update_request.rb
+++ b/sdks/ruby/lib/dropbox-sign/models/api_app_update_request.rb
@@ -161,8 +161,8 @@ def initialize(attributes = {})
# @return Array for valid properties with the reasons
def list_invalid_properties
invalid_properties = Array.new
- if !@domains.nil? && @domains.length > 2
- invalid_properties.push('invalid value for "domains", number of items must be less than or equal to 2.')
+ if !@domains.nil? && @domains.length > 10
+ invalid_properties.push('invalid value for "domains", number of items must be less than or equal to 10.')
end
invalid_properties
@@ -171,15 +171,15 @@ def list_invalid_properties
# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
- return false if !@domains.nil? && @domains.length > 2
+ return false if !@domains.nil? && @domains.length > 10
true
end
# Custom attribute writer method with validation
# @param [Object] domains Value to be assigned
def domains=(domains)
- if domains.length > 2
- fail ArgumentError, 'invalid value for "domains", number of items must be less than or equal to 2.'
+ if domains.length > 10
+ fail ArgumentError, 'invalid value for "domains", number of items must be less than or equal to 10.'
end
@domains = domains
From b4b298a548c5a9b8af58b13fcd2662da339dfdd2 Mon Sep 17 00:00:00 2001
From: Juan Treminio <50673996+jtreminio-dropbox@users.noreply.github.com>
Date: Wed, 25 Jun 2025 12:30:10 -0500
Subject: [PATCH 4/4] Add sms_activity enum to Report endpoint (#497)
---
openapi-raw.yaml | 2 ++
openapi-sdk.yaml | 2 ++
openapi.yaml | 2 ++
sdks/dotnet/src/Dropbox.Sign/Model/ReportCreateRequest.cs | 8 +++++++-
sdks/dotnet/src/Dropbox.Sign/Model/ReportResponse.cs | 8 +++++++-
sdks/java-v1/docs/ReportCreateRequest.md | 1 +
sdks/java-v1/docs/ReportResponse.md | 1 +
.../java/com/dropbox/sign/model/ReportCreateRequest.java | 4 +++-
.../main/java/com/dropbox/sign/model/ReportResponse.java | 4 +++-
sdks/java-v2/docs/ReportCreateRequest.md | 1 +
sdks/java-v2/docs/ReportResponse.md | 1 +
.../java/com/dropbox/sign/model/ReportCreateRequest.java | 4 +++-
.../main/java/com/dropbox/sign/model/ReportResponse.java | 4 +++-
sdks/node/dist/api.js | 2 ++
sdks/node/model/reportCreateRequest.ts | 1 +
sdks/node/model/reportResponse.ts | 1 +
sdks/node/types/model/reportCreateRequest.d.ts | 3 ++-
sdks/node/types/model/reportResponse.d.ts | 3 ++-
sdks/php/src/Model/ReportCreateRequest.php | 2 ++
sdks/php/src/Model/ReportResponse.php | 2 ++
sdks/python/dropbox_sign/models/report_create_request.py | 4 ++--
sdks/python/dropbox_sign/models/report_response.py | 4 ++--
22 files changed, 52 insertions(+), 12 deletions(-)
diff --git a/openapi-raw.yaml b/openapi-raw.yaml
index fcbb4baa2..629c7a0ac 100644
--- a/openapi-raw.yaml
+++ b/openapi-raw.yaml
@@ -8021,6 +8021,7 @@ components:
enum:
- user_activity
- document_status
+ - sms_activity
maxItems: 2
minItems: 1
start_date:
@@ -11224,6 +11225,7 @@ components:
enum:
- user_activity
- document_status
+ - sms_activity
type: object
x-internal-class: true
SignatureRequestResponse:
diff --git a/openapi-sdk.yaml b/openapi-sdk.yaml
index 881f4e4da..f984d4de6 100644
--- a/openapi-sdk.yaml
+++ b/openapi-sdk.yaml
@@ -8135,6 +8135,7 @@ components:
enum:
- user_activity
- document_status
+ - sms_activity
maxItems: 2
minItems: 1
start_date:
@@ -11964,6 +11965,7 @@ components:
enum:
- user_activity
- document_status
+ - sms_activity
type: object
x-internal-class: true
SignatureRequestResponse:
diff --git a/openapi.yaml b/openapi.yaml
index bb5851ebe..ec703dbe0 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -8135,6 +8135,7 @@ components:
enum:
- user_activity
- document_status
+ - sms_activity
maxItems: 2
minItems: 1
start_date:
@@ -11942,6 +11943,7 @@ components:
enum:
- user_activity
- document_status
+ - sms_activity
type: object
x-internal-class: true
SignatureRequestResponse:
diff --git a/sdks/dotnet/src/Dropbox.Sign/Model/ReportCreateRequest.cs b/sdks/dotnet/src/Dropbox.Sign/Model/ReportCreateRequest.cs
index 0340546e1..8ae648930 100644
--- a/sdks/dotnet/src/Dropbox.Sign/Model/ReportCreateRequest.cs
+++ b/sdks/dotnet/src/Dropbox.Sign/Model/ReportCreateRequest.cs
@@ -49,7 +49,13 @@ public enum ReportTypeEnum
/// Enum DocumentStatus for value: document_status
///
[EnumMember(Value = "document_status")]
- DocumentStatus = 2
+ DocumentStatus = 2,
+
+ ///
+ /// Enum SmsActivity for value: sms_activity
+ ///
+ [EnumMember(Value = "sms_activity")]
+ SmsActivity = 3
}
///
diff --git a/sdks/dotnet/src/Dropbox.Sign/Model/ReportResponse.cs b/sdks/dotnet/src/Dropbox.Sign/Model/ReportResponse.cs
index 57c921854..bd63ab7fa 100644
--- a/sdks/dotnet/src/Dropbox.Sign/Model/ReportResponse.cs
+++ b/sdks/dotnet/src/Dropbox.Sign/Model/ReportResponse.cs
@@ -49,7 +49,13 @@ public enum ReportTypeEnum
/// Enum DocumentStatus for value: document_status
///
[EnumMember(Value = "document_status")]
- DocumentStatus = 2
+ DocumentStatus = 2,
+
+ ///
+ /// Enum SmsActivity for value: sms_activity
+ ///
+ [EnumMember(Value = "sms_activity")]
+ SmsActivity = 3
}
///
diff --git a/sdks/java-v1/docs/ReportCreateRequest.md b/sdks/java-v1/docs/ReportCreateRequest.md
index d2f4b67e2..78390304c 100644
--- a/sdks/java-v1/docs/ReportCreateRequest.md
+++ b/sdks/java-v1/docs/ReportCreateRequest.md
@@ -20,6 +20,7 @@
---- | -----
| USER_ACTIVITY | "user_activity" |
| DOCUMENT_STATUS | "document_status" |
+| SMS_ACTIVITY | "sms_activity" |
diff --git a/sdks/java-v1/docs/ReportResponse.md b/sdks/java-v1/docs/ReportResponse.md
index b48dde6f4..aa74d68e0 100644
--- a/sdks/java-v1/docs/ReportResponse.md
+++ b/sdks/java-v1/docs/ReportResponse.md
@@ -21,6 +21,7 @@ Contains information about the report request.
---- | -----
| USER_ACTIVITY | "user_activity" |
| DOCUMENT_STATUS | "document_status" |
+| SMS_ACTIVITY | "sms_activity" |
diff --git a/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java b/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java
index c5c3fd88f..38e625dc3 100644
--- a/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java
+++ b/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java
@@ -45,7 +45,9 @@ public class ReportCreateRequest {
public enum ReportTypeEnum {
USER_ACTIVITY(String.valueOf("user_activity")),
- DOCUMENT_STATUS(String.valueOf("document_status"));
+ DOCUMENT_STATUS(String.valueOf("document_status")),
+
+ SMS_ACTIVITY(String.valueOf("sms_activity"));
private String value;
diff --git a/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportResponse.java b/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportResponse.java
index 29d5b88cf..6d5079f54 100644
--- a/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportResponse.java
+++ b/sdks/java-v1/src/main/java/com/dropbox/sign/model/ReportResponse.java
@@ -52,7 +52,9 @@ public class ReportResponse {
public enum ReportTypeEnum {
USER_ACTIVITY(String.valueOf("user_activity")),
- DOCUMENT_STATUS(String.valueOf("document_status"));
+ DOCUMENT_STATUS(String.valueOf("document_status")),
+
+ SMS_ACTIVITY(String.valueOf("sms_activity"));
private String value;
diff --git a/sdks/java-v2/docs/ReportCreateRequest.md b/sdks/java-v2/docs/ReportCreateRequest.md
index d2f4b67e2..78390304c 100644
--- a/sdks/java-v2/docs/ReportCreateRequest.md
+++ b/sdks/java-v2/docs/ReportCreateRequest.md
@@ -20,6 +20,7 @@
---- | -----
| USER_ACTIVITY | "user_activity" |
| DOCUMENT_STATUS | "document_status" |
+| SMS_ACTIVITY | "sms_activity" |
diff --git a/sdks/java-v2/docs/ReportResponse.md b/sdks/java-v2/docs/ReportResponse.md
index b48dde6f4..aa74d68e0 100644
--- a/sdks/java-v2/docs/ReportResponse.md
+++ b/sdks/java-v2/docs/ReportResponse.md
@@ -21,6 +21,7 @@ Contains information about the report request.
---- | -----
| USER_ACTIVITY | "user_activity" |
| DOCUMENT_STATUS | "document_status" |
+| SMS_ACTIVITY | "sms_activity" |
diff --git a/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java b/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java
index e88dbb0e2..020326d82 100644
--- a/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java
+++ b/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportCreateRequest.java
@@ -52,7 +52,9 @@ public class ReportCreateRequest {
public enum ReportTypeEnum {
USER_ACTIVITY(String.valueOf("user_activity")),
- DOCUMENT_STATUS(String.valueOf("document_status"));
+ DOCUMENT_STATUS(String.valueOf("document_status")),
+
+ SMS_ACTIVITY(String.valueOf("sms_activity"));
private String value;
diff --git a/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportResponse.java b/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportResponse.java
index 35770fa6c..18b6f39a1 100644
--- a/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportResponse.java
+++ b/sdks/java-v2/src/main/java/com/dropbox/sign/model/ReportResponse.java
@@ -61,7 +61,9 @@ public class ReportResponse {
public enum ReportTypeEnum {
USER_ACTIVITY(String.valueOf("user_activity")),
- DOCUMENT_STATUS(String.valueOf("document_status"));
+ DOCUMENT_STATUS(String.valueOf("document_status")),
+
+ SMS_ACTIVITY(String.valueOf("sms_activity"));
private String value;
diff --git a/sdks/node/dist/api.js b/sdks/node/dist/api.js
index 943de1b8c..9876b2698 100644
--- a/sdks/node/dist/api.js
+++ b/sdks/node/dist/api.js
@@ -19239,6 +19239,7 @@ var ReportCreateRequest = class _ReportCreateRequest {
((ReportTypeEnum2) => {
ReportTypeEnum2["UserActivity"] = "user_activity";
ReportTypeEnum2["DocumentStatus"] = "document_status";
+ ReportTypeEnum2["SmsActivity"] = "sms_activity";
})(ReportTypeEnum = ReportCreateRequest2.ReportTypeEnum || (ReportCreateRequest2.ReportTypeEnum = {}));
})(ReportCreateRequest || (ReportCreateRequest = {}));
@@ -19312,6 +19313,7 @@ var ReportResponse = class _ReportResponse {
((ReportTypeEnum2) => {
ReportTypeEnum2["UserActivity"] = "user_activity";
ReportTypeEnum2["DocumentStatus"] = "document_status";
+ ReportTypeEnum2["SmsActivity"] = "sms_activity";
})(ReportTypeEnum = ReportResponse2.ReportTypeEnum || (ReportResponse2.ReportTypeEnum = {}));
})(ReportResponse || (ReportResponse = {}));
diff --git a/sdks/node/model/reportCreateRequest.ts b/sdks/node/model/reportCreateRequest.ts
index 48960ccc4..de074447a 100644
--- a/sdks/node/model/reportCreateRequest.ts
+++ b/sdks/node/model/reportCreateRequest.ts
@@ -72,5 +72,6 @@ export namespace ReportCreateRequest {
export enum ReportTypeEnum {
UserActivity = "user_activity",
DocumentStatus = "document_status",
+ SmsActivity = "sms_activity",
}
}
diff --git a/sdks/node/model/reportResponse.ts b/sdks/node/model/reportResponse.ts
index 589ded1ce..e47c0248f 100644
--- a/sdks/node/model/reportResponse.ts
+++ b/sdks/node/model/reportResponse.ts
@@ -84,5 +84,6 @@ export namespace ReportResponse {
export enum ReportTypeEnum {
UserActivity = "user_activity",
DocumentStatus = "document_status",
+ SmsActivity = "sms_activity",
}
}
diff --git a/sdks/node/types/model/reportCreateRequest.d.ts b/sdks/node/types/model/reportCreateRequest.d.ts
index 7ccc67a50..4bdd1f595 100644
--- a/sdks/node/types/model/reportCreateRequest.d.ts
+++ b/sdks/node/types/model/reportCreateRequest.d.ts
@@ -11,6 +11,7 @@ export declare class ReportCreateRequest {
export declare namespace ReportCreateRequest {
enum ReportTypeEnum {
UserActivity = "user_activity",
- DocumentStatus = "document_status"
+ DocumentStatus = "document_status",
+ SmsActivity = "sms_activity"
}
}
diff --git a/sdks/node/types/model/reportResponse.d.ts b/sdks/node/types/model/reportResponse.d.ts
index 88546b695..1490e79e9 100644
--- a/sdks/node/types/model/reportResponse.d.ts
+++ b/sdks/node/types/model/reportResponse.d.ts
@@ -12,6 +12,7 @@ export declare class ReportResponse {
export declare namespace ReportResponse {
enum ReportTypeEnum {
UserActivity = "user_activity",
- DocumentStatus = "document_status"
+ DocumentStatus = "document_status",
+ SmsActivity = "sms_activity"
}
}
diff --git a/sdks/php/src/Model/ReportCreateRequest.php b/sdks/php/src/Model/ReportCreateRequest.php
index f2aefab1b..58af6688d 100644
--- a/sdks/php/src/Model/ReportCreateRequest.php
+++ b/sdks/php/src/Model/ReportCreateRequest.php
@@ -234,6 +234,7 @@ public function getModelName()
public const REPORT_TYPE_USER_ACTIVITY = 'user_activity';
public const REPORT_TYPE_DOCUMENT_STATUS = 'document_status';
+ public const REPORT_TYPE_SMS_ACTIVITY = 'sms_activity';
/**
* Gets allowable values of the enum
@@ -245,6 +246,7 @@ public function getReportTypeAllowableValues()
return [
self::REPORT_TYPE_USER_ACTIVITY,
self::REPORT_TYPE_DOCUMENT_STATUS,
+ self::REPORT_TYPE_SMS_ACTIVITY,
];
}
diff --git a/sdks/php/src/Model/ReportResponse.php b/sdks/php/src/Model/ReportResponse.php
index 537eb9293..f64b92272 100644
--- a/sdks/php/src/Model/ReportResponse.php
+++ b/sdks/php/src/Model/ReportResponse.php
@@ -241,6 +241,7 @@ public function getModelName()
public const REPORT_TYPE_USER_ACTIVITY = 'user_activity';
public const REPORT_TYPE_DOCUMENT_STATUS = 'document_status';
+ public const REPORT_TYPE_SMS_ACTIVITY = 'sms_activity';
/**
* Gets allowable values of the enum
@@ -252,6 +253,7 @@ public function getReportTypeAllowableValues()
return [
self::REPORT_TYPE_USER_ACTIVITY,
self::REPORT_TYPE_DOCUMENT_STATUS,
+ self::REPORT_TYPE_SMS_ACTIVITY,
];
}
diff --git a/sdks/python/dropbox_sign/models/report_create_request.py b/sdks/python/dropbox_sign/models/report_create_request.py
index bdee2101e..9c4e3e1ff 100644
--- a/sdks/python/dropbox_sign/models/report_create_request.py
+++ b/sdks/python/dropbox_sign/models/report_create_request.py
@@ -48,9 +48,9 @@ class ReportCreateRequest(BaseModel):
def report_type_validate_enum(cls, value):
"""Validates the enum"""
for i in value:
- if i not in set(["user_activity", "document_status"]):
+ if i not in set(["user_activity", "document_status", "sms_activity"]):
raise ValueError(
- "each list item must be one of ('user_activity', 'document_status')"
+ "each list item must be one of ('user_activity', 'document_status', 'sms_activity')"
)
return value
diff --git a/sdks/python/dropbox_sign/models/report_response.py b/sdks/python/dropbox_sign/models/report_response.py
index f1fbe5148..176195da1 100644
--- a/sdks/python/dropbox_sign/models/report_response.py
+++ b/sdks/python/dropbox_sign/models/report_response.py
@@ -62,9 +62,9 @@ def report_type_validate_enum(cls, value):
return value
for i in value:
- if i not in set(["user_activity", "document_status"]):
+ if i not in set(["user_activity", "document_status", "sms_activity"]):
raise ValueError(
- "each list item must be one of ('user_activity', 'document_status')"
+ "each list item must be one of ('user_activity', 'document_status', 'sms_activity')"
)
return value