SlideShare a Scribd company logo
Case study:
Integration and
automation create
delightful API docs
© 2019 IBM Corporation
API the Docs | Case Study: Integration and automation create delightful API docs
Agenda
Today, we’ll show how we generate from OpenAPI 2 or 3, Markdown,
and an SDK generator project.
We'll show our authoring environment and fast, automated build.
Finally, some bits about how we promote quality from up front
guidance to post-build dashboards.
2
© 2019 IBM Corporation
Who we are | IBM Cloud
Allen Dean
Senior Content Strategist, IBM
Watson Developer Experience
Jenifer Schlotfeldt
Content Experience Architect,
IBM Cloud
3
© 2019 IBM Corporation
Scope and strategy | Volume, scale, goals
Volume and scale
• IBM Cloud has over 190 services, and customers look for one place to find all the API Docs
available
Support developers and writers 
• Swagger 2.0 and now OpenAPI 3.0
• Creating non-method front matter and editing descriptions and examples
• Collaborative authoring with SMEs
Improve speed, quality, and compliance
• Decrease time from feature release to documentation and SDK support
• Avoid “copy-and-paste” and other errors from hand-written SDKs and API docs
• Improve and enforce the agreement among the API definition, the API docs, and the SDKs
4
© 2019 IBM Corporation
Metrics and Quality | Analytics and Dashboard
• Automated test cases reported on our Content Quality Dashboard
• since our latest initiative, we’ve seen over 1000% increase in usage
5
© 2019 IBM Corporation
DevOps | Develop. Validate. Build. Deliver.
OpenAPI Definition
Commit
Definition
SDK Tests
Publish via
Continuous
Delivery
Developer
Language SDKs
Validate
Definition
Generate
SDK
Generate
SDK Reference
Automated
Testing
Continuous IntegrationDevelopment Continuous Delivery
Jenkins
© 2019 IBM Corporation
ContentOps | Author. Build. Validate. Deliver.
OpenAPI Definition
Commit in GH
Enterprise
Publish via
Continuous
Delivery
Writer
Validate
Definition
Generate
API Doc
Validate
Markdown Automated
Testing
Continuous IntegrationAuthor Continuous Delivery
Jenkins
Front Matter
API Docs
SDK
Reference
© 2019 IBM Corporation
Authoring | Components
Markdown
• The front matter (non-method) content
• Manually create markdown with attributes (or generate from templates)
OpenAPI definition + extensions
• Generate request example syntax
• Enable or hide features and methods
JSON "blob" (from SDK generator)
• The SDK method info
• All the "middle pane" content for the SDKs
8
© 2019 IBM Corporation
Authoring | IBM Cloud common extensions
9
Property Type Description
x-sdk-exclude boolean
Exclude a method or property from the
SDKs
x-sdk-operations object
Language-specific request examples and
info
x-try-it-out-enabled boolean Display the "Try-it-out" feature
x-version-date string
Minor version constants for the SDK and
front matter content
x-watson-host string
Host value for the API if it doesn't follow
the standard
© 2019 IBM Corporation
Authoring | Front matter templates
10
## Versioning content (all)
This documentation describes the current version of {{serviceName}}, `{{swagger.info.x-version-date}}`.
In some cases, differences in earlier versions are noted in the descriptions of parameters and response
models.
{: tip}
## Authentication example (java)
{: java}
{: right}
```java
IamOptions options = new IamOptions.Builder()
.apiKey("{apikey}")
.build();
{{upperCamelCase sdkName}} {{camelCase sdkName}} = new {{upperCamelCase sdkName}}
({{#if swagger.info.x-version-date}}"{version}", {{/if}}options);
```
Specifies the language
and location to print in the UI
From config file From OpenAPI extension
From OpenAPI extension
From config file
© 2019 IBM Corporation
API reference output | Non-method information
11
Front matter (Markdown)
© 2019 IBM Corporation
Authoring | Request example
12
© 2019 IBM Corporation
API reference output | Organization, definition details, and examples
13
OpenAPI tag
OpenAPI description
OpenAPI summary
OpenAPI x-sdk-operation >
request examples > (lang)
OpenAPI enum
OpenAPI default
OpenAPI parameters
© 2019 IBM Corporation
Authoring | Response example
14
© 2019 IBM Corporation
API reference output | Responses
15
OpenAPI path > responses>
200 > examples
© 2019 IBM Corporation
Authoring | Request example
16
© 2019 IBM Corporation
API reference output | Content per programming language
17
© 2019 IBM Corporation
API reference output | Expanded parameter examples
18
A JSON string in a request
body -- provides detail that we
can't put easily into the right
hand pane
A response example detail that
has more than we can put in
the right hand pane
© 2019 IBM Corporation
Demo | Then, the magic happens…
19
© 2019 IBM Corporation
Resources | Docs and projects
• IBM Cloud API docs: https://cloud.ibm.com/apidocs
• OpenAPI validator: https://github.com/IBM/openapi-validator
• API guidelines: https://github.com/watson-developer-cloud/api-guidelines
• Watson SDKs: https://github.com/watson-developer-cloud/
• Guidelines for SDK compatibility: http://watson-developer-cloud.github.io/api-guidelines/sdk-
compatibility
20
Case Study: Integration Automation Create Delightful API Docs

More Related Content

What's hot (20)

PDF
GitHub as a Landing Page
Pronovix
 
PDF
Lessons learned: Choosing your documentation system
Pronovix
 
PPTX
Tools and techniques for APIs
Jason Harmon
 
PDF
Advancing Your API Strategy in an Infrastructure World
Pronovix
 
PDF
The Inverted Funnel of API Documentation
Pronovix
 
PPTX
API Conference 2021
José Haro Peralta
 
PPTX
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
NaveedAhmad239
 
PPTX
API-first development
Vasco Veloso
 
PDF
apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole ...
apidays
 
PPTX
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
Vincent Biret
 
PPTX
SPSCasablanca - SPFx Deployment
Yannick Borghmans
 
PDF
E031202024029
ijceronline
 
PDF
A quick introduction to GraphQL
Ashokkumar T A
 
PPTX
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
 
PDF
AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE
Gavin Pickin
 
PDF
CI/CD Pipelines for Your Infrastructure...as Code!
Harvey Bendaña
 
PDF
[API World 2021 ] - Understanding Cloud Native Deployment
WSO2
 
PPTX
Azure Integration in Production with Logic Apps and more
BizTalk360
 
PPTX
Building Push Triggers for Logic Apps
BizTalk360
 
PPTX
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays
 
GitHub as a Landing Page
Pronovix
 
Lessons learned: Choosing your documentation system
Pronovix
 
Tools and techniques for APIs
Jason Harmon
 
Advancing Your API Strategy in an Infrastructure World
Pronovix
 
The Inverted Funnel of API Documentation
Pronovix
 
API Conference 2021
José Haro Peralta
 
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
NaveedAhmad239
 
API-first development
Vasco Veloso
 
apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole ...
apidays
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
Vincent Biret
 
SPSCasablanca - SPFx Deployment
Yannick Borghmans
 
E031202024029
ijceronline
 
A quick introduction to GraphQL
Ashokkumar T A
 
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
 
AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE
Gavin Pickin
 
CI/CD Pipelines for Your Infrastructure...as Code!
Harvey Bendaña
 
[API World 2021 ] - Understanding Cloud Native Deployment
WSO2
 
Azure Integration in Production with Logic Apps and more
BizTalk360
 
Building Push Triggers for Logic Apps
BizTalk360
 
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays
 

Similar to Case Study: Integration Automation Create Delightful API Docs (20)

PDF
CASCON 2017 - OpenAPI v3
Arthur De Magalhaes
 
PDF
Always up to date, testable and maintainable documentation with OpenAPI
GOG.com dev team
 
PDF
Exposing auto-generated Swagger 2.0 documents from Liberty!
Arthur De Magalhaes
 
PDF
Using IBM WebSphere Liberty and Swagger to Make your Services Accessible
Arthur De Magalhaes
 
PDF
Revolutionize the API Economy with IBM WebSphere Connect
Arthur De Magalhaes
 
PDF
Presentation at the 2016 Linux Foundation Collab Summit
Open API Initiative (OAI)
 
PPTX
SVQdotNET: Building APIs with OpenApi
Juan Luis Guerrero Minero
 
PDF
Moving into API documentation writing
Ellis Pratt
 
PDF
Building APIs with the OpenApi Spec
Pedro J. Molina
 
PPTX
dod-api-meetup-03262015-swagger-docs
John O'Brien III
 
ODP
Bp209
Ryan Baxter
 
PPTX
The Swagger Format becomes the Open API Specification: Standardizing descript...
3scale
 
PDF
Case Study: Putting The Watson Developer Cloud to Work - by Doron Katz & Luci...
Carlos Tomas
 
PDF
Streamlining API with Swagger.io
Victor Augusteo
 
PDF
Boost Your Content Strategy for REST APIs
Marta Rauch
 
PDF
Improving the software integration with the use of REST API
Ilya Beketov
 
PPTX
API Docs with OpenAPI 3.0
Fabrizio Ferri-Benedetti
 
PPTX
Scaling with swagger
Tony Tam
 
PPTX
Delivering Developer Tools at Scale
Oracle Developers
 
PPTX
What It Takes to Build API Integrations
Nordic APIs
 
CASCON 2017 - OpenAPI v3
Arthur De Magalhaes
 
Always up to date, testable and maintainable documentation with OpenAPI
GOG.com dev team
 
Exposing auto-generated Swagger 2.0 documents from Liberty!
Arthur De Magalhaes
 
Using IBM WebSphere Liberty and Swagger to Make your Services Accessible
Arthur De Magalhaes
 
Revolutionize the API Economy with IBM WebSphere Connect
Arthur De Magalhaes
 
Presentation at the 2016 Linux Foundation Collab Summit
Open API Initiative (OAI)
 
SVQdotNET: Building APIs with OpenApi
Juan Luis Guerrero Minero
 
Moving into API documentation writing
Ellis Pratt
 
Building APIs with the OpenApi Spec
Pedro J. Molina
 
dod-api-meetup-03262015-swagger-docs
John O'Brien III
 
The Swagger Format becomes the Open API Specification: Standardizing descript...
3scale
 
Case Study: Putting The Watson Developer Cloud to Work - by Doron Katz & Luci...
Carlos Tomas
 
Streamlining API with Swagger.io
Victor Augusteo
 
Boost Your Content Strategy for REST APIs
Marta Rauch
 
Improving the software integration with the use of REST API
Ilya Beketov
 
API Docs with OpenAPI 3.0
Fabrizio Ferri-Benedetti
 
Scaling with swagger
Tony Tam
 
Delivering Developer Tools at Scale
Oracle Developers
 
What It Takes to Build API Integrations
Nordic APIs
 
Ad

More from Pronovix (20)

PDF
By the time they're reading the docs, it's already too late
Pronovix
 
PPTX
Optimizing Dev Portals with Analytics and Feedback
Pronovix
 
PPTX
Success metrics when launching your first developer portal
Pronovix
 
PDF
Documentation, APIs & AI
Pronovix
 
PDF
Making sense of analytics for documentation pages
Pronovix
 
PPTX
Feedback cycles and their role in improving overall developer experiences
Pronovix
 
PDF
GraphQL Isn't An Excuse To Stop Writing Docs
Pronovix
 
PPTX
API Documentation For Web3
Pronovix
 
PDF
Why your API doesn’t solve my problem: A use case-driven API design
Pronovix
 
PDF
unREST among the docs
Pronovix
 
PDF
Developing a best-in-class deprecation policy for your APIs
Pronovix
 
PDF
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Pronovix
 
PDF
What do developers do when it comes to understanding and using APIs?
Pronovix
 
PDF
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Pronovix
 
PDF
Creating API documentation for international communities
Pronovix
 
PDF
One Developer Portal to Document Them All
Pronovix
 
PDF
Docs-as-Code: Evolving the API Documentation Experience
Pronovix
 
PDF
Developer journey - make it easy for devs to love your product
Pronovix
 
PPTX
Complexity is not complicatedness
Pronovix
 
PDF
How cognitive biases and ranking can foster an ineffective architecture and d...
Pronovix
 
By the time they're reading the docs, it's already too late
Pronovix
 
Optimizing Dev Portals with Analytics and Feedback
Pronovix
 
Success metrics when launching your first developer portal
Pronovix
 
Documentation, APIs & AI
Pronovix
 
Making sense of analytics for documentation pages
Pronovix
 
Feedback cycles and their role in improving overall developer experiences
Pronovix
 
GraphQL Isn't An Excuse To Stop Writing Docs
Pronovix
 
API Documentation For Web3
Pronovix
 
Why your API doesn’t solve my problem: A use case-driven API design
Pronovix
 
unREST among the docs
Pronovix
 
Developing a best-in-class deprecation policy for your APIs
Pronovix
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Pronovix
 
What do developers do when it comes to understanding and using APIs?
Pronovix
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Pronovix
 
Creating API documentation for international communities
Pronovix
 
One Developer Portal to Document Them All
Pronovix
 
Docs-as-Code: Evolving the API Documentation Experience
Pronovix
 
Developer journey - make it easy for devs to love your product
Pronovix
 
Complexity is not complicatedness
Pronovix
 
How cognitive biases and ranking can foster an ineffective architecture and d...
Pronovix
 
Ad

Recently uploaded (20)

PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 

Case Study: Integration Automation Create Delightful API Docs

  • 1. Case study: Integration and automation create delightful API docs
  • 2. © 2019 IBM Corporation API the Docs | Case Study: Integration and automation create delightful API docs Agenda Today, we’ll show how we generate from OpenAPI 2 or 3, Markdown, and an SDK generator project. We'll show our authoring environment and fast, automated build. Finally, some bits about how we promote quality from up front guidance to post-build dashboards. 2
  • 3. © 2019 IBM Corporation Who we are | IBM Cloud Allen Dean Senior Content Strategist, IBM Watson Developer Experience Jenifer Schlotfeldt Content Experience Architect, IBM Cloud 3
  • 4. © 2019 IBM Corporation Scope and strategy | Volume, scale, goals Volume and scale • IBM Cloud has over 190 services, and customers look for one place to find all the API Docs available Support developers and writers  • Swagger 2.0 and now OpenAPI 3.0 • Creating non-method front matter and editing descriptions and examples • Collaborative authoring with SMEs Improve speed, quality, and compliance • Decrease time from feature release to documentation and SDK support • Avoid “copy-and-paste” and other errors from hand-written SDKs and API docs • Improve and enforce the agreement among the API definition, the API docs, and the SDKs 4
  • 5. © 2019 IBM Corporation Metrics and Quality | Analytics and Dashboard • Automated test cases reported on our Content Quality Dashboard • since our latest initiative, we’ve seen over 1000% increase in usage 5
  • 6. © 2019 IBM Corporation DevOps | Develop. Validate. Build. Deliver. OpenAPI Definition Commit Definition SDK Tests Publish via Continuous Delivery Developer Language SDKs Validate Definition Generate SDK Generate SDK Reference Automated Testing Continuous IntegrationDevelopment Continuous Delivery Jenkins
  • 7. © 2019 IBM Corporation ContentOps | Author. Build. Validate. Deliver. OpenAPI Definition Commit in GH Enterprise Publish via Continuous Delivery Writer Validate Definition Generate API Doc Validate Markdown Automated Testing Continuous IntegrationAuthor Continuous Delivery Jenkins Front Matter API Docs SDK Reference
  • 8. © 2019 IBM Corporation Authoring | Components Markdown • The front matter (non-method) content • Manually create markdown with attributes (or generate from templates) OpenAPI definition + extensions • Generate request example syntax • Enable or hide features and methods JSON "blob" (from SDK generator) • The SDK method info • All the "middle pane" content for the SDKs 8
  • 9. © 2019 IBM Corporation Authoring | IBM Cloud common extensions 9 Property Type Description x-sdk-exclude boolean Exclude a method or property from the SDKs x-sdk-operations object Language-specific request examples and info x-try-it-out-enabled boolean Display the "Try-it-out" feature x-version-date string Minor version constants for the SDK and front matter content x-watson-host string Host value for the API if it doesn't follow the standard
  • 10. © 2019 IBM Corporation Authoring | Front matter templates 10 ## Versioning content (all) This documentation describes the current version of {{serviceName}}, `{{swagger.info.x-version-date}}`. In some cases, differences in earlier versions are noted in the descriptions of parameters and response models. {: tip} ## Authentication example (java) {: java} {: right} ```java IamOptions options = new IamOptions.Builder() .apiKey("{apikey}") .build(); {{upperCamelCase sdkName}} {{camelCase sdkName}} = new {{upperCamelCase sdkName}} ({{#if swagger.info.x-version-date}}"{version}", {{/if}}options); ``` Specifies the language and location to print in the UI From config file From OpenAPI extension From OpenAPI extension From config file
  • 11. © 2019 IBM Corporation API reference output | Non-method information 11 Front matter (Markdown)
  • 12. © 2019 IBM Corporation Authoring | Request example 12
  • 13. © 2019 IBM Corporation API reference output | Organization, definition details, and examples 13 OpenAPI tag OpenAPI description OpenAPI summary OpenAPI x-sdk-operation > request examples > (lang) OpenAPI enum OpenAPI default OpenAPI parameters
  • 14. © 2019 IBM Corporation Authoring | Response example 14
  • 15. © 2019 IBM Corporation API reference output | Responses 15 OpenAPI path > responses> 200 > examples
  • 16. © 2019 IBM Corporation Authoring | Request example 16
  • 17. © 2019 IBM Corporation API reference output | Content per programming language 17
  • 18. © 2019 IBM Corporation API reference output | Expanded parameter examples 18 A JSON string in a request body -- provides detail that we can't put easily into the right hand pane A response example detail that has more than we can put in the right hand pane
  • 19. © 2019 IBM Corporation Demo | Then, the magic happens… 19
  • 20. © 2019 IBM Corporation Resources | Docs and projects • IBM Cloud API docs: https://cloud.ibm.com/apidocs • OpenAPI validator: https://github.com/IBM/openapi-validator • API guidelines: https://github.com/watson-developer-cloud/api-guidelines • Watson SDKs: https://github.com/watson-developer-cloud/ • Guidelines for SDK compatibility: http://watson-developer-cloud.github.io/api-guidelines/sdk- compatibility 20