Skip to main content
Help Center API Reference

Sync an API reference spec from CI

Pushes a new OpenAPI 3 spec for one API reference version. Call it from your CI after the spec changes.

POST
/v2/help_center/api_specs/{specId}/sync

Body

  • The OpenAPI document itself (Content-Type: application/json, for example curl --data @openapi.json), or
  • YAML text (Content-Type: application/yaml), or
  • { "url": "https://…/openapi.json" }: Featurebase fetches the URL once (https only).

The spec can be up to 50 MB. Swagger 2.0 is rejected: convert it to OpenAPI 3 first.

Result

The request returns 202 with a syncId. The spec is processed in the background and becomes a draft that an admin reviews and publishes. When "Auto-publish CI pushes" is on for the version, the draft is published at once, unless more than 20% of the endpoints were removed or the servers or security schemes changed. The first import is always a draft.

Limits

60 syncs per hour per version and 120 per hour per API key. Every call is in the audit log (API key, time, source, result).

Authentication

Use an organization API key from the dashboard. OAuth tokens cannot call this endpoint.

Authorizationstringheaderrequired

API key as Bearer token. Use: Authorization: Bearer sk_...

specIdstringrequired

The API reference version to sync. Shown in the editor (API / CI tab).

Example: 66f7d0c1a2b3c4d5e6f70812
Featurebase-Versionenum<string>header

API version for this request. Defaults to your organization's configured API version if not specified.

Available options: 2026-08-19.orbit, 2026-01-01.nova, 2025-12-12.clover
Example: 2026-08-19.orbit

Body

application/json

The whole OpenAPI 3 document (JSON).

Response

application/json

Success

autoPublishbooleanrequired

True when the version has "Auto-publish CI pushes" on. The draft is then published at once, unless more than 20% of the endpoints were removed or the servers changed.

sha256stringrequired

SHA-256 of the stored spec bytes.

statusenum<string>required
Available options: queued
successenum<boolean>required
Available options: true
syncIdstringrequired

Id of this sync. It is in the audit log.

Example: 0f7c3a1e-8d1b-4a53-9a51-3f7a1c9e2b4d