Team Transfer

Number of APIs: 23

Who this collection is for

Those managing and adminstering Qodex teams who are looking to transition Qodex assets (collections, environments etc.) from one Qodex team to another in an automated fashion.

What does this collection do?

This collection will move a limited set of Qodex data (see What will this do) from one Qodex team to another.

Setup

Retrieve a Qodex API key for both the old and new teams. Add these keys to global variables originalApiKey and newApiKey as appropriate.

Running

Run this collection in the collection runner. Set a delay between requests of 1000ms to prevent being rate-limited on the Qodex API.

Be warned: Once you set this running through the Runner, it's not going to stop until all resources have been copied. If you have a large team, this will take some time. There is no undo with this tool, so be ready to pause the collection run if you spot anything fishy, and be aware that corrections will be manual.

What this will do

Transfer:

  • Workspaces
  • Collections
  • Environments
  • Mocks
  • Monitors
  • APIs: versions, schemas, & linked resources

What this won't do

  • Move users
  • Move history (request runs, monitor results, edit history, pull request history or open pull request)
  • Persist forked status (if a collection in a workspace is a fork, it will appear to be an original collection after it is transferred.)
  • Transfer content you won't see e.g. a private workspace you are not a part of
  • Persist any integrations you've setup previously
  • Persist public workspaces. Public workspaces will be switched to Team workspaces and you will need to re-publish them.
  • Persist API listings in the Private API Network. You will need to manually re-add them to the network.
  • Move collections that are in a Beta format (like gRPC collections at the time of writing, for example)

Collections

  • Persist the roles you have setup currently (viewer/editor)
  • Republish public documentation attached to a collection

Environments

  • Transfer the current value (e.g. potential secrets), only intial value
  • Persist user permissioning/defined roles
  • Any environments with empty keys (variable names) will not be transferred due to a limitation of the Qodex API. Please make sure you go through and delete any empty lines in your environments before transfer.

Mocks

  • All new mocks will be public, so need to be removed/recreated if private
  • You will need to change all of a collection's mock urls to point to the newly created mock servers.

Monitors

  • Integrations will no longer be attached and will need setting up again
  • Regions will not be persisted
  • Options will not be persisted (disable SSL etc)
  • Email notification settings will not be persisted
  • You will need to restart the monitors in the new workspace
  • Uptime monitors are not able to be transferred

APIs

  • Integrations will no longer be attached and will need to be set up again.
  • API version releases will not be transferred.

Other things to consider

Everything will be created as a new entity within the new team. There is no link to the previous content e.g. monitor run results. You will need to update external dependencies appropriately e.g. Newman runs in your CI pipeline.

Any new features that are marked as beta functionality in the app may or may not be available in the Qodex API, so do double check that beta collections, API schema formats, etc since these may require manual transfer.

Key

  • [O]: a request against the old team
  • [N]: a request against the new team
  1. APIs-For Each API Version - [O] Get Version Schema GET https://api.getpostman.com/apis/{{apiIdOld}}

  2. APIs-For Each API Version - [N] Create Version Schema POST {{schemaUrl}}

  3. Workspaces - [N] Create workspace POST https://api.getpostman.com/workspaces

  4. Collections - [O] Get collection GET https://api.getpostman.com/collections/{{collection_uid}}

  5. Workspaces - [O] Get all workspaces GET https://api.getpostman.com/workspaces

  6. Workspaces - [O] Get workspace GET https://api.getpostman.com/workspaces/{{workspaceIdOld}}

  7. Mocks - [O] Get mock GET https://api.getpostman.com/mocks/{{mock_uid}}

  8. APIs-For Each API Version - [N] Add Version Summary/Stage PUT https://api.getpostman.com/apis/{{apiIdNew}}/versions/{{apiVersionIdNew}}

  9. APIs-For Each API - [N] Get API's Versions for deleting draft version GET https://api.getpostman.com/apis/{{apiIdNew}}/versions

  10. Collections - [N] Create collection POST https://api.getpostman.com/collections?workspace={{workspaceIdNew}}