Skip to main content

Collections & Folders

Organize your API requests using Collections and Folders. Keep your workflow efficient by grouping related endpoints and structuring your API testing environment.

What are Collections?​

Collections are containers for organizing related API requests. Think of them as projects or workspaces where you group all requests for a specific API or feature.

Benefits of Collections​

** Organization – Group related requests together ** Reusability – Share variables across requests ** Documentation – Add descriptions and context ** Efficiency – Find requests quickly ** Portability – Export and share with team

Creating Collections​

Create a New Collection​

  1. Click the "New Collection" button in the sidebar
  2. Enter a name for your collection
  3. Add an optional description
  4. Click Create

Example collections:

User Management API
Payment Gateway
E-commerce Backend
Authentication Service

Collection Properties​

Each collection can have:

  • Name – Descriptive title
  • Description – Purpose and context
  • Variables – Shared across all requests
  • Requests – HTTP, GraphQL, and gRPC calls
  • Folders – Sub-organization within collection

Working with Folders​

Folders help you organize requests within a collection into logical groups.

Create a Folder​

  1. Right-click on a collection
  2. Select "New Folder"
  3. Enter a folder name
  4. Click Create

Folder Hierarchy​

E-commerce API
├── Authentication
│ ├── Login
│ ├── Logout
│ └── Refresh Token
├── Users
│ ├── Get User
│ ├── Create User
│ ├── Update User
│ └── Delete User
├── Products
│ ├── List Products
│ ├── Get Product
│ ├── Create Product
│ └── Update Product
└── Orders
├── Create Order
├── Get Order Status
└── Cancel Order

Nested Folders​

Create sub-folders for deeper organization:

Microservices API
├── User Service
│ ├── Public Endpoints
│ │ ├── Register
│ │ └── Login
│ └── Protected Endpoints
│ ├── Get Profile
│ └── Update Profile
├── Product Service
│ ├── Catalog
│ └── Inventory
└── Order Service
├── Cart
└── Checkout

Managing Requests​

Add Request to Collection​

  1. Create or open a request
  2. Click the folder icon or "Save to Collection"
  3. Select a collection or folder
  4. Name your request
  5. Click Save

Move Requests​

Drag and drop requests to reorganize:

  • Move between folders
  • Reorder within a folder
  • Move to different collections

Duplicate Requests​

Create copies of existing requests:

  1. Right-click on a request
  2. Select "Duplicate"
  3. Modify the copy as needed

Useful for:

  • Creating similar requests
  • Testing variations
  • A/B testing different payloads

Collection Variables​

Define variables that apply to all requests in a collection.

Setting Collection Variables​

  1. Click on a collection
  2. Go to Variables tab
  3. Add variables for this collection

Example:

base_url: https://api.example.com
api_version: v1
auth_token: collection_specific_token

Variable Inheritance​

Variables cascade from collection to request:

Global Variables (lowest priority)
↓
Collection Variables
↓
Request Variables (highest priority)

Example:

  • Global: {{timeout}} = 30
  • Collection: {{timeout}} = 60
  • Request uses: 60 seconds

Organizing Strategies​

By Feature​

Group by application features:

Social Media App
├── Posts
├── Comments
├── Likes
├── Followers
└── Notifications

By HTTP Method​

Group by request type:

REST API
├── GET Requests
├── POST Requests
├── PUT Requests
├── PATCH Requests
└── DELETE Requests

By Environment​

Separate development and production:

Development
├── Users API (Dev)
└── Payments API (Dev)

Production
├── Users API (Prod)
└── Payments API (Prod)

By Workflow​

Group by user workflows:

User Registration Flow
├── 1. Check Email Availability
├── 2. Create Account
├── 3. Send Verification Email
├── 4. Verify Email
└── 5. Complete Profile

By Service​

For microservices architectures:

Backend Services
├── Auth Service
├── User Service
├── Product Service
├── Order Service
└── Payment Service

Collection Actions​

Rename Collection​

  1. Right-click on collection
  2. Select "Rename"
  3. Enter new name

Delete Collection​

  1. Right-click on collection
  2. Select "Delete"
  3. Confirm deletion
caution

Deleting a collection permanently removes all requests, folders, and variables inside it.

Duplicate Collection​

  1. Right-click on collection
  2. Select "Duplicate"
  3. New collection is created with all contents

Useful for:

  • Creating environment copies
  • Backing up collections
  • Testing changes safely

Search and Filter​

Search in Collection​

Use the search box to find:

  • Requests by name
  • Requests by URL
  • Requests by method
  • Folders by name

Filter Requests​

Filter by:

  • Method – Show only GET, POST, etc.
  • Status – Show requests with errors
  • Type – HTTP, GraphQL, or gRPC

Documenting Collections​

Collection Description​

Add documentation to your collection:

# E-commerce API Collection

This collection contains all endpoints for the e-commerce platform.

## Authentication
All requests require a Bearer token in the Authorization header.

## Base URL
- Dev: https://dev-api.example.com
- Prod: https://api.example.com

## Rate Limits
- 100 requests per minute
- 10,000 requests per day

Request Descriptions​

Document individual requests:

## Get User by ID

Retrieves detailed information about a user.

**Parameters:**
- `id` (required) – User ID

**Returns:**
- User object with profile information

**Example Response:**
{
"id": "123",
"name": "John Doe",
"email": "john@example.com"
}

Exporting Collections​

Export Format​

Export collections as JSON:

{
"name": "User API",
"description": "User management endpoints",
"variables": {
"base_url": "https://api.example.com",
"auth_token": "token123"
},
"folders": [
{
"name": "Authentication",
"requests": [...]
}
],
"requests": [...]
}

Export Steps​

  1. Right-click on collection
  2. Select "Export Collection"
  3. Choose location to save
  4. JSON file is created

Sharing Collections​

Share with teammates:

  1. Export collection
  2. Send JSON file
  3. Teammate imports in their Solo
tip

Remove sensitive data like auth tokens before sharing collections.

Importing Collections​

Import from File​

  1. Click "Import" button
  2. Select JSON file
  3. Collection is added to Solo

Import from cURL​

Import multiple cURL commands:

  1. Click "Import" button
  2. Paste multiple cURL commands
  3. Solo creates requests in a new collection

Real-World Examples​

Example 1: REST API Collection​

Blog API
├── Authentication
│ ├── POST /auth/login
│ ├── POST /auth/register
│ └── POST /auth/refresh
├── Posts
│ ├── GET /posts
│ ├── GET /posts/:id
│ ├── POST /posts
│ ├── PUT /posts/:id
│ └── DELETE /posts/:id
├── Comments
│ ├── GET /posts/:id/comments
│ ├── POST /posts/:id/comments
│ └── DELETE /comments/:id
└── Users
├── GET /users/:id
└── PUT /users/:id

Variables:

base_url: https://api.blog.com
api_version: v1
auth_token: {{user_token}}

Example 2: GraphQL Collection​

GitHub GraphQL API
├── Repositories
│ ├── Get Repository
│ ├── List Repositories
│ └── Create Repository
├── Issues
│ ├── List Issues
│ ├── Create Issue
│ └── Update Issue
└── Pull Requests
├── List PRs
└── Create PR

Variables:

endpoint: https://api.github.com/graphql
token: ghp_yourtokenhere
owner: igorvieira
repo: Solo

Example 3: gRPC Collection​

User gRPC Service
├── User Management
│ ├── GetUser
│ ├── CreateUser
│ ├── UpdateUser
│ └── DeleteUser
├── Authentication
│ ├── Login
│ └── Logout
└── Streaming
├── StreamUsers
└── BulkUpdate

Variables:

server: localhost:50051
auth_metadata: token:abc123

Example 4: Multi-Environment Collection​

Payment API - Development
Variables: base_url=https://dev-api.pay.com

Payment API - Staging
Variables: base_url=https://staging-api.pay.com

Payment API - Production
Variables: base_url=https://api.pay.com

Same requests, different variables.

Keyboard Shortcuts​

  • Cmd/Ctrl + N – New request in current collection
  • Cmd/Ctrl + Shift + N – New collection
  • Cmd/Ctrl + F – Search in collection
  • Cmd/Ctrl + S – Save request to collection

Best Practices​

Use Meaningful Names​

# Good
E-commerce Backend API
├── User Authentication & Authorization
├── Product Catalog Management
└── Order Processing

# Less clear
API
├── Auth
├── Products
└── Orders

Group by Workflow​

Organize requests in the order they're typically called:

Checkout Flow
├── 1. Get Cart
├── 2. Validate Items
├── 3. Calculate Shipping
├── 4. Process Payment
├── 5. Create Order
└── 6. Send Confirmation

Use Collection Variables​

Define common values once:

Collection Variables:
base_url: https://api.example.com
api_key: your_api_key
timeout: 30

Requests:
GET {{base_url}}/users
POST {{base_url}}/orders

Document Everything​

Add descriptions to:

  • Collections – Overall purpose
  • Folders – What's grouped here
  • Requests – What it does, parameters, responses

Keep Collections Focused​

# Good – Focused collections
User Service API
Payment Service API
Inventory Service API

# Less organized
All APIs
├── Users, Payments, Inventory, Orders...

Troubleshooting​

Collection Not Saving​

  • Check available disk space
  • Ensure Solo has write permissions
  • Try exporting as backup

Missing Requests​

  • Check if moved to another folder
  • Use search to find by name or URL
  • Check deleted items (if available)

Variables Not Working​

  • Verify variable scope
  • Check variable name spelling
  • Ensure no circular references

Next Steps​