Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sdks/python/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ docs/_build/
# PyBuilder
target/

#Ipython Notebook
# Ipython Notebook
.ipynb_checkpoints

.openapi-generator
Expand Down
12 changes: 6 additions & 6 deletions sdks/python/.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,6 @@ stages:
- pip install -r test-requirements.txt
- pytest --cov=dropbox_sign

pytest-3.8:
extends: .pytest
image: python:3.8-alpine
pytest-3.9:
extends: .pytest
image: python:3.9-alpine
pytest-3.10:
extends: .pytest
image: python:3.10-alpine
Expand All @@ -29,3 +23,9 @@ pytest-3.11:
pytest-3.12:
extends: .pytest
image: python:3.12-alpine
pytest-3.13:
extends: .pytest
image: python:3.13-alpine
pytest-3.14:
extends: .pytest
image: python:3.14-alpine
6 changes: 3 additions & 3 deletions sdks/python/.travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
# uncomment the following if needed
#- "3.12-dev" # 3.12 development branch
#- "3.14-dev" # 3.14 development branch
#- "nightly" # nightly build
# command to install dependencies
install:
Expand Down
16 changes: 14 additions & 2 deletions sdks/python/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
# dropbox-sign
Dropbox Sign v3 API

## Upgrading to 2.0.0

Version 2.0.0 is generated with OpenAPI Generator 7.26.0. Existing code keeps working, with these changes:

- **Python 3.10 or later is required.** Python 3.8 and 3.9 are no longer supported; pip keeps installing 1.x on those versions.
- **Dependencies:** `urllib3 >= 2.8.0` and `pydantic >= 2.11`.
- **Proxy settings are now detected automatically.** When `Configuration.proxy` is not set, the SDK uses the proxy configured in the environment (`HTTPS_PROXY`, `HTTP_PROXY`, `ALL_PROXY`) and, on macOS and Windows, the system proxy settings. Previously, a proxy was only used when set explicitly.
- To bypass the proxy for the Dropbox Sign API, set `NO_PROXY=hellosign.com` or `configuration.no_proxy = "hellosign.com"`. This covers both `api.hellosign.com` and `app.hellosign.com` (used by the OAuth endpoints).
- To ignore all proxy settings, set `configuration.proxy = None` after creating the `Configuration` and before creating the `ApiClient`. Passing `proxy=None` to the constructor does not disable detection.
- SOCKS proxies (for example `ALL_PROXY=socks5://...`) require `pip install "urllib3[socks]"`.
- Known limitations: the proxy decision is made once per `ApiClient` for the configured host, and macOS/Windows proxy exclusion lists and PAC files are not applied. If you rely on them, set `NO_PROXY` or `configuration.no_proxy` explicitly.
- **Behaviour changes:** `to_json()` now serializes datetimes, `to_dict()` keeps `None` items in lists, boolean query parameters are sent as `true` / `false`, and the `ApiException` message lists the response body and data separately.

## Migrating from legacy SDK

This SDK is generated from our officially maintained [OpenAPI spec](https://github.com/hellosign/hellosign-openapi/blob/main/openapi.yaml).
Expand Down Expand Up @@ -42,7 +55,7 @@ this command.

### Requirements.

Python 3.8+
Python 3.10+

### pip

Expand Down Expand Up @@ -406,4 +419,3 @@ This Python package is automatically generated by the [OpenAPI Generator](https:
- API version: 3.0.0
- Package version: 1.11-dev
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

2 changes: 1 addition & 1 deletion sdks/python/docs/ApiAppCreateRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Name | Type | Description | Notes
| `domains`<sup>*_required_</sup> | ```List[str]``` | The domain names the ApiApp will be associated with. | |
| `name`<sup>*_required_</sup> | ```str``` | The name you want to assign to the ApiApp. | |
| `callback_url` | ```str``` | The URL at which the ApiApp should receive event callbacks. | |
| `custom_logo_file` | ```io.IOBase``` | An image file to use as a custom logo in embedded contexts. (Only applies to some API plans) | |
| `custom_logo_file` | ```bytes``` | An image file to use as a custom logo in embedded contexts. (Only applies to some API plans) | |
| `oauth` | [```SubOAuth```](SubOAuth.md) | | |
| `options` | [```SubOptions```](SubOptions.md) | | |
| `white_labeling_options` | [```SubWhiteLabelingOptions```](SubWhiteLabelingOptions.md) | | |
Expand Down
2 changes: 1 addition & 1 deletion sdks/python/docs/ApiAppUpdateRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
| `callback_url` | ```str``` | The URL at which the API App should receive event callbacks. | |
| `custom_logo_file` | ```io.IOBase``` | An image file to use as a custom logo in embedded contexts. (Only applies to some API plans) | |
| `custom_logo_file` | ```bytes``` | An image file to use as a custom logo in embedded contexts. (Only applies to some API plans) | |
| `domains` | ```List[str]``` | The domain names the ApiApp will be associated with. | |
| `name` | ```str``` | The name you want to assign to the ApiApp. | |
| `oauth` | [```SubOAuth```](SubOAuth.md) | | |
Expand Down
2 changes: 1 addition & 1 deletion sdks/python/docs/DocumentFieldDetectionRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
| `detection_mode`<sup>*_required_</sup> | ```str``` | The field detection method to use. Set to `annotations` to detect PDF form annotations or `text_tags` to detect Dropbox Sign text tags. | |
| `file` | ```io.IOBase``` | The PDF file to analyze.<br><br>This endpoint requires either `file` or `file_url`, but not both. | |
| `file` | ```bytes``` | The PDF file to analyze.<br><br>This endpoint requires either `file` or `file_url`, but not both. | |
| `file_url` | ```str``` | The URL of the PDF file to analyze.<br><br>This endpoint requires either `file` or `file_url`, but not both. | |
| `page_range` | ```str``` | The zero-based page indexes to analyze. Accepts `all`, individual pages, inclusive ranges, or comma-separated combinations, such as `0-2,5,7-9`. Defaults to `all`. | |

Expand Down
4 changes: 2 additions & 2 deletions sdks/python/docs/FaxApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ void (empty response body)
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# ```fax_files```
> ```io.IOBase fax_files(fax_id)```
> ```bytes fax_files(fax_id)```

Download Fax Files

Expand Down Expand Up @@ -113,7 +113,7 @@ with ApiClient(configuration) as api_client:

### Return type

**io.IOBase**
**bytes**

### Authorization

Expand Down
2 changes: 1 addition & 1 deletion sdks/python/docs/FaxSendRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
| `recipient`<sup>*_required_</sup> | ```str``` | Recipient of the fax Can be a phone number in E.164 format or email address | |
| `sender` | ```str``` | Fax Send From Sender (used only with fax number) | |
| `files` | ```List[io.IOBase]``` | Use `files[]` to indicate the uploaded file(s) to fax<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `files` | ```List[bytes]``` | Use `files[]` to indicate the uploaded file(s) to fax<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `file_urls` | ```List[str]``` | Use `file_urls[]` to have Dropbox Fax download the file(s) to fax<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `test_mode` | ```bool``` | API Test Mode Setting | [default to False] |
| `cover_page_to` | ```str``` | Fax cover page recipient information | |
Expand Down
6 changes: 3 additions & 3 deletions sdks/python/docs/SignatureRequestApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -1078,7 +1078,7 @@ with ApiClient(configuration) as api_client:
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# ```signature_request_files```
> ```io.IOBase signature_request_files(signature_request_id)```
> ```bytes signature_request_files(signature_request_id)```

Download Files

Expand Down Expand Up @@ -1124,11 +1124,11 @@ with ApiClient(configuration) as api_client:
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| `signature_request_id` | **str** | The id of the SignatureRequest to retrieve. | |
| `file_type` | **str** | Set to `pdf` for a single merged document or `zip` for a collection of individual documents. | [optional][default to pdf] |
| `file_type` | **str** | Set to `pdf` for a single merged document or `zip` for a collection of individual documents. | [optional][default to &#39;pdf&#39;] |

### Return type

**io.IOBase**
**bytes**

### Authorization

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
| `template_ids`<sup>*_required_</sup> | ```List[str]``` | Use `template_ids` to create a SignatureRequest from one or more templates, in the order in which the template will be used. | |
| `client_id`<sup>*_required_</sup> | ```str``` | Client id of the app you&#39;re using to create this embedded signature request. Used for security purposes. | |
| `signer_file` | ```io.IOBase``` | `signer_file` is a CSV file defining values and options for signer fields. Required unless a `signer_list` is used, you may not use both. The CSV can have the following columns:<br><br>- `name`: the name of the signer filling the role of RoleName - `email_address`: email address of the signer filling the role of RoleName - `pin`: the 4- to 12-character access code that will secure this signer&#39;s signature page (optional) - `sms_phone_number`: An E.164 formatted phone number that will receive a code via SMS to access this signer&#39;s signature page. (optional)<br><br> By using the feature, you agree you are responsible for obtaining a signer&#39;s consent to receive text messages from Dropbox Sign related to this signature request and confirm you have obtained such consent from all signers prior to enabling SMS delivery for this signature request. [Learn more](https://faq.hellosign.com/hc/en-us/articles/15815316468877-Dropbox-Sign-SMS-tools-add-on).<br><br> **NOTE:** Not available in test mode and requires a Standard plan or higher. - `*_field`: any column with a _field&quot; suffix will be treated as a custom field (optional)<br><br> You may only specify field values here, any other options should be set in the custom_fields request parameter.<br><br>Example CSV:<br><br>``` name, email_address, pin, company_field George, george@example.com, d79a3td, ABC Corp Mary, mary@example.com, gd9as5b, 123 LLC ``` | |
| `signer_file` | ```bytes``` | `signer_file` is a CSV file defining values and options for signer fields. Required unless a `signer_list` is used, you may not use both. The CSV can have the following columns:<br><br>- `name`: the name of the signer filling the role of RoleName - `email_address`: email address of the signer filling the role of RoleName - `pin`: the 4- to 12-character access code that will secure this signer&#39;s signature page (optional) - `sms_phone_number`: An E.164 formatted phone number that will receive a code via SMS to access this signer&#39;s signature page. (optional)<br><br> By using the feature, you agree you are responsible for obtaining a signer&#39;s consent to receive text messages from Dropbox Sign related to this signature request and confirm you have obtained such consent from all signers prior to enabling SMS delivery for this signature request. [Learn more](https://faq.hellosign.com/hc/en-us/articles/15815316468877-Dropbox-Sign-SMS-tools-add-on).<br><br> **NOTE:** Not available in test mode and requires a Standard plan or higher. - `*_field`: any column with a _field&quot; suffix will be treated as a custom field (optional)<br><br> You may only specify field values here, any other options should be set in the custom_fields request parameter.<br><br>Example CSV:<br><br>``` name, email_address, pin, company_field George, george@example.com, d79a3td, ABC Corp Mary, mary@example.com, gd9as5b, 123 LLC ``` | |
| `signer_list` | [```List[SubBulkSignerList]```](SubBulkSignerList.md) | `signer_list` is an array defining values and options for signer fields. Required unless a `signer_file` is used, you may not use both. | |
| `allow_decline` | ```bool``` | Allows signers to decline to sign a document if `true`. Defaults to `false`. | [default to False] |
| `ccs` | [```List[SubCC]```](SubCC.md) | Add CC email recipients. Required when a CC role exists for the Template. | |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
| `template_ids`<sup>*_required_</sup> | ```List[str]``` | Use `template_ids` to create a SignatureRequest from one or more templates, in the order in which the template will be used. | |
| `signer_file` | ```io.IOBase``` | `signer_file` is a CSV file defining values and options for signer fields. Required unless a `signer_list` is used, you may not use both. The CSV can have the following columns:<br><br>- `name`: the name of the signer filling the role of RoleName - `email_address`: email address of the signer filling the role of RoleName - `pin`: the 4- to 12-character access code that will secure this signer&#39;s signature page (optional) - `sms_phone_number`: An E.164 formatted phone number that will receive a code via SMS to access this signer&#39;s signature page. (optional)<br><br> By using the feature, you agree you are responsible for obtaining a signer&#39;s consent to receive text messages from Dropbox Sign related to this signature request and confirm you have obtained such consent from all signers prior to enabling SMS delivery for this signature request. [Learn more](https://faq.hellosign.com/hc/en-us/articles/15815316468877-Dropbox-Sign-SMS-tools-add-on).<br><br> **NOTE:** Not available in test mode and requires a Standard plan or higher. - `*_field`: any column with a _field&quot; suffix will be treated as a custom field (optional)<br><br> You may only specify field values here, any other options should be set in the custom_fields request parameter.<br><br>Example CSV:<br><br>``` name, email_address, pin, company_field George, george@example.com, d79a3td, ABC Corp Mary, mary@example.com, gd9as5b, 123 LLC ``` | |
| `signer_file` | ```bytes``` | `signer_file` is a CSV file defining values and options for signer fields. Required unless a `signer_list` is used, you may not use both. The CSV can have the following columns:<br><br>- `name`: the name of the signer filling the role of RoleName - `email_address`: email address of the signer filling the role of RoleName - `pin`: the 4- to 12-character access code that will secure this signer&#39;s signature page (optional) - `sms_phone_number`: An E.164 formatted phone number that will receive a code via SMS to access this signer&#39;s signature page. (optional)<br><br> By using the feature, you agree you are responsible for obtaining a signer&#39;s consent to receive text messages from Dropbox Sign related to this signature request and confirm you have obtained such consent from all signers prior to enabling SMS delivery for this signature request. [Learn more](https://faq.hellosign.com/hc/en-us/articles/15815316468877-Dropbox-Sign-SMS-tools-add-on).<br><br> **NOTE:** Not available in test mode and requires a Standard plan or higher. - `*_field`: any column with a _field&quot; suffix will be treated as a custom field (optional)<br><br> You may only specify field values here, any other options should be set in the custom_fields request parameter.<br><br>Example CSV:<br><br>``` name, email_address, pin, company_field George, george@example.com, d79a3td, ABC Corp Mary, mary@example.com, gd9as5b, 123 LLC ``` | |
| `signer_list` | [```List[SubBulkSignerList]```](SubBulkSignerList.md) | `signer_list` is an array defining values and options for signer fields. Required unless a `signer_file` is used, you may not use both. | |
| `allow_decline` | ```bool``` | Allows signers to decline to sign a document if `true`. Defaults to `false`. | [default to False] |
| `ccs` | [```List[SubCC]```](SubCC.md) | Add CC email recipients. Required when a CC role exists for the Template. | |
Expand Down
2 changes: 1 addition & 1 deletion sdks/python/docs/SignatureRequestCreateEmbeddedRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
| `client_id`<sup>*_required_</sup> | ```str``` | Client id of the app you&#39;re using to create this embedded signature request. Used for security purposes. | |
| `files` | ```List[io.IOBase]``` | Use `files[]` to indicate the uploaded file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `files` | ```List[bytes]``` | Use `files[]` to indicate the uploaded file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `file_urls` | ```List[str]``` | Use `file_urls[]` to have Dropbox Sign download the file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `signers` | [```List[SubSignatureRequestSigner]```](SubSignatureRequestSigner.md) | Add Signers to your Signature Request.<br><br>This endpoint requires either **signers** or **grouped_signers**, but not both. | |
| `grouped_signers` | [```List[SubSignatureRequestGroupedSigners]```](SubSignatureRequestGroupedSigners.md) | Add Grouped Signers to your Signature Request.<br><br>This endpoint requires either **signers** or **grouped_signers**, but not both. | |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Name | Type | Description | Notes
| `allow_decline` | ```bool``` | Allows signers to decline to sign a document if `true`. Defaults to `false`. | [default to False] |
| `ccs` | [```List[SubCC]```](SubCC.md) | Add CC email recipients. Required when a CC role exists for the Template. | |
| `custom_fields` | [```List[SubCustomField]```](SubCustomField.md) | An array defining values and options for custom fields. Required when a custom field exists in the Template. | |
| `files` | ```List[io.IOBase]``` | Use `files[]` to indicate the uploaded file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `files` | ```List[bytes]``` | Use `files[]` to indicate the uploaded file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `file_urls` | ```List[str]``` | Use `file_urls[]` to have Dropbox Sign download the file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `message` | ```str``` | The custom message in the email that will be sent to the signers. | |
| `metadata` | ```Dict[str, object]``` | Key-value data that should be attached to the signature request. This metadata is included in all API responses and events involving the signature request. For example, use the metadata field to store a signer&#39;s order number for look up when receiving events for the signature request.<br><br>Each request can include up to 10 metadata keys (or 50 nested metadata keys), with key names up to 40 characters long and values up to 1000 characters long. | |
Expand Down
2 changes: 1 addition & 1 deletion sdks/python/docs/SignatureRequestEditEmbeddedRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
| `client_id`<sup>*_required_</sup> | ```str``` | Client id of the app you&#39;re using to create this embedded signature request. Used for security purposes. | |
| `files` | ```List[io.IOBase]``` | Use `files[]` to indicate the uploaded file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `files` | ```List[bytes]``` | Use `files[]` to indicate the uploaded file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `file_urls` | ```List[str]``` | Use `file_urls[]` to have Dropbox Sign download the file(s) to send for signature.<br><br>This endpoint requires either **files** or **file_urls[]**, but not both. | |
| `signers` | [```List[SubSignatureRequestSigner]```](SubSignatureRequestSigner.md) | Add Signers to your Signature Request.<br><br>This endpoint requires either **signers** or **grouped_signers**, but not both. | |
| `grouped_signers` | [```List[SubSignatureRequestGroupedSigners]```](SubSignatureRequestGroupedSigners.md) | Add Grouped Signers to your Signature Request.<br><br>This endpoint requires either **signers** or **grouped_signers**, but not both. | |
Expand Down
Loading
Loading