RESTKDocs

Folders

Organize requests within collections using folders that support nested hierarchies, authentication inheritance, and shared variables.

6 min read

Folders help you organize requests within collections. They can be nested, inherit settings from parent collections or folders, and define their own authentication, variables, and scripts.

Quick Start

Create a Folder

Right-click on a collection and select New Folder, or click the folder icon.

Name Your Folder

Give it a descriptive name like "User Endpoints" or "Authentication".

Add Requests

Create requests inside the folder or drag existing requests into it.

Configure (Optional)

Set folder-specific auth, variables, or scripts that apply to all requests inside.


Creating Folders

To create a folder:

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

To nest folders:

  1. Create a folder inside another folder
  2. Folders can be nested up to 50 levels deep
  3. Each nested folder can have its own settings

Works Offline

Folders can be created offline and will sync automatically when you reconnect.


Organizing Requests

Moving Requests

Drag and drop requests to move them between folders:

  • Drag a request onto a folder to move it inside
  • Drag between folders to reorganize
  • Folder membership syncs across all devices

Moving Folders

You can also move entire folders:

  • Drag to a different collection
  • Nest inside another folder
  • Move to collection root
  • All requests and subfolders move with it

Overview Tab

See what's inside your folder at a glance.

What you'll see:

  • Total request count in this folder
  • Subfolder count
  • HTTP method distribution with colored badges
  • Recently updated requests

Authentication

Folders can inherit authentication from their parent or override with custom settings.

Credential Storage

Auth credentials are stored securely on your device using the macOS Keychain. Each team member manages their own credentials locally.

Inherit from Parent

By default, folders are set to Inherit, which means:

  • If in a collection, use the collection's auth
  • If nested in another folder, use the parent folder's auth
  • Requests inside also inherit this auth chain

Override Authentication

Open Auth Tab

Select the folder and navigate to Auth.

Choose Auth Type

Select Bearer Token, Basic Auth, API Key, JWT, or None instead of Inherit.

Configure

Enter the required credentials for your chosen auth type.

Apply

All requests in this folder set to "Inherit" now use this auth.

Inheritance Chain Example

Collection (Auth: Bearer Token)
└── Folder A (Auth: Inherit)
    └── Folder B (Auth: Basic Auth - Override)
        └── Request (Auth: Inherit)
            → Uses: Basic Auth from Folder B

The request uses Basic Auth because Folder B overrides the collection's Bearer Token.


Variables

Folder variables are scoped to the folder and its contents. They are stored locally alongside the folder data.

Adding Folder Variables

Open Variables Tab

Select the folder and click Variables.

Add Variable

Click Add Variable and enter:

  • Key: Variable name (letters, numbers, underscores)
  • Value: The value
  • Type: Default or Secret

Use in Requests

Reference using {{variable_name}} in any request inside the folder.

Variable Priority

When the same variable is defined at multiple levels:

  1. Runtime variables (highest — set by nova.variable.set())
  2. Request variables
  3. Folder variables
  4. Parent folder variables (if nested)
  5. Collection variables
  6. Environment variables (lowest priority)

Example:

Collection: baseUrl = "https://api.production.com"
Folder: baseUrl = "https://api.staging.com"
Request in Folder: Uses "https://api.staging.com"

The folder variable overrides the collection variable.


Scripts

Folder scripts run after collection scripts but before request scripts.

Pre-request Scripts

// Set folder-specific values
nova.variable.set("folderId", "users-folder");
console.log("Folder pre-request executed");

Post-response Scripts

// Test responses for all requests in folder
nova.test("Response time under 500ms", function() {
    nova.expect(nova.response.responseTime).toBeLessThan(500);
});

Script Execution Order

For a request in a nested folder:

Collection Pre-request

Runs first

Parent Folder Pre-request

Runs second (if nested)

This Folder Pre-request

Runs third

Request Pre-request

Runs fourth

HTTP Request

Request is sent

Request Post-response

Runs first after response

This Folder Post-response

Runs second

Parent Folder Post-response

Runs third (if nested)

Collection Post-response

Runs last


Nested Folders

Folders can be nested within other folders for complex organization.

Creating Deep Hierarchies

Collection: E-commerce API
├── Authentication
│   ├── Login
│   └── Logout
├── Users
│   ├── CRUD Operations
│   │   ├── Create
│   │   ├── Read
│   │   ├── Update
│   │   └── Delete
│   └── Profile
└── Products
    ├── Catalog
    └── Search

Inheritance Across Levels

All inheritance rules work across nested folders:

  • Variables from any ancestor are available
  • Auth resolves to the closest override
  • Scripts from all ancestors run in order

Nesting Depth

Folders can be nested up to 50 levels deep. For usability, consider keeping hierarchies to 3-4 levels.


Managing Folders

Renaming

  1. Right-click the folder
  2. Select Rename
  3. Enter the new name
  4. Press Enter

Duplicating

  1. Right-click the folder
  2. Select Duplicate
  3. A copy is created with " Copy" suffix
  4. All requests, subfolders, and settings are duplicated

Deleting

  1. Right-click the folder
  2. Select Delete
  3. Confirm the deletion

Cascading Delete

Deleting a folder removes all requests and subfolders inside it.

Reordering

Drag folders to reorder them:

  • Within the same parent
  • To different collections
  • To nest inside other folders

Your custom order syncs across all devices.


Permissions

Folder editing is governed by your workspace role:

RoleViewEditExportManage MembersDelete Workspace
ViewerYes
EditorYesYesYes
ManagerYesYesYesYes
OwnerYesYesYesYesYes

Tips

  • Group by feature: Create folders like "Authentication", "Users", "Products"
  • Use nesting wisely: 2-3 levels is usually enough
  • Override auth strategically: Set different auth for testing vs production endpoints
  • Share folder variables: Define common values once at the folder level
  • Add folder scripts: Run tests or logging for all requests in a group
  • Organize by endpoint type: Separate public APIs from admin APIs

Next Steps