The official wrapper for the Onfido API
Project description
Onfido Python Client Library
Version 1.3.1
The official wrapper for Onfido's API. Refer to the full API documentation for details of expected requests and responses for all resources.
This project supersedes the automatically generated api-python-client library (onfido
in PyPI).
Installation
pip install onfido-python
:warning: Having the old onfido
package installed at the same time will cause errors.
Getting started
Make API calls by using an instance of the Api
class and providing your API
token:
import onfido
api = onfido.Api("<YOUR_API_TOKEN>")
Regions
Set the region in the API instance using the base_url
parameter.
The library will use the default base URL (api.onfido.com) for the EU region, if no region is specified.
To specify the US region do:
from onfido.regions import Region
api = onfido.Api("<YOUR_API_TOKEN>", base_url=Region.US)
To specify the CA region do:
from onfido.regions import Region
api = onfido.Api("<YOUR_API_TOKEN>", base_url=Region.CA)
See https://documentation.onfido.com/#regions for supported regions.
Timeouts
You can optionally set a global timeout for all requests in the API constructor. This takes a floating number input and each whole integer increment corresponds to a second.
For example, to set a timeout of 1 second:
api = onfido.Api("<YOUR_API_TOKEN>", timeout=1)
The default value for timeout
is None
, meaning no timeout will be set on
the client side.
Response format
The Python library will return JSON requests directly from the API. Each request corresponds to a resource.
All resources share the same interface when making API calls. For example, use .create
to create a resource, .find
to find one, and .all
to fetch all resources.
For example, to create an applicant:
applicant_details = {
"first_name": "Jane",
"last_name": "Doe",
"dob": "1984-01-01",
"address": {
"street": "Second Street",
"town": "London",
"postcode": "S2 2DF",
"country": "GBR"
}
}
api.applicant.create(applicant_details)
{
"id": "<APPLICANT_ID>",
"created_at": "2019-10-09T16:52:42Z",
"sandbox": true,
"first_name": "Jane",
"last_name": "Doe",
"email": null,
"dob": "1990-01-01",
"delete_at": null,
"href": "/v3/applicants/<APPLICANT_ID>",
"id_numbers": [],
"address": {
"flat_number": null,
"building_number": null,
"building_name": null,
"street": "Second Street",
"sub_street": null,
"town": "London",
"state": null,
"postcode": "S2 2DF",
"country": "GBR",
"line1": null,
"line2": null,
"line3": null
}
}
See https://documentation.onfido.com/#request,-response-format for more information.
Resources
Resource information and code examples can be found at https://documentation.onfido.com/.
Error Handling
OnfidoServerError
is raised whenever Onfido returns a5xx
responseOnfidoRequestError
is raised whenever Onfido returns a4xx
responseOnfidoInvalidSignatureError
is raised whenever a signature from the header is not equal to the expected signature you compute for itOnfidoTimeoutError
is raised if a timeout occursOnfidoConnectionError
is raised whenever any other network error occursOnfidoUnknownError
is raised whenever something unexpected happens
Contributing
- Fork it ( https://github.com/onfido/onfido-python/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Run the tests (
poetry run pytest tests/test_my_new_feature.py
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for onfido_python-1.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8e74913921df158380c10bfde639fe65730ecb0a463379235082be4871b6ed5 |
|
MD5 | 2a0e3d4b4f034d2cb63da8f4fdd308f8 |
|
BLAKE2b-256 | 912c25607b01093ae4ec572cff2a76c4d4747f6f1fc4745fe9b36dc85e3534f0 |