Repository navigation
Fix Cloud API mismatches found in a live deployment - #2
Merged
Merged
Conversation
- Add deleteApplication() — the API supports DELETE /applications/{id}
but the client never exposed it, leaving no way to tear down an app.
- waitForDeployment() now treats every stage-dotted failure (build.failed,
release.failed, ...) as terminal; previously a failed build polled until
the timeout.
- Config example used size slugs the API rejects (flex.g-1vcpu-512mb);
real slugs are flex-512mb etc. Also documents that Cloud auto-provisions
a default app instance per environment and only one app instance is
allowed — creating a second fails 422.
All verified against the live API (2026-07-14).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three fixes from wiring this SDK into a real end-to-end deployment (the Boop! badge service) and hitting the live API:
1.
deleteApplication()was missingThe client had delete methods for environments, instances, processes, domains, and database clusters — but not applications, so there was no way to tear down an app you created.
DELETE /applications/{id}works on the live API.2.
waitForDeployment()hung on build failuresThe API reports stage-dotted statuses:
build.failed,deployment.failed,deployment.succeeded, … The terminal-status check only knewdeployment.failed, so a failed build (verified live) polled until the timeout instead of returning. Any*.failedstatus is now terminal; intermediate stage successes (build.succeeded) keep polling.3. Config example used size slugs the API rejects
flex.g-1vcpu-512mb/flex.c-1vcpu-512mbaren't real — the live API reports slugs likeflex-512mb. Also documented a gotcha that produces a very misleading error: Cloud auto-provisions a default app instance ("App", flex-512mb) with every new environment, and creating a second app-type instance fails with 422 "The type value is invalid".Verification
deleteApplicationand thewaitForDeploymentstatus handling; suite: 19 passed, Pint clean🤖 Generated with Claude Code