Create Your First Collection
A collection is a named folder for your API requests. Instead of rebuilding a request every time you need it, you save it once and open it with a single click.
Collections can hold any number of requests and folders, so you can structure them to match your API — for example, one folder for Users, one for Orders, one for Auth. Folders can be nested as deeply as you need.
This guide walks through creating a collection, adding requests, and organising them with folders.
Creating a Collection
- In the sidebar, make sure the Collections icon is selected (the first icon in the rail on the far left).
- Click the + button at the top of the Collections panel.
- A dialog appears — type a name for your collection (for example,
JSONPlaceholder API) and press Enter or click Create.
Your new collection appears in the sidebar. It is empty for now.
Adding a Request to the Collection
There are two ways to add a request.
Option A — From a new request tab
- Click the + button in the tab bar or the sidebar rail to open a new blank request.
- Build your request — set the method, URL, headers, body, and auth.
- Press
Cmd S(macOS) /Ctrl S(Windows) or click More ▾ → Save. - A save dialog appears with two fields:
- Request name — type a descriptive name like
Get all posts. - Save to — choose your collection from the tree picker. To save to the collection root (not inside a folder), click the collection name. To save inside a folder, expand the collection and click the folder.
- Request name — type a descriptive name like
- Click Save.
Option B — Directly inside the collection
- Right-click your collection in the sidebar.
- Choose Add Request.
- A new request tab opens, pre-assigned to that collection. Configure it and press
Cmd S/Ctrl Sto save.
Opening and Running Saved Requests
Click any request in the sidebar to open it in a new tab. All its settings — method, URL, headers, body, auth, and scripts — are exactly as you left them.
Click Send (or press Cmd Enter / Ctrl Enter) to run it.
Organising with Folders
For collections with more than a handful of requests, folders help you find things quickly. A common pattern is one folder per resource type:
JSONPlaceholder API
├── Posts
│ ├── Get all posts
│ ├── Get single post
│ ├── Create post
│ ├── Update post
│ └── Delete post
├── Comments
│ ├── Get all comments
│ └── Get comments for post
└── Users
├── Get all users
└── Get user by ID
Creating a Folder
- Right-click your collection (or an existing folder) in the sidebar.
- Choose New Folder.
- Type a name and press Enter.
Moving Requests into a Folder
If you already have requests at the collection root and want to move them into a folder:
- Right-click the request.
- Choose Move to….
- Pick the destination folder from the tree.
Or save a new request directly into a folder using the save dialog's tree picker.
Editing a Collection
Renaming
Right-click any collection, folder, or request and choose Rename. You can also double-click the name in the sidebar to edit it inline.
Duplicating a Request
Right-click a request and choose Duplicate. A copy appears in the same collection with the same settings — useful when two endpoints are similar and you want to start from an existing configuration.
Deleting
Right-click any item and choose Delete. Deleting a folder removes all requests inside it. Deleting a collection removes everything inside it. These actions are permanent.
Pinning a Collection to the Top
If you have many collections and one that you use constantly, right-click it and choose Add to Favorites. Favorited collections are pinned to the top of the sidebar list for quick access.
Collection Variables
Each collection can hold its own set of variables — values that are shared across all requests inside it but are not part of any environment.
This is useful for things that are specific to one API: a fixed apiVersion, a shared clientId, or a base path that never changes.
To add collection variables:
- Click the collection name in the sidebar to open the collection details.
- Go to the Variables tab.
- Add key-value pairs as needed.
Use them in requests with {{variableName}} — the same syntax as environment variables.
Variable precedence: If the same variable name exists in both the environment and the collection, the environment value takes priority. See variable scope for the full resolution order.
Setting Auth on the Whole Collection
Rather than configuring authentication on every individual request, you can set it once on the collection and have all requests inherit it automatically.
- Click the collection name in the sidebar to open the collection details.
- Go to the Auth tab.
- Configure your authentication (Basic, Bearer, OAuth 2.0, etc.) here.
- Make sure each request inside is set to Auth → Inherit.
When you need to rotate a token or update credentials, you change it in one place. Every request in the collection picks up the change.
Exporting and Sharing a Collection
Right-click a collection and choose Export. Curlex saves it as a .json file you can:
- Commit to your Git repository alongside the code it tests.
- Share with a teammate — they import it into their own Curlex with Import in the header bar.
- Back up to cloud storage.
Note on secrets: Secret variable values are blanked during export — the keys are preserved but the values are replaced with empty strings. This means you can safely share a collection export without leaking credentials.
Next Steps
- Write your first test — add automatic response validation to the requests you just saved
- Authentication — set up OAuth 2.0, API keys, and other auth schemes once on the collection
- Environments and variables — use
{{baseUrl}}and other variables so the same collection works against dev, staging, and production