Skip to content
Back to Blog
Integration

What Is API Documentation?

Feb 17, 2025
SCSunny Chauhan
What Is API Documentation?

API documentation is the reference and guides that let a developer outside your company authenticate, call every operation and handle every failure without asking your team. For a SaaS company, a working first call is the easy part. The harder test is whether someone can build a native app on your docs alone, one that keeps running in hundreds of customer accounts through your next three releases.

That's the test your docs face once enterprise customers ask for an integration inside the CRM they already use. Their engineers read your docs, partners read them, and so does whoever builds your Salesforce or HubSpot app. Every gap they find turns into a support ticket repeated in each customer's account. An undocumented rate limit, for example, doesn't fail in testing. It fails the week your largest customer runs a backfill. Appnigma builds from API docs like these every week. "Build your product. We'll build the integrations," is how our done for you page puts it, with a named integration engineer and ongoing maintenance included. Our marketplace apps work puts "your product, inside Salesforce or HubSpot."

Updated October 2026. Checked against the OpenAPI Specification, the Diataxis framework, Postman's State of the API reports, HubSpot's listing requirements and Salesforce's developer docs. The earlier version called OpenAPI 3.1 the current version, dated the Swagger donation to 2016, quoted Postman figures we can't find in Postman's reports, and listed tool prices that have since changed. This update fixes those and adds which OpenAPI version Salesforce can import, what an integration builder checks in your docs, and the documentation marketplaces ask for.

Eight parts integration builders read first

API documentation usually covers eight parts, from authentication to a sandbox. Integration builders read them in a different order from first-time evaluators. They go to auth, errors and limits first, because those decide how much code the integration needs.

PartWhat it answersWhat an integration builder looks for
AuthenticationHow does a caller prove who it is?Whether each customer can connect through OAuth, or only through an API key pasted by an admin
ReferenceWhich operations exist, with which fields?Every field, type and enum, including the ones only some plans have
ErrorsWhat does each failure look like?A stable error code per case, and which errors are safe to retry
Rate limitsHow many calls, per what?Whether the limit is per customer account, per app or per token, and the response sent when it's hit
PaginationHow do large lists come back?Cursor or offset, the maximum page size, and whether order is stable
WebhooksHow does the API tell you something changed?Signature verification, retry schedule and whether events can arrive twice
Changelog and versioningWhat changed and when?A deprecation window in writing, so a release in a customer's app isn't broken by surprise
Sandbox or test accountWhere can you call it safely?Test accounts a partner can create without a sales call

Webhooks, versioning and test accounts are where most API docs are thin. They're also what an enterprise security or architecture review asks about before signing.

The four kinds of documentation, and which ones integrations need

The Diataxis framework names "four corresponding forms of documentation," per diataxis.fr. They are tutorials, how-to guides, technical reference and explanation. Most API companies pour effort into the tutorial, usually called a quickstart, because it's what evaluators see. Postman calls the speed of that first success time to first call, "the most important metric you'll need for a public API," in this post on time to first call.

An integration builder skips the quickstart and lives in the other three. They need reference complete enough to map every field, including the ones only some plans expose. They need how-to guides for the jobs a sync actually does, such as incremental fetches, backfills and secret rotation. And they need explanation of your data model and permission scopes, because that decides how the app maps your objects to Salesforce or HubSpot records. A strong quickstart with thin explanation wins the evaluation and then stalls the build.

API reference vs the OpenAPI specification

An API reference is the page people read, and the OpenAPI Specification is the YAML or JSON file that describes the same API for machines. The file is for machines, and for a SaaS API it's the more valuable of the two, because customers' platforms, SDK generators and integration builders consume the file directly. If the page and the file disagree, the file is what breaks.

Swagger is the old name. The spec's revision history records "Donation of Swagger 2.0 to the OpenAPI Initiative" on 31 December 2015, per the OpenAPI Specification v3.2.1, and the OpenAPI FAQ says it "became a separate project in 2016." Swagger now names SmartBear's tools, such as Swagger UI.

The latest OpenAPI release is 3.2.1, dated 10 September 2026. Version 3.2.0 came out on 19 September 2025, alongside patch 3.1.2, per the spec's revision history. Version 3.1 brought a real break from 3.0. Its Schema Object "is a superset of the JSON Schema Specification Draft 2020-12," per the 3.1.0 spec, and the OpenAPI-specific nullable keyword became redundant, per the 3.0 to 3.1 upgrade guide. Version 3.1 also added a top-level webhooks object for describing the events you send.

A minimal 3.0 description of one operation looks like this.

openapi: 3.0.3
info:
  title: Acme API
  version: "2026-10"
paths:
  /contacts:
    get:
      operationId: listContacts
      parameters:
        - name: cursor
          in: query
          schema:
            type: string
      responses:
        "200":
          description: A page of contacts
        "429":
          description: Rate limit reached. Retry after the Retry-After header.

Which OpenAPI version should a SaaS API publish?

Publish the newest version your own tooling supports, and also keep a 3.0.x copy. The reason is the platforms your customers use. Salesforce External Services, which turns an API description into actions admins can use in Flow and Apex, stores "the content of the OpenAPI 2.0.x or OpenAPI 3.0.x schema in JSON or YAML format," per the ExternalServiceRegistration reference (Winter '27). We found no Salesforce page that lists 3.1 or 3.2 for External Services. Data Cloud's Ingestion API has the same rule, "OpenAPI version 3.0.x is supported," per its schema requirements.

So a SaaS company that publishes only a 3.1 file has given its Salesforce customers a document they can't import directly. Someone has to convert it first, putting back the 3.0 nullable keyword wherever a type array allows null and dropping the webhooks section. Generating both files from one source in CI is usually a small job. Hand-converting for each customer isn't.

This matters even more when you ship a managed package. External Services registrations are packageable in both first- and second-generation managed packages and are updated during package upgrade, per Components Available in Second-Generation Managed Packages. The same page says "package developers must add named credential components to the External Services registration package." The registration's schemaUrl "must begin with "/" and be relative to the named credential endpoint," per the metadata reference. Your spec's server paths and your auth design therefore become part of the package. We cover the credential side in our named credentials guide.

Salesforce itself publishes a spec for part of its own API. Its sObjects REST API OpenAPI document "adheres to Version 3.0 of the OpenAPI Specification," and is a beta that Salesforce says not to build production integrations on, per Generating an OpenAPI 3.0 Document. HubSpot lists its OpenAPI spec files by API version in its developer docs index.

What an integration builder checks before building on your API

Whoever builds your native app, whether that's your team, a partner or Appnigma, works through the same questions before estimating. Each unanswered one becomes a call with your engineers or a guess that turns into a bug.

Start with how a customer connects. A marketplace app installs into many customer accounts, so the builder needs to know whether your API supports OAuth with per-customer tokens. If it only offers API keys, the setup screen has to ask an admin to paste a key, and someone has to document where that key lives. Next comes the limit model. A limit "per account" and a limit "per app across all accounts" call for very different sync designs once a few hundred customers install.

Then the change model. If you send webhooks, the docs need the signature scheme, the retry schedule and a statement on duplicates, so the app can deduplicate on an event ID. If you don't, the builder needs a reliable "updated since" filter, or every sync becomes a full scan. Our HubSpot webhooks guide shows what that looks like from the receiving side.

Last, the release model. A native app is versioned and installed, and customers upgrade on their own schedule. A field you rename without notice can break a version a customer installed months ago. A dated changelog and a written deprecation window are what let the app's maintainer plan releases.

Documentation the marketplaces ask for

The app marketplaces also review documentation. HubSpot's listing requirements ask for "a link to publicly available setup documentation specific to your HubSpot integration," per the App Marketplace listing requirements. Its setup guide rules say the guide must be "not hidden behind a paywall or sign-in screen" and must contain "the steps to install and configure the integration," per Create an app listing setup guide.

Salesforce's security review asks for similar material. Its required materials page says "we also ask for detailed solution user documentation and your company's information security policies," per Required Materials for Security Review Submission. If your app calls your own API, those endpoints need scanning too. "To scan external endpoints, use any Dynamic Application Security Test (DAST) scanner," per the scanner guidance. A clear list of every endpoint the app calls, taken straight from your spec, makes that scope easy to define. The practical lesson is to write the marketplace setup guide from the same source as your API docs. When the two are separate, reviewers and customers find the places where they disagree.

How to keep API documentation accurate

Docs go stale when they live apart from the code. The fix most API teams settle on is a single spec file kept in the same repository as the API, reviewed in the same pull request as the code change. Reference pages, SDKs and mock servers are generated from it on every merge. Tutorials, how-to guides and explanation stay hand-written in Markdown next to it, because no generator can write them.

Postman's surveys show why the discipline pays. In its 2024 report, "58% of developers rely on internal documentation, but 39% say inconsistent docs are the biggest roadblock," per the 2024 State of the API report. The same report says "good API documentation outranked performance or security" among factors in choosing an API.

Two checks catch most drift before it ships. First, run a contract test that calls a staging server and fails when a response doesn't match the spec. Second, keep every code sample in the docs as a runnable file that CI executes. A sample that no longer compiles fails the build instead of a customer's first try.

API documentation tools

Pick the spec workflow first and the tool second. Whatever renders your pages should read the same file your contract tests run against, or the docs drift again. Tools fall into renderers, hosted platforms that add guides and search, and SDK generators. Prices change often, so the table links each vendor's own page instead of quoting numbers.

ToolWhat it doesNotes
Swagger UIRenders an OpenAPI file as interactive docsOpen source, from SmartBear
RedoclyRenderer, linter and hosted portalOpen source Redoc plus paid plans
StoplightVisual spec editor and hosted docsOwned by SmartBear, paid plans only
MintlifyHosted docs-as-code platformFree starter plan, paid plans
ReadMeHosted developer hubFree starter plan, paid plans
PostmanAPI client with published collections as docsFree, Solo and Team plans
Bump.shHosted reference with change trackingPaid plans
OpenAPI GeneratorGenerates SDKs and server stubsOpen source, "50+ client generators"

For events and message-driven APIs, the equivalent of OpenAPI is AsyncAPI, "a project used to describe message-driven APIs in a machine-readable format," per the AsyncAPI specification.

Mistakes that break integrations after launch

These are the gaps that show up after an integration ships, when the docs stop matching what the API does.

  • Plan-gated fields documented as if every customer has them, so the app fails in accounts on lower plans.
  • Error responses that change shape between endpoints, so one retry handler can't cover them all.
  • A rate limit described in a sentence but not in a response header, so clients can only guess when to back off.
  • Webhook retries documented without saying events can repeat, so records get created twice.
  • Breaking changes shipped under the same version string, which breaks installed app versions nobody upgraded.
  • A spec published only in a version the customer's platform can't import.

Frequently Asked Questions

What is API documentation?

It's the reference, guides and machine-readable spec that let an outside developer build on an API without your team's help. For a SaaS API the test is whether a partner can ship a multi-customer integration from it, not just make one call.

What is the latest version of OpenAPI?

Version 3.2.1, dated 10 September 2026, is the latest release. Salesforce External Services still imports only OpenAPI 2.0.x or 3.0.x, so keep a 3.0.x copy if Salesforce customers will import your API.

Can Salesforce import an OpenAPI 3.1 file?

Not through External Services, which stores OpenAPI 2.0.x or 3.0.x schemas per its metadata reference. Generate a 3.0.x copy from the same source in CI and point Salesforce customers to that file.

What should API documentation include for integration partners?

Start with per-customer auth, every field and error code, and the rate limit model with its headers. Add pagination rules, webhook signatures and retries, a dated changelog with a deprecation window, and test accounts a partner can create alone.

Can Appnigma build our Salesforce or HubSpot integration from our API docs?

Yes. Our done for you team turns customer requests into working integrations against your API, with ongoing maintenance. For a listed app, marketplace apps covers the native app, listing preparation and review support.

Sources

  1. OpenAPI Initiative, OpenAPI Specification v3.2.1
  2. OpenAPI Initiative, OpenAPI Specification v3.1.0
  3. OpenAPI Initiative, Upgrading from OpenAPI 3.0 to 3.1
  4. OpenAPI Initiative, FAQ
  5. Diataxis, A systematic approach to technical documentation
  6. Postman, 2024 State of the API Report
  7. Postman Blog, The most important API metric is time to first call
  8. Salesforce Developers, Metadata API Developer Guide, ExternalServiceRegistration
  9. Salesforce Developers, Data Cloud Integration Guide, Requirements for Ingestion API Schema File
  10. Salesforce Developers, Second-Generation Managed Packaging Developer Guide, Components Available in Managed Packages
  11. Salesforce Developers, REST API Developer Guide, Generating an OpenAPI 3.0 Document for sObjects REST API (Beta)
  12. Salesforce Developers, ISVforce Guide, Required Materials for Security Review Submission
  13. Salesforce Developers, ISVforce Guide, Source Code Scanner on the Portal
  14. HubSpot Developers, App Marketplace listing requirements
  15. HubSpot Developers, Create an app listing setup guide
  16. HubSpot Developers, docs index with OpenAPI specs
  17. AsyncAPI Initiative, AsyncAPI Specification

All Blogs

Bring the customer requirements and your current setup. Get a clear scope and delivery timeline to take back to them.