oasdiff breaking: catch Sume OpenAPI changes in CI
Commit a snapshot of the Sume OpenAPI spec and run oasdiff breaking against the live document in CI, so changes that break your client show up before release.

Short answer
Save a copy of the Sume OpenAPI document in your repository and run oasdiff breaking between that snapshot and the live spec in CI. The oasdiff README says the command shows only the changes that break existing API clients, and that specs can be local files, URLs, JSON or YAML. The Sume spec is a public route, GET /v1/openapi.json, so the check needs no API key.
Why compare specs at all
Your client code is generated from, or at least written against, a spec snapshot. When the live spec moves, you want to find out on a schedule, not from a production error. A diff that lists only breaking changes keeps the signal clean: a new optional field in a response is not a break for a client that ignores unknown fields, but a removed field or a newly required request parameter is.
Sume's docs call the live OpenAPI and the API reference the source of truth for request and response fields, and the TypeScript SDK's generated operations come from the same schema.
| Item | Where it comes from |
|---|---|
| Base spec | Your committed snapshot of the Sume OpenAPI document |
| Revision spec | The live document at https://api.sume.com/v1/openapi.json |
| Key needed | None; GET /v1/openapi.json is a public route |
| Command | oasdiff breaking base revision |
| Output | Only changes that break existing API clients |
The CI step
Fetch the live document, then diff. oasdiff also accepts URLs directly, so you can point the second argument at the live address, but downloading first gives you a file to attach as a build artifact when the check fails.
Run oasdiff breaking --help to see how to turn findings into a failing exit code for your pipeline; the README points to its customization docs for check configuration rather than listing every flag on the front page.
curl -sSf https://api.sume.com/v1/openapi.json -o live-openapi.json
oasdiff breaking openapi.snapshot.json live-openapi.json
What a green result does not tell you
A spec diff covers shape, not behavior. A change in how retries, limits or webhook delivery work will not appear there. Rate limits depend on the plan, and the read multiple is a deployment setting, so the response headers remain the authority. Keep your contract tests on real responses, and treat the spec diff as an early warning.
When the diff does report a break, update the snapshot in the same pull request as the client change, so the snapshot always describes the spec your code was written against. Schedule the job daily rather than only on pushes, since the service changes independently of your repository.
Scope the noise
Run the check on the paths you actually call. A spec that covers many products will produce findings for routes you never use, and a noisy check is a check people learn to ignore. Start with the routes in your integration, such as the generation submit, the jobs status and result routes, and the webhook-related account routes, and widen from there.
Sources
Related posts
More in Developers
- og:image width, height and alt tags for an AI image from Sume
Open Graph has optional og:image:width, og:image:height and og:image:alt. Read the real size from a Sume render with Pillow and print all three tags.
- One reference image on Seedance 2.5 is not a first frame
On /v1/videos, input_references steer a generation; frame_images pin frames. Send one image the wrong way and the clip does not start on your picture.
- One Python verifier for Sume job and run webhooks, routed on event
Job webhooks and run webhooks share one signing secret and one signature scheme, so one verify function plus a router on the event field covers both.
- One image set for Chrome Web Store and Edge Add-ons: sizes
Both stores list a 440 x 280 small tile and a 1400 x 560 marquee. Edge adds 640 x 480 and 1280 x 800 screenshots, so one Sume master set can serve both.
Written by Sume