Case Study: DNA Match Inquiry API

API Development and Documentation

Architecting and documenting an API for secure transmission of DNA data between and it's Partner Network

The DNA Match Inquiry API allows partners to receive DNA data from members to help identify potential matches with their networks. I worked to architect the transmission system by which DNA information would be encrypted and sent to partners securely for results matching; providing detailed documentation for partners to follow. DNA Match Inquiry API Preview in a New Window

Project Details

Transmitting DNA data over the open internet via a self-service API is a daunting challenge, and one that I assisted with in terms of architecting a code-based solution for. The idea was simple - users could opt-in to share their DNA information securely with's partners in the hopes that doing so would broaden the possible results set, and lead to more matches (potentially finding long lost family members). Partners (once they have an API account) could self-register their API endpoints and immediately begin receiving data.

We settled on an authentication system for registering webhooks based on public and private API keys, using REST API endpoints with calculated signatures based on the private key and the request payload to ensure that the DNA data was going to the correct place. DNA data was encrypted using an OpenSSL AES-256-CTR cipher based on the private key, as an extra precaution against data being intercepted on-route. Being aware that processing DNA data takes time, we split the API endpoints to allow asynchronous response of results data using a predetermined user token when reporting back to

To make this as easy as possible to implement for the Partner developers, I setup documentation with full code samples for PHP, NodeJS, and plain HTTP requests. Internally I assisted the team with implementing the local code to encrypt the data prior to transmission; and to test the overall process. The end result was a straightforward and secure way for and it's Partner Network to share DNA data as requested by users, to help find missing family members. DNA Match Inquiry API
Katharine Wall

"Thank you Simon, this is wonderful! I showed this to Ancestry today and it could not have gone better. Thank you again immensely.”

Katharine Wall

Director @

Want to chat?

Have a project in mind? Feel free to get in touch to chat!

Get in Touch
  • PHP 7+

Have a project in mind?

I'd be happy to chat, and see if we'd be a good fit...