Use cURL as a contract probe
cURL is the shortest route between documentation and the live HTTP contract. It is ideal for confirming a credential, isolating an SDK problem, or creating a minimal support reproduction. A successful command should make every important input visible without leaking a secret.
Run experiments against a harmless public fixture before a production URL. Change one field at a time and save the response status as well as the body. This produces a clearer diagnosis than repeatedly modifying an application integration.
Shell safety matters
Environment variables reduce accidental copying, but they are not a complete secret-management system. Avoid verbose output in shared logs, unset temporary values after use, and rely on CI secret injection in automation. Do not include signed preview tokens or private output URLs in tickets.
Quote JSON deliberately. Shell expansion, smart quotes, and copied line continuations can all change a request before it reaches the service.
From experiment to production
A cURL command does not provide job ownership, retry policy, rate control, storage, or access control. When a capture becomes a product feature, move the validated contract into a backend service or SDK and add those operational layers.
Continue with the authentication guide, then use error handling to decide which failures are safe to retry.