Tetiva reads and writes one interchange format: Postman Collection v2.1 and Postman Environment. A single request can also leave the app as a cURL command. Import builds the folder tree and requests directly in the current workspace; export hands you a file through the system save dialog. There is no reverse path for cURL — you can copy a command out, but you cannot paste one in.
Importing a collection#
The import button sits in the toolbar above the collection tree and drops the result at the root of the workspace. Import Postman Collection in a collection's context menu does the same thing but nests the result inside that collection. Pick a .json file, and a toast reports how many folders and requests were created.


The schema is checked: the file has to be Collection v2.1. A v2.0 or v1 export is rejected with a message asking you to re-export from Postman as v2.1.
What comes across#
| From Postman | In Tetiva |
|---|---|
| Collection name, description, auth | Top-level collection with the same fields |
| Folders at any depth | Nested collections |
| Request name, method, URL | An HTTP request; an unknown method becomes GET |
Headers, including disabled: true | Headers with the checkbox cleared |
raw with language json | JSON body |
raw with language xml or html | XML body |
raw with any other language, or none | Raw body |
formdata | Form rows: key, value, type (text/file), enabled flag |
graphql | A GraphQL request with query, variables and method POST |
Auth bearer, basic, apikey on collection, folder or request | The matching auth type |
Query parameters arrive inside the URL; the Params tab parses them out of the string, so the table fills itself.
What does not come across:
- pre-request and test scripts —
eventblocks are ignored on import and never written on export; - collection variables — use an environment instead;
- per-request descriptions, saved example responses, mocks and monitors;
urlencodedandfilebodies — those Postman modes arrive as a Raw body with nothing in it;- auth types other than Bearer, Basic and API Key, which land as None. What the app supports is listed under Authentication.
Importing an environment#
Environments are imported as their own file from the Environments window. Tetiva names the environment after the name field inside the JSON, not after the filename — a file with an empty name is rejected with an error — and fills it from the values array; an entry with type: "secret" becomes a secret variable. Postman's enabled flag is not read — every variable arrives switched on.
Exporting#
Export as Postman in a collection's context menu builds a file for the whole subtree: the collection itself, nested collections, requests, headers, bodies and auth. The save dialog suggests a name like Collection name.postman_collection.json. Environments have their own export entry in the Environments window and produce Name.postman_environment.json, with secret variables marked as secret.
Keep the format's edges in mind: v2.1 describes an HTTP request, so gRPC and WebSocket have nowhere to go, scripts are not written, and a binary body — a path to a file on disk — is left out. To move your whole setup between machines, use sync rather than export.
Copy as cURL#
Next to the Send button there is a chevron, and under it a single entry: Copy as cURL. The command is built by the same pipeline that sends the real request, so the clipboard holds what would have gone over the wire:
{{var}}placeholders are already resolved;- headers are emitted in a stable order, with one
-Hper value for repeated headers; - workspace cookies matching the address are added with
-b; - a form becomes
-F(with@pathfor files) or-d, and a binary body becomes--data-binary @path; - the pre-request script runs as a dry run: its headers and variables show up in the command, but nothing is saved to the database and no history entry is created.
The entry is HTTP-only. For gRPC, GraphQL and WebSocket the app returns an error — cURL does not cover those protocols. There is no export to other languages or client libraries.
The full move from Postman, including script compatibility and how the concepts line up, is on Migrate from Postman.