UIFlowchartCreator
by umshere
## Collections
NOTE: The `#/` references herein can be found in the relevant reference files of the same (or very similar) name. For example, `collectionId` can be found in docs/reference/postman-api-parameters. The `mergeEnvironmentFork` request and response objects can be found in docs/reference/postman-api-requestBodies.yaml and docs/reference/postman-api-responsesonly.yaml, respectively. Also docs/reference/postman-api-schemasonly.yaml contains the schemas for the request and response objects.
### Implemented Operations
- Get all collections (`GET /collections`) ✓
- Parameters:
- workspaceQuery (`#/components/parameters/workspaceQuery`)
- collectionNameQuery (`#/components/parameters/collectionNameQuery`)
- limitNoDefault (`#/components/parameters/limitNoDefault`)
- offsetNoDefault (`#/components/parameters/offsetNoDefault`)
- Note: Filtering with name parameter is not supported when using limit/offset
- Note: Invalid workspace ID returns empty array with 200 status
- Implementation: Fully implemented with query parameter support
- Responses:
- 200: `#/components/responses/getCollections`
- 401: `#/components/responses/common401Error`
- 500: `#/components/responses/common500ErrorServerError`
- Get a specific collection (`GET /collections/{collectionId}`) ✓
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionAccessKeyQuery (`#/components/parameters/collectionAccessKeyQuery`)
- collectionModelQuery (`#/components/parameters/collectionModelQuery`)
- Implementation: Fully implemented with access key and model query support
- Responses:
- 200: `#/components/responses/getCollection`
- 400: `#/components/responses/collection400ErrorCollectionNotFound`
- 401: `#/components/responses/common401Error`
- 500: `#/components/responses/common500ErrorServerError`
- Create collection (`POST /collections`) ✓
- Supports Postman Collection v2.1.0 format
- Note: Creates in "My Workspace" if workspace not specified
- Parameters:
- workspaceQuery (`#/components/parameters/workspaceQuery`)
- Request Body: `#/components/requestBodies/createCollection`
- Implementation: Fully implemented with workspace support
- Responses:
- 200: `#/components/responses/createCollection`
- 400: `#/components/responses/collection400ErrorInstanceFound`
- 401: `#/components/responses/common401Error`
- 500: `#/components/responses/common500ErrorServerError`
- Update collection (`PUT /collections/{collectionId}`) ✓
- Full collection replacement
- Note: Maximum collection size: 20 MB
- Important: Include collection item IDs to prevent recreation
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- Request Body: `#/components/requestBodies/putCollection`
- Implementation: Fully implemented with size limit validation
- Responses:
- 200: `#/components/responses/putCollection`
- 400: `#/components/responses/collection400ErrorMalformedRequest`
- 401: `#/components/responses/common401Error`
- 403: `#/components/responses/common403Error`
- 404: `#/components/responses/instanceNotFoundCollection`
- 500: `#/components/responses/common500ErrorServerError`
- Patch collection (`PATCH /collections/{collectionId}`) ✓
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- Implementation: Fully implemented with proper error handling
- Request Body: `#/components/requestBodies/patchCollection`
- Responses:
- 200: `#/components/responses/patchCollection`
- 400: `#/components/responses/collection400ErrorInvalidKeyParam`
- 401: `#/components/responses/common401Error`
- 403: `#/components/responses/common403Error`
- 404: `#/components/responses/instanceNotFoundCollection`
- 500: `#/components/responses/common500ErrorServerError`
- Delete collection (`DELETE /collections/{collectionId}`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- Responses:
- 200: `#/components/responses/deleteCollection`
- 401: `#/components/responses/common401Error`
- 404: `#/components/responses/instanceNotFoundCollection`
- 500: `#/components/responses/common500ErrorServerError`
#### Collection Items Management
- Create folder (`POST /collections/{collectionId}/folders`)
- Note: Empty name creates folder with blank name
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- Request Body: `#/components/requestBodies/createCollectionFolder`
- Responses:
- 200: `#/components/responses/createCollectionFolder`
- 400: `#/components/responses/collectionFolder400Error`
- 401: `#/components/responses/collectionFolder401Error`
- 500: `#/components/responses/common500Error`
- Get folder (`GET /collections/{collectionId}/folders/{folderId}`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionFolderId (`#/components/parameters/collectionFolderId`)
- collectionItemsIdQuery (`#/components/parameters/collectionItemsIdQuery`)
- collectionItemsUidFormatQuery (`#/components/parameters/collectionItemsUidFormatQuery`)
- collectionItemsPopulateQuery (`#/components/parameters/collectionItemsPopulateQuery`)
- Implementation: Fully implemented with all query parameter support
- Responses:
- 200: `#/components/responses/getCollectionFolder`
- 401: `#/components/responses/collectionFolder401Error`
- 404: `#/components/responses/collectionFolder404Error`
- 500: `#/components/responses/common500Error`
- Update folder (`PUT /collections/{collectionId}/folders/{folderId}`)
- Note: Acts like PATCH, only updates provided values
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionFolderId (`#/components/parameters/collectionFolderId`)
- Request Body: `#/components/requestBodies/updateCollectionFolder`
- Responses:
- 200: `#/components/responses/updateCollectionFolder`
- 400: `#/components/responses/collectionFolder400Error`
- 401: `#/components/responses/collectionFolder401Error`
- 404: `#/components/responses/collectionFolder404Error`
- 500: `#/components/responses/common500Error`
- Delete folder (`DELETE /collections/{collectionId}/folders/{folderId}`) ✓
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionFolderId (`#/components/parameters/collectionFolderId`)
- Implementation: Fully implemented with proper error handling
- Responses:
- 200: `#/components/responses/deleteCollectionFolder`
- 401: `#/components/responses/collectionFolder401Error`
- 404: `#/components/responses/collectionFolder404Error`
- 500: `#/components/responses/common500Error`
#### Request and Response Management
- Create request (`POST /collections/{collectionId}/requests`)
- Note: Empty name creates request with blank name
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionRequestFolderIdQuery (`#/components/parameters/collectionRequestFolderIdQuery`)
- Request Body: `#/components/requestBodies/createCollectionRequest`
- Responses:
- 200: `#/components/responses/createCollectionRequest`
- 400: `#/components/responses/collectionRequest400Error`
- 401: `#/components/responses/collectionRequest401Error`
- 500: `#/components/responses/common500Error`
- Get request (`GET /collections/{collectionId}/requests/{requestId}`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionRequestId (`#/components/parameters/collectionRequestId`)
- collectionItemsIdQuery (`#/components/parameters/collectionItemsIdQuery`)
- collectionItemsUidFormatQuery (`#/components/parameters/collectionItemsUidFormatQuery`)
- collectionItemsPopulateQuery (`#/components/parameters/collectionItemsPopulateQuery`)
- Implementation: Fully implemented with all query parameter support
- Responses:
- 200: `#/components/responses/getCollectionRequest`
- 401: `#/components/responses/collectionRequest401Error`
- 404: `#/components/responses/collectionRequest404Error`
- 500: `#/components/responses/common500Error`
- Update request (`PUT /collections/{collectionId}/requests/{requestId}`)
- Note: Cannot change request folder
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionRequestId (`#/components/parameters/collectionRequestId`)
- Request Body: `#/components/requestBodies/updateCollectionRequest`
- Responses:
- 200: `#/components/responses/updateCollectionRequest`
- 400: `#/components/responses/collectionRequest400Error`
- 401: `#/components/responses/collectionRequest401Error`
- 404: `#/components/responses/collectionRequest404Error`
- 500: `#/components/responses/common500Error`
- Delete request (`DELETE /collections/{collectionId}/requests/{requestId}`) ✓
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionRequestId (`#/components/parameters/collectionRequestId`)
- Implementation: Fully implemented with proper error handling
- Responses:
- 200: `#/components/responses/deleteCollectionRequest`
- 401: `#/components/responses/collectionRequest401Error`
- 404: `#/components/responses/collectionRequest404Error`
- 500: `#/components/responses/common500Error`
- Create response (`POST /collections/{collectionId}/responses`)
- Note: Empty name creates response with blank name
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionResponseParentRequestId (`#/components/parameters/collectionResponseParentRequestId`)
- Request Body: `#/components/requestBodies/createCollectionResponse`
- Responses:
- 200: `#/components/responses/createCollectionResponse`
- 400: `#/components/responses/collectionResponse400Error`
- 401: `#/components/responses/collectionResponse401Error`
- 500: `#/components/responses/common500Error`
- Get response (`GET /collections/{collectionId}/responses/{responseId}`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionResponseId (`#/components/parameters/collectionResponseId`)
- collectionItemsIdQuery (`#/components/parameters/collectionItemsIdQuery`)
- collectionItemsUidFormatQuery (`#/components/parameters/collectionItemsUidFormatQuery`)
- collectionItemsPopulateQuery (`#/components/parameters/collectionItemsPopulateQuery`)
- Implementation: Fully implemented with all query parameter support
- Responses:
- 200: `#/components/responses/getCollectionResponse`
- 401: `#/components/responses/collectionResponse401Error`
- 404: `#/components/responses/collectionResponse404Error`
- 500: `#/components/responses/common500Error`
- Update response (`PUT /collections/{collectionId}/responses/{responseId}`)
- Note: Acts like PATCH, only updates provided values
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionResponseId (`#/components/parameters/collectionResponseId`)
- Request Body: `#/components/requestBodies/updateCollectionResponse`
- Responses:
- 200: `#/components/responses/updateCollectionResponse`
- 400: `#/components/responses/collectionResponse400Error`
- 401: `#/components/responses/collectionResponse401Error`
- 404: `#/components/responses/collectionResponse404Error`
- 500: `#/components/responses/common500Error`
- Delete response (`DELETE /collections/{collectionId}/responses/{responseId}`) ✓
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- collectionResponseId (`#/components/parameters/collectionResponseId`)
- Implementation: Fully implemented with proper error handling
- Responses:
- 200: `#/components/responses/deleteCollectionResponse`
- 401: `#/components/responses/collectionResponse401Error`
- 404: `#/components/responses/collectionResponse404Error`
- 500: `#/components/responses/common500Error`
#### Collection Transfers
- Transfer folders (`POST /collection-folders-transfers`)
- Description: Copy or move folders between collections
- Request Body: `#/components/requestBodies/transferCollectionItems`
- Responses:
- 200: `#/components/responses/transferCollectionItems200Error`
- 400: `#/components/responses/transferCollectionItems400Error`
- 500: `#/components/responses/common500Error`
- Transfer requests (`POST /collection-requests-transfers`)
- Description: Copy or move requests between collections/folders
- Request Body: `#/components/requestBodies/transferCollectionItems`
- Responses:
- 200: `#/components/responses/transferCollectionItems200Error`
- 400: `#/components/responses/transferCollectionItems400Error`
- 500: `#/components/responses/common500Error`
- Transfer responses (`POST /collection-responses-transfers`)
- Description: Copy or move responses between requests
- Request Body: `#/components/requestBodies/transferCollectionItems`
- Responses:
- 200: `#/components/responses/transferCollectionItems200Error`
- 400: `#/components/responses/transferCollectionItems400Error`
- 500: `#/components/responses/common500Error`
#### Collection Forking & Merging
- Create fork (`POST /collections/fork/{collectionId}`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- forkWorkspaceQuery (`#/components/parameters/forkWorkspaceQuery`)
- Request Body: `#/components/requestBodies/createCollectionFork`
- Responses:
- 200: `#/components/responses/createCollectionFork`
- 401: `#/components/responses/common401Error`
- 404: `#/components/responses/instanceNotFoundCollection`
- 500: `#/components/responses/common500ErrorServerError`
- Get collection forks (`GET /collections/{collectionId}/forks`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- cursor (`#/components/parameters/cursor`)
- limit (`#/components/parameters/limit`)
- createdAtSort (`#/components/parameters/createdAtSort`)
- Responses:
- 200: `#/components/responses/getCollectionForks`
- 400: `#/components/responses/forkCollection400ErrorNoForks`
- 404: `#/components/responses/fork404Error`
- 500: `#/components/responses/common500Error`
- Get all forked collections (`GET /collections/collection-forks`)
- Parameters:
- cursor (`#/components/parameters/cursor`)
- limit (`#/components/parameters/limit`)
- createdAtSort (`#/components/parameters/createdAtSort`)
- Responses:
- 200: `#/components/responses/getCollectionsForkedByUser`
- 400: `#/components/responses/fork400ErrorNoUserFound`
- 401: `#/components/responses/common401Error`
- 500: `#/components/responses/common500Error`
- Merge or pull changes (`PUT /collection-merges`)
- Description: Asynchronous operation with task status tracking
- Request Body: `#/components/requestBodies/asyncCollectionForkMerge`
- Responses:
- 200: `#/components/responses/asyncMergeCollectionFork`
- 400: `#/components/responses/collectionForks400ErrorMalformedRequest`
- 401: `#/components/responses/common401Error`
- 403: `#/components/responses/collectionForks403ErrorForbidden`
- 500: `#/components/responses/common500Error`
- Get merge/pull task status (`GET /collections-merges-tasks/{taskId}`)
- Note: Task status available for 24 hours after completion
- Parameters:
- collectionForkTaskId (`#/components/parameters/collectionForkTaskId`)
- Responses:
- 200: `#/components/responses/asyncMergePullCollectionTaskStatus`
- 401: `#/components/responses/common401Error`
- 403: `#/components/responses/collectionForks403ErrorForbidden`
- 404: `#/components/responses/collectionForks404ErrorTaskNotFound`
- 500: `#/components/responses/common500Error`
- Pull changes (`PUT /collections/{collectionId}/pulls`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- Responses:
- 200: `#/components/responses/pullCollectionChanges`
- 400: `#/components/responses/forkCollection400ErrorBadId`
- 404: `#/components/responses/instanceNotFoundCollection`
- 500: `#/components/responses/common500Error`
- Get source collection status (`GET /collections/{collectionId}/source-status`)
- Note: May take a few minutes to return updated status
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- Responses:
- 200: `#/components/responses/getSourceCollectionStatus`
- 400: `#/components/responses/forkCollection400ErrorNotForked`
- 403: `#/components/responses/pullRequest403ErrorForbidden`
- 500: `#/components/responses/common500Error`
#### Pull Requests
- Get pull request (`GET /pull-requests/{pullRequestId}`)
- Parameters:
- pullRequestId (`#/components/parameters/pullRequestId`) (required)
- Responses:
- 200: `#/components/responses/getPullRequest`
- 403: `#/components/responses/pullRequest403ErrorForbidden`
- 500: `#/components/responses/common500ErrorServerError`
- Update pull request (`PUT /pull-requests/{pullRequestId}`)
- Parameters:
- pullRequestId (`#/components/parameters/pullRequestId`) (required)
- Request Body: `#/components/requestBodies/pullRequestUpdate`
- Required fields:
- name: Updated pull request name
- description: Updated description
- Optional fields:
- destination: Updated destination details
- source: Updated source details
- Responses:
- 200: `#/components/responses/pullRequestUpdate`
- 403: `#/components/responses/pullRequest403ErrorForbidden`
- 409: `#/components/responses/pullRequest409ErrorConflict`
- 500: `#/components/responses/common500ErrorServerError`
- Review pull request (`POST /pull-requests/{pullRequestId}/tasks`)
- Parameters:
- pullRequestId (`#/components/parameters/pullRequestId`) (required)
- Description: Updates the review status of a pull request
- Request Body: `#/components/requestBodies/pullRequestReview`
- Required fields:
- action: Review action (approve/reject)
- comment: Review comment
- Responses:
- 200: `#/components/responses/pullRequestReview200OK`
- 400: Multiple possible responses:
- `#/components/schemas/pullRequestReview400ErrorActionNotAllowed`
- `#/components/schemas/pullRequestReview400ErrorInvalidAction`
- 403: `#/components/responses/pullRequest403ErrorForbidden`
- 500: `#/components/responses/common500ErrorServerError`
#### Collection Comments
- Get collection comments (`GET /collections/{collectionId}/comments`)
- Parameters:
- collectionUid (`#/components/parameters/collectionUid`)
- Responses:
- 200: `#/components/responses/commentGet`
- 401: `#/components/responses/comment401Error`
- 403: `#/components/responses/comment403Error`
- 404: `#/components/responses/comment404Error`
- 500: `#/components/responses/comment500Error`
- Create collection comment (`POST /collections/{collectionId}/comments`)
- Parameters:
- collectionUid (`#/components/parameters/collectionUid`)
- Note: Maximum 10,000 characters
- Request Body: `#/components/requestBodies/commentCreate`
- Responses:
- 201: `#/components/responses/commentCreated`
- 401: `#/components/responses/comment401Error`
- 403: `#/components/responses/comment403Error`
- 404: `#/components/responses/comment404Error`
- 500: `#/components/responses/comment500Error`
- Update collection comment (`PUT /collections/{collectionId}/comments/{commentId}`)
- Parameters:
- collectionUid (`#/components/parameters/collectionUid`)
- commentId (`#/components/parameters/commentId`)
- Note: Maximum 10,000 characters
- Request Body: `#/components/requestBodies/commentUpdate`
- Responses:
- 200: `#/components/responses/commentUpdated`
- 401: `#/components/responses/comment401Error`
- 403: `#/components/responses/comment403Error`
- 404: `#/components/responses/comment404Error`
- 500: `#/components/responses/comment500Error`
- Delete collection comment (`DELETE /collections/{collectionId}/comments/{commentId}`)
- Note: Deleting first comment deletes entire thread
- Parameters:
- collectionUid (`#/components/parameters/collectionUid`)
- commentId (`#/components/parameters/commentId`)
- Responses:
- 204: No Content
- 401: `#/components/responses/comment401Error`
- 403: `#/components/responses/comment403Error`
- 404: `#/components/responses/comment404Error`
- 500: `#/components/responses/comment500Error`
#### Collection Access Keys
- Get collection access keys (`GET /collection-access-keys`)
- Lists personal and team collection access keys
- Includes expiration and last used information
- Parameters:
- collectionUidQuery (`#/components/parameters/collectionUidQuery`)
- cursor (`#/components/parameters/cursor`)
- Responses:
- 200: `#/components/responses/getCollectionAccessKeys`
- 400: `#/components/responses/common400ErrorInvalidCursor`
- 401: `#/components/responses/common401Error`
- 403: `#/components/responses/common403ErrorForbidden`
- 500: `#/components/responses/common500ErrorSomethingWrong`
- Delete collection access key (`DELETE /collection-access-keys/{keyId}`)
- Parameters:
- collectionAccessKeyId (`#/components/parameters/collectionAccessKeyId`)
- Responses:
- 204: No Content
- 401: `#/components/responses/common401Error`
- 403: `#/components/responses/common403ErrorForbidden`
- 404: `#/components/responses/cakNotFound404Error`
- 500: `#/components/responses/common500ErrorSomethingWrong`
-
#### Collection Roles
- Update collection roles (`PATCH /collections/{collectionId}/roles`)
- Parameters:
- collectionId (`#/components/parameters/collectionId`)
- Note: Only EDITOR role can use this endpoint
- Note: Does not support Partner or Guest external roles
- Request Body: `#/components/requestBodies/updateCollectionRoles`
- Responses:
- 204: No Content
- 400: `#/components/responses/collectionRoles400ErrorMissingProperty`
- 401: `#/components/responses/unauthorizedError`
- 403: `#/components/responses/common403ErrorPermissions`
- 404: `#/components/responses/collection404ErrorInstanceNotFound`
- 500: `#/components/responses/common500ErrorInternalServer`
#### Collection Transformations
- Transform collection to OpenAPI (`GET /collections/{collectionId}/transformations`)
- Parameters:
- `#/components/parameters/collectionId` (required)
- `#/components/parameters/collectionTransformFormat`
- Note: Does not create an API
- Responses:
- 200: `#/components/responses/transformCollectionToOpenAPI`
- 401: `#/components/responses/collectionToApi401Error`
- 404: `#/components/responses/collectionToApi404Error`
- 500: `#/components/responses/collectionToApi500Error`
### Key Features
- Collection CRUD operations
- Support for Postman Collection Format v2.1.0
- Collection metadata management
- Nested folder structure support
- Request and response management
- Version control (fork, merge, pull)
- Commenting system
- Collection transfer capabilities
- Role-based access control