Collections and team sharing

Requests are only useful if you can find them again. Echo organizes everything into spaces and collections, and lets you share that structure with your team on your terms.

Organize your work

Spaces are the top level: use one per project, product or client. Inside a space, collections hold requests and nested folders. A space you create on the desktop is personal and belongs to you within the selected organization. Team ownership and access are managed separately; giving a space a team's name does not make it a team space. Check your account for the limits of the active plan.

Keeping things tidy is straightforward:

  • Search the sidebar by name. Matching descendants keep their parent folders visible so you can see where an item belongs.
  • Rename an item from its menu or directly in the tree. Drag requests between collections and move folders within or between spaces where you have access.
  • Choose alphabetical order or return to the saved default order. Sorting changes how the tree is displayed.
  • Duplicate a request to try a variation without changing the original. Duplication copies requests, not whole spaces or collection trees.
  • Enter selection mode to select several items. Select all visible follows the current search. Use the selection toolbar to move, delete or export items; bulk duplication applies to the selected requests.

Deleting a collection or space also deletes its contents. Read the confirmation, especially after selecting a parent and several children. The selected parent already includes those descendants.

New HTTP or gRPC tabs can start as drafts. Save a draft into a collection when it becomes reusable work. Quick request creates a saved request in the Personal space's Quick collection, creating those containers if needed. See getting started for the first-send workflow.

Share with your team

Sign in, choose the right workspace and synchronize the collection first. As its owner, open Share from the collection menu, search for a person in the organization, choose an access level and add them. The same dialog lists existing permissions so you can change a level or revoke access. Sharing changes need a connection and can fail independently of saving a request on your device.

Every share carries a permission level:

Level Use in a shared personal collection
Read Open and send requests without changing the saved collection.
Contribute Add and edit requests.
Full Access Add, edit and delete requests.

Full Access does not transfer ownership. On the desktop, managing the collection itself, including its name, structure and sharing, remains subject to ownership. Shared containers cannot be used as destinations for arbitrary moves or new folders. Team collections delivered in a shared container are read-only there, even if a higher access level is recorded elsewhere.

Recipients find collections under Shared with me, grouped by the person who shared them. Synchronize after access changes. If editing becomes unavailable, check the collection's current permission and workspace. Sharing a request also does not grant access to its target API; that API still checks its own credentials.

Work across organizations

If you belong to more than one organization, the workspace switcher moves you between them without signing out and back in. Each workspace keeps its own spaces, collections and shares. Choose the same workspace in Echo and Maestro when working with synced mocks, contracts and applications.

Sync across devices

Signed-in work syncs through the Gapfy service: spaces, collections, requests, environments, schedules, mock servers and deletions. Remove a collection on your desktop and that deletion syncs to your other devices. Request history and cookies remain on the device. A synchronized schedule or mock does not mean it is running on a server; its execution or hosting mode decides that.

Use Sync now to send pending changes and retrieve updates. The status bar and the Inspector's Sync log help you distinguish a completed cycle from an offline connection, sign-in requirement or partial failure. If a plan limit rejects a change, the pending item stays on the device; resolve the limit and retry rather than assuming it reached your teammates.

The Android and iOS companion apps share the sync engine. Your signed-in collections can follow you between desktop and mobile without a separate export for each device. Their available editors and tools differ; see the mobile guide.

Review activity and conflicts

Activity helps you find recorded changes such as creating, renaming and deleting items. Filter by action, item type, date or text, apply the filters and open an entry's context to return to the relevant item.

When devices edit the same item, synchronization can choose a version automatically according to its timestamp rules. Recorded conflicts let you review those decisions afterwards; they do not mean synchronization always stopped before replacing a value.

  1. Open Conflicts and filter by item type, resolution, date or text.
  2. Expand an entry to compare the captured local and remote versions.
  3. Acknowledge it if the current result is correct. Acknowledging marks the entry as reviewed; it does not restore data.
  4. Choose Keep remote when you want to restore the captured remote version. Review the confirmation because this changes the local item and queues it for synchronization.
  5. Choose Merge when you need fields from both versions. Select local or remote values per differing field, or use the actions for all fields, then apply the result.

You can include acknowledged entries in the list later. Restoration and merging depend on the recorded versions being available and the item still existing.

Repair items missing from the server

The synchronization issues dialog groups local items whose server item or parent can no longer be found. Review the group's name and contents. Restore sends the local group again so it can be recreated on the server. Delete local copy removes that group from this device after confirmation. This can include nested collections and requests.

Choose according to which copy you want to keep. Restoring can bring back content that somebody intentionally removed; deleting the local copy discards its unsynchronized work. After a repair, let the next synchronization complete and check its result. This repair is separate from choosing fields in a recorded conflict.

Share a callable mock

Sharing a collection gives teammates access to your organized work. A mock on the desktop is free. To give an application a public HTTP endpoint that answers with the desktop closed, publish a synced mock through the public hosting panel in Maestro on a paid Echo plan. Publishing a team mock requires Echo/ManageHosting; the owner of a personal space can publish its own mock on a paid plan. The public mock hosting guide explains public URLs and hosting controls.

For automated access to contract publication, bound contracts or the paid .NET rules feed, use applications and keys. Collection permissions and application key scopes serve different purposes; sharing a collection does not issue a key. Creating an application key requires a paid Echo plan, even though contracts remain available on Free in Maestro.

Guest mode and local work

Organizing requests, spaces, folders and bulk operations works in guest mode too, entirely offline. Sharing, sync and workspaces need a signed-in account. See getting started for the difference between the two modes.

Next steps