SingleKey
COVID-19 Notice: We continue to offer our Rent Guarantee and Tenant Report service uninterrupted during this time.
SingleKey Screening Api offers a fast, secure solution for landlords and property managers to screen applicants, providing full Equifax and background screening information in under 5 minutes.
For a sample of our report or to learn more about our services, see singlkey.com, or contact us at [email protected] and 1 (877) 978-1404To get started with credentials for our sandbox environment, contact us at [email protected]
SingleKey offers two easy ways to integrate our screening functionality into your flow:
Use our forms to collect your customer’s data.Your user can request a new screening from inside of your portal. This includes the abliity for your users to use both of our Screening Flows. Your server will requests a new screening from our API, which will return a unique link where your users can fill out their information and request a tenant screening. That unique form can be pre-populated with data that you provide in the intial request. After they are finished they will be redirected back you your portal. You will be notified by webhook after the screening is complete and you will be provided a link to the report. Payment can be authorized by your applicaiton or made directly by your user.
Provide your user’s data directly throught the APIWhen your user requests a tenant screening, your server will send a request to our API with all required data to initialte a screening. You will be returned a token that will allow you to fetch your report when it is finished. You will be notified by webhook after the screening is complete and you will be provided a link to the report. A payment method must be added to your account via the API payments method do activate this feature.
Requests are authenticated by Token Authentication. You will provide your token in the headers for all of your request:{“Authorization”: “Token <your_token>”}
All produciton requests are made to: https://platform.singlekey.comAll sandbox requests are made to: https://sandbox-v1.singlekey.com
A full list of fields which can be submitted can be found in this repository at /fields/availible_fields.json
Before making an embedded flow requests we require three pieces of information from you:redirect_url: A url to redirect your users back to your portal after they have finished requesting their tenant screening. request_notification_callback_url: A url for our webhook to notify you that one of your users has made a new request.complete_notification_callback_url: A url for our webhook to notify you that one of your users report is complete.
Optionally, you can also provide and image of your branding so that it can be include on our forms.
Required Json Fields: ‘ll_first_name‘: string – landlord’s first name ‘ll_last_name‘: string – landlord’s last name ‘ll_tel‘: string – landlord’s phone number ‘ll_email‘: string – landlord’s email
To initiate a screening, make a POST request to /screen/embedded_flow_request with the required authentication and information.Example:curl -i -H "Authorization: Token <your_token>" -H "Content-Type: application/json" --request POST <target_environment>/screen/embedded_flow_request --data '{"ll_first_name":"Example","external_customer_id":<your_id_for_user>, ...<required_data>... }'
curl -i -H "Authorization: Token <your_token>" -H "Content-Type: application/json" --request POST <target_environment>/screen/embedded_flow_request --data '{"ll_first_name":"Example","external_customer_id":<your_id_for_user>, ...<required_data>... }'
Response:{ "purchase_token": "434477952f8a46593abf7b133c385c98", "form_url": "http://localhost:8000/screen/request?purchase_token=434477952f8a46593abf7b133c385c98"}
{ "purchase_token": "434477952f8a46593abf7b133c385c98", "form_url": "http://localhost:8000/screen/request?purchase_token=434477952f8a46593abf7b133c385c98"}
To initiate a pure API screening, make a POST request to /api/request with the required authentication and information.Example:curl -i -H "Authorization: Token <your_token>" -H "Content-Type: application/json" --request POST <target_environment>/api/request --data '{"ll_first_name":"Example","external_customer_id":<your_id_for_user>, ...<required_data>... }'
curl -i -H "Authorization: Token <your_token>" -H "Content-Type: application/json" --request POST <target_environment>/api/request --data '{"ll_first_name":"Example","external_customer_id":<your_id_for_user>, ...<required_data>... }'
Response:{ "purchase_token": "434477952f8a46593abf7b133c385c98", "initiated": true}
{ "purchase_token": "434477952f8a46593abf7b133c385c98", "initiated": true}
Required Json Fields:‘ll_first_name‘: string – landlord’s first name‘ll_last_name‘: string – landlord’s last name‘ll_tel‘: string – landlord’s phone number‘ll_email‘: string – landlord’s email‘run_now‘: boolean – true to run the report immediately‘ten_first_name’: string – tenant’s first name‘ten_last_name’: string – tenant’s last name ‘ten_email’: string – tenant’s email‘ten_tel’: string – tenant’s phone number, format with dashes or brackets.‘ten_dob_day‘: integer – tenant’s date of birth day. 1 or 2 digits acceptable‘ten_dob_month’: integer – tenant’s date of birth month. 1 or 2 digits acceptable‘ten_dob_year’: integer – tenant’s date of birth year. 4 digits required‘ten_sin’: integer – tenant’s social insurance number. 9 digits required (Only reqired when screening an applicant who’s primary residence is in the US)‘ten_address‘: string – tenant’s current address !format! “street address, city, province two letter abbreviation, country” !This is important!. We use google address search to format all addresses for our automated application process.
After your report is complete, you will be notified by webhook that you can fetch your report using your authentication and the purchase_token you received as a response when you ordered the report. To fetch the report created through the embedded flow, make a GET request to /screen/embedded_flow_get_report/<purchase_token> with the required authentication.To fetch the report created through the pure api flow, make a GET request to /api/request/<purchase_token> with the required authentication.
Example:curl -i -H "Authorization: Token <your_token>" --request GET <target_environment>/screen/embedded_flow_request/<purchase_token>orcurl -i -H "Authorization: Token <your_token>" --request GET <target_environment>/api/request/<purchase_token>
curl -i -H "Authorization: Token <your_token>" --request GET <target_environment>/screen/embedded_flow_request/<purchase_token>
curl -i -H "Authorization: Token <your_token>" --request GET <target_environment>/api/request/<purchase_token>
Response:if in progress:{ "detail: 'Report creation in progress'}
{ "detail: 'Report creation in progress'}
if report is complete:{ "cost": Integer, "data created": Datetime String, "external_customer_id": String, "external_tenant_id": String, "credit_card_last_4": String, "landlord_has_tenant_info": Boolean, "report_url": String}
{ "cost": Integer, "data created": Datetime String, "external_customer_id": String, "external_tenant_id": String, "credit_card_last_4": String, "landlord_has_tenant_info": Boolean, "report_url": String}
You can tie a payment to your account using the by sending your credit card information to /api/paymentsExample:curl -i -H "Authorization: Token <your_token>" --request POST <target_environment>/api/payments
curl -i -H "Authorization: Token <your_token>" --request POST <target_environment>/api/payments
Response for accounts with authorized payments:{ "detail": "payment authorized", "card_details": { "brand": "Visa", "last4": "4242", "expiry": "2/2022" }}
{ "detail": "payment authorized", "card_details": { "brand": "Visa", "last4": "4242", "expiry": "2/2022" }}
When using our forms, users have two options for screening tenants. Please see /screenshots for examples:
Users fill out basic information about the tennat like name, email and phone number, and we send an applicaiton to the tenant so they can provide the rest of the information we requrie to run the background check, and additional optional information such as referencses and documents. Users can make the inclusion of certain information mandatory if they desire. The report is run immediately upon the tenant’s submission.
If a user has the required information and the tenant’s consent, they can run the report immeiately. Users can upload their consent document and the tenant’s id if available, and the report is run upon submission.
Powered by BetterDocs