Skip to main content

The official wrapper for the Onfido API

Project description

Onfido Python Client Library

onfido-python on PyPI

Version 2.0.0

The official wrapper for Onfido's API. Refer to the full API documentation for details of expected requests and responses for all resources.

This version uses Onfido API v3.3. Refer to our API versioning guide for details of which client library versions use which versions of the API.

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 region parameter, which takes a value from the Region enum (currently Region.EU, Region.US or Region.CA).

For example, to specify the EU region:

import onfido
from onfido.regions import Region

api = onfido.Api("<YOUR_API_TOKEN>", region=Region.EU)

region does not take a default parameter. Failure to pass a correct region will raise an OnfidoRegionError.

See https://documentation.onfido.com/#regions for more information about our supported regions at a given time.

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.1/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 a 5xx response
  • OnfidoRequestError is raised whenever Onfido returns a 4xx response
  • OnfidoInvalidSignatureError is raised whenever a signature from the header is not equal to the expected signature you compute for it
  • OnfidoTimeoutError is raised if a timeout occurs
  • OnfidoConnectionError is raised whenever any other network error occurs
  • OnfidoUnknownError is raised whenever something unexpected happens

Contributing

  1. Fork it ( https://github.com/onfido/onfido-python/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Run the tests (poetry run pytest tests/test_my_new_feature.py)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onfido-python-2.2.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

onfido_python-2.2.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file onfido-python-2.2.0.tar.gz.

File metadata

  • Download URL: onfido-python-2.2.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for onfido-python-2.2.0.tar.gz
Algorithm Hash digest
SHA256 26f137b6cfd6bda5bfe1849318a7c23d855fec79572fd6689500a6f7bb25eebe
MD5 432c12bcb58204ab5fadef2e049838c7
BLAKE2b-256 e0118d8c46018c6f187e686d8a934e446e2197579cd0207dde3ee2d3fec10c9e

See more details on using hashes here.

File details

Details for the file onfido_python-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: onfido_python-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for onfido_python-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db4645d469d9cf4340b62fc2c722e96bf66ebae1ac37b7aedaaddab60028dde4
MD5 0bb40b66e62f2ba37fcfc39d67e24e4d
BLAKE2b-256 a103f3dbe895e73645bba1e77252493280037287a7fe88a206e23ad4f9a12b42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page