bk api reads request bodies from stdin with --data -
Introduced 2026-09-27 · score 0.95
HOW TO USE IT
When a large JSON body exceeds command-line limits, use a CLI built with v3.58.0’s change and pipe the file to `bk api <endpoint> --data -`; supplying `--data` defaults the method to POST. [Release note](https://github.com/buildkite/cli/releases/tag/v3.58.0)
cat <body.json> | bk api <endpoint> --data -WHY THIS HELPS
Send a large JSON request body to a Buildkite API endpoint when it exceeds command-line limits.
BEFORE THIS CHANGE
Before the change, `bk api --data -` sent the literal JSON string `"-"`; released versions still require inline data.
REQUIREMENTS AND LIMITATIONS
- Version: v3.58.0
- Requires Install a CLI built from this change; released versions still require inline data.
- <endpoint> (required): API endpoint to call; required for this task. The command reference syntax marks it optional in general.
- --data (required): Data to send in the request body; `-` reads the data from stdin. Supplying `--data` defaults the request method to POST, as stated in the v3.58.0 release note.
- - (required): Value for `--data` that selects stdin as the request body source.
- Prerequisite: Install a CLI built with the v3.58.0 change; the release note says stdin input is available only in such a CLI.
- Prerequisite: The CLI requires configuration of a Buildkite API access token.
- Stdin input is available only after installing a CLI built from this change.
- Inline `--data` behavior remains unchanged.
FIRST-PARTY EVIDENCE
- https://github.com/buildkite/cli/releases/tag/v3.58.0
- https://github.com/buildkite/cli/pull/1001
- https://buildkite.com/docs/platform/cli/reference/api
- https://buildkite.com/docs/platform/cli/configuration
Check the installed version and the source before using it. Entry JSON