SlideShare a Scribd company logo
1 of 27
David Vilf and Phoebe Baxter
Scaling your API product strategy
Onfido - Confidential &
Proprietary
The Onfido API sits at the core of
our product offering
Onfido’s vision is to
“create an open
world where identity
is the key to access”
David Vilf
Product Manager - Client Experience
Onfido
Phoebe Baxter
Technical Writer - Client Experience
Onfido
Team mission
ATTRACT ACTIVATE INTEGRATE
🎯 Build a fast, robust and frictionless product experience that caters towards all core
customer integration needs and converts and retains customers at scale. From trials, to
integration all the way to long-term engagement.
💰 👩💻 😍
ENGAGE
Discussion topics
1 Concealed challenges when scaling your API product
2 Creativity, focus and communication as success ingredients
3 Insights into Onfido’s API governance strategy
Concealed challenges when
scaling your API product
“Every rose has its thorn”
The API is the product
API products come with clear advantages...
Scalability Flexibility Openness
…but rapid API product scaling also brings challenges!
How do you…?
Keep a rapid
cadence of shipping
software, without
breaking customer
integrations?
Evolve API design
while guaranteeing
API contract
reliability?
Avoid internal
bottlenecks and
maintain a high
standard of the
software you ship?
API v2
POST /v2/applicants/{applicant_id}/checks/
{
"type": "express",
"reports": [
{
"name": "document"
},
{
"name": "facial_similarity",
"variant": "standard"
}
]
}
OLD API v3
POST /v3/checks/
{
"applicant_id": "<APPLICANT_ID>",
"report_names": ["document","facial_similarity_photo"]
}
NEW
…but rapid API product scaling also brings challenges!
How do you…?
Keep a rapid
cadence of shipping
software, without
breaking customer
integrations?
Evolve API design
while guaranteeing
API contract
reliability?
Avoid internal
bottlenecks and
maintain a high
standard of the
software you ship?
…but rapid API product scaling also brings challenges!
How do you…?
Keep a rapid
cadence of shipping
software, without
breaking customer
integrations?
Evolve API design
while guaranteeing
API contract
reliability?
Avoid internal
bottlenecks and
maintain a high
standard of the
software you ship?
Embracing tradeoffs between reliability & speed
API
USERS
ONFIDO
TEAMS
API
VERSIONING
POLICY
● “Every changed / deleted / added
field should be versioned”
● Need for predictability & reliability
“I need to ship new features
that clients can start using
tomorrow!”
?
🏎
⚙️
Creativity, focus and
communication as success
ingredients
“Pushing the boundaries, find a better way”
“Commitment to no API schema changes of existing public API versions.”
Creative tailoring to customers’ release expectations
Backwards incompatible
changes
● Removing a feature of the API
● Renaming a resources, field,
method or enum value
● Changing the type of a field
Major (v4, v5..)
Backwards compatible
changes
● Adding new properties to the
responses from existing API
endpoints
● Adding new values to existing
properties in responses from
existing API endpoints
Minor (v4.1, v5.3..)
Independent features which
do not alter pre-existing logic
● New optional request
parameter
● New API endpoints
● New report
Current version (v3.1, v3.2)
Create focus by decoupling dependencies
Over-communicate, educate and install processes
🚂 Establish transparent release trains
🎨 Internal knowledge of API strategy and design
♻️ Internal ways of working (get “buy-in”)
📚 “If it’s not documented, it’s not done”
Scaling rapidly for 1,000s of customers and
millions of end-users
Insights into Onfido’s API
governance strategy
Transparent Communication
Public API versioning policy
Team
dependencies
Ways of working
wiki
Transparent Communication
Internal documentation
Team
responsibilities
API governance for
product teams
Infrastructure
changes
Technical
considerations
Versioning
infrastructure
Design
principles
API design best
practices
Content Management
API version specific documentation
Federated search
Version switcher
Driving Adoption
Release notes
Migration guides
Developer Tools
Onfido API version specific Postman Collections
Schemas > reports > report.yaml
type: object
required:
- name
properties:
id:
type: string
readOnly: true
description: The unique identifier for
the report. Read-only.
created_at:
type: string
readOnly: true
format: date-time
description: The date and time at which
the report was first initiated. Read-only.
....
Developer Tools OpenAPI specification
Schemas > reports > report.yaml
allOf:
- type: object
readOnly: true
properties:
id:
type: string
readOnly: true
description: The unique identifier for the
report. Read-only.
....
- anyOf:
- properties:
name:
enum: ['document',
'document_with_address_information',
'document_with_driving_licence_information']
breakdown:
$ref: document_breakdown.yaml
properties:
$ref: document_properties.yaml
....
Key takeaways
Key takeaways
Never underestimate transparency, communication & processes
⚖️ Acknowledge tradeoffs between internal and external stakeholders
Good execution of API governance is a product differentiator
Thank you
For any further questions, contact us under:
David Vilf - david.vilf@onfido.com
Phoebe Baxter - phoebe.baxter@onfido.com

More Related Content

More from Pronovix

Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designPronovix
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docsPronovix
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsPronovix
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyonePronovix
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?Pronovix
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsPronovix
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communitiesPronovix
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them AllPronovix
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperiencePronovix
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productPronovix
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatednessPronovix
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...Pronovix
 
APIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfacesAPIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfacesPronovix
 
How to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upHow to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upPronovix
 
Open sourcing Adyen’s API explorer
Open sourcing Adyen’s API explorerOpen sourcing Adyen’s API explorer
Open sourcing Adyen’s API explorerPronovix
 
Creating Interactive Docs with Postman
Creating Interactive Docs with PostmanCreating Interactive Docs with Postman
Creating Interactive Docs with PostmanPronovix
 
The Joy of Docs, or, Technical Writing for Developers and Engineers
The Joy of Docs, or, Technical Writing for Developers and EngineersThe Joy of Docs, or, Technical Writing for Developers and Engineers
The Joy of Docs, or, Technical Writing for Developers and EngineersPronovix
 
Measure and improve API references with use cases: challenges and best practice
Measure and improve API references with use cases: challenges and best practiceMeasure and improve API references with use cases: challenges and best practice
Measure and improve API references with use cases: challenges and best practicePronovix
 
Blood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookBlood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookPronovix
 
Leveraging API Docs and Tools at Mercedes-Benz /developers
Leveraging API Docs and Tools at Mercedes-Benz /developersLeveraging API Docs and Tools at Mercedes-Benz /developers
Leveraging API Docs and Tools at Mercedes-Benz /developersPronovix
 

More from Pronovix (20)

Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API design
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docs
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIs
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them All
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your product
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatedness
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...
 
APIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfacesAPIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfaces
 
How to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upHow to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground up
 
Open sourcing Adyen’s API explorer
Open sourcing Adyen’s API explorerOpen sourcing Adyen’s API explorer
Open sourcing Adyen’s API explorer
 
Creating Interactive Docs with Postman
Creating Interactive Docs with PostmanCreating Interactive Docs with Postman
Creating Interactive Docs with Postman
 
The Joy of Docs, or, Technical Writing for Developers and Engineers
The Joy of Docs, or, Technical Writing for Developers and EngineersThe Joy of Docs, or, Technical Writing for Developers and Engineers
The Joy of Docs, or, Technical Writing for Developers and Engineers
 
Measure and improve API references with use cases: challenges and best practice
Measure and improve API references with use cases: challenges and best practiceMeasure and improve API references with use cases: challenges and best practice
Measure and improve API references with use cases: challenges and best practice
 
Blood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookBlood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbook
 
Leveraging API Docs and Tools at Mercedes-Benz /developers
Leveraging API Docs and Tools at Mercedes-Benz /developersLeveraging API Docs and Tools at Mercedes-Benz /developers
Leveraging API Docs and Tools at Mercedes-Benz /developers
 

Recently uploaded

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

Scaling your API-first product strategy

  • 1. David Vilf and Phoebe Baxter Scaling your API product strategy
  • 2. Onfido - Confidential & Proprietary The Onfido API sits at the core of our product offering Onfido’s vision is to “create an open world where identity is the key to access”
  • 3. David Vilf Product Manager - Client Experience Onfido Phoebe Baxter Technical Writer - Client Experience Onfido
  • 4. Team mission ATTRACT ACTIVATE INTEGRATE 🎯 Build a fast, robust and frictionless product experience that caters towards all core customer integration needs and converts and retains customers at scale. From trials, to integration all the way to long-term engagement. 💰 👩💻 😍 ENGAGE
  • 5. Discussion topics 1 Concealed challenges when scaling your API product 2 Creativity, focus and communication as success ingredients 3 Insights into Onfido’s API governance strategy
  • 6. Concealed challenges when scaling your API product “Every rose has its thorn”
  • 7. The API is the product
  • 8. API products come with clear advantages... Scalability Flexibility Openness
  • 9. …but rapid API product scaling also brings challenges! How do you…? Keep a rapid cadence of shipping software, without breaking customer integrations? Evolve API design while guaranteeing API contract reliability? Avoid internal bottlenecks and maintain a high standard of the software you ship?
  • 10. API v2 POST /v2/applicants/{applicant_id}/checks/ { "type": "express", "reports": [ { "name": "document" }, { "name": "facial_similarity", "variant": "standard" } ] } OLD API v3 POST /v3/checks/ { "applicant_id": "<APPLICANT_ID>", "report_names": ["document","facial_similarity_photo"] } NEW
  • 11. …but rapid API product scaling also brings challenges! How do you…? Keep a rapid cadence of shipping software, without breaking customer integrations? Evolve API design while guaranteeing API contract reliability? Avoid internal bottlenecks and maintain a high standard of the software you ship?
  • 12. …but rapid API product scaling also brings challenges! How do you…? Keep a rapid cadence of shipping software, without breaking customer integrations? Evolve API design while guaranteeing API contract reliability? Avoid internal bottlenecks and maintain a high standard of the software you ship?
  • 13. Embracing tradeoffs between reliability & speed API USERS ONFIDO TEAMS API VERSIONING POLICY ● “Every changed / deleted / added field should be versioned” ● Need for predictability & reliability “I need to ship new features that clients can start using tomorrow!” ? 🏎 ⚙️
  • 14. Creativity, focus and communication as success ingredients “Pushing the boundaries, find a better way”
  • 15. “Commitment to no API schema changes of existing public API versions.” Creative tailoring to customers’ release expectations Backwards incompatible changes ● Removing a feature of the API ● Renaming a resources, field, method or enum value ● Changing the type of a field Major (v4, v5..) Backwards compatible changes ● Adding new properties to the responses from existing API endpoints ● Adding new values to existing properties in responses from existing API endpoints Minor (v4.1, v5.3..) Independent features which do not alter pre-existing logic ● New optional request parameter ● New API endpoints ● New report Current version (v3.1, v3.2)
  • 16. Create focus by decoupling dependencies
  • 17. Over-communicate, educate and install processes 🚂 Establish transparent release trains 🎨 Internal knowledge of API strategy and design ♻️ Internal ways of working (get “buy-in”) 📚 “If it’s not documented, it’s not done”
  • 18. Scaling rapidly for 1,000s of customers and millions of end-users Insights into Onfido’s API governance strategy
  • 20. Team dependencies Ways of working wiki Transparent Communication Internal documentation Team responsibilities API governance for product teams Infrastructure changes Technical considerations Versioning infrastructure Design principles API design best practices
  • 21. Content Management API version specific documentation Federated search Version switcher
  • 23. Developer Tools Onfido API version specific Postman Collections
  • 24. Schemas > reports > report.yaml type: object required: - name properties: id: type: string readOnly: true description: The unique identifier for the report. Read-only. created_at: type: string readOnly: true format: date-time description: The date and time at which the report was first initiated. Read-only. .... Developer Tools OpenAPI specification Schemas > reports > report.yaml allOf: - type: object readOnly: true properties: id: type: string readOnly: true description: The unique identifier for the report. Read-only. .... - anyOf: - properties: name: enum: ['document', 'document_with_address_information', 'document_with_driving_licence_information'] breakdown: $ref: document_breakdown.yaml properties: $ref: document_properties.yaml ....
  • 26. Key takeaways Never underestimate transparency, communication & processes ⚖️ Acknowledge tradeoffs between internal and external stakeholders Good execution of API governance is a product differentiator
  • 27. Thank you For any further questions, contact us under: David Vilf - david.vilf@onfido.com Phoebe Baxter - phoebe.baxter@onfido.com