Table of Contents
- I: Introduction to REST APIs
- Course Overview
- What's new
- Workshop video recordings
- Workshop agenda, slides, activities
- Why I developed this course
- About the author
- Introduction to REST API documentation
- What is a REST API?
- Activity: Identify your goals
- Developer Documentation Trends: Survey Results
- II: Using an API like a developer
- Scenario for using a weather API
- Get authorization keys
- Submit requests through Postman
- curl intro and installation
- Make a curl call
- Understand curl more
- Activity: Use methods with curl
- Analyze the JSON response
- Inspect the JSON from the response payload
- Access and print a specific JSON value
- Dive into dot notation
- III: Documenting API endpoints
- A new endpoint to document
- API reference tutorial overview
- Step 1: Resource description
- Step 2: Endpoints and methods
- Step 3: Parameters
- Step 4: Request example
- Step 5: Response example and schema
- Putting it all together
- Activity: What's wrong with this API reference topic
- Activity: Evaluate API reference docs for core elements
- IV: OpenAPI spec and generated reference docs
- Overview of REST API specification formats
- Introduction to the OpenAPI specification
- Create an OpenAPI specification document using Stoplight Studio's visual editor
- Step-by-step OpenAPI tutorial
- OpenAPI tutorial using Swagger Editor and Swagger UI: Overview
- Working in YAML
- Step 1: The openapi object
- Step 2: The info object
- Step 3: The servers object
- Step 4: The paths object
- Step 5: The components object
- Step 6: security object
- Step 7: The tags object
- Step 8: The externalDocs object
- Activity: Create an OpenAPI specification document
- Swagger UI tutorial
- Stoplight: visual modeling tools for creating your spec
- SwaggerHub introduction and tutorial
- Redocly tutorial -- authoring and publishing API docs with Redocly's command-line tools
- Integrating Swagger UI with the rest of your docs
- Demos of OpenAPI outputs using different tools
- V: Testing API docs
- Overview of testing your docs
- Set up a test environment
- Test all instructions yourself
- Test your assumptions
- Activity: Test your project's documentation
- VI: Conceptual topics in API docs
- API conceptual topics overview
- API product overview
- API getting started
- API authentication and authorization
- API status and error codes
- API rate limiting and thresholds
- API quick reference
- API glossary
- API best practices
- Activity: Complete the SendGrid Getting Started tutorial
- Activity: Assess the conceptual content in your project
- VII: Code tutorials
- Common characteristics of code tutorials
- Why documenting code is so difficult
- What research tells us about documenting code
- Five strategies for documenting code
- Code samples
- Sample apps
- SDKs (software development kits)
- API design and usability
- Developer experience (DevX) usability
- VIII: Publishing API docs
- Overview for publishing API docs
- Survey of API doc sites
- Design patterns with API doc sites
- Docs-as-code tools
- More about Markdown
- Version control systems (e.g., Git)
- Following agile scrum with documentation projects
- Activity: Manage content in a GitHub wiki
- Activity: Use the GitHub Desktop Client
- Activity: Pull request workflows through GitHub
- Static site generators
- Hosting and deployment options
- Hybrid documentation systems
- Which tool to choose for API docs — my recommendations
- Jekyll and CloudCannon continuous deployment tutorial
- Case study: Switching tools to docs-as-code
- Tools FAQ
- IX: Thriving in the API doc space
- The job market for API technical writers
- How much code do you need to know?
- Best locations for API documentation jobs
- Activity: Find an Open-Source Project
- Activity: Create or fix an API reference documentation topic
- X: Native library APIs
- Overview of native library APIs
- Get the sample Java project
- Java crash course
- Activity: Generate a Javadoc from a sample project
- Javadoc tags
- Explore the Javadoc output
- Make edits to Javadoc tags
- Doxygen, a document generator mainly for C++
- Create non-ref docs with native library APIs
- XI: Processes and methodology
- DX content strategy with developer portals
- Processes for managing large documentation projects
- Processes for managing small documentation requests
- Processes for managing SDK releases
- Documentation kickoff meeting and product demo
- Processes for reviewing documentation
- Processes for maintaining existing documentation
- Processes for collecting feedback post-release
- Processes for external contributors
- Processes for changing internal doc culture
- XIII: Metrics and measurement
- Measuring progress against documentation quality goals
- First-level checklist for API documentation
- Second-level checklist for API documentation
- Quantifying your progress
- Templates for working with metrics
- XIV: API glossary and resources
- API Glossary
- Documenting GraphQL APIs
- More REST API activities
- Activity: Get event information using the Eventbrite API
- Activity: Retrieve a gallery using the Flickr API
- Activity: Get wind speed using the Aeris Weather API
- RAML tutorial
- API Blueprint tutorial
- API jeopardy answer key
- What's wrong with this topic answer key
- Menlo Park API workshop video recording
- Denver API workshop video recording
- API doc presentation video recordings