Appearance
Send a request and read the response
When you send a request, Collapy fills in your variables and auth, makes the HTTP call and shows the result in the RESPONSE panel. Every send is also recorded in your workspace's execution history.
Send a request
Open a saved request and do one of these:
| Action | How |
|---|---|
| Send | Click Send, or press Ctrl+Enter (Cmd+Enter on macOS). |
| Send and copy the response | Press Ctrl+Shift+Enter (Cmd+Shift+Enter on macOS). When the response arrives, its body is copied to your clipboard and Copied Response appears. |
While the request is in flight, the button shows Sending... and you can't send it again until it finishes. The RESPONSE panel opens automatically.
Send uses what's currently in the editor, including changes you haven't saved yet. A new request has to be created with Create before you can send it.
Web app
Requests from the web app are sent through Collapy's cloud, so they count toward your organization's monthly cloud executions. See Usage and quotas.
Desktop app (coming soon)
Requests go straight from your computer and aren't blocked by the monthly quota or the per-minute limit. They're still recorded and currently show up in the Monthly cloud executions count. See Web and desktop.
Sending to a production environment
If the selected environment's type is Production, Collapy asks before sending. The Sending to Production dialog has:
- Don't ask again while this environment is selected — tick it to stop asking in this request tab while this environment is selected. Closing the tab resets it.
- Cancel — don't send.
- Send Anyway — send the request.
See Environments.
Missing variables
Before sending, Collapy checks that every {{variable}} in the request can be filled in. If something is missing, the request isn't sent, nothing is recorded, and an error message appears:
| Message | What to do |
|---|---|
Unresolved variables: name1, name2. Check that these variables exist in the "<environment>" environment. | Add the listed variables to the selected environment, or fix their spelling in the request. |
This request uses environment variables but no environment is selected. | Select an environment. |
Secret variables are filled in by Collapy's cloud at send time, so they don't block the check. See Variables and Secret variables.
The RESPONSE panel
Before anything has been sent, the panel shows No response yet. It always shows the latest response for the active request tab. If you switch to a tab that isn't a request, the last response stays visible.
At the top, a status bar shows Preparing... and then Sending request... while the request runs. When the response arrives, it shows the status code and text (for example 200 OK), how long the request took and the response size. If the request failed, it shows the error instead.
Below the status bar are these tabs:
| Tab | What it shows |
|---|---|
| Body | The response body. |
| Headers | Response headers, with a count. |
| Req Headers | The method and final URL that were sent, the request headers and the query parameters. |
| Req Body | The request body. For GET and DELETE it's shown but wasn't sent. Only shown when the request had a body. |
| Req Auth | The auth type that was used after inheritance, and its values. Only shown when auth was applied. |
| Profile | A timing breakdown of the request. |
| Info | Details about this execution. |
The Req tabs show the request after variables were filled in, so you can see what went out. Secret values aren't shown there — you see the {{name}} placeholder instead. Credentials typed into the auth or into headers such as Authorization show as <redacted>, but the request was sent with the real values. See Execution history.
Body
- JSON responses get Pretty and Raw buttons. Pretty indents the JSON; Raw shows it exactly as received.
- Press
Ctrl+F(Cmd+Fon macOS) or click the search button to find text in the body. If the request's Body tab is open too, pressingCtrl+Fagain moves the search between the response and the request body. - An empty response shows No response body.
Right-click anywhere in a JSON body for:
| Menu item | What it does |
|---|---|
| Copy | Copies the word or value under the cursor. |
| Copy value | Copies the JSON value under the cursor. Available for strings, numbers, booleans and null. |
| Copy path | Copies the path to that value, for example data.items[0].id. |
| Add to watchers | Adds the value to this request's watchers, so you can track it across sends. |
If a copied value contains one of your secret values, Collapy warns you with Copied — value contains a secret.
Watchers have their own panel: click Show watchers in the RESPONSE panel header to open them.
Profile
The Profile tab splits the request time into phases:
| Phase | What it covers |
|---|---|
| Preparation | Getting the request ready before connecting. |
| Connection | Looking up the host and opening the connection, including TLS. |
| Waiting (TTFB) | Sending the request and waiting for the first byte of the response. |
| Download | Receiving the response body. |
| Process | Reading the response and its headers. |
On the web app the times are measured from Collapy's cloud, where the request is actually made, not from your browser. Older executions show Phase breakdown not available.
Info
| Field | Meaning |
|---|---|
| Call ID | The execution's unique ID. |
| Status | Pending, Running, Completed or Failed. Completed means a response arrived — even a 404 or 500. Failed means no response arrived. |
| Duration | Total time in milliseconds. |
| Response Size | Size of the response body in bytes. |
| Called at | When the request was sent. |
| Called by | Who sent it. |
| Error | The error message, for failed executions. |
When a request fails
If no response arrives, the Body tab explains what went wrong. For common network problems you see a short hint, with Show details for the full error:
| Hint | What it usually means |
|---|---|
The server refused the connection on this port. | Nothing is listening at that address and port, or a firewall is blocking it. |
TLS handshake failed. The certificate may be invalid or expired. | The server's HTTPS certificate isn't trusted, has expired or doesn't match the host name. |
Network request failed. | Another network problem. Open Show details for the full error. |
Desktop app (coming soon)
The desktop app can also show these hints:
| Hint | What it usually means |
|---|---|
Hostname could not be resolved. Check the URL or your DNS settings. | The host name is misspelled or doesn't exist. |
Server didn't respond in time. Increase the timeout in Settings. | The server took too long. Check that it's up and responding. There's no timeout setting, despite what the hint says. |
In the web app, a misspelled or unknown host name shows Requests to metadata endpoints are not allowed instead (see below).
The web app can also report these errors from Collapy's cloud:
| Error | What it means |
|---|---|
Too many requests | You've sent about 60 requests in the last minute. Wait a moment and try again. See Web and desktop. |
Monthly execution quota exceeded | Your organization has used its cloud executions for this month. See Plans and limits. |
Requests to metadata endpoints are not allowed | The host points to a blocked internal address. This message currently also appears when the host name can't be found, so check the URL for typos. |
Invalid request format | Something in the request couldn't be read, such as malformed auth values. |
Web app
Requests are made from Collapy's cloud, not from your computer. APIs that only your computer or private network can reach — such as http://localhost:3000 or an internal company host — can't be reached from the web app. Very slow endpoints can also hit the cloud's time limit.
FAQ
Why does Req Headers not show my Authorization or Content-Type header?
Req Headers lists the headers from the request's Headers tab. Headers Collapy adds for you — from the Auth tab or the body type — aren't listed there. Check Req Auth for the auth that was used.
Can I send a request without saving it first?
Yes, as long as it has been created. Send uses your current edits.
