From 4758d18520239824d22ee8ca6e1a297dec6fd7a9 Mon Sep 17 00:00:00 2001 From: Liang-Shih Lin Date: Sat, 14 Sep 2024 10:45:28 +0800 Subject: [PATCH 1/8] Add postman import spec --- .coverage | Bin 53248 -> 53248 bytes .gitignore | 3 +- src/posting/__main__.py | 24 +- src/posting/collection.py | 1 + src/posting/importing/postman.py | 114 + .../Postman API.postman_collection.json | 11667 ++++++++++++++++ tests/test_postman_import.py | 117 + 7 files changed, 11922 insertions(+), 4 deletions(-) create mode 100644 src/posting/importing/postman.py create mode 100644 tests/import-postman/Postman API.postman_collection.json create mode 100644 tests/test_postman_import.py diff --git a/.coverage b/.coverage index 168997fb871f8c4be1c5755077b0dca5048beaac..ebc7468d4a56437f50f18b54815fc649ed4b5487 100644 GIT binary patch delta 3459 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 None: help="Path to save the imported collection", default=None, ) -def import_spec(spec_path: str, output: str | None) -> None: +@click.option( + "--type", "-t", default="openapi", help="Specify spec type [openapi, postman]" +) +def import_spec(spec_path: str, output: str | None, type: str) -> None: """Import an OpenAPI specification into a Posting collection.""" console = Console() console.print( "Importing is currently an experimental feature.", style="bold yellow" ) try: - collection = import_openapi_spec(spec_path) + if type.lower() == "openapi": + spec_type = "OpenAPI" + collection = import_openapi_spec(spec_path) + elif type.lower() == "postman": + spec_type = "Postman" + console.print( + "Importing Postman collection haven't been implemented yet", style="red" + ) + import_postman_spec(spec_path, output) + return + else: + console.print(f"Unknown spec type: {type!r}", style="red") + return if output: output_path = Path(output) @@ -118,7 +134,9 @@ def import_spec(spec_path: str, output: str | None) -> None: collection.path = output_path collection.save_to_disk(output_path) - console.print(f"Successfully imported OpenAPI spec to {str(output_path)!r}") + console.print( + f"Successfully imported {spec_type!r} spec to {str(output_path)!r}" + ) except Exception: console.print("An error occurred during the import process.", style="red") console.print_exception() diff --git a/src/posting/collection.py b/src/posting/collection.py index 5230715e..33611dfa 100644 --- a/src/posting/collection.py +++ b/src/posting/collection.py @@ -282,6 +282,7 @@ class APIInfo(BaseModel): termsOfService: HttpUrl | None = None contact: Contact | None = None license: License | None = None + specSchema: str | None = None version: str diff --git a/src/posting/importing/postman.py b/src/posting/importing/postman.py new file mode 100644 index 00000000..24589f51 --- /dev/null +++ b/src/posting/importing/postman.py @@ -0,0 +1,114 @@ +from pathlib import Path +from typing import List +import json +import os +import yaml + +from rich.console import Console + +from posting.collection import APIInfo, Collection + + +def create_env_file( + path: Path, env_filename: str, variables: list[dict[str, str]] +) -> Path: + env_content: list[str] = [] + + for var in variables: + key = var["key"] + value = var["value"] + env_content.append(f"{key!r}={value!r}") + + env_file = path / env_filename + env_file.write_text("\n".join(env_content)) + return env_file + + +def generate_directory_structure( + items: List[dict], current_path: str = "", base_path: Path = Path("") +) -> List[str]: + directories = [] + for item in items: + if "item" in item: + folder_name = item["name"] + new_path = f"{current_path}/{folder_name}" if current_path else folder_name + full_path = Path(base_path) / new_path + os.makedirs(str(full_path), exist_ok=True) + directories.append(str(full_path)) + generate_directory_structure(item["item"], new_path, base_path) + elif "request" in item: + request_name = item["name"] + file_name = f"{request_name}.posting.yaml" + full_path = Path(base_path) / current_path / file_name + create_request_file(full_path, item) + return directories + + +def create_request_file(file_path: Path, request_data: dict): + yaml_content = { + "name": request_data["name"], + "description": request_data.get("description", ""), + "method": request_data["request"]["method"], + "url": request_data["request"]["url"]["raw"], + } + + # Add body if present + if "body" in request_data["request"]: + yaml_content["body"] = { + "content": request_data["request"]["body"].get("raw", "") + } + + # Add headers + if "header" in request_data["request"]: + yaml_content["headers"] = [ + {"name": header["key"], "value": header["value"]} + for header in request_data["request"]["header"] + ] + + # Add query params + if "query" in request_data["request"]["url"]: + yaml_content["params"] = [ + {"name": param["key"], "value": param["value"]} + for param in request_data["request"]["url"]["query"] + ] + + # Write YAML file + with open(file_path, "w") as f: + yaml.dump(yaml_content, f, default_flow_style=False) + + +def import_postman_spec( + spec_path: str | Path, output_path: str | Path | None +) -> tuple[Collection, Path, List[str]]: + console = Console() + console.print(f"Importing Postman spec from {spec_path!r}.") + + spec_path = Path(spec_path) + with open(spec_path, "r") as file: + spec = json.load(file) + + info = APIInfo( + title=spec["info"]["name"], + description=spec["info"].get("description", "No description"), + specSchema=spec["info"]["schema"], + version="2.0.0", + ) + + base_dir = spec_path.parent + if output_path is not None: + base_dir = ( + Path(output_path).parent + if isinstance(output_path, str) + else output_path.parent + ) + + env_file = create_env_file(base_dir, f"{info.title}.env", spec["variable"]) + console.print(f"Created environment file {str(env_file)!r}.") + + main_collection = Collection(path=spec_path.parent, name="Postman Test") + + # Create the directory structure like Postman's request folders + directories = generate_directory_structure(spec["item"], base_path=base_dir) + console.print("Finished importing postman collection.") + + return main_collection, env_file, directories diff --git a/tests/import-postman/Postman API.postman_collection.json b/tests/import-postman/Postman API.postman_collection.json new file mode 100644 index 00000000..c6b92755 --- /dev/null +++ b/tests/import-postman/Postman API.postman_collection.json @@ -0,0 +1,11667 @@ +{ + "info": { + "_postman_id": "2216b18c-3447-4b3f-8498-7e8b2e05ba8a", + "name": "Postman API", + "description": "The Postman API enables you to programmatically access data stored in your Postman account.\n\n## Getting started\n\nYou can get started with the Postman API by [forking the Postman API collection](https://learning.postman.com/docs/collaborating-in-postman/version-control/#creating-a-fork) to your workspace. You can then use Postman to send requests.\n\n## Overview\n\n1. You must use a valid API Key to send requests to the API endpoints. You can get your API key from Postman's [integrations dashboard](https://go.postman.co/settings/me/api-keys).\n2. The API has [rate and usage limits](#rate-and-usage-limits).\n3. The API only responds to HTTPS-secured communications. Any requests sent via HTTP return an HTTP `301` redirect to the corresponding HTTPS resources.\n4. The API returns requests responses in [JSON format](https://en.wikipedia.org/wiki/JSON). When an API request returns an error, it is sent in the JSON response as an error key.\n5. The request method (verb) determines the nature of action you intend to perform. A request made using the `GET` method implies that you want to fetch something from Postman. The `POST` method implies you want to save something new to Postman.\n6. For all requests, API calls respond with their corresponding [HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). In the Postman client, the status code also provides help text that details the possible meaning of the response code.\n7. You can access individual resources in your Postman with its unique ID (`uid`) value. The `uid` is a simple concatenation of the resource owner's user ID and the resource's ID. For example, a collection's `uid` is the `{{owner_id}}-{{collection_id}}` value.\n \n\n## ID and UID\n\nAll items in Postman, such as collections, workspaces, and APIs, have ID and UIDs:\n\n- An ID is the unique ID assigned to a Postman item. For example, `ec29121c-5203-409f-9e84-e83ffc10f226`.\n- The UID is the **full** ID of a Postman item. This value is the user ID concatenated with the item's unique ID. For example, in the `12345678-ec29121c-5203-409f-9e84-e83ffc10f226` UID:\n - `12345678` is the user's ID.\n - `ec29121c-5203-409f-9e84-e83ffc10f226` is the item's ID.\n\n## Authentication\n\nPostman uses API keys for authentication. The API key tells the API server that the request came from you. Everything that you have access to in Postman is accessible with your API key. You can generate a Postman API key in the [**API keys**](https://postman.postman.co/settings/me/api-keys) section of your Postman account settings.\n\nYou must include an API key in each request to the Postman API with the `X-Api-Key` request header. In Postman, you can store your API key as an [environment variable](https://www.getpostman.com/docs/environments). The Postman API [collection](https://www.getpostman.com/docs/collections) will use it to make API calls.\n\n### Authentication error response\n\nIf an API key is missing, malformed, or invalid, you will receive an HTTP `401 Unauthorized` response code.\n\n### Using the API key as a query parameter\n\nRequests that accept the `X-Api-Key` request header also accept the API key when you send it as the `apikey` query parameter. An API key sent as part of the header has a higher priority when you send the key as both a request header and a query parameter.\n\n## Rate and usage limits\n\nAPI access rate limits apply at a per-API key basis in unit time. The limit is **300 requests per minute**. Also, depending on your [plan](https://www.postman.com/pricing/), you may have usage limits. If you exceed either limit, your request will return an HTTP `429 Too Many Requests` status code.\n\nEach API response returns the following set of headers to help you identify your use status:\n\n| Header | Description |\n| --- | --- |\n| `X-RateLimit-Limit` | The maximum number of requests that the consumer is permitted to make per minute. |\n| `X-RateLimit-Remaining` | The number of requests remaining in the current rate limit window. |\n| `X-RateLimit-Reset` | The time at which the current rate limit window resets in UTC epoch seconds. |\n\n## 503 response\n\nAn HTTP `503` response from our servers indicates there is an unexpected spike in API access traffic. The server is usually operational within the next five minutes. If the outage persists or you receive any other form of an HTTP `5XX` error, [contact support](https://support.postman.com/hc/en-us/requests/new/).\n\n## Support\n\nFor help regarding accessing the Postman API, you can:\n\n- Visit [Postman Support](https://support.postman.com/hc/en-us) or our [Community and Support](https://www.postman.com/community/) sites.\n- Reach out to the [Postman community](https://community.postman.com/).\n- Submit a help request to [Postman support](https://support.postman.com/hc/en-us/requests/new/).\n \n\n## Policies\n\n- [Postman Terms of Service](http://www.postman.com/legal/terms/)\n- [Postman Privacy Policy](https://www.postman.com/legal/privacy-policy/)", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "28514611", + "_collection_link": "https://leapin-hr.postman.co/workspace/Engineering~dc1c9ff3-1cb5-4f35-a2f3-64607cc4c9a1/collection/28514611-2216b18c-3447-4b3f-8498-7e8b2e05ba8a?action=share&source=collection_link&creator=28514611" + }, + "item": [ + { + "name": "API", + "item": [ + { + "name": "v10", + "item": [ + { + "name": "Schema", + "item": [ + { + "name": "Create a schema", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\": \"{{schemaType}}\",\n \"files\": [\n {\n \"path\": \"{{filePath1}}\",\n \"content\": \"{{content1}}\"\n },\n {\n \"path\": \"{{filePath2}}\",\n \"content\": \"{{content2}}\"\n },\n {\n \"path\": \"{{filePath3}}\",\n \"content\": \"{{content3}}\"\n },\n {\n \"path\": \"{{filePath4}}\",\n \"content\": \"{{content4}}\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + }, + "description": "Creates a schema for an API. The request body must contain the following:\n\n- `type` — A **string** value that contains the API schema's type. One of:\n - `openapi:3_1`\n - `openapi:3`\n - `openapi:2`\n - `openapi:1`\n - `raml:0_8`\n - `raml:1`\n - `wsdl:1`\n - `wsdl:2`\n - `graphql`\n - `proto:2`\n - `proto:3`\n - `asyncapi:2`\n- `files` — An **array** of schema files that contains the following:\n - `path` — A **string** value that contains the schema file's path.\n - `content` — A **string** value that contains the schema file's stringified contents." + }, + "response": [ + { + "name": "Create Schema", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Sample API\\\",\\n \\\"description\\\": \\\"Buy or rent spacecrafts\\\"\\n },\\n \\\"paths\\\": {\\n \\\"/spacecrafts/{spacecraftId}\\\": {\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"spacecraftId\\\",\\n \\\"description\\\": \\\"The unique identifier of the spacecraft\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n }\\n }\\n ],\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"Read a spacecraft\\\",\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"The spacecraft corresponding to the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Spacecraft\\\"\\n }\\n }\\n }\\n },\\n \\\"404\\\": {\\n \\\"description\\\": \\\"No spacecraft found for the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n },\\n \\\"500\\\": {\\n \\\"description\\\": \\\"Unexpected error\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"SpacecraftId\\\": {\\n \\\"description\\\": \\\"The unique identifier of a spacecraft\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"Spacecraft\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"type\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"type\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"enum\\\": [\\n \\\"capsule\\\",\\n \\\"probe\\\",\\n \\\"satellite\\\",\\n \\\"spaceplane\\\",\\n \\\"station\\\"\\n ]\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"message\\\": {\\n \\\"description\\\": \\\"A human readable error message\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n },\\n \\\"securitySchemes\\\": {\\n \\\"ApiKey\\\": {\\n \\\"type\\\": \\\"apiKey\\\",\\n \\\"in\\\": \\\"header\\\",\\n \\\"name\\\": \\\"X-Api-Key\\\"\\n }\\n }\\n },\\n \\\"security\\\": [\\n {\\n \\\"ApiKey\\\": []\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"NewPet.json\",\n \"createdBy\": \"557089\",\n \"id\": \"41a3d7fd-bf9a-4053-b20e-37453962b4d6\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"NewPet.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"path\": \"Pet.json\",\n \"createdBy\": \"557089\",\n \"id\": \"93502b81-9f47-45e1-94f7-64882c92519b\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"Pet.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"path\": \"common/Error.json\",\n \"createdBy\": \"557089\",\n \"id\": \"72f4e1c2-5bf8-4247-ab3c-42bcdcc9ae9c\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"Error.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"path\": \"parameters.json\",\n \"createdBy\": \"557089\",\n \"id\": \"2fdc8ea1-d02e-4e50-989e-6fa28f42b995\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"parameters.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"root\": {\n \"enabled\": true\n },\n \"path\": \"swagger.json\",\n \"createdBy\": \"557089\",\n \"id\": \"b4fc1bdc-6587-4f9b-95c9-f768146089b4\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"swagger.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n }\n ],\n \"createdBy\": \"557089\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"id\": \"b4fc1bdc-6587-4f9b-95c9-f768146089b4\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Sample API\\\",\\n \\\"description\\\": \\\"Buy or rent spacecrafts\\\"\\n },\\n \\\"paths\\\": {\\n \\\"/spacecrafts/{spacecraftId}\\\": {\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"spacecraftId\\\",\\n \\\"description\\\": \\\"The unique identifier of the spacecraft\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n }\\n }\\n ],\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"Read a spacecraft\\\",\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"The spacecraft corresponding to the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Spacecraft\\\"\\n }\\n }\\n }\\n },\\n \\\"404\\\": {\\n \\\"description\\\": \\\"No spacecraft found for the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n },\\n \\\"500\\\": {\\n \\\"description\\\": \\\"Unexpected error\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"SpacecraftId\\\": {\\n \\\"description\\\": \\\"The unique identifier of a spacecraft\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"Spacecraft\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"type\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"type\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"enum\\\": [\\n \\\"capsule\\\",\\n \\\"probe\\\",\\n \\\"satellite\\\",\\n \\\"spaceplane\\\",\\n \\\"station\\\"\\n ]\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"message\\\": {\\n \\\"description\\\": \\\"A human readable error message\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n },\\n \\\"securitySchemes\\\": {\\n \\\"ApiKey\\\": {\\n \\\"type\\\": \\\"apiKey\\\",\\n \\\"in\\\": \\\"header\\\",\\n \\\"name\\\": \\\"X-Api-Key\\\"\\n }\\n }\\n },\\n \\\"security\\\": [\\n {\\n \\\"ApiKey\\\": []\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" + }, + { + "name": "Create Schema with Proto", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\": \"proto:2\",\n \"files\": [\n {\n \"path\": \"index.proto\",\n \"content\": \"\",\n \"root\": {\n \"enabled\": true\n }\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"proto:2\",\n \"files\": [\n {\n \"path\": \"index.proto\",\n \"createdBy\": \"557089\",\n \"id\": \"41a3d7fd-bf9a-4053-b20e-37453962b4d6\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"index.proto\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\",\n \"root\": {\n \"enabled\": true\n }\n }\n ],\n \"createdBy\": \"557089\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"id\": \"b4fc1bdc-6587-4f9b-95c9-f768146089b4\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\" : \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" + }, + { + "name": "Schema Already Exists", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\" : \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamsError\",\n \"title\": \"Could not create the resource\",\n \"detail\": \"Schema already exists for this API\"\n}" + }, + { + "name": "Missing files Parameter", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\" : \"openapi:3\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid request body\",\n \"detail\": \"Missing parameter: 'files'\"\n}" + }, + { + "name": "Missing content Parameter", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"index.json\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid request body\",\n \"detail\": \"Required field 'content' missing in the files array\"\n}" + }, + { + "name": "Invalid type Parameter", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\" : \"openapi3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"InvalidParamsError\",\n \"title\": \"Required parameter is invalid\",\n \"detail\": \"Required property `type` is invalid. Should be one of: proto:2, proto:3, graphql, openapi:3_1, openapi:3, openapi:2, openapi:1, raml:1, raml:0_8, wsdl:2, wsdl:1, asyncapi:2\"\n}" + }, + { + "name": "Git-Linked API Errror", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"type\" : \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" + } + ] + }, + { + "name": "Create or update a schema file", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"content\": \"{{fileContent}}\"\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + }, + "description": "Creates or updates an API schema file. The request body must contain the following properties:\n\n- `content` — A **string** value that contains the file's contents.\n \n\n**Note:**\n\n- If the provided file path exists, the file will be updated with the new contents.\n- If the provided file path does **not** exist, then a new schema file will be created.\n- If the file path contains a `/` (forward slash) character, then a folder is created. For example, if the file path is the `dir/schema.json` value, then a `dir` folder is created with the `schema.json` file inside." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + }, + "description": "Creates an API definition. The request body must contain a `schema` object with the following properties:\n\n* `type` — A **string** value that contains the API definition's type. One of: \n * `openapi3_1` \n * `openapi3` \n * `openapi2` \n * `openapi1` \n * `raml` \n * `raml1` \n * `wsdl1` \n * `wsdl2` \n * `graphql` \n * `proto2` \n * `graphql` \n * `proto3` \n* `language` — A **string** value that contains the API definition's language. One of: \n * OpenAPI and RAML — `json` or `yaml` \n * GraphQL — `graphql` \n * WSDL — `xml` \n * Protobuf — `proto` \n* `schema` — A **string** value that contains the API definition's contents." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"path\": \"data-model/index.json\",\n \"name\": \"index.json\"\n}" + }, + { + "name": "Successfully Update root Tag", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"root\": {\n \"enabled\": true\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + }, + "description": "Creates an API definition. The request body must contain a `schema` object with the following properties:\n\n* `type` — A **string** value that contains the API definition's type. One of: \n * `openapi3_1` \n * `openapi3` \n * `openapi2` \n * `openapi1` \n * `raml` \n * `raml1` \n * `wsdl1` \n * `wsdl2` \n * `graphql` \n * `proto2` \n * `graphql` \n * `proto3` \n* `language` — A **string** value that contains the API definition's language. One of: \n * OpenAPI and RAML — `json` or `yaml` \n * GraphQL — `graphql` \n * WSDL — `xml` \n * Protobuf — `proto` \n* `schema` — A **string** value that contains the API definition's contents." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"path\": \"data-model/index.json\",\n \"name\": \"index.json\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" + }, + { + "name": "Schema Not Found", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the resource you are looking for\"\n}" + }, + { + "name": "Schema Not Linked to API", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" + }, + { + "name": "Git-Linked API Errror", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\",\n \"detail\": \"This action is not allowed for Git linked APIs\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": "", + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" + } + ] + }, + { + "name": "Get a schema", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ], + "query": [ + { + "key": "versionId", + "value": "{{versionId}}", + "description": "Optional. The API's version ID.", + "disabled": true + }, + { + "key": "bundled", + "value": "true", + "description": "Optional. If true, return the schema in a bundled format.", + "disabled": true + } + ] + }, + "description": "Gets information about API schema. You can use the `versionId` query parameter to get a schema published in an API version.\n\nYou can use this API to do the following:\n\n- Get a schema's metadata.\n- Get all the files in a schema. This only returns the first file in the schema. The endpoint response contains a link to the next set of response results.\n- Get a schema's contents in multi-file or bundled format.\n \n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}?versionId=66ae9950-0869-4e65-96b0-1e0e47e771af", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ], + "query": [ + { + "key": "versionId", + "value": "66ae9950-0869-4e65-96b0-1e0e47e771af" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"type\": \"openapi:3\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"files\": {\n \"meta\": {\n \"nextPath\": \"/apis/1fdbff7c-036b-4f8a-91bc-17bf3ae74fd2/schemas/cf98c187-17c1-455f-afbf-d4be51f12770/files?cursor=eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9\"\n },\n \"data\": [\n {\n \"createdBy\": \"5000842\",\n \"path\": \"dir/s1.json\",\n \"updatedBy\": \"5000842\",\n \"updatedAt\": \"2023-03-16T19:11:24.000Z\",\n \"createdAt\": \"2023-03-16T18:38:56.000Z\",\n \"id\": \"cf98c187-17c1-455f-afbf-d4be51f12770\",\n \"name\": \"s1.json\"\n }\n ]\n }\n}" + }, + { + "name": "Get Bundled Schema", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}?bundled=true", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ], + "query": [ + { + "key": "bundled", + "value": "true" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"type\": \"openapi:3\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"content\": \"openapi: '3.0.0'\\ninfo:\\n version: '1.0.0'\\n title: 'Sample API'\\n description: Buy or rent spacecrafts\\n\\npaths:\\n /spacecrafts/{spacecraftId}:\\n parameters:\\n - name: spacecraftId\\n description: The unique identifier of the spacecraft\\n in: path\\n required: true\\n schema:\\n $ref: '#/components/schemas/SpacecraftId'\\n get:\\n summary: Read a spacecraft\\n responses:\\n '200':\\n description: The spacecraft corresponding to the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Spacecraft'\\n 404:\\n description: No spacecraft found for the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\n 500:\\n description: Unexpected error\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\ncomponents:\\n schemas:\\n SpacecraftId:\\n description: The unique identifier of a spacecraft\\n type: string\\n Spacecraft:\\n type: object\\n required:\\n - id\\n - names\\n - type\\n properties:\\n id:\\n $ref: '#/components/schemas/SpacecraftId'\\n name:\\n type: string\\n type:\\n type: string\\n enum:\\n - capsule\\n - probe\\n - satellite\\n - spaceplane\\n - station\\n description:\\n type: string\\n Error:\\n type: object\\n required:\\n - message\\n properties:\\n message:\\n description: A human readable error message\\n type: string\\n securitySchemes:\\n ApiKey:\\n type: apiKey\\n in: header\\n name: X-Api-Key\\nsecurity:\\n - ApiKey: []\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" + }, + { + "name": "Schema Not Linked to API", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" + }, + { + "name": "Invalid Version ID", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}?versionId=66ae9950-0869-4e65-96b0-1e0e47e771af", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ], + "query": [ + { + "key": "versionId", + "value": "66ae9950-0869-4e65-96b0-1e0e47e771af" + } + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid version Id provided\",\n \"detail\": \"Schema not published in this version\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please ensure that you have required permissions\",\n \"type\": \"ForbiddenError\"\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"Invalid request body\",\n \"type\": \"invalidParamError\",\n \"detail\": \"Missing field 'versionId' in the request body\"\n}" + }, + { + "name": "Git-Linked API Errror", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" + } + ] + }, + { + "name": "Get schema files", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files" + ], + "query": [ + { + "key": "limit", + "value": "{{limit}}", + "description": "Optional. The maximum number of rows to return in the response. This value defaults to `10`.", + "disabled": true + }, + { + "key": "versionId", + "value": "{{versionId}}", + "description": "Optional. The API's version ID.", + "disabled": true + }, + { + "key": "cursor", + "value": "{{cursor}}", + "description": "Optional. The pointer to the first record of the set of paginated results.", + "disabled": true + } + ] + }, + "description": "Gets the files in an API schema. You can use the `versionId` query parameter to get schema files published in an API version.\n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files?versionId=66ae9950-0869-4e65-96b0-1e0e47e771af&limit=2&cursor=eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files" + ], + "query": [ + { + "key": "versionId", + "value": "66ae9950-0869-4e65-96b0-1e0e47e771af" + }, + { + "key": "limit", + "value": "2" + }, + { + "key": "cursor", + "value": "eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"nextCursor\": \"eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJOZXdQZXQuanNvbiJ9\"\n },\n \"files\": [\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ed\",\n \"path\": \"data-model/error.yaml\",\n \"name\": \"error.yaml\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"createdBy\": 2345,\n \"updatedBy\": 2345\n },\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ef\",\n \"path\": \"data-model/error2.yaml\",\n \"name\": \"error2.yaml\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"createdBy\": 2345,\n \"updatedBy\": 2345\n }\n ]\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" + }, + { + "name": "Git-Linked API Errror", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" + }, + { + "name": "Schema Not Linked to API", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" + }, + { + "name": "Invalid Version ID", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files?versionId=e8a015e0-f472", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files" + ], + "query": [ + { + "key": "versionId", + "value": "e8a015e0-f472" + } + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid version Id provided\",\n \"detail\": \"Schema not published in this version\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please ensure that you have required permissions\",\n \"type\": \"ForbiddenError\"\n}" + } + ] + }, + { + "name": "Get schema file contents", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ], + "query": [ + { + "key": "versionId", + "value": "{{versionId}}", + "description": "Optional. The API's version ID.", + "disabled": true + } + ] + }, + "description": "Gets an API schema file contents at the defined path. You can use the `versionId` query parameter to get schema file contents published in an API version.\n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"path\": \"s1.json\",\n \"name\": \"s1\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"content\": \"openapi: '3.0.0'\\ninfo:\\n version: '1.0.0'\\n title: 'Sample API'\\n description: Buy or rent spacecrafts\\n\\npaths:\\n /spacecrafts/{spacecraftId}:\\n parameters:\\n - name: spacecraftId\\n description: The unique identifier of the spacecraft\\n in: path\\n required: true\\n schema:\\n $ref: '#/components/schemas/SpacecraftId'\\n get:\\n summary: Read a spacecraft\\n responses:\\n '200':\\n description: The spacecraft corresponding to the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Spacecraft'\\n 404:\\n description: No spacecraft found for the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\n 500:\\n description: Unexpected error\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\ncomponents:\\n schemas:\\n SpacecraftId:\\n description: The unique identifier of a spacecraft\\n type: string\\n Spacecraft:\\n type: object\\n required:\\n - id\\n - names\\n - type\\n properties:\\n id:\\n $ref: '#/components/schemas/SpacecraftId'\\n name:\\n type: string\\n type:\\n type: string\\n enum:\\n - capsule\\n - probe\\n - satellite\\n - spaceplane\\n - station\\n description:\\n type: string\\n Error:\\n type: object\\n required:\\n - message\\n properties:\\n message:\\n description: A human readable error message\\n type: string\\n securitySchemes:\\n ApiKey:\\n type: apiKey\\n in: header\\n name: X-Api-Key\\nsecurity:\\n - ApiKey: []\"\n}" + }, + { + "name": "Successful Response for Published Version", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}?versionId=ae2b9ab2-28f2-401d-912f-eca09a78e98b", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ], + "query": [ + { + "key": "versionId", + "value": "ae2b9ab2-28f2-401d-912f-eca09a78e98b" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"path\": \"s1.json\",\n \"name\": \"s1\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"content\": \"openapi: '3.0.0'\\ninfo:\\n version: '1.0.0'\\n title: 'Sample API'\\n description: Buy or rent spacecrafts\\n\\npaths:\\n /spacecrafts/{spacecraftId}:\\n parameters:\\n - name: spacecraftId\\n description: The unique identifier of the spacecraft\\n in: path\\n required: true\\n schema:\\n $ref: '#/components/schemas/SpacecraftId'\\n get:\\n summary: Read a spacecraft\\n responses:\\n '200':\\n description: The spacecraft corresponding to the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Spacecraft'\\n 404:\\n description: No spacecraft found for the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\n 500:\\n description: Unexpected error\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\ncomponents:\\n schemas:\\n SpacecraftId:\\n description: The unique identifier of a spacecraft\\n type: string\\n Spacecraft:\\n type: object\\n required:\\n - id\\n - names\\n - type\\n properties:\\n id:\\n $ref: '#/components/schemas/SpacecraftId'\\n name:\\n type: string\\n type:\\n type: string\\n enum:\\n - capsule\\n - probe\\n - satellite\\n - spaceplane\\n - station\\n description:\\n type: string\\n Error:\\n type: object\\n required:\\n - message\\n properties:\\n message:\\n description: A human readable error message\\n type: string\\n securitySchemes:\\n ApiKey:\\n type: apiKey\\n in: header\\n name: X-Api-Key\\nsecurity:\\n - ApiKey: []\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" + }, + { + "name": "Path Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"Resource not found\",\n \"detail\": \"API schema file does not exist\",\n \"type\": \"instanceNotFoundError\"\n}" + }, + { + "name": "Schema Not Linked to API", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" + }, + { + "name": "Git-Linked API Errror", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\",\n \"detail\": \"This action is not allowed for git linked APIs\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please ensure that you have required permissions\",\n \"type\": \"ForbiddenError\"\n}" + } + ] + }, + { + "name": "Delete a schema file", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + }, + "description": "Deletes a file in an API schema." + }, + "response": [ + { + "name": "Deleted", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "{{filePath}}" + ] + } + }, + "status": "No Content", + "code": 204, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "" + }, + { + "name": "Git-Linked API Errror", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "{{filePath}}" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" + }, + { + "name": "Path Not Found", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "{{filePath}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"File not found: Folder1/nestedFile.json\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "{{filePath}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" + }, + { + "name": "Schema Not Linked to API", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "{{filePath}}" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "schemas", + "{{schemaId}}", + "files", + "{{filePath}}" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": "", + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" + } + ] + } + ], + "description": "The Schema endpoints let you manage your API schema. These endpoints also support multi-file schema." + }, + { + "name": "Version", + "item": [ + { + "name": "Create a version", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"{{apiReleaseName}}\",\n \"releaseNotes\": \"{{apiReleaseDescription}}\",\n \"collections\": [\n {\n \"id\": \"{{collectionId}}\"\n }\n ],\n \"schemas\": [\n {\n \"id\": \"{{schemaId}}\" \n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + }, + "description": "Creates a new API version asynchronously and immediately returns an HTTP `202 Accepted` response. The response contains a polling link to the task status API in the `Location` header.\n\nThis endpoint is equivalent to publishing a version in Postman app, which is the snapshot of API collections and schema at a given point in time.\n\nInclude the following properties in the request body:\n\n- `name` — A **string** value that contains the version name.\n- `collections` — An **array** containing all the collections to publish.\n- `schemas` — An **array** containing the schema to publish.\n- `branch` — A **string** value that contains the name of the repository branch. This property is required only for Git-linked APIs.\n \n\nYou can include the following optional properties:\n\n- `releaseNotes` — A **string** value that contains the Markdown-supported version summary." + }, + "response": [ + { + "name": "Create Version", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ed\"\n }\n ],\n \"schemas\": [\n {\n \"id\": \"18a015e0-f472-4bb3-a523-57ce7c458387\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + }, + "description": "Creates a new API version release. Include the following properties in the `release` object:\n\n* `name` — A **string** value that contains the release name.\n* `visibility` — A **string** value that contains the release's visibility. One of:\n * `private` — The release is private.\n * `public` — The release is public.\n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains the release's summary.\n* `description` — A **string** value that contains the release's description.\n* `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." + }, + "status": "Accepted", + "code": 202, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Location", + "value": "/apis/{{apiId}}/tasks/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}" + }, + { + "name": "Create Version for Git-Linked API with Schemas and Collection", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Accepted", + "code": 202, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Location", + "value": "/apis/{{apiId}}/tasks/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}" + }, + { + "name": "Repository Not Found", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"RepositoryNotFound\",\n \"title\": \"Repository not found.\",\n \"detail\": \"We could not find the Git repository you are looking for.\"\n}" + }, + { + "name": "Collection Not Found", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"CollectionNotFound\",\n \"title\": \"Collection not found.\",\n \"detail\": \"We could not find the collection, path/to/collection1.json, in the Git repository. Please ensure that the path is correct.\"\n}" + }, + { + "name": "Inconsistent API State", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"APIStateInconsistent\",\n \"title\": \"API state seems to be inconsistent.\",\n \"detail\": \"Please perform a Git push from the Postman app to sync state between app and repository.\"\n}" + }, + { + "name": "Invalid Collection Path", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"CollectionPathInvalid\",\n \"detail\": \"Please perform a Git push from the Postman app to sync state between app and repository.\",\n \"title\": \"Collection not found.\"\n}" + }, + { + "name": "Schema Root Not Found", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"SchemaRootNotFound\",\n \"detail\": \"Please perform a Git push from the Postman app to sync state between app and repository.\",\n \"title\": \"Postman app config seems to be corrupted.\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" + }, + { + "name": "Branch Not Found", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"BranchNotFound\",\n \"title\": \"Branch not found.\",\n \"details\": \"We could not find the branch you are looking for.\"\n}" + }, + { + "name": "Auth Token Expired", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Unauthorized", + "code": 401, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"Unauthorized\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please use the Postman app to link your OAuth token with the API. Head over here, https://postman.postman.co/api/4ca6c9ae-da02-11ed-afa1-0242ac120002\"\n}" + }, + { + "name": "Unauthorized", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Unauthorized", + "code": 401, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"Unauthorized\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please use the Postman app to link your OAuth token with the API. Head over here, https://postman.postman.co/api/4ca6c9ae-da02-11ed-afa1-0242ac120002\"\n}" + }, + { + "name": "Parameter branch Missing for Git-Linked API", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"paramMissingError\",\n \"title\": \"Parameter is missing in the request.\",\n \"detail\": \"Parameter, branch is missing in the request.\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ed\"\n }\n ],\n \"schemas\": [\n {\n \"id\": \"18a015e0-f472-4bb3-a523-57ce7c4183ed\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": "", + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" + } + ] + }, + { + "name": "Get all versions", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ], + "query": [ + { + "key": "cursor", + "value": "{{cursor}}", + "description": "Optional. The pointer to the first record of the set of paginated results.", + "disabled": true + }, + { + "key": "limit", + "value": "{{limit}}", + "description": "Optional. The maximum number of rows to return in the response. This value defaults to `10`.", + "disabled": true + } + ] + }, + "description": "Gets all the published versions of an API." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions?limit=2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ], + "query": [ + { + "key": "limit", + "value": "2" + } + ] + }, + "description": "Gets information about all of an API version's releases." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"versions\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"07d940bf-40fc-4acd-a11e-be6769894af0\",\n \"name\": \"Release 2.0\",\n \"releaseNotes\": \"This is the second release of the Test API.\"\n },\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"releaseNotes\": \"This is the first release of the Test API. For more information, read the documentation.\"\n }\n ],\n \"meta\": {\n \"nextCursor\": \"VGh1IE1hciAxNiAyMDIzIDE3OjIxOjUzIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"limit\": 2,\n \"total\": \"100\"\n }\n}" + }, + { + "name": "Success with Cursor Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions?limit=2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ], + "query": [ + { + "key": "limit", + "value": "2" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"total\": 4,\n \"limit\": 2,\n \"nextCursor\": \"V2VkIEZlYiAxNSAyMDIzIDEzOjUyOjAyIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\"\n },\n \"versions\": [\n {\n \"createdAt\": \"2023-02-15T13:41:43.000Z\",\n \"name\": \"v1\",\n \"id\": \"12691e5b-4a6f-4bc7-8335-4ce9b7c5c2ae\",\n \"releaseNotes\": \"\",\n \"updatedAt\": \"2023-02-15T13:41:58.000Z\"\n },\n {\n \"createdAt\": \"2023-02-15T13:47:23.000Z\",\n \"name\": \"v2\",\n \"id\": \"2665bfbf-888a-48f6-98fa-24c0b7689207\",\n \"releaseNotes\": \"\",\n \"updatedAt\": \"2023-02-15T13:47:27.000Z\"\n }\n ]\n}" + }, + { + "name": "Response with cursor Query Parameter", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions?cursor=RnJpIEZlYiAxNyAyMDIzIDEwOjM5OjUxIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=&limit=10", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ], + "query": [ + { + "key": "cursor", + "value": "RnJpIEZlYiAxNyAyMDIzIDEwOjM5OjUxIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=" + }, + { + "key": "limit", + "value": "10" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"total\": 4,\n \"limit\": 10\n },\n \"versions\": [\n {\n \"createdAt\": \"2023-02-17T10:39:51.000Z\",\n \"name\": \"v4\",\n \"id\": \"bc792958-ffd5-4a4c-bcf5-1c07cb8f277b\",\n \"releaseNotes\": \"\",\n \"updatedAt\": \"2023-02-17T10:39:57.000Z\"\n }\n ]\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"We could not find the API you are looking for.\",\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" + }, + { + "name": "v9 Unsupported", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" + } + ] + }, + { + "name": "Get a version", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{versionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{versionId}}" + ] + }, + "description": "Gets information about an API version.\n\n**Note:**\n\n- For API editors, this endpoint returns an HTTP `302 Found` status code when the version status is pending. It also returns the `/apis/{apiId}/tasks/{taskId}` task status response header.\n- For API viewers, this endpoint returns an HTTP `404 Not Found` when the version status is pending." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Gets information about an API version's release." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"version\": {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"releaseNotes\": \"This is the first release.\",\n \"schemas\": [\n {\n \"id\": \"C1\",\n \"type\": \"openapi3\"\n }\n ],\n \"collections\": [\n {\n \"id\": \"C1\",\n \"name\": \"collection1\"\n },\n {\n \"id\": \"C2\",\n \"name\": \"collection2\"\n }\n ]\n }\n}" + }, + { + "name": "Version in Pending Status Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Gets information about an API version's release." + }, + "status": "Found", + "code": 302, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Location", + "value": "/apis/5360b75f-447e-467c-9299-12fd6c92450d/tasks/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "description": "" + } + ], + "cookie": [], + "body": "" + }, + { + "name": "Successful Response for API Viewers", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Gets information about an API version's release." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"version\": {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"releaseNotes\": \"This is the first release.\",\n \"schemas\": [\n {\n \"id\": \"C1\",\n \"type\": \"openapi:3\"\n }\n ],\n \"collections\": [\n {\n \"id\": \"C1\",\n \"name\": \"collection1\"\n },\n {\n \"id\": \"C2\",\n \"name\": \"collection2\"\n }\n ]\n }\n}" + }, + { + "name": "Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Gets information about an API version's release." + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"VersionNotFound\",\n \"title\": \"API Version not found.\",\n \"details\": \"We could not find the API Version you are looking for.\"\n}" + } + ] + }, + { + "name": "Update a version", + "request": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"{{apiVersionName}}\",\n \"releaseNotes\": \"{{releaseNotes}}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Updates an API version. Include at least one of the following properties in the request body:\n\n- `name` — A **string** value that contains the version name.\n- `releaseNotes` — A **string** value that contains the Markdown-supported release notes.\n \n\n**Note:**\n\nThis endpoint returns an HTTP `404 Not Found` response when an API version is pending publication." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Updates an API version's release. Include at least one of the following properties in the `release` object:\n\n* `name` — A **string** value that contains the release name.\n* `visibility` — A **string** value that contains the release's visibility. One of:\n * `private` — The release is private.\n * `public` — The release is public.\n* `summary` — A **string** value that contains the release's summary.\n* `description` — A **string** value that contains the release's description.\n* `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2\",\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\"\n}" + }, + { + "name": "VersionNotFound Error When API Version is Pending Publishing", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"VersionNotFound\",\n \"title\": \"API Version not found.\",\n \"details\": \"We could not find the API Version you are looking for.\"\n}" + } + ] + }, + { + "name": "Delete a version", + "request": { + "auth": { + "type": "apikey", + "apikey": [ + { + "key": "value", + "value": "{{postman-API-key}}", + "type": "string" + }, + { + "key": "key", + "value": "X-API-KEY", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{versionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{versionId}}" + ] + }, + "description": "Deletes an API version.\n\n**Note:**\n\nThis endpoint returns an HTTP `404 Not Found` response when an API version is pending publication." + }, + "response": [ + { + "name": "Deleted", + "originalRequest": { + "auth": { + "type": "apikey", + "apikey": [ + { + "key": "key", + "value": "X-API-KEY", + "type": "string" + }, + { + "key": "value", + "value": "{{postman-API-key}}", + "type": "string" + }, + { + "key": "in", + "type": "any" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Deletes an API version's release." + }, + "status": "No Content", + "code": 204, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "" + }, + { + "name": "API Not Found", + "originalRequest": { + "auth": { + "type": "apikey", + "apikey": [ + { + "key": "key", + "value": "X-API-KEY", + "type": "string" + }, + { + "key": "value", + "value": "{{postman-API-key}}", + "type": "string" + }, + { + "key": "in", + "type": "any" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Deletes an API version's release." + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API version you are looking for\"\n }\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"Forbidden\",\n \"detail\": \"You do not have permission to perform this action\"\n}" + }, + { + "name": "VersionNotFound Error When API Version is Pending Publishing", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{versionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{versionId}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"VersionNotFound\",\n \"title\": \"API Version not found.\",\n \"details\": \"We could not find the API Version you are looking for.\"\n}" + } + ] + } + ], + "description": "The Version endpoints let you manage your [API's versions](https://learning.postman.com/docs/designing-and-developing-your-api/versioning-an-api/versioning-an-api-overview/#publishing-an-api-version)." + }, + { + "name": "Collections", + "item": [ + { + "name": "Get a collection", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}" + ], + "query": [ + { + "key": "versionId", + "value": "{{versionId}}", + "description": "Optional. The API's version ID.", + "disabled": true + } + ] + }, + "description": "Gets a collection attached to an API. You can use the `versionId` query parameter to get a collection published in a version.\n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"item\": [\n {\n \"protocolProfileBehavior\": {\n \"disableBodyPruning\": true\n },\n \"response\": [\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 200,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"The spacecraft corresponding to the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"id\\\": \\\"\\\",\\n \\\"name\\\": \\\"commodo\\\",\\n \\\"type\\\": \\\"capsule\\\",\\n \\\"description\\\": \\\"pariatur dolo\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"OK\",\n \"id\": \"54467f6e-71d7-43d5-acc0-48f948e38528\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 404,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"No spacecraft found for the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Not Found\",\n \"id\": \"1231609a-7a3d-444d-aa0c-579703e618f4\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 500,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"Unexpected error\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Internal Server Error\",\n \"id\": \"db674465-8cec-4208-9724-42278ca9b83c\"\n }\n ],\n \"id\": \"d3779255-5293-4e58-9b65-8954936e1dca\",\n \"request\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"key\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"name\": \"Read a spacecraft\"\n }\n ],\n \"auth\": {\n \"apikey\": [\n {\n \"type\": \"string\",\n \"key\": \"key\",\n \"value\": \"X-Api-Key\"\n },\n {\n \"type\": \"string\",\n \"key\": \"value\",\n \"value\": \"SCBKCDKCHKDHCK\"\n },\n {\n \"type\": \"string\",\n \"key\": \"in\",\n \"value\": \"header\"\n }\n ],\n \"type\": \"apikey\"\n },\n \"info\": {\n \"description\": \"Buy or rent spacecrafts\",\n \"_postman_id\": \"e726de58-f1b3-4edd-a8a7-2579dc799d39\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.1.0/collection.json\",\n \"name\": \"Generated\"\n },\n \"variable\": [\n {\n \"value\": \"/\",\n \"type\": \"string\",\n \"id\": \"526a20ba-acfb-4549-a841-8edf2d24b929\",\n \"key\": \"baseUrl\"\n }\n ]\n}" + }, + { + "name": "Successful Response with Version", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}?versionId=e726de58-f1b3-4edd-a8a7-2579dc799d39", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}" + ], + "query": [ + { + "key": "versionId", + "value": "e726de58-f1b3-4edd-a8a7-2579dc799d39" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"item\": [\n {\n \"protocolProfileBehavior\": {\n \"disableBodyPruning\": true\n },\n \"response\": [\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 200,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"The spacecraft corresponding to the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"id\\\": \\\"\\\",\\n \\\"name\\\": \\\"commodo\\\",\\n \\\"type\\\": \\\"capsule\\\",\\n \\\"description\\\": \\\"pariatur dolo\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"OK\",\n \"id\": \"54467f6e-71d7-43d5-acc0-48f948e38528\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 404,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"No spacecraft found for the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Not Found\",\n \"id\": \"1231609a-7a3d-444d-aa0c-579703e618f4\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 500,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"Unexpected error\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Internal Server Error\",\n \"id\": \"db674465-8cec-4208-9724-42278ca9b83c\"\n }\n ],\n \"id\": \"d3779255-5293-4e58-9b65-8954936e1dca\",\n \"request\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"key\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"name\": \"Read a spacecraft\"\n }\n ],\n \"auth\": {\n \"apikey\": [\n {\n \"type\": \"string\",\n \"key\": \"key\",\n \"value\": \"X-Api-Key\"\n },\n {\n \"type\": \"string\",\n \"key\": \"value\",\n \"value\": \"SCBKCDKCHKDHCK\"\n },\n {\n \"type\": \"string\",\n \"key\": \"in\",\n \"value\": \"header\"\n }\n ],\n \"type\": \"apikey\"\n },\n \"info\": {\n \"description\": \"Buy or rent spacecrafts\",\n \"_postman_id\": \"e726de58-f1b3-4edd-a8a7-2579dc799d39\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.1.0/collection.json\",\n \"name\": \"Generated\"\n },\n \"variable\": [\n {\n \"value\": \"/\",\n \"type\": \"string\",\n \"id\": \"526a20ba-acfb-4549-a841-8edf2d24b929\",\n \"key\": \"baseUrl\"\n }\n ]\n}" + }, + { + "name": "Version ID Missing", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"Invalid request body\",\n \"type\": \"invalidParamError\",\n \"detail\": \"Missing field 'versionId' in the request body\"\n}" + } + ] + }, + { + "name": "Add a collection", + "request": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"operationType\": \"{{operationType}}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections" + ] + }, + "description": "Adds a collection to an API. To do this, use the following `operationType` values:\n\n- `COPY_COLLECTION` — Copies a collection from the workspace and adds it to an API.\n- `CREATE_NEW` — Creates a new collection by providing the new collection's content.\n- `GENERATE_FROM_SCHEMA` — Generates the collection from an API schema.\n - `options` — An **object** that contains advanced creation options and their values. You can find a complete list of properties and their values in Postman's [OpenAPI 3.0 to Postman Collection v2.1.0 Converter OPTIONS documentation](https://github.com/postmanlabs/openapi-to-postman/blob/develop/OPTIONS.md). **These properties are case-sensitive.**\n\nFor examples of each method, see the collection's response examples." + }, + "response": [ + { + "name": "Copy a Collection", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"operationType\": \"COPY_COLLECTION\",\n \"data\": {\n \"collectionId\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n}" + }, + { + "name": "Generate a Collection from Schema", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"operationType\": \"GENERATE_FROM_SCHEMA\",\n \"name\": \"Test Collection\",\n \"options\": {\n \"enableOptionalParameters\": true,\n \"folderStrategy\": \"Tags\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n}" + }, + { + "name": "Add a New Collection", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"operationType\": \"CREATE_NEW\",\n \"data\": {\n \"item\": [\n {\n \"protocolProfileBehavior\": {\n \"disableBodyPruning\": true\n },\n \"response\": [\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 200,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"The spacecraft corresponding to the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"id\\\": \\\"\\\",\\n \\\"name\\\": \\\"commodo\\\",\\n \\\"type\\\": \\\"capsule\\\",\\n \\\"description\\\": \\\"pariatur dolo\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"OK\",\n \"id\": \"54467f6e-71d7-43d5-acc0-48f948e38528\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 404,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"No spacecraft found for the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Not Found\",\n \"id\": \"1231609a-7a3d-444d-aa0c-579703e618f4\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 500,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"Unexpected error\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Internal Server Error\",\n \"id\": \"db674465-8cec-4208-9724-42278ca9b83c\"\n }\n ],\n \"id\": \"d3779255-5293-4e58-9b65-8954936e1dca\",\n \"request\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"key\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"name\": \"Read a spacecraft\"\n }\n ],\n \"auth\": {\n \"apikey\": [\n {\n \"type\": \"string\",\n \"key\": \"key\",\n \"value\": \"X-Api-Key\"\n },\n {\n \"type\": \"string\",\n \"key\": \"value\",\n \"value\": \"SCBKCDKCHKDHCK\"\n },\n {\n \"type\": \"string\",\n \"key\": \"in\",\n \"value\": \"header\"\n }\n ],\n \"type\": \"apikey\"\n },\n \"info\": {\n \"description\": \"Buy or rent spacecrafts\",\n \"_postman_id\": \"e726de58-f1b3-4edd-a8a7-2579dc799d39\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.1.0/collection.json\",\n \"name\": \"Generated\"\n },\n \"variable\": [\n {\n \"value\": \"/\",\n \"type\": \"string\",\n \"id\": \"526a20ba-acfb-4549-a841-8edf2d24b929\",\n \"key\": \"baseUrl\"\n }\n ]\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"operationType\": \"COPY_COLLECTION\",\n \"data\": {\n \"collectionId\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": "", + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" + } + ] + }, + { + "name": "Sync collection with schema", + "request": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + }, + "description": "Syncs a collection attached to an API with the API schema.\n\nThis is an asynchronous endpoint that returns an HTTP `202 Accepted` response. The response contains a polling link to the `/apis/{apiId}/tasks/{taskId}` endpoint in the Location header.\n\n**Note:**\n\nThis endpoint only supports the OpenAPI 3 schema type." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Accepted", + "code": 202, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Location", + "value": "/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"taskId\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\"\n}" + }, + { + "name": "Schema Not Found", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"We could not find a schema linked to this API\",\n \"title\": \"Schema not found\",\n \"type\": \"instanceNotFoundError\"\n}" + }, + { + "name": "Unsupported Schema Type", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"Unsupported schema\",\n \"detail\": \"Collection syncing is not supported for the current schema type of the API\",\n \"type\": \"unsupportedEntityError\"\n}" + }, + { + "name": "Action Not Allowed", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" + }, + { + "name": "v9 Unsupported", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"This endpoint does not support v9 APIs.\",\n \"title\": \"Unsupported API\",\n \"type\": \"unsupportedEntityError\"\n}" + }, + { + "name": "Collection Not Found", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"We could not find a collection you are looking for\",\n \"title\": \"Collection not found\",\n \"type\": \"instanceNotFoundError\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\",\n \"type\": \"instanceNotFoundError\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "collections", + "{{collectionId}}", + "sync-with-schema-tasks" + ] + } + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "Text", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" + } + ] + } + ], + "description": "The Collections endpoints let you manage your collections linked to an API." + }, + { + "name": "Get status of an asynchronous task", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "tasks", + "{{taskId}}" + ] + }, + "description": "Gets the status of an asynchronous task." + }, + "response": [ + { + "name": "Pending Status", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "tasks", + "{{taskId}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"url\": \"https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39/sync\",\n \"action\": \"update\",\n \"model\": \"collection\"\n },\n \"id\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\",\n \"createdAt\": \"2023-02-12 19:34:49\",\n \"updatedAt\": \"2023-02-12 19:34:49\",\n \"status\": \"pending\"\n}" + }, + { + "name": "Completed Status", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "tasks", + "{{taskId}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"url\": \"https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39/sync\",\n \"action\": \"update\",\n \"model\": \"collection\"\n },\n \"details\": {\n \"resources\": [\n {\n \"id\": \"collectionID\",\n \"url\": \"/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39\"\n }\n ]\n },\n \"id\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\",\n \"createdAt\": \"2023-02-12 19:34:49\",\n \"updatedAt\": \"2023-02-12 19:34:49\",\n \"status\": \"completed\"\n}" + }, + { + "name": "Failed Status", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "tasks", + "{{taskId}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"url\": \"https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39/sync\",\n \"action\": \"update\",\n \"model\": \"collection\"\n },\n \"details\": {\n \"error\": {\n \"message\": \"The API contains invalid schema\"\n }\n },\n \"id\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\",\n \"createdAt\": \"2019-02-12 19:34:49\",\n \"updatedAt\": \"2023-02-12 19:34:49\",\n \"status\": \"failed\"\n}" + }, + { + "name": "Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "tasks", + "{{taskId}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"detail\": \"Parameter, taskId is in an invalid format.\",\n \"title\": \"The specified parameter is in an invalid format\",\n \"type\": \"invalidParamsError\"\n}" + } + ] + }, + { + "name": "Create an API", + "request": { + "auth": { + "type": "apikey", + "apikey": [ + { + "key": "value", + "value": "{{postman-api-key}}", + "type": "string" + }, + { + "key": "key", + "value": "x-api-key", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n \"description\": \"{{apiDescription}}\"\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId={{workspaceId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "{{workspaceId}}", + "description": "Required. The workspace ID." + } + ] + }, + "description": "Creates an API. Include the following properties in the request body:\n\n- `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n- `summary` — A **string** value that contains a summary of the API.\n- `description` — A **string** value that contains the description of the API." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" + } + ] + }, + "description": "Creates an API. Include the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" + } + ] + }, + "description": "Creates an API. Include the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" + }, + { + "name": "Missing Workspace ID", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"paramMissingError\",\n \"title\": \"Parameter is missing in the request.\",\n \"detail\": \"Parameter, workspaceId is missing in the request.\"\n}" + }, + { + "name": "Workspace Not Found", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" + } + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"title\": \"We could not find the workspace you are looking for\",\n \"detail\": \"We could not find the workspace you are looking for.\",\n \"type\": \"instanceNotFoundError\"\n}" + } + ] + }, + { + "name": "Update an API", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n \"description\": \"{{apiDescription}}\"\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Updates an API. Include at least one of the following properties in the request body:\n\n- `name` — A **string** value that contains the API's name.\n- `summary` — A **string** value that contains a summary of the API.\n- `description` — A **string** value that contains the description of the API. This supports Markdown formatting." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" + }, + { + "name": "v9 Unsupported", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" + } + ] + }, + { + "name": "Get all APIs", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId={{workspaceId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "{{workspaceId}}", + "description": "Required. The workspace ID." + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. The user ID of the user that created the resource.", + "disabled": true + }, + { + "key": "cursor", + "value": "{{cursor}}", + "description": "Optional. The pointer to the first record of the set of paginated results.", + "disabled": true + }, + { + "key": "limit", + "value": "{{limit}}", + "description": "Optional. The maximum number of rows to return in the response. This value defaults to `10`.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + } + ] + }, + "description": "Gets information about all APIs in a workspace.\n\n**Note:**\n\nThis endpoint only returns APIs created or migrated in Postman v10 and higher." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 12 Jul 2022 16:39:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Length", + "value": "120" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Server", + "value": "nginx" + }, + { + "key": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "x-srv-trace", + "value": "v=1;t=915b2bd230311a7e" + }, + { + "key": "x-srv-span", + "value": "v=1;s=108d09101d76e02a" + }, + { + "key": "X-RateLimit-Limit", + "value": "400" + }, + { + "key": "X-RateLimit-Remaining", + "value": "399" + }, + { + "key": "X-RateLimit-Reset", + "value": "1657644009" + }, + { + "key": "ETag", + "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"nextCursor\": \"VGh1IE1hciAxNiAyMDIzIDE3OjIxOjUzIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 4,\n \"limit\": 10\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": null,\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-15T13:07:08.000Z\",\n \"id\": \"fec65321-5f55-4feb-8525-be95bccae8dd\",\n \"updatedAt\": \"2023-02-15T13:07:08.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-16T05:52:27.000Z\",\n \"id\": \"b7c54faa-d119-4572-a18d-e2f5c32348ce\",\n \"updatedAt\": \"2023-02-16T05:52:27.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-16T07:07:16.000Z\",\n \"id\": \"d535a8ba-ed4b-4c6a-bf1c-13fac95485b8\",\n \"updatedAt\": \"2023-02-16T07:07:16.000Z\"\n }\n ]\n}" + }, + { + "name": "Pagination with Cursor Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)&cursor=V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=&limit=2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" + }, + { + "key": "cursor", + "value": "V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=" + }, + { + "key": "limit", + "value": "2" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"nextCursor\": \"VGh1IEZlYiAxNiAyMDIzIDA3OjA3OjE2IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 4,\n \"limit\": 2\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": null,\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-15T13:07:08.000Z\",\n \"id\": \"fec65321-5f55-4feb-8525-be95bccae8dd\",\n \"updatedAt\": \"2023-02-15T13:07:08.000Z\"\n }\n ]\n}" + }, + { + "name": "Missing Workspace ID", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"paramMissingError\",\n \"title\": \"Parameter is missing in the request.\",\n \"detail\": \"Parameter, workspaceId is missing in the request.\"\n}" + }, + { + "name": "Filter by createdBy", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)&createdBy=893478", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" + }, + { + "key": "createdBy", + "value": "893478" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"nextCursor\": \"V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 1,\n \"limit\": 10\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": null,\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n }\n ]\n}" + }, + { + "name": "Filter by description", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)&description=This is an API for testing purposes", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" + }, + { + "key": "description", + "value": "This is an API for testing purposes" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"meta\": {\n \"nextCursor\": \"V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 1,\n \"limit\": 10\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n }\n ]\n}" + }, + { + "name": "Workspace Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspaceId", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" + } + ] + } + }, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the workspace you are looking for\",\n \"detail\": \"We could not find the workspace you are looking for.\"\n}" + } + ] + }, + { + "name": "Get an API", + "request": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ], + "query": [ + { + "key": "include", + "value": "{{includeOptions}}", + "description": "Optional. An array that contains one or more of the following additional resources to include in the response. Use this parameter to query for element links to the API, such as collections and schemas:\n- `collections` — Query for linked Postman collections.\n- `versions` — Query for linked versions.\n- `schemas` — Query for linked schemas.\n- `gitInfo` — Query for information about the API’s git-linked repository. This query only returns the linked repository and folder locations of the files. It does **not** return `collections` or `schemas` information.\n\n**Note:**\nAPI viewers can only use the `versions` option.\n ", + "disabled": true + } + ] + }, + "description": "Gets information about an API.\n\n**Note:**\n\n- Git-connected APIs will **only** return the `versions` and `gitInfo` query responses. This is because schema and collection information is stored in the connected Git repository. The `gitInfo` object only lists the repository and folder locations of the files.\n- API viewers can only use the `versions` option in the `include` query parameter." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Gets information about an API." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"description\": \"This is a test API.\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\"\n}" + }, + { + "name": "Response with the include Parameter", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}?include=schemas,collections,versions,gitInfo", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ], + "query": [ + { + "key": "include", + "value": "schemas,collections,versions,gitInfo" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"updatedBy\": \"12345678\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"description\": \"This is a test API.\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"collections\": [\n {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n }\n ],\n \"gitInfo\": {},\n \"schemas\": [\n {\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\"\n }\n ],\n \"versions\": [\n {\n \"id\": \"18ccb2dc-1746-4945-ba76-8152b37cr123\",\n \"name\": \"v1.0.0\"\n }\n ],\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"summary\": \"Test API.\"\n}" + }, + { + "name": "Response for Git-Linked API with the include Parameter", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}?include=schemas,collections,versions,gitInfo", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ], + "query": [ + { + "key": "include", + "value": "schemas,collections,versions,gitInfo" + } + ] + }, + "description": "Gets information about an API." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdBy\": \"12345678\",\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedBy\": \"12345678\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"description\": \"This is a test API.\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"versions\": [\n {\n \"id\": \"18ccb2dc-1746-4945-ba76-8152b37cr123\",\n \"name\": \"v1.0.0\"\n }\n ],\n \"gitInfo\": {\n \"schemaFolder\": \"schema-folder\",\n \"domain\": \"https://example.com\",\n \"repository\": \"repo-name\",\n \"organization\": \"org-name\",\n \"collectionFolder\": \"collection-folder\"\n }\n}" + }, + { + "name": "Successful Response for API Viewers", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}?include=versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ], + "query": [ + { + "key": "include", + "value": "versions" + } + ] + }, + "description": "Gets information about an API." + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"versions\": [\n {\n \"id\": \"18ccb2dc-1746-4945-ba76-8152b37cr123\",\n \"name\": \"v1.0.0\"\n },\n {\n \"id\": \"5260b75f-447e-467c-9299-12f16c924503\",\n \"name\": \"v1.0.1\"\n }\n ]\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Gets information about an API." + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" + }, + { + "name": "v9 Unsupported", + "originalRequest": { + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" + } + ] + }, + { + "name": "Delete an API", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Deletes an API." + }, + "response": [ + { + "name": "Deleted", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Deletes an API." + }, + "status": "No Content", + "code": 204, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "" + }, + { + "name": "Forbidden", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" + }, + { + "name": "API Not Found", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Deletes an API." + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" + }, + { + "name": "v9 Unsupported", + "originalRequest": { + "method": "DELETE", + "header": [ + { + "key": "Accept", + "value": "application/vnd.api.v10+json" + } + ], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + } + }, + "status": "Unprocessable Entity (WebDAV) (RFC 4918)", + "code": 422, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" + } + ] + } + ], + "description": "The `/apis` endpoints let you manage your APIs.\n\n### Important:\n\n- These endpoints are only available in Postman v10 and higher.\n- When using these endpoints, you must pass an `Accept` header with the `application/vnd.api.v10+json` value." + }, + { + "name": "v9", + "item": [ + { + "name": "API Version", + "item": [ + { + "name": "Get all API versions", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + }, + "description": "Gets information about an API's versions.\n\n**In Postman v9 and earlier:**\n\nWhen you create an API, the system creates a single, default API version. You can use this version’s ID with any endpoints that require an API version ID." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": { + "content": "", + "type": "text/plain" + }, + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"versions\": [\n {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"Draft\",\n \"summary\": null,\n \"createdBy\": \"20891195\",\n \"updatedBy\": \"20891195\",\n \"stage\": \"Planning\",\n \"visibility\": \"public\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\",\n \"createdAt\": \"2023-02-14T14:26:05.000Z\",\n \"updatedAt\": \"2023-02-14T14:26:05.000Z\",\n \"repositoryIntegration\": null\n }\n ]\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Create an API version", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"version\": {\n\t\t\"name\": \"{{apiVersionName}}\",\n\t\t\"source\": {\n\t\t\t\"id\": \"{{apiVersionId}}\",\n\t\t\t\"schema\": {{boolean}},\n\t\t\t\"relations\": {\n\t\t\t\t\"monitor\": {{boolean}},\n\t\t\t\t\"mock\": {{boolean}},\n\t\t\t\t\"documentation\": {{boolean}},\n \"test\": {{boolean}},\n \"environment\": {{boolean}}\n\t\t\t}\n\t\t}\n\t}\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates a new API version. Include the following request body properties in the `version` object:\n\n- `name` — Required. A **string** that contains the API version's name.\n- `source` — An **object** that contains the following properties:\n - `id` — A **string** that contains an API version's ID to copy to the created API version.\n - `schema` — A **boolean** value. If true, copy the API definition to the new API version.\n - `relations` — An **object** that contains the relation types to copy to the new API version. Each property is a **boolean** value that, if true, copies to the new API version. If you do **not** include any the following properties, the system does **not** copy them over (defaults to the `false` value):\n - `monitor`\n - `mock`\n - `documentation`\n - `test`\n - `environment`" + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"version\": {\n \"name\": \"v1\",\n \"source\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"schema\": true,\n \"relations\": {\n \"documentation\": true,\n \"environment\": true,\n \"mock\": true,\n \"monitor\": true\n }\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"version\": {\n \"id\": \"8421a1f3-3262-4d47-a597-7005bf4c1564\",\n \"name\": \"v1\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"version\": {\n \"name\": \"v1\",\n \"source\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"schema\": true,\n \"relations\": {\n \"documentation\": true,\n \"environment\": true,\n \"mock\": true,\n \"monitor\": true\n }\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"version\": {\n \"name\": \"v1\",\n \"source\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"schema\": true,\n \"relations\": {\n \"documentation\": true,\n \"environment\": true,\n \"mock\": true,\n \"monitor\": true\n }\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get an API version", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "Gets information about an API version.\n\n**In Postman v9 and earlier:**\n\nWhen you create an API, the system creates a single, default API version. You can use this version’s ID with any endpoints that require an API version ID." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": { + "content": "", + "type": "text/plain" + }, + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"version\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"Draft\",\n \"summary\": null,\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"stage\": \"Planning\",\n \"visibility\": \"public\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\",\n \"createdAt\": \"2023-02-14T14:26:05.000Z\",\n \"updatedAt\": \"2023-02-14T14:26:05.000Z\",\n \"repositoryIntegration\": null,\n \"schema\": [\n \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n ]\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Update an API version", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"version\": {\n\t\t\"name\": \"{{apiVersionName}}\"\n\t}\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nUpdates an API version. Include the following request body properties in the `version` object:\n\n- `name` — A **string** that contains the API version's name." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"version\": {\n \"name\": \"v1.0\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"version\": {\n \"createdAt\": \"2022-08-02T13:28:05.000Z\",\n \"updatedAt\": \"2022-08-02T13:35:32.000Z\",\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"v1.0\",\n \"summary\": null,\n \"stage\": \"Planning\",\n \"visibility\": \"public\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"version\": {\n \"name\": \"v1.0\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"version\": {\n \"name\": \"v1.0\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Delete an API version", + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nDeletes an API version." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"version\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API version you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + } + ], + "description": "The API version endpoints let you manage your [API's versions](https://learning.postman.com/docs/designing-and-developing-your-api/versioning-an-api/versioning-an-api-overview/).\n\n### Important\n\n**API versions are deprecated as of Postman v10 and higher.**\n\nIn v9 and earlier, when you create an API, the system creates a single, default API version. You can use this version’s ID with any endpoints that require an API version ID.\n\nIn Postman v10, published versions are static representations of your API that consumers can reference (like releases in Postman v9). If you need to work on more than one major iteration of your API in Postman v10, create separate APIs.", + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Relations", + "item": [ + { + "name": "Get unclassified relations", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/unclassified", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "unclassified" + ] + }, + "description": "**This endpoint is for Postman v10 and higher.**\n\nGets all of an API version's unclassified relations.\n\nUnclassified relations are used for documentation and testing. This is the default relation type." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/unclassified", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "unclassified" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"unclassified\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"Test\",\n \"updatedAt\": \"2023-01-19T14:50:05.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/unclassified", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "unclassified" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get monitor relations", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/monitor", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "monitor" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets an API version's monitor relations." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/monitor", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "monitor" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"monitor\": [\n {\n \"id\": \"1e6b6cc1-c760-48e0-968f-4bfaeeae9af1\",\n \"name\": \"Test Monitor\",\n \"updatedAt\": \"2022-07-10T05:00:25.066Z\",\n \"monitorId\": \"1e6b6cc1-c760-48e0-968f-4bfaeeae9af1\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/monitor", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "monitor" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get documentation relations", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/documentation", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "documentation" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets an API version's documentation relations." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/documentation", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "documentation" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"documentation\": [\n {\n \"id\": \"b9bccf0f-e06a-433d-b556-a3cd158f0270\",\n \"name\": \"Test Collection\",\n \"createdAt\": \"2022-07-08T20:29:35.000Z\",\n \"updatedAt\": \"2022-07-08T20:31:06.000Z\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/documentation", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "documentation" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get integration test relations", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/integrationtest", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "integrationtest" + ] + }, + "description": "**This endpoint is deprecated.**" + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/integrationtest", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations", + "integrationtest" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"integrationtest\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"C test\",\n \"updatedAt\": \"2019-08-29T10:18:11.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n },\n {\n \"id\": \"521b0486-ab91-4d3a-9189-43c9380a0533\",\n \"name\": \"C1\",\n \"updatedAt\": \"2019-08-29T11:40:39.000Z\",\n \"collectionId\": \"7332157-a8bcd143-2b01-4b12-8c14-c7d05be77725\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/integrationtest", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations", + "integrationtest" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get test suite relations", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/testsuite", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "testsuite" + ] + }, + "description": "**This endpoint is deprecated.**" + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/testsuite", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations", + "testsuite" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"testsuite\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"C test\",\n \"updatedAt\": \"2019-08-29T10:18:11.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n },\n {\n \"id\": \"521b0486-ab91-4d3a-9189-43c9380a0533\",\n \"name\": \"C1\",\n \"updatedAt\": \"2019-08-29T11:40:39.000Z\",\n \"collectionId\": \"7332157-a8bcd143-2b01-4b12-8c14-c7d05be77725\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/testsuite", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations", + "testsuite" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get all linked relations", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/relations", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "relations" + ] + }, + "description": "Gets all of an API version's relations.\n\n**Note:**\n\nIn Postman v10 and higher, this endpoint returns the following:\n\n- The `unclassified` relation is for documentation and testing. This is the default relation type.\n- The `apiDefinition` relation is the relation used for API definitions." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": { + "content": "", + "type": "text/plain" + }, + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"relations\": {\n \"apiDefintion\": {\n \"16bb367e-fafb-4ef3-933b-ee3d971866fb\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n }\n },\n \"unclassified\": {\n \"b9bccf0f-e06a-433d-b556-a3cd158f0270\": {\n \"id\": \"b9bccf0f-e06a-433d-b556-a3cd158f0270\",\n \"name\": \"Test Collection\",\n \"createdAt\": \"2023-01-30T17:41:50.000Z\",\n \"updatedAt\": \"2023-01-19T14:50:05.000Z\"\n }\n },\n \"schema\": {\n \"16bb367e-fafb-4ef3-933b-ee3d971866fb\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n }\n }\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get all test relations", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/test", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "test" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets all of an API version's test relations." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/test", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "test" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"test\": [\n {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"name\": \"Test Collection\",\n \"updatedAt\": \"2022-07-08T18:32:23.000Z\",\n \"collectionId\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/test", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "test" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Sync API relations with definition", + "request": { + "method": "PUT", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/:relationType/:entityId/syncWithSchema", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + ":relationType", + ":entityId", + "syncWithSchema" + ], + "variable": [ + { + "key": "relationType", + "value": "unclassified", + "description": "The `unclassified` relation type. This relation is used for documentation and testing.\n\n**Note:**\n\nIn Postman v10 and earlier, this value is one of:\n* `documentation`\n* `test`\n* `mock`\n* `monitor`" + }, + { + "key": "entityId", + "value": "{{entityId}}", + "description": "The collection's UID value.\n\n**Note:**\n\nIn Postman v10 and earlier, the entity's ID value is one of the following, based on its relation type:\n* `documentation` and `test` — The collection UID value.\n* `environment` — The environment UID value.\n* `mock` — The mock ID value.\n* `monitor` — The monitor ID value." + } + ] + }, + "description": "Syncs an API version's relation with the API's definition." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/4ebb45f8-7bb3-4a63-9c42-0b1602818293/versions/5e154147-b571-4ffe-a6ac-df2ab3b6e5ba/:relationType/:entityId/syncWithSchema", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "4ebb45f8-7bb3-4a63-9c42-0b1602818293", + "versions", + "5e154147-b571-4ffe-a6ac-df2ab3b6e5ba", + ":relationType", + ":entityId", + "syncWithSchema" + ], + "variable": [ + { + "key": "relationType", + "value": "unclassified" + }, + { + "key": "entityId", + "value": "12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"success\": true\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "PUT", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/4ebb45f8-7bb3-4a63-9c42-0b1602818293/versions/5e154147-b571-4ffe-a6ac-df2ab3b6e5ba/:relationType/:entityId/syncWithSchema", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "4ebb45f8-7bb3-4a63-9c42-0b1602818293", + "versions", + "5e154147-b571-4ffe-a6ac-df2ab3b6e5ba", + ":relationType", + ":entityId", + "syncWithSchema" + ], + "variable": [ + { + "key": "relationType", + "value": "unclassified" + }, + { + "key": "entityId", + "value": "12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91" + } + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API version you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "PUT", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/4ebb45f8-7bb3-4a63-9c42-0b1602818293/versions/5e154147-b571-4ffe-a6ac-df2ab3b6e5ba/:relationType/:entityId/syncWithSchema", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "4ebb45f8-7bb3-4a63-9c42-0b1602818293", + "versions", + "5e154147-b571-4ffe-a6ac-df2ab3b6e5ba", + ":relationType", + ":entityId", + "syncWithSchema" + ], + "variable": [ + { + "key": "relationType", + "value": "unclassified" + }, + { + "key": "entityId", + "value": "12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91" + } + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get environment relations", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/environment", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "environment" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets an API version's environment relations." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/environment", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "environment" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"environment\": [\n {\n \"id\": \"12345678-5daabc50-8451-43f6-922d-96b403b4f28e\",\n \"name\": \"Test Environment\",\n \"createdAt\": \"2022-07-08T20:32:48.000Z\",\n \"updatedAt\": \"2022-07-08T20:31:30.000Z\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/environment", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "environment" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get contract test relations", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/contracttest", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "contracttest" + ] + }, + "description": "**This endpoint is deprecated.**" + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/contracttest", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations", + "contracttest" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"contracttest\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"C test\",\n \"updatedAt\": \"2019-08-29T10:18:11.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n },\n {\n \"id\": \"521b0486-ab91-4d3a-9189-43c9380a0533\",\n \"name\": \"C1\",\n \"updatedAt\": \"2019-08-29T11:40:39.000Z\",\n \"collectionId\": \"7332157-a8bcd143-2b01-4b12-8c14-c7d05be77725\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/contracttest", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations", + "contracttest" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Create relations", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"{{relationType}}\": [\n \"{{entityId}}\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/relations", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "relations" + ] + }, + "description": "Creates a new relation for an API version. Include the following in the request body:\n\n- `relationType` — An **array** that contains entity relations. The key value for this array must be the `unclassified` value.\n \n\nYou must include the following properties in the `relationType` array:\n\n- `entityId` — The collection's UID value.\n \n\n**Note:**\n\nThe following is **deprecated** in Postman API v10 and higher:\n\n| **`relationType`** | **`entityId`** |\n| --- | --- |\n| `documentation` and `test` | A collection UID value. |\n| `environment` | An environment UID value. |\n| `mock` | A mock ID value. |\n| `monitor` | A monitor ID value. |\n\nThe endpoint accepts multiple `relationType` arrays in a single call. For an example, see the example response documentation.\n\nThe `documentation` and `test` values returned in the response are the relation ID values, **not** the collection ID values." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"unclassified\": [\n \"12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": "", + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"unclassified\": [\n \"2e006451-e819-443f-97bc-d1635e51007f\"\n ]\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"invalidParamsError\",\n \"message\": \"The specified parameter is in an invalid format\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"unclassified\": [\n \"12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "relations" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + } + ], + "description": "The Relations endpoints let you manage your API's relations. Relations are an API's connections to items such as documentation, tests, and API definitions.\n\n### Important\n\nIn Postman v10 and higher, we **only** support the following relation types:\n\n- `unclassified` — The relation for documentation and testing.\n- `apiDefinition` — The relation for API definitions." + }, + { + "name": "Schema", + "item": [ + { + "name": "Get a schema", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "schemas", + "{{schemaId}}" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets information about an API's definition." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas", + "16bb367e-fafb-4ef3-933b-ee3d971866fb" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"schema\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\",\n \"type\": \"openapi3\",\n \"language\": \"json\",\n \"createdAt\": \"2022-07-01T20:12:31.000Z\",\n \"updatedAt\": \"2022-07-01T20:13:04.000Z\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n \"apiVersion\": \"a9879d02-74bf-425a-bbec-6d27aa135507\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas", + "16bb367e-fafb-4ef3-933b-ee3d971866fb" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Definition Mismatch", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas", + "16bb367e-fafb-4ef3-933b-ee3d971866fb" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"schemaApiVersionMismatchError\",\n \"message\": \"The Schema ID provided does not belong to the API Version ID provided.\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas", + "16bb367e-fafb-4ef3-933b-ee3d971866fb" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Create a schema", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"{{apiDefinitionLanguage}}\",\n\t\t\"schema\": \"{{apiDefinition}}\",\n\t\t\"type\": \"{{apiDefinitionType}}\"\n\t}\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "schemas" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates an API definition. The request body must contain a `schema` object with the following properties:\n\n- `type` — A **string** value that contains the API definition's type. One of:\n - `openapi3_1`\n - `openapi3`\n - `openapi2`\n - `openapi1`\n - `raml`\n - `raml1`\n - `wsdl1`\n - `wsdl2`\n - `graphql`\n - `proto2`\n - `graphql`\n - `proto3`\n- `language` — A **string** value that contains the API definition's language. One of:\n - OpenAPI and RAML — `json` or `yaml`\n - GraphQL — `graphql`\n - WSDL — `xml`\n - Protobuf — `proto`\n- `schema` — A **string** value that contains the API definition's contents." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"json\",\n\t\t\"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"schema\": {\n \"id\": \"e3b3a0b7-34d5-4fc5-83e0-118bd9e8c822\",\n \"language\": \"json\",\n \"apiVersion\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"type\": \"openapi3\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"createdAt\": \"2021-05-22T13:17:07.000Z\",\n \"updatedAt\": \"2021-05-22T13:17:07.000Z\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"json\",\n\t\t\"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceAlreadyExists\",\n \"message\": \"A schema already exists for this API Version\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"json\",\n\t\t\"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Create a collection from a schema", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"{{collectionName}}\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"{{relationType}}\"\n\t\t}\t\n\t],\n \"options\": {\n \"{{optionName}}\": \"{{optionValue}}\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas/{{schemaId}}/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "schemas", + "{{schemaId}}", + "collections" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", + "disabled": true + } + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates a collection and links it to an API as one or multiple relations.\n\nInclude the following properties in the request body:\n\n- `name` — A **string** that contains the name of the collection.\n \n\nYou can also include the following additional properties in the request body:\n\n- `relations` — An **array** that contains a list of relations to create:\n - `contracttest` — **Deprecated.**\n - `integrationtest` — **Deprecated.**\n - `testsuite` — **Deprecated.**\n - `documentation`\n- `options` — An **object** that contains advanced creation options and their values. You can find a complete list of properties and their values in Postman's [OpenAPI 3.0 to Postman Collection v2.1.0 Converter OPTIONS documentation](https://github.com/postmanlabs/openapi-to-postman/blob/develop/OPTIONS.md). **These properties are case-sensitive.**" + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"Test Collection\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "be50acd7-414e-4d65-9443-f919b847e29a", + "versions", + "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", + "schemas", + "f087f7b9-018f-447f-ba64-74cb981957ce", + "collections" + ], + "query": [ + { + "key": "workspace", + "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", + "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": "", + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678ß-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n}" + }, + { + "name": "Create a Collection with a Documentation Relation", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"documentation\"\n\t\t}\t\n\t]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "be50acd7-414e-4d65-9443-f919b847e29a", + "versions", + "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", + "schemas", + "f087f7b9-018f-447f-ba64-74cb981957ce", + "collections" + ], + "query": [ + { + "key": "workspace", + "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", + "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "cookie": [], + "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n },\n \"relations\": [\n {\n \"type\": \"documentation\",\n \"id\": \"d86b6c97-fdf9-4c37-825a-49b0223913c7\"\n }\n ]\n}" + }, + { + "name": "Create a Collection with Advanced Options", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"documentation\"\n\t\t}\t\n\t],\n \"options\": {\n \"requestParametersResolution\": \"Example\",\n \"requestNameSource\": \"Fallback\",\n \"validateMetadata\": true\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "be50acd7-414e-4d65-9443-f919b847e29a", + "versions", + "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", + "schemas", + "f087f7b9-018f-447f-ba64-74cb981957ce", + "collections" + ], + "query": [ + { + "key": "workspace", + "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", + "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "cookie": [], + "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n },\n \"relations\": [\n {\n \"type\": \"documentation\",\n \"id\": \"d86b6c97-fdf9-4c37-825a-49b0223913c7\"\n }\n ]\n}" + }, + { + "name": "Create a Collection from a Definition in a Workspace", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"documentation\"\n\t\t}\t\n\t]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections?workspace=c90a3482-f80d-43d6-9dfb-0830f5e43605", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "be50acd7-414e-4d65-9443-f919b847e29a", + "versions", + "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", + "schemas", + "f087f7b9-018f-447f-ba64-74cb981957ce", + "collections" + ], + "query": [ + { + "key": "workspace", + "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", + "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace." + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "cookie": [], + "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n },\n \"relations\": [\n {\n \"type\": \"documentation\",\n \"id\": \"d86b6c97-fdf9-4c37-825a-49b0223913c7\"\n }\n ]\n}" + }, + { + "name": "Invalid Parameter", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"mocks\"\n\t\t}\t\n\t]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "be50acd7-414e-4d65-9443-f919b847e29a", + "versions", + "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", + "schemas", + "f087f7b9-018f-447f-ba64-74cb981957ce", + "collections" + ], + "query": [ + { + "key": "workspace", + "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", + "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"invalidParamsError\",\n \"message\": \"The specified parameter is in an invalid format\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"mocks\"\n\t\t}\t\n\t]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "be50acd7-414e-4d65-9443-f919b847e29a", + "versions", + "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", + "schemas", + "f087f7b9-018f-447f-ba64-74cb981957ce", + "collections" + ], + "query": [ + { + "key": "workspace", + "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", + "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Update a schema", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"{{apiDefinitionLanguage}}\",\n \"schema\": \"{{apiDefinition}}\",\n\t\t\"type\": \"{{apiDefinitionType}}\"\n\t}\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas/{{schemaId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "schemas", + "{{schemaId}}" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nUpdates an API definition. The request body must contain a `schema` object with the following properties:\n\n- `type` — A **string** value that contains the API definition's type. One of:\n - `openapi3_1`\n - `openapi3`\n - `openapi2`\n - `openapi1`\n - `raml`\n - `raml1`\n - `wsdl1`\n - `wsdl2`\n - `graphql`\n - `proto2`\n - `graphql`\n - `proto3`\n- `language` — A **string** value that contains the API definition's language. One of:\n - OpenAPI and RAML — `json` or `yaml`\n - GraphQL — `graphql`\n - WSDL — `xml`\n - Protobuf — `proto`\n- `schema` — Optional. A **string** value that contains the API definition's contents." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"yaml\",\n\t\t\"schema\": \"openapi: 3.0.0\\ninfo:\\n version: 1.0.0\\n title: Test API\\nservers:\\n - url: http://localhost:3000\\npaths:\\n /user:\\n get:\\n summary: List all users\\n operationId: listUser\\n tags:\\n - user\\n parameters:\\n - name: id\\n in: query\\n required: true\\n description: The user's ID.\\n example: 1234\\n schema:\\n type: integer\\n format: int32\\n responses:\\n '200':\\n description: Information about the user.\\n headers:\\n x-next:\\n description: A link to the next page of responses.\\n schema:\\n type: string\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/User' \\ncomponents:\\n schemas:\\n User:\\n type: object\\n required:\\n - id\\n - name\\n properties:\\n id:\\n type: integer\\n format: int32\\n Error:\\n type: object\\n required:\\n - code\\n - message\\n properties:\\n code:\\n type: integer\\n format: int32\\n message:\\n type: string\\n\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas", + "16bb367e-fafb-4ef3-933b-ee3d971866fb" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"schema\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\",\n \"language\": \"yaml\",\n \"apiVersion\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"type\": \"openapi3\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"createdAt\": \"2021-05-22T13:17:07.000Z\",\n \"updatedAt\": \"2021-05-22T13:17:07.000Z\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"yaml\",\n\t\t\"schema\": \"openapi: 3.0.0\\ninfo:\\n version: 1.0.0\\n title: Test API\\nservers:\\n - url: http://localhost:3000\\npaths:\\n /user:\\n get:\\n summary: List all users\\n operationId: listUser\\n tags:\\n - user\\n parameters:\\n - name: id\\n in: query\\n required: true\\n description: The user's ID.\\n example: 1234\\n schema:\\n type: integer\\n format: int32\\n responses:\\n '200':\\n description: Information about the user.\\n headers:\\n x-next:\\n description: A link to the next page of responses.\\n schema:\\n type: string\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/User' \\ncomponents:\\n schemas:\\n User:\\n type: object\\n required:\\n - id\\n - name\\n properties:\\n id:\\n type: integer\\n format: int32\\n Error:\\n type: object\\n required:\\n - code\\n - message\\n properties:\\n code:\\n type: integer\\n format: int32\\n message:\\n type: string\\n\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas", + "16bb367e-fafb-4ef3-933b-ee3d971866fb" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"yaml\",\n\t\t\"schema\": \"openapi: 3.0.0\\ninfo:\\n version: 1.0.0\\n title: Test API\\nservers:\\n - url: http://localhost:3000\\npaths:\\n /user:\\n get:\\n summary: List all users\\n operationId: listUser\\n tags:\\n - user\\n parameters:\\n - name: id\\n in: query\\n required: true\\n description: The user's ID.\\n example: 1234\\n schema:\\n type: integer\\n format: int32\\n responses:\\n '200':\\n description: Information about the user.\\n headers:\\n x-next:\\n description: A link to the next page of responses.\\n schema:\\n type: string\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/User' \\ncomponents:\\n schemas:\\n User:\\n type: object\\n required:\\n - id\\n - name\\n properties:\\n id:\\n type: integer\\n format: int32\\n Error:\\n type: object\\n required:\\n - code\\n - message\\n properties:\\n code:\\n type: integer\\n format: int32\\n message:\\n type: string\\n\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "schemas", + "16bb367e-fafb-4ef3-933b-ee3d971866fb" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + } + ], + "description": "The Schema endpoints let you manage your API's definitions.\n\n### Important\n\n**The schemas concept is deprecated as of Postman v10 and higher.**\n\nIn Postman v10 and higher, “schemas” are now known as “API definitions”. You may see that API responses may return both the `schemas` and `apiDefinition` properties. Use the `apiDefinition` property." + }, + { + "name": "Release", + "item": [ + { + "name": "Get an API release", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases/{{apiReleaseId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "releases", + "{{apiReleaseId}}" + ], + "variable": [ + { + "key": "apiId", + "value": "{{apiId}}" + }, + { + "key": "apiVersionId", + "value": "{{apiVersionId}}" + }, + { + "key": "releaseId", + "value": "{{releaseId}}" + } + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets information about an API version's release." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get all API releases", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "releases" + ], + "variable": [ + { + "key": "apiId", + "value": "{{apiId}}" + }, + { + "key": "apiVersionId", + "value": "{{apiVersionId}}" + } + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets information about all of an API version's releases." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"releases\": [\n {\n \"id\": \"07d940bf-40fc-4acd-a11e-be6769894af0\",\n \"name\": \"Release 2.0\",\n \"description\": \"This is the second release of the Test API.\",\n \"visibility\": \"private\"\n },\n {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\"\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Create an API release", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"name\": \"{{apiReleaseName}}\",\n \"summary\": \"{{apiReleaseSummary}}\",\n \"description\": \"{{apiReleaseDescription}}\",\n \"visibility\": \"{{apiReleaseVisibility}}\",\n \"gitTag\": \"{{apiReleaseGitTag}}\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "releases" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates a new API version release. Include the following properties in the `release` object:\n\n- `name` — A **string** value that contains the release name.\n- `visibility` — A **string** value that contains the release's visibility. One of:\n - `private` — The release is private.\n - `public` — The release is public.\n\nYou can include the following optional properties:\n\n- `summary` — A **string** value that contains the release's summary.\n- `description` — A **string** value that contains the release's description.\n- `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"release\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"release\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"apiRepositoryNotFoundError\",\n \"message\": \"This API version is not linked to a repository\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"release\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Update an API release", + "request": { + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"name\": \"{{apiReleaseName}}\",\n \"summary\": \"{{apiReleaseSummary}}\",\n \"description\": \"{{apiReleaseDescription}}\",\n \"visibility\": \"{{apiReleaseVisibility}}\",\n \"gitTag\": \"{{apiReleaseGitTag}}\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases/{{apiReleaseId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "releases", + "{{apiReleaseId}}" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nUpdates an API version's release. Include at least one of the following properties in the `release` object:\n\n- `name` — A **string** value that contains the release name.\n- `visibility` — A **string** value that contains the release's visibility. One of:\n - `private` — The release is private.\n - `public` — The release is public.\n- `summary` — A **string** value that contains the release's summary.\n- `description` — A **string** value that contains the release's description.\n- `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"release\": {\n \"id\": \"8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2\",\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"release\": {\n \"id\": \"8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2\",\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"release\": {\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Delete an API release", + "request": { + "auth": { + "type": "apikey", + "apikey": [ + { + "key": "value", + "value": "{{postman-API-key}}", + "type": "string" + }, + { + "key": "key", + "value": "X-API-KEY", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases/{{apiReleaseId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}", + "versions", + "{{apiVersionId}}", + "releases", + "{{apiReleaseId}}" + ] + }, + "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nDeletes an API version's release." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the release you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "387c2863-6ee3-4a56-8210-225f774edade", + "versions", + "a9879d02-74bf-425a-bbec-6d27aa135507", + "releases", + "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + } + ], + "description": "The API release endpoints let you manage your API's releases.\n\n### Important\n\n**API releases are deprecated as of Postman v10 and higher.**\n\nYou can no longer create releases for collections in Postman v10, but API producers can [publish versions of an API](https://learning.postman.com/docs/designing-and-developing-your-api/versioning-an-api/api-versions/)." + }, + { + "name": "Get all APIs", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. Return only APIs that are inside the given workspace.", + "disabled": true + }, + { + "key": "since", + "value": "{{since}}", + "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "until", + "value": "{{until}}", + "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. Return only APIs created by the given user ID.", + "disabled": true + }, + { + "key": "updatedBy", + "value": "{{updatedBy}}", + "description": "Optional. Return only APIs updated by the given user ID.", + "disabled": true + }, + { + "key": "isPublic", + "value": "{{isPublic}}", + "description": "Optional. If true, return only public APIs; if false, return only private APIs.", + "disabled": true + }, + { + "key": "name", + "value": "{{name}}", + "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "summary", + "value": "{{summary}}", + "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "sort", + "value": "{{sort}}", + "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", + "disabled": true + }, + { + "key": "direction", + "value": "{{direction}}", + "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", + "disabled": true + } + ] + }, + "description": "Gets information about all APIs." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. Return only APIs that are inside the given workspace.", + "disabled": true + }, + { + "key": "since", + "value": "{{since}}", + "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "until", + "value": "{{until}}", + "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. Return only APIs created by the given user ID.", + "disabled": true + }, + { + "key": "updatedBy", + "value": "{{updatedBy}}", + "description": "Optional. Return only APIs updated by the given user ID.", + "disabled": true + }, + { + "key": "isPublic", + "value": "{{isPublic}}", + "description": "Optional. If true, return only public APIs; if false, return only private APIs.", + "disabled": true + }, + { + "key": "name", + "value": "{{name}}", + "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "summary", + "value": "{{summary}}", + "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "sort", + "value": "{{sort}}", + "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", + "disabled": true + }, + { + "key": "direction", + "value": "{{direction}}", + "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 12 Jul 2022 16:39:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "120" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Server", + "value": "nginx" + }, + { + "key": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "x-srv-trace", + "value": "v=1;t=915b2bd230311a7e" + }, + { + "key": "x-srv-span", + "value": "v=1;s=108d09101d76e02a" + }, + { + "key": "X-RateLimit-Limit", + "value": "400" + }, + { + "key": "X-RateLimit-Remaining", + "value": "399" + }, + { + "key": "X-RateLimit-Reset", + "value": "1657644009" + }, + { + "key": "ETag", + "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + } + ], + "cookie": [], + "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-30T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-30T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public Test API B\",\n \"summary\": \"Public Test B\",\n \"description\": \"This is another public test API.\",\n \"createdBy\": \"87654321\",\n \"updatedBy\": \"87654321\",\n \"isPublic\": false\n }\n ]\n}" + }, + { + "name": "Get Public APIs", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis?isPublic=true", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. Return only APIs that are inside the given workspace.", + "disabled": true + }, + { + "key": "since", + "value": "{{since}}", + "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "until", + "value": "{{until}}", + "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. Return only APIs created by the given user ID.", + "disabled": true + }, + { + "key": "updatedBy", + "value": "{{updatedBy}}", + "description": "Optional. Return only APIs updated by the given user ID.", + "disabled": true + }, + { + "key": "isPublic", + "value": "true", + "description": "Optional. If true, return only public APIs; if false, return only private APIs." + }, + { + "key": "name", + "value": "{{name}}", + "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "summary", + "value": "{{summary}}", + "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "sort", + "value": "{{sort}}", + "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", + "disabled": true + }, + { + "key": "direction", + "value": "{{direction}}", + "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 12 Jul 2022 16:39:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "120" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Server", + "value": "nginx" + }, + { + "key": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "x-srv-trace", + "value": "v=1;t=915b2bd230311a7e" + }, + { + "key": "x-srv-span", + "value": "v=1;s=108d09101d76e02a" + }, + { + "key": "X-RateLimit-Limit", + "value": "400" + }, + { + "key": "X-RateLimit-Remaining", + "value": "399" + }, + { + "key": "X-RateLimit-Reset", + "value": "1657644009" + }, + { + "key": "ETag", + "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + } + ], + "cookie": [], + "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n }\n ]\n}" + }, + { + "name": "Get APIs in a Date Range", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis?since=2022-06-01T00:00:00.000Z&until=2022-06-15T00:00:00.000Z", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. Return only APIs that are inside the given workspace.", + "disabled": true + }, + { + "key": "since", + "value": "2022-06-01T00:00:00.000Z", + "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format." + }, + { + "key": "until", + "value": "2022-06-15T00:00:00.000Z", + "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format." + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. Return only APIs created by the given user ID.", + "disabled": true + }, + { + "key": "updatedBy", + "value": "{{updatedBy}}", + "description": "Optional. Return only APIs updated by the given user ID.", + "disabled": true + }, + { + "key": "isPublic", + "value": "{{isPublic}}", + "description": "Optional. If true, return only public APIs; if false, return only private APIs.", + "disabled": true + }, + { + "key": "name", + "value": "{{name}}", + "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "summary", + "value": "{{summary}}", + "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "sort", + "value": "{{sort}}", + "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", + "disabled": true + }, + { + "key": "direction", + "value": "{{direction}}", + "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 12 Jul 2022 16:39:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "120" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Server", + "value": "nginx" + }, + { + "key": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "x-srv-trace", + "value": "v=1;t=915b2bd230311a7e" + }, + { + "key": "x-srv-span", + "value": "v=1;s=108d09101d76e02a" + }, + { + "key": "X-RateLimit-Limit", + "value": "400" + }, + { + "key": "X-RateLimit-Remaining", + "value": "399" + }, + { + "key": "X-RateLimit-Reset", + "value": "1657644009" + }, + { + "key": "ETag", + "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + } + ], + "cookie": [], + "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n }\n ]\n}" + }, + { + "name": "Filter APIs by Name", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis?name=Public", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. Return only APIs that are inside the given workspace.", + "disabled": true + }, + { + "key": "since", + "value": "{{since}}", + "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "until", + "value": "{{until}}", + "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. Return only APIs created by the given user ID.", + "disabled": true + }, + { + "key": "updatedBy", + "value": "{{updatedBy}}", + "description": "Optional. Return only APIs updated by the given user ID.", + "disabled": true + }, + { + "key": "isPublic", + "value": "{{isPublic}}", + "description": "Optional. If true, return only public APIs; if false, return only private APIs.", + "disabled": true + }, + { + "key": "name", + "value": "Public", + "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive." + }, + { + "key": "summary", + "value": "{{summary}}", + "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "sort", + "value": "{{sort}}", + "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", + "disabled": true + }, + { + "key": "direction", + "value": "{{direction}}", + "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 12 Jul 2022 16:39:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "120" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Server", + "value": "nginx" + }, + { + "key": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "x-srv-trace", + "value": "v=1;t=915b2bd230311a7e" + }, + { + "key": "x-srv-span", + "value": "v=1;s=108d09101d76e02a" + }, + { + "key": "X-RateLimit-Limit", + "value": "400" + }, + { + "key": "X-RateLimit-Remaining", + "value": "399" + }, + { + "key": "X-RateLimit-Reset", + "value": "1657644009" + }, + { + "key": "ETag", + "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + } + ], + "cookie": [], + "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-30T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-30T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public Test API B\",\n \"summary\": \"Public Test B\",\n \"description\": \"This is another public test API.\",\n \"createdBy\": \"87654321\",\n \"updatedBy\": \"87654321\",\n \"isPublic\": false\n }\n ]\n}" + }, + { + "name": "Sort by updatedAt", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis?sort=updatedAt", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. Return only APIs that are inside the given workspace.", + "disabled": true + }, + { + "key": "since", + "value": "{{since}}", + "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "until", + "value": "{{until}}", + "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. Return only APIs created by the given user ID.", + "disabled": true + }, + { + "key": "updatedBy", + "value": "{{updatedBy}}", + "description": "Optional. Return only APIs updated by the given user ID.", + "disabled": true + }, + { + "key": "isPublic", + "value": "{{isPublic}}", + "description": "Optional. If true, return only public APIs; if false, return only private APIs.", + "disabled": true + }, + { + "key": "name", + "value": "{{name}}", + "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "summary", + "value": "{{summary}}", + "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "sort", + "value": "updatedAt", + "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter." + }, + { + "key": "direction", + "value": "{{direction}}", + "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 12 Jul 2022 16:39:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "120" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Server", + "value": "nginx" + }, + { + "key": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "x-srv-trace", + "value": "v=1;t=915b2bd230311a7e" + }, + { + "key": "x-srv-span", + "value": "v=1;s=108d09101d76e02a" + }, + { + "key": "X-RateLimit-Limit", + "value": "400" + }, + { + "key": "X-RateLimit-Remaining", + "value": "399" + }, + { + "key": "X-RateLimit-Reset", + "value": "1657644009" + }, + { + "key": "ETag", + "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + } + ], + "cookie": [], + "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-30T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-30T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public Test API B\",\n \"summary\": \"Public Test B\",\n \"description\": \"This is another public test API.\",\n \"createdBy\": \"87654321\",\n \"updatedBy\": \"87654321\",\n \"isPublic\": false\n }\n ]\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. Return only APIs that are inside the given workspace.", + "disabled": true + }, + { + "key": "since", + "value": "{{since}}", + "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "until", + "value": "{{until}}", + "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", + "disabled": true + }, + { + "key": "createdBy", + "value": "{{createdBy}}", + "description": "Optional. Return only APIs created by the given user ID.", + "disabled": true + }, + { + "key": "updatedBy", + "value": "{{updatedBy}}", + "description": "Optional. Return only APIs updated by the given user ID.", + "disabled": true + }, + { + "key": "isPublic", + "value": "{{isPublic}}", + "description": "Optional. If true, return only public APIs; if false, return only private APIs.", + "disabled": true + }, + { + "key": "name", + "value": "{{name}}", + "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "summary", + "value": "{{summary}}", + "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "description", + "value": "{{description}}", + "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", + "disabled": true + }, + { + "key": "sort", + "value": "{{sort}}", + "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", + "disabled": true + }, + { + "key": "direction", + "value": "{{direction}}", + "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", + "disabled": true + } + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Date", + "value": "Tue, 12 Jul 2022 16:39:09 GMT" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "120" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Server", + "value": "nginx" + }, + { + "key": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "x-srv-trace", + "value": "v=1;t=915b2bd230311a7e" + }, + { + "key": "x-srv-span", + "value": "v=1;s=108d09101d76e02a" + }, + { + "key": "X-RateLimit-Limit", + "value": "400" + }, + { + "key": "X-RateLimit-Remaining", + "value": "399" + }, + { + "key": "X-RateLimit-Reset", + "value": "1657644009" + }, + { + "key": "ETag", + "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" + }, + { + "key": "Vary", + "value": "Accept-Encoding" + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Create an API", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n \"description\": \"{{apiDescription}}\"\n }\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "{{workspaceId}}", + "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", + "disabled": true + } + ] + }, + "description": "Creates an API. Include the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n }\n}" + }, + { + "name": "Create API in a Workspace", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis?workspace=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace." + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"paramMissingError\",\n \"message\": \"Parameter is missing in the request.\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis" + ], + "query": [ + { + "key": "workspace", + "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", + "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", + "disabled": true + } + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Get an API", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Gets information about an API." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type", + "description": { + "content": "", + "type": "text/plain" + }, + "type": "text" + } + ], + "cookie": [], + "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"team\": \"1234\",\n \"isPublic\": true,\n \"versions\": [\n {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"Draft\",\n \"summary\": null,\n \"schemas\": [\n {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\",\n \"type\": \"openapi3\",\n \"language\": \"json\",\n \"content\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\"\n }\n ],\n \"relations\": [\n {\n \"id\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\",\n \"model\": \"apiDefinition\",\n \"type\": \"apiDefinition\",\n \"modelId\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\"\n },\n {\n \"id\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\",\n \"model\": \"schema\",\n \"type\": \"schema\",\n \"modelId\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\"\n }\n ]\n }\n ]\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "GET", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Update an API", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "name": "Content-Type" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"api\": {\n\t\t\"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n\t\t\"description\": \"{{apiDescription}}\"\n\t}\n}" + }, + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"api\": {\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + }, + { + "name": "Delete an API", + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/{{apiId}}", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "{{apiId}}" + ] + }, + "description": "Deletes an API." + }, + "response": [ + { + "name": "Successful Response", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"api\": {\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\"\n }\n}" + }, + { + "name": "Bad Request", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" + }, + { + "name": "Rate Limit Exceeded", + "originalRequest": { + "method": "DELETE", + "header": [], + "url": { + "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", + "protocol": "https", + "host": [ + "api", + "getpostman", + "com" + ], + "path": [ + "apis", + "5360b75f-447e-467c-9299-12fd6c92450d" + ] + } + }, + "status": "Too Many Requests", + "code": 429, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": { + "content": "", + "type": "text/plain" + } + } + ], + "cookie": [], + "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" + } + ] + } + ], + "description": "The `/apis` endpoints let you manage your APIs." + } + ], + "description": "The API endpoints let you manage your APIs.\n\n### **Important:**\n\nThe endpoints in this folder are separated by Postman version:\n\n- **v10** — For APIs created or migrated in Postman v10 and higher only. When using these endpoints, you must pass an `Accept` header with the `application/vnd.api.v10+json` value.\n- **v9** — For APIs created in Postman v9 and earlier only." + } + ], + "variable": [ + { + "key": "postman-api-key", + "value": "", + "type": "string" + }, + { + "key": "workspaceId", + "value": "" + }, + { + "key": "collectionId", + "value": "" + }, + { + "key": "environmentId", + "value": "", + "type": "string" + }, + { + "key": "accessKey", + "value": "" + } + ] +} + diff --git a/tests/test_postman_import.py b/tests/test_postman_import.py new file mode 100644 index 00000000..8fa7dfcd --- /dev/null +++ b/tests/test_postman_import.py @@ -0,0 +1,117 @@ +import pytest +from pathlib import Path +import json +import tempfile +import shutil +from posting.importing.postman import ( + import_postman_spec, + create_env_file, + generate_directory_structure, + create_request_file, +) + + +@pytest.fixture +def sample_postman_spec(): + return { + "info": { + "name": "Test API", + "description": "A test API", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + }, + "variable": [{"key": "base_url", "value": "https://api.example.com"}], + "item": [ + { + "name": "Users", + "item": [ + { + "name": "Get User", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/users/1", + "query": [{"key": "include", "value": "posts"}], + }, + "header": [{"key": "Accept", "value": "application/json"}], + }, + } + ], + } + ], + } + + +@pytest.fixture +def temp_dir(): + temp_dir = tempfile.mkdtemp() + yield Path(temp_dir) + shutil.rmtree(temp_dir) + + +def test_import_postman_spec(sample_postman_spec, temp_dir): + spec_file = temp_dir / "test_spec.json" + with open(spec_file, "w") as f: + json.dump(sample_postman_spec, f) + + collection, env_file, directories = import_postman_spec(spec_file, temp_dir) + + assert collection.name == "Postman Test" + assert env_file.name == "Test API.env" + assert len(directories) == 1 + assert directories[0].endswith("Users") + + +def test_create_env_file(temp_dir): + variables = [{"key": "base_url", "value": "https://api.example.com"}] + env_file = create_env_file(temp_dir, "test.env", variables) + + assert env_file.exists() + assert env_file.read_text() == "'base_url'='https://api.example.com'" + + +def test_generate_directory_structure(temp_dir): + items = [ + { + "name": "Users", + "item": [ + { + "name": "Get User", + "request": { + "method": "GET", + "url": {"raw": "{{base_url}}/users/1"}, + }, + } + ], + } + ] + + directories = generate_directory_structure(items, base_path=temp_dir) + + assert len(directories) == 1 + assert directories[0].endswith("Users") + assert (temp_dir / "Users" / "Get User.posting.yaml").exists() + + +def test_create_request_file(temp_dir): + request_data = { + "name": "Get User", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/users/1", + "query": [{"key": "include", "value": "posts"}], + }, + "header": [{"key": "Accept", "value": "application/json"}], + }, + } + + file_path = temp_dir / "test_request.posting.yaml" + create_request_file(file_path, request_data) + + assert file_path.exists() + content = file_path.read_text() + assert "name: Get User" in content + assert "method: GET" in content + assert "url: '{{base_url}}/users/1'" in content + assert "headers:" in content + assert "params:" in content From b0d4d846ed1937f6f81674ec16e87038df529c64 Mon Sep 17 00:00:00 2001 From: Liang-Shih Lin Date: Sat, 14 Sep 2024 11:09:34 +0800 Subject: [PATCH 2/8] Remove local test postman collection --- .../Postman API.postman_collection.json | 11667 ---------------- 1 file changed, 11667 deletions(-) delete mode 100644 tests/import-postman/Postman API.postman_collection.json diff --git a/tests/import-postman/Postman API.postman_collection.json b/tests/import-postman/Postman API.postman_collection.json deleted file mode 100644 index c6b92755..00000000 --- a/tests/import-postman/Postman API.postman_collection.json +++ /dev/null @@ -1,11667 +0,0 @@ -{ - "info": { - "_postman_id": "2216b18c-3447-4b3f-8498-7e8b2e05ba8a", - "name": "Postman API", - "description": "The Postman API enables you to programmatically access data stored in your Postman account.\n\n## Getting started\n\nYou can get started with the Postman API by [forking the Postman API collection](https://learning.postman.com/docs/collaborating-in-postman/version-control/#creating-a-fork) to your workspace. You can then use Postman to send requests.\n\n## Overview\n\n1. You must use a valid API Key to send requests to the API endpoints. You can get your API key from Postman's [integrations dashboard](https://go.postman.co/settings/me/api-keys).\n2. The API has [rate and usage limits](#rate-and-usage-limits).\n3. The API only responds to HTTPS-secured communications. Any requests sent via HTTP return an HTTP `301` redirect to the corresponding HTTPS resources.\n4. The API returns requests responses in [JSON format](https://en.wikipedia.org/wiki/JSON). When an API request returns an error, it is sent in the JSON response as an error key.\n5. The request method (verb) determines the nature of action you intend to perform. A request made using the `GET` method implies that you want to fetch something from Postman. The `POST` method implies you want to save something new to Postman.\n6. For all requests, API calls respond with their corresponding [HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). In the Postman client, the status code also provides help text that details the possible meaning of the response code.\n7. You can access individual resources in your Postman with its unique ID (`uid`) value. The `uid` is a simple concatenation of the resource owner's user ID and the resource's ID. For example, a collection's `uid` is the `{{owner_id}}-{{collection_id}}` value.\n \n\n## ID and UID\n\nAll items in Postman, such as collections, workspaces, and APIs, have ID and UIDs:\n\n- An ID is the unique ID assigned to a Postman item. For example, `ec29121c-5203-409f-9e84-e83ffc10f226`.\n- The UID is the **full** ID of a Postman item. This value is the user ID concatenated with the item's unique ID. For example, in the `12345678-ec29121c-5203-409f-9e84-e83ffc10f226` UID:\n - `12345678` is the user's ID.\n - `ec29121c-5203-409f-9e84-e83ffc10f226` is the item's ID.\n\n## Authentication\n\nPostman uses API keys for authentication. The API key tells the API server that the request came from you. Everything that you have access to in Postman is accessible with your API key. You can generate a Postman API key in the [**API keys**](https://postman.postman.co/settings/me/api-keys) section of your Postman account settings.\n\nYou must include an API key in each request to the Postman API with the `X-Api-Key` request header. In Postman, you can store your API key as an [environment variable](https://www.getpostman.com/docs/environments). The Postman API [collection](https://www.getpostman.com/docs/collections) will use it to make API calls.\n\n### Authentication error response\n\nIf an API key is missing, malformed, or invalid, you will receive an HTTP `401 Unauthorized` response code.\n\n### Using the API key as a query parameter\n\nRequests that accept the `X-Api-Key` request header also accept the API key when you send it as the `apikey` query parameter. An API key sent as part of the header has a higher priority when you send the key as both a request header and a query parameter.\n\n## Rate and usage limits\n\nAPI access rate limits apply at a per-API key basis in unit time. The limit is **300 requests per minute**. Also, depending on your [plan](https://www.postman.com/pricing/), you may have usage limits. If you exceed either limit, your request will return an HTTP `429 Too Many Requests` status code.\n\nEach API response returns the following set of headers to help you identify your use status:\n\n| Header | Description |\n| --- | --- |\n| `X-RateLimit-Limit` | The maximum number of requests that the consumer is permitted to make per minute. |\n| `X-RateLimit-Remaining` | The number of requests remaining in the current rate limit window. |\n| `X-RateLimit-Reset` | The time at which the current rate limit window resets in UTC epoch seconds. |\n\n## 503 response\n\nAn HTTP `503` response from our servers indicates there is an unexpected spike in API access traffic. The server is usually operational within the next five minutes. If the outage persists or you receive any other form of an HTTP `5XX` error, [contact support](https://support.postman.com/hc/en-us/requests/new/).\n\n## Support\n\nFor help regarding accessing the Postman API, you can:\n\n- Visit [Postman Support](https://support.postman.com/hc/en-us) or our [Community and Support](https://www.postman.com/community/) sites.\n- Reach out to the [Postman community](https://community.postman.com/).\n- Submit a help request to [Postman support](https://support.postman.com/hc/en-us/requests/new/).\n \n\n## Policies\n\n- [Postman Terms of Service](http://www.postman.com/legal/terms/)\n- [Postman Privacy Policy](https://www.postman.com/legal/privacy-policy/)", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "28514611", - "_collection_link": "https://leapin-hr.postman.co/workspace/Engineering~dc1c9ff3-1cb5-4f35-a2f3-64607cc4c9a1/collection/28514611-2216b18c-3447-4b3f-8498-7e8b2e05ba8a?action=share&source=collection_link&creator=28514611" - }, - "item": [ - { - "name": "API", - "item": [ - { - "name": "v10", - "item": [ - { - "name": "Schema", - "item": [ - { - "name": "Create a schema", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - }, - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\": \"{{schemaType}}\",\n \"files\": [\n {\n \"path\": \"{{filePath1}}\",\n \"content\": \"{{content1}}\"\n },\n {\n \"path\": \"{{filePath2}}\",\n \"content\": \"{{content2}}\"\n },\n {\n \"path\": \"{{filePath3}}\",\n \"content\": \"{{content3}}\"\n },\n {\n \"path\": \"{{filePath4}}\",\n \"content\": \"{{content4}}\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - }, - "description": "Creates a schema for an API. The request body must contain the following:\n\n- `type` — A **string** value that contains the API schema's type. One of:\n - `openapi:3_1`\n - `openapi:3`\n - `openapi:2`\n - `openapi:1`\n - `raml:0_8`\n - `raml:1`\n - `wsdl:1`\n - `wsdl:2`\n - `graphql`\n - `proto:2`\n - `proto:3`\n - `asyncapi:2`\n- `files` — An **array** of schema files that contains the following:\n - `path` — A **string** value that contains the schema file's path.\n - `content` — A **string** value that contains the schema file's stringified contents." - }, - "response": [ - { - "name": "Create Schema", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Sample API\\\",\\n \\\"description\\\": \\\"Buy or rent spacecrafts\\\"\\n },\\n \\\"paths\\\": {\\n \\\"/spacecrafts/{spacecraftId}\\\": {\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"spacecraftId\\\",\\n \\\"description\\\": \\\"The unique identifier of the spacecraft\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n }\\n }\\n ],\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"Read a spacecraft\\\",\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"The spacecraft corresponding to the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Spacecraft\\\"\\n }\\n }\\n }\\n },\\n \\\"404\\\": {\\n \\\"description\\\": \\\"No spacecraft found for the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n },\\n \\\"500\\\": {\\n \\\"description\\\": \\\"Unexpected error\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"SpacecraftId\\\": {\\n \\\"description\\\": \\\"The unique identifier of a spacecraft\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"Spacecraft\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"type\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"type\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"enum\\\": [\\n \\\"capsule\\\",\\n \\\"probe\\\",\\n \\\"satellite\\\",\\n \\\"spaceplane\\\",\\n \\\"station\\\"\\n ]\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"message\\\": {\\n \\\"description\\\": \\\"A human readable error message\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n },\\n \\\"securitySchemes\\\": {\\n \\\"ApiKey\\\": {\\n \\\"type\\\": \\\"apiKey\\\",\\n \\\"in\\\": \\\"header\\\",\\n \\\"name\\\": \\\"X-Api-Key\\\"\\n }\\n }\\n },\\n \\\"security\\\": [\\n {\\n \\\"ApiKey\\\": []\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"NewPet.json\",\n \"createdBy\": \"557089\",\n \"id\": \"41a3d7fd-bf9a-4053-b20e-37453962b4d6\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"NewPet.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"path\": \"Pet.json\",\n \"createdBy\": \"557089\",\n \"id\": \"93502b81-9f47-45e1-94f7-64882c92519b\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"Pet.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"path\": \"common/Error.json\",\n \"createdBy\": \"557089\",\n \"id\": \"72f4e1c2-5bf8-4247-ab3c-42bcdcc9ae9c\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"Error.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"path\": \"parameters.json\",\n \"createdBy\": \"557089\",\n \"id\": \"2fdc8ea1-d02e-4e50-989e-6fa28f42b995\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"parameters.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n },\n {\n \"root\": {\n \"enabled\": true\n },\n \"path\": \"swagger.json\",\n \"createdBy\": \"557089\",\n \"id\": \"b4fc1bdc-6587-4f9b-95c9-f768146089b4\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"swagger.json\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n }\n ],\n \"createdBy\": \"557089\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"id\": \"b4fc1bdc-6587-4f9b-95c9-f768146089b4\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Sample API\\\",\\n \\\"description\\\": \\\"Buy or rent spacecrafts\\\"\\n },\\n \\\"paths\\\": {\\n \\\"/spacecrafts/{spacecraftId}\\\": {\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"spacecraftId\\\",\\n \\\"description\\\": \\\"The unique identifier of the spacecraft\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n }\\n }\\n ],\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"Read a spacecraft\\\",\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"The spacecraft corresponding to the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Spacecraft\\\"\\n }\\n }\\n }\\n },\\n \\\"404\\\": {\\n \\\"description\\\": \\\"No spacecraft found for the provided `spacecraftId`\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n },\\n \\\"500\\\": {\\n \\\"description\\\": \\\"Unexpected error\\\",\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/Error\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"SpacecraftId\\\": {\\n \\\"description\\\": \\\"The unique identifier of a spacecraft\\\",\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"Spacecraft\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"type\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/SpacecraftId\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"type\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"enum\\\": [\\n \\\"capsule\\\",\\n \\\"probe\\\",\\n \\\"satellite\\\",\\n \\\"spaceplane\\\",\\n \\\"station\\\"\\n ]\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"message\\\": {\\n \\\"description\\\": \\\"A human readable error message\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n },\\n \\\"securitySchemes\\\": {\\n \\\"ApiKey\\\": {\\n \\\"type\\\": \\\"apiKey\\\",\\n \\\"in\\\": \\\"header\\\",\\n \\\"name\\\": \\\"X-Api-Key\\\"\\n }\\n }\\n },\\n \\\"security\\\": [\\n {\\n \\\"ApiKey\\\": []\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" - }, - { - "name": "Create Schema with Proto", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\": \"proto:2\",\n \"files\": [\n {\n \"path\": \"index.proto\",\n \"content\": \"\",\n \"root\": {\n \"enabled\": true\n }\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"proto:2\",\n \"files\": [\n {\n \"path\": \"index.proto\",\n \"createdBy\": \"557089\",\n \"id\": \"41a3d7fd-bf9a-4053-b20e-37453962b4d6\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"name\": \"index.proto\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\",\n \"root\": {\n \"enabled\": true\n }\n }\n ],\n \"createdBy\": \"557089\",\n \"createdAt\": \"2023-03-21T10:10:54.000Z\",\n \"id\": \"b4fc1bdc-6587-4f9b-95c9-f768146089b4\",\n \"updatedBy\": \"557089\",\n \"updatedAt\": \"2023-03-21T10:10:54.000Z\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\" : \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" - }, - { - "name": "Schema Already Exists", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\" : \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamsError\",\n \"title\": \"Could not create the resource\",\n \"detail\": \"Schema already exists for this API\"\n}" - }, - { - "name": "Missing files Parameter", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\" : \"openapi:3\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid request body\",\n \"detail\": \"Missing parameter: 'files'\"\n}" - }, - { - "name": "Missing content Parameter", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\": \"openapi:3\",\n \"files\": [\n {\n \"path\": \"index.json\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid request body\",\n \"detail\": \"Required field 'content' missing in the files array\"\n}" - }, - { - "name": "Invalid type Parameter", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\" : \"openapi3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"InvalidParamsError\",\n \"title\": \"Required parameter is invalid\",\n \"detail\": \"Required property `type` is invalid. Should be one of: proto:2, proto:3, graphql, openapi:3_1, openapi:3, openapi:2, openapi:1, raml:1, raml:0_8, wsdl:2, wsdl:1, asyncapi:2\"\n}" - }, - { - "name": "Git-Linked API Errror", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"type\" : \"openapi:3\",\n \"files\": [\n {\n \"path\": \"swagger.json\",\n \"content\": \"{\\n \\\"swagger\\\": \\\"2.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Swagger Petstore\\\",\\n \\\"description\\\": \\\"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification\\\",\\n \\\"termsOfService\\\": \\\"http://swagger.io/terms/\\\",\\n \\\"contact\\\": {\\n \\\"name\\\": \\\"Swagger API Team\\\",\\n \\\"email\\\": \\\"apiteam@swagger.io\\\",\\n \\\"url\\\": \\\"http://swagger.io\\\"\\n },\\n \\\"license\\\": {\\n \\\"name\\\": \\\"Apache 2.0\\\",\\n \\\"url\\\": \\\"https://www.apache.org/licenses/LICENSE-2.0.html\\\"\\n }\\n },\\n \\\"host\\\": \\\"petstore.swagger.io\\\",\\n \\\"basePath\\\": \\\"/api\\\",\\n \\\"schemes\\\": [\\n \\\"http\\\"\\n ],\\n \\\"consumes\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"produces\\\": [\\n \\\"application/json\\\"\\n ],\\n \\\"paths\\\": {\\n \\\"/pets\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns all pets from the system that the user has access to\\\\nNam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.\\\\n\\\\nSed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.\\\\n\\\",\\n \\\"operationId\\\": \\\"findPets\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"$ref\\\": \\\"parameters.json#/tagsParam\\\"\\n },\\n {\\n \\\"$ref\\\": \\\"parameters.json#/limitsParam\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"post\\\": {\\n \\\"description\\\": \\\"Creates a new pet in the store. Duplicates are allowed\\\",\\n \\\"operationId\\\": \\\"addPet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"pet\\\",\\n \\\"in\\\": \\\"body\\\",\\n \\\"description\\\": \\\"Pet to add to the store\\\",\\n \\\"required\\\": true,\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"NewPet.json\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n },\\n \\\"/pets/{id}\\\": {\\n \\\"get\\\": {\\n \\\"description\\\": \\\"Returns a user based on a single ID, if the user does not have access to the pet\\\",\\n \\\"operationId\\\": \\\"find pet by id\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to fetch\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"pet response\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n }\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n },\\n \\\"delete\\\": {\\n \\\"description\\\": \\\"deletes a single pet based on the ID supplied\\\",\\n \\\"operationId\\\": \\\"deletePet\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"path\\\",\\n \\\"description\\\": \\\"ID of pet to delete\\\",\\n \\\"required\\\": true,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"204\\\": {\\n \\\"description\\\": \\\"pet deleted\\\"\\n },\\n \\\"default\\\": {\\n \\\"description\\\": \\\"unexpected error\\\",\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"../common/Error.json\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n },\n {\n \"path\": \"Pet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n },\n {\n \"path\": \"NewPet.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"allOf\\\": [\\n {\\n \\\"$ref\\\": \\\"Pet.json\\\"\\n },\\n {\\n \\\"required\\\": [\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"description\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n }\\n }\\n }\\n ]\\n}\"\n },\n {\n \"path\": \"parameters.json\",\n \"content\": \"{\\n \\\"tagsParam\\\": {\\n \\\"name\\\": \\\"tags\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"tags to filter by\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"array\\\",\\n \\\"collectionFormat\\\": \\\"csv\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"limitsParam\\\": {\\n \\\"name\\\": \\\"limit\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"description\\\": \\\"maximum number of results to return\\\",\\n \\\"required\\\": false,\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n}\"\n },\n {\n \"path\": \"common/Error.json\",\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" - } - ] - }, - { - "name": "Create or update a schema file", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": \"{{fileContent}}\"\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - }, - "description": "Creates or updates an API schema file. The request body must contain the following properties:\n\n- `content` — A **string** value that contains the file's contents.\n \n\n**Note:**\n\n- If the provided file path exists, the file will be updated with the new contents.\n- If the provided file path does **not** exist, then a new schema file will be created.\n- If the file path contains a `/` (forward slash) character, then a folder is created. For example, if the file path is the `dir/schema.json` value, then a `dir` folder is created with the `schema.json` file inside." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - }, - "description": "Creates an API definition. The request body must contain a `schema` object with the following properties:\n\n* `type` — A **string** value that contains the API definition's type. One of: \n * `openapi3_1` \n * `openapi3` \n * `openapi2` \n * `openapi1` \n * `raml` \n * `raml1` \n * `wsdl1` \n * `wsdl2` \n * `graphql` \n * `proto2` \n * `graphql` \n * `proto3` \n* `language` — A **string** value that contains the API definition's language. One of: \n * OpenAPI and RAML — `json` or `yaml` \n * GraphQL — `graphql` \n * WSDL — `xml` \n * Protobuf — `proto` \n* `schema` — A **string** value that contains the API definition's contents." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"path\": \"data-model/index.json\",\n \"name\": \"index.json\"\n}" - }, - { - "name": "Successfully Update root Tag", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"root\": {\n \"enabled\": true\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - }, - "description": "Creates an API definition. The request body must contain a `schema` object with the following properties:\n\n* `type` — A **string** value that contains the API definition's type. One of: \n * `openapi3_1` \n * `openapi3` \n * `openapi2` \n * `openapi1` \n * `raml` \n * `raml1` \n * `wsdl1` \n * `wsdl2` \n * `graphql` \n * `proto2` \n * `graphql` \n * `proto3` \n* `language` — A **string** value that contains the API definition's language. One of: \n * OpenAPI and RAML — `json` or `yaml` \n * GraphQL — `graphql` \n * WSDL — `xml` \n * Protobuf — `proto` \n* `schema` — A **string** value that contains the API definition's contents." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"path\": \"data-model/index.json\",\n \"name\": \"index.json\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" - }, - { - "name": "Schema Not Found", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the resource you are looking for\"\n}" - }, - { - "name": "Schema Not Linked to API", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" - }, - { - "name": "Git-Linked API Errror", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\",\n \"detail\": \"This action is not allowed for Git linked APIs\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - }, - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": "", - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" - } - ] - }, - { - "name": "Get a schema", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ], - "query": [ - { - "key": "versionId", - "value": "{{versionId}}", - "description": "Optional. The API's version ID.", - "disabled": true - }, - { - "key": "bundled", - "value": "true", - "description": "Optional. If true, return the schema in a bundled format.", - "disabled": true - } - ] - }, - "description": "Gets information about API schema. You can use the `versionId` query parameter to get a schema published in an API version.\n\nYou can use this API to do the following:\n\n- Get a schema's metadata.\n- Get all the files in a schema. This only returns the first file in the schema. The endpoint response contains a link to the next set of response results.\n- Get a schema's contents in multi-file or bundled format.\n \n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}?versionId=66ae9950-0869-4e65-96b0-1e0e47e771af", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ], - "query": [ - { - "key": "versionId", - "value": "66ae9950-0869-4e65-96b0-1e0e47e771af" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"type\": \"openapi:3\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"files\": {\n \"meta\": {\n \"nextPath\": \"/apis/1fdbff7c-036b-4f8a-91bc-17bf3ae74fd2/schemas/cf98c187-17c1-455f-afbf-d4be51f12770/files?cursor=eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9\"\n },\n \"data\": [\n {\n \"createdBy\": \"5000842\",\n \"path\": \"dir/s1.json\",\n \"updatedBy\": \"5000842\",\n \"updatedAt\": \"2023-03-16T19:11:24.000Z\",\n \"createdAt\": \"2023-03-16T18:38:56.000Z\",\n \"id\": \"cf98c187-17c1-455f-afbf-d4be51f12770\",\n \"name\": \"s1.json\"\n }\n ]\n }\n}" - }, - { - "name": "Get Bundled Schema", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}?bundled=true", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ], - "query": [ - { - "key": "bundled", - "value": "true" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"type\": \"openapi:3\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"content\": \"openapi: '3.0.0'\\ninfo:\\n version: '1.0.0'\\n title: 'Sample API'\\n description: Buy or rent spacecrafts\\n\\npaths:\\n /spacecrafts/{spacecraftId}:\\n parameters:\\n - name: spacecraftId\\n description: The unique identifier of the spacecraft\\n in: path\\n required: true\\n schema:\\n $ref: '#/components/schemas/SpacecraftId'\\n get:\\n summary: Read a spacecraft\\n responses:\\n '200':\\n description: The spacecraft corresponding to the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Spacecraft'\\n 404:\\n description: No spacecraft found for the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\n 500:\\n description: Unexpected error\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\ncomponents:\\n schemas:\\n SpacecraftId:\\n description: The unique identifier of a spacecraft\\n type: string\\n Spacecraft:\\n type: object\\n required:\\n - id\\n - names\\n - type\\n properties:\\n id:\\n $ref: '#/components/schemas/SpacecraftId'\\n name:\\n type: string\\n type:\\n type: string\\n enum:\\n - capsule\\n - probe\\n - satellite\\n - spaceplane\\n - station\\n description:\\n type: string\\n Error:\\n type: object\\n required:\\n - message\\n properties:\\n message:\\n description: A human readable error message\\n type: string\\n securitySchemes:\\n ApiKey:\\n type: apiKey\\n in: header\\n name: X-Api-Key\\nsecurity:\\n - ApiKey: []\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" - }, - { - "name": "Schema Not Linked to API", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" - }, - { - "name": "Invalid Version ID", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}?versionId=66ae9950-0869-4e65-96b0-1e0e47e771af", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ], - "query": [ - { - "key": "versionId", - "value": "66ae9950-0869-4e65-96b0-1e0e47e771af" - } - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid version Id provided\",\n \"detail\": \"Schema not published in this version\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please ensure that you have required permissions\",\n \"type\": \"ForbiddenError\"\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"Invalid request body\",\n \"type\": \"invalidParamError\",\n \"detail\": \"Missing field 'versionId' in the request body\"\n}" - }, - { - "name": "Git-Linked API Errror", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" - } - ] - }, - { - "name": "Get schema files", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files" - ], - "query": [ - { - "key": "limit", - "value": "{{limit}}", - "description": "Optional. The maximum number of rows to return in the response. This value defaults to `10`.", - "disabled": true - }, - { - "key": "versionId", - "value": "{{versionId}}", - "description": "Optional. The API's version ID.", - "disabled": true - }, - { - "key": "cursor", - "value": "{{cursor}}", - "description": "Optional. The pointer to the first record of the set of paginated results.", - "disabled": true - } - ] - }, - "description": "Gets the files in an API schema. You can use the `versionId` query parameter to get schema files published in an API version.\n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files?versionId=66ae9950-0869-4e65-96b0-1e0e47e771af&limit=2&cursor=eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files" - ], - "query": [ - { - "key": "versionId", - "value": "66ae9950-0869-4e65-96b0-1e0e47e771af" - }, - { - "key": "limit", - "value": "2" - }, - { - "key": "cursor", - "value": "eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJkaXIvczEuanNvbiJ9" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"nextCursor\": \"eyJzY2hlbWUiOiJwYXRoX2FzYyIsImRpcmVjdGlvblR5cGUiOiJuZXh0IiwicGl2b3QiOiJwYXRoIiwidmFsdWUiOiJOZXdQZXQuanNvbiJ9\"\n },\n \"files\": [\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ed\",\n \"path\": \"data-model/error.yaml\",\n \"name\": \"error.yaml\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"createdBy\": 2345,\n \"updatedBy\": 2345\n },\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ef\",\n \"path\": \"data-model/error2.yaml\",\n \"name\": \"error2.yaml\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"createdBy\": 2345,\n \"updatedBy\": 2345\n }\n ]\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" - }, - { - "name": "Git-Linked API Errror", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" - }, - { - "name": "Schema Not Linked to API", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" - }, - { - "name": "Invalid Version ID", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files?versionId=e8a015e0-f472", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files" - ], - "query": [ - { - "key": "versionId", - "value": "e8a015e0-f472" - } - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid version Id provided\",\n \"detail\": \"Schema not published in this version\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please ensure that you have required permissions\",\n \"type\": \"ForbiddenError\"\n}" - } - ] - }, - { - "name": "Get schema file contents", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ], - "query": [ - { - "key": "versionId", - "value": "{{versionId}}", - "description": "Optional. The API's version ID.", - "disabled": true - } - ] - }, - "description": "Gets an API schema file contents at the defined path. You can use the `versionId` query parameter to get schema file contents published in an API version.\n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"path\": \"s1.json\",\n \"name\": \"s1\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"content\": \"openapi: '3.0.0'\\ninfo:\\n version: '1.0.0'\\n title: 'Sample API'\\n description: Buy or rent spacecrafts\\n\\npaths:\\n /spacecrafts/{spacecraftId}:\\n parameters:\\n - name: spacecraftId\\n description: The unique identifier of the spacecraft\\n in: path\\n required: true\\n schema:\\n $ref: '#/components/schemas/SpacecraftId'\\n get:\\n summary: Read a spacecraft\\n responses:\\n '200':\\n description: The spacecraft corresponding to the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Spacecraft'\\n 404:\\n description: No spacecraft found for the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\n 500:\\n description: Unexpected error\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\ncomponents:\\n schemas:\\n SpacecraftId:\\n description: The unique identifier of a spacecraft\\n type: string\\n Spacecraft:\\n type: object\\n required:\\n - id\\n - names\\n - type\\n properties:\\n id:\\n $ref: '#/components/schemas/SpacecraftId'\\n name:\\n type: string\\n type:\\n type: string\\n enum:\\n - capsule\\n - probe\\n - satellite\\n - spaceplane\\n - station\\n description:\\n type: string\\n Error:\\n type: object\\n required:\\n - message\\n properties:\\n message:\\n description: A human readable error message\\n type: string\\n securitySchemes:\\n ApiKey:\\n type: apiKey\\n in: header\\n name: X-Api-Key\\nsecurity:\\n - ApiKey: []\"\n}" - }, - { - "name": "Successful Response for Published Version", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}?versionId=ae2b9ab2-28f2-401d-912f-eca09a78e98b", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ], - "query": [ - { - "key": "versionId", - "value": "ae2b9ab2-28f2-401d-912f-eca09a78e98b" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\",\n \"path\": \"s1.json\",\n \"name\": \"s1\",\n \"createdBy\": \"2345\",\n \"updatedBy\": \"2345\",\n \"createdAt\": \"2022-03-29T11:37:15Z\",\n \"updatedAt\": \"2022-03-29T11:37:15Z\",\n \"content\": \"openapi: '3.0.0'\\ninfo:\\n version: '1.0.0'\\n title: 'Sample API'\\n description: Buy or rent spacecrafts\\n\\npaths:\\n /spacecrafts/{spacecraftId}:\\n parameters:\\n - name: spacecraftId\\n description: The unique identifier of the spacecraft\\n in: path\\n required: true\\n schema:\\n $ref: '#/components/schemas/SpacecraftId'\\n get:\\n summary: Read a spacecraft\\n responses:\\n '200':\\n description: The spacecraft corresponding to the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Spacecraft'\\n 404:\\n description: No spacecraft found for the provided `spacecraftId`\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\n 500:\\n description: Unexpected error\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/Error'\\ncomponents:\\n schemas:\\n SpacecraftId:\\n description: The unique identifier of a spacecraft\\n type: string\\n Spacecraft:\\n type: object\\n required:\\n - id\\n - names\\n - type\\n properties:\\n id:\\n $ref: '#/components/schemas/SpacecraftId'\\n name:\\n type: string\\n type:\\n type: string\\n enum:\\n - capsule\\n - probe\\n - satellite\\n - spaceplane\\n - station\\n description:\\n type: string\\n Error:\\n type: object\\n required:\\n - message\\n properties:\\n message:\\n description: A human readable error message\\n type: string\\n securitySchemes:\\n ApiKey:\\n type: apiKey\\n in: header\\n name: X-Api-Key\\nsecurity:\\n - ApiKey: []\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" - }, - { - "name": "Path Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"Resource not found\",\n \"detail\": \"API schema file does not exist\",\n \"type\": \"instanceNotFoundError\"\n}" - }, - { - "name": "Schema Not Linked to API", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" - }, - { - "name": "Git-Linked API Errror", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\",\n \"detail\": \"This action is not allowed for git linked APIs\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please ensure that you have required permissions\",\n \"type\": \"ForbiddenError\"\n}" - } - ] - }, - { - "name": "Delete a schema file", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - }, - "description": "Deletes a file in an API schema." - }, - "response": [ - { - "name": "Deleted", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "{{filePath}}" - ] - } - }, - "status": "No Content", - "code": 204, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "" - }, - { - "name": "Git-Linked API Errror", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "{{filePath}}" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" - }, - { - "name": "Path Not Found", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "{{filePath}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"File not found: Folder1/nestedFile.json\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "{{filePath}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"Resource not found\",\n \"detail\": \"We could not find the API you are looking for\"\n}" - }, - { - "name": "Schema Not Linked to API", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "{{filePath}}" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"invalidParamError\",\n \"title\": \"Invalid param error\",\n \"detail\": \"Schema is not linked to the API\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/schemas/{{schemaId}}/files/{{filePath}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "schemas", - "{{schemaId}}", - "files", - "{{filePath}}" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": "", - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" - } - ] - } - ], - "description": "The Schema endpoints let you manage your API schema. These endpoints also support multi-file schema." - }, - { - "name": "Version", - "item": [ - { - "name": "Create a version", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - }, - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"{{apiReleaseName}}\",\n \"releaseNotes\": \"{{apiReleaseDescription}}\",\n \"collections\": [\n {\n \"id\": \"{{collectionId}}\"\n }\n ],\n \"schemas\": [\n {\n \"id\": \"{{schemaId}}\" \n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - }, - "description": "Creates a new API version asynchronously and immediately returns an HTTP `202 Accepted` response. The response contains a polling link to the task status API in the `Location` header.\n\nThis endpoint is equivalent to publishing a version in Postman app, which is the snapshot of API collections and schema at a given point in time.\n\nInclude the following properties in the request body:\n\n- `name` — A **string** value that contains the version name.\n- `collections` — An **array** containing all the collections to publish.\n- `schemas` — An **array** containing the schema to publish.\n- `branch` — A **string** value that contains the name of the repository branch. This property is required only for Git-linked APIs.\n \n\nYou can include the following optional properties:\n\n- `releaseNotes` — A **string** value that contains the Markdown-supported version summary." - }, - "response": [ - { - "name": "Create Version", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ed\"\n }\n ],\n \"schemas\": [\n {\n \"id\": \"18a015e0-f472-4bb3-a523-57ce7c458387\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - }, - "description": "Creates a new API version release. Include the following properties in the `release` object:\n\n* `name` — A **string** value that contains the release name.\n* `visibility` — A **string** value that contains the release's visibility. One of:\n * `private` — The release is private.\n * `public` — The release is public.\n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains the release's summary.\n* `description` — A **string** value that contains the release's description.\n* `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." - }, - "status": "Accepted", - "code": 202, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - }, - { - "key": "Location", - "value": "/apis/{{apiId}}/tasks/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}" - }, - { - "name": "Create Version for Git-Linked API with Schemas and Collection", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Accepted", - "code": 202, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Location", - "value": "/apis/{{apiId}}/tasks/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "description": "" - }, - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}" - }, - { - "name": "Repository Not Found", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"RepositoryNotFound\",\n \"title\": \"Repository not found.\",\n \"detail\": \"We could not find the Git repository you are looking for.\"\n}" - }, - { - "name": "Collection Not Found", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"CollectionNotFound\",\n \"title\": \"Collection not found.\",\n \"detail\": \"We could not find the collection, path/to/collection1.json, in the Git repository. Please ensure that the path is correct.\"\n}" - }, - { - "name": "Inconsistent API State", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"APIStateInconsistent\",\n \"title\": \"API state seems to be inconsistent.\",\n \"detail\": \"Please perform a Git push from the Postman app to sync state between app and repository.\"\n}" - }, - { - "name": "Invalid Collection Path", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"CollectionPathInvalid\",\n \"detail\": \"Please perform a Git push from the Postman app to sync state between app and repository.\",\n \"title\": \"Collection not found.\"\n}" - }, - { - "name": "Schema Root Not Found", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"SchemaRootNotFound\",\n \"detail\": \"Please perform a Git push from the Postman app to sync state between app and repository.\",\n \"title\": \"Postman app config seems to be corrupted.\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" - }, - { - "name": "Branch Not Found", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"BranchNotFound\",\n \"title\": \"Branch not found.\",\n \"details\": \"We could not find the branch you are looking for.\"\n}" - }, - { - "name": "Auth Token Expired", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Unauthorized", - "code": 401, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"Unauthorized\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please use the Postman app to link your OAuth token with the API. Head over here, https://postman.postman.co/api/4ca6c9ae-da02-11ed-afa1-0242ac120002\"\n}" - }, - { - "name": "Unauthorized", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ],\n \"branch\": \"develop\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Unauthorized", - "code": 401, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"Unauthorized\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"Please use the Postman app to link your OAuth token with the API. Head over here, https://postman.postman.co/api/4ca6c9ae-da02-11ed-afa1-0242ac120002\"\n}" - }, - { - "name": "Parameter branch Missing for Git-Linked API", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"filePath\": \"path/to/collection1.json\"\n },\n {\n \"filePath\": \"path/to/collection2.json\"\n }\n\n ],\n \"schemas\": [\n {\n \"directoryPath\": \"postman/schemas\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"paramMissingError\",\n \"title\": \"Parameter is missing in the request.\",\n \"detail\": \"Parameter, branch is missing in the request.\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\",\n \"collections\": [\n {\n \"id\": \"e8a015e0-f472-4bb3-a523-57ce7c4583ed\"\n }\n ],\n \"schemas\": [\n {\n \"id\": \"18a015e0-f472-4bb3-a523-57ce7c4183ed\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": "", - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" - } - ] - }, - { - "name": "Get all versions", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ], - "query": [ - { - "key": "cursor", - "value": "{{cursor}}", - "description": "Optional. The pointer to the first record of the set of paginated results.", - "disabled": true - }, - { - "key": "limit", - "value": "{{limit}}", - "description": "Optional. The maximum number of rows to return in the response. This value defaults to `10`.", - "disabled": true - } - ] - }, - "description": "Gets all the published versions of an API." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions?limit=2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ], - "query": [ - { - "key": "limit", - "value": "2" - } - ] - }, - "description": "Gets information about all of an API version's releases." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"versions\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"07d940bf-40fc-4acd-a11e-be6769894af0\",\n \"name\": \"Release 2.0\",\n \"releaseNotes\": \"This is the second release of the Test API.\"\n },\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"releaseNotes\": \"This is the first release of the Test API. For more information, read the documentation.\"\n }\n ],\n \"meta\": {\n \"nextCursor\": \"VGh1IE1hciAxNiAyMDIzIDE3OjIxOjUzIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"limit\": 2,\n \"total\": \"100\"\n }\n}" - }, - { - "name": "Success with Cursor Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions?limit=2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ], - "query": [ - { - "key": "limit", - "value": "2" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"total\": 4,\n \"limit\": 2,\n \"nextCursor\": \"V2VkIEZlYiAxNSAyMDIzIDEzOjUyOjAyIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\"\n },\n \"versions\": [\n {\n \"createdAt\": \"2023-02-15T13:41:43.000Z\",\n \"name\": \"v1\",\n \"id\": \"12691e5b-4a6f-4bc7-8335-4ce9b7c5c2ae\",\n \"releaseNotes\": \"\",\n \"updatedAt\": \"2023-02-15T13:41:58.000Z\"\n },\n {\n \"createdAt\": \"2023-02-15T13:47:23.000Z\",\n \"name\": \"v2\",\n \"id\": \"2665bfbf-888a-48f6-98fa-24c0b7689207\",\n \"releaseNotes\": \"\",\n \"updatedAt\": \"2023-02-15T13:47:27.000Z\"\n }\n ]\n}" - }, - { - "name": "Response with cursor Query Parameter", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions?cursor=RnJpIEZlYiAxNyAyMDIzIDEwOjM5OjUxIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=&limit=10", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ], - "query": [ - { - "key": "cursor", - "value": "RnJpIEZlYiAxNyAyMDIzIDEwOjM5OjUxIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=" - }, - { - "key": "limit", - "value": "10" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"total\": 4,\n \"limit\": 10\n },\n \"versions\": [\n {\n \"createdAt\": \"2023-02-17T10:39:51.000Z\",\n \"name\": \"v4\",\n \"id\": \"bc792958-ffd5-4a4c-bcf5-1c07cb8f277b\",\n \"releaseNotes\": \"\",\n \"updatedAt\": \"2023-02-17T10:39:57.000Z\"\n }\n ]\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"We could not find the API you are looking for.\",\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" - }, - { - "name": "v9 Unsupported", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" - } - ] - }, - { - "name": "Get a version", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{versionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{versionId}}" - ] - }, - "description": "Gets information about an API version.\n\n**Note:**\n\n- For API editors, this endpoint returns an HTTP `302 Found` status code when the version status is pending. It also returns the `/apis/{apiId}/tasks/{taskId}` task status response header.\n- For API viewers, this endpoint returns an HTTP `404 Not Found` when the version status is pending." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Gets information about an API version's release." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"version\": {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"releaseNotes\": \"This is the first release.\",\n \"schemas\": [\n {\n \"id\": \"C1\",\n \"type\": \"openapi3\"\n }\n ],\n \"collections\": [\n {\n \"id\": \"C1\",\n \"name\": \"collection1\"\n },\n {\n \"id\": \"C2\",\n \"name\": \"collection2\"\n }\n ]\n }\n}" - }, - { - "name": "Version in Pending Status Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Gets information about an API version's release." - }, - "status": "Found", - "code": 302, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - }, - { - "key": "Location", - "value": "/apis/5360b75f-447e-467c-9299-12fd6c92450d/tasks/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "description": "" - } - ], - "cookie": [], - "body": "" - }, - { - "name": "Successful Response for API Viewers", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Gets information about an API version's release." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"version\": {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"releaseNotes\": \"This is the first release.\",\n \"schemas\": [\n {\n \"id\": \"C1\",\n \"type\": \"openapi:3\"\n }\n ],\n \"collections\": [\n {\n \"id\": \"C1\",\n \"name\": \"collection1\"\n },\n {\n \"id\": \"C2\",\n \"name\": \"collection2\"\n }\n ]\n }\n}" - }, - { - "name": "Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Gets information about an API version's release." - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"VersionNotFound\",\n \"title\": \"API Version not found.\",\n \"details\": \"We could not find the API Version you are looking for.\"\n}" - } - ] - }, - { - "name": "Update a version", - "request": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"{{apiVersionName}}\",\n \"releaseNotes\": \"{{releaseNotes}}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Updates an API version. Include at least one of the following properties in the request body:\n\n- `name` — A **string** value that contains the version name.\n- `releaseNotes` — A **string** value that contains the Markdown-supported release notes.\n \n\n**Note:**\n\nThis endpoint returns an HTTP `404 Not Found` response when an API version is pending publication." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Updates an API version's release. Include at least one of the following properties in the `release` object:\n\n* `name` — A **string** value that contains the release name.\n* `visibility` — A **string** value that contains the release's visibility. One of:\n * `private` — The release is private.\n * `public` — The release is public.\n* `summary` — A **string** value that contains the release's summary.\n* `description` — A **string** value that contains the release's description.\n* `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2\",\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\"\n}" - }, - { - "name": "VersionNotFound Error When API Version is Pending Publishing", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Release 1.5\",\n \"releaseNotes\": \"This is the first public release update.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"VersionNotFound\",\n \"title\": \"API Version not found.\",\n \"details\": \"We could not find the API Version you are looking for.\"\n}" - } - ] - }, - { - "name": "Delete a version", - "request": { - "auth": { - "type": "apikey", - "apikey": [ - { - "key": "value", - "value": "{{postman-API-key}}", - "type": "string" - }, - { - "key": "key", - "value": "X-API-KEY", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{versionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{versionId}}" - ] - }, - "description": "Deletes an API version.\n\n**Note:**\n\nThis endpoint returns an HTTP `404 Not Found` response when an API version is pending publication." - }, - "response": [ - { - "name": "Deleted", - "originalRequest": { - "auth": { - "type": "apikey", - "apikey": [ - { - "key": "key", - "value": "X-API-KEY", - "type": "string" - }, - { - "key": "value", - "value": "{{postman-API-key}}", - "type": "string" - }, - { - "key": "in", - "type": "any" - } - ] - }, - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Deletes an API version's release." - }, - "status": "No Content", - "code": 204, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "" - }, - { - "name": "API Not Found", - "originalRequest": { - "auth": { - "type": "apikey", - "apikey": [ - { - "key": "key", - "value": "X-API-KEY", - "type": "string" - }, - { - "key": "value", - "value": "{{postman-API-key}}", - "type": "string" - }, - { - "key": "in", - "type": "any" - } - ] - }, - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Deletes an API version's release." - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API version you are looking for\"\n }\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"Forbidden\",\n \"detail\": \"You do not have permission to perform this action\"\n}" - }, - { - "name": "VersionNotFound Error When API Version is Pending Publishing", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{versionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{versionId}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"VersionNotFound\",\n \"title\": \"API Version not found.\",\n \"details\": \"We could not find the API Version you are looking for.\"\n}" - } - ] - } - ], - "description": "The Version endpoints let you manage your [API's versions](https://learning.postman.com/docs/designing-and-developing-your-api/versioning-an-api/versioning-an-api-overview/#publishing-an-api-version)." - }, - { - "name": "Collections", - "item": [ - { - "name": "Get a collection", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}" - ], - "query": [ - { - "key": "versionId", - "value": "{{versionId}}", - "description": "Optional. The API's version ID.", - "disabled": true - } - ] - }, - "description": "Gets a collection attached to an API. You can use the `versionId` query parameter to get a collection published in a version.\n\n**Note:**\n\nThe `versionId` query parameter is a **required** parameter for API viewers." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"item\": [\n {\n \"protocolProfileBehavior\": {\n \"disableBodyPruning\": true\n },\n \"response\": [\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 200,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"The spacecraft corresponding to the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"id\\\": \\\"\\\",\\n \\\"name\\\": \\\"commodo\\\",\\n \\\"type\\\": \\\"capsule\\\",\\n \\\"description\\\": \\\"pariatur dolo\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"OK\",\n \"id\": \"54467f6e-71d7-43d5-acc0-48f948e38528\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 404,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"No spacecraft found for the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Not Found\",\n \"id\": \"1231609a-7a3d-444d-aa0c-579703e618f4\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 500,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"Unexpected error\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Internal Server Error\",\n \"id\": \"db674465-8cec-4208-9724-42278ca9b83c\"\n }\n ],\n \"id\": \"d3779255-5293-4e58-9b65-8954936e1dca\",\n \"request\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"key\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"name\": \"Read a spacecraft\"\n }\n ],\n \"auth\": {\n \"apikey\": [\n {\n \"type\": \"string\",\n \"key\": \"key\",\n \"value\": \"X-Api-Key\"\n },\n {\n \"type\": \"string\",\n \"key\": \"value\",\n \"value\": \"SCBKCDKCHKDHCK\"\n },\n {\n \"type\": \"string\",\n \"key\": \"in\",\n \"value\": \"header\"\n }\n ],\n \"type\": \"apikey\"\n },\n \"info\": {\n \"description\": \"Buy or rent spacecrafts\",\n \"_postman_id\": \"e726de58-f1b3-4edd-a8a7-2579dc799d39\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.1.0/collection.json\",\n \"name\": \"Generated\"\n },\n \"variable\": [\n {\n \"value\": \"/\",\n \"type\": \"string\",\n \"id\": \"526a20ba-acfb-4549-a841-8edf2d24b929\",\n \"key\": \"baseUrl\"\n }\n ]\n}" - }, - { - "name": "Successful Response with Version", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}?versionId=e726de58-f1b3-4edd-a8a7-2579dc799d39", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}" - ], - "query": [ - { - "key": "versionId", - "value": "e726de58-f1b3-4edd-a8a7-2579dc799d39" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"item\": [\n {\n \"protocolProfileBehavior\": {\n \"disableBodyPruning\": true\n },\n \"response\": [\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 200,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"The spacecraft corresponding to the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"id\\\": \\\"\\\",\\n \\\"name\\\": \\\"commodo\\\",\\n \\\"type\\\": \\\"capsule\\\",\\n \\\"description\\\": \\\"pariatur dolo\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"OK\",\n \"id\": \"54467f6e-71d7-43d5-acc0-48f948e38528\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 404,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"No spacecraft found for the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Not Found\",\n \"id\": \"1231609a-7a3d-444d-aa0c-579703e618f4\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 500,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"Unexpected error\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Internal Server Error\",\n \"id\": \"db674465-8cec-4208-9724-42278ca9b83c\"\n }\n ],\n \"id\": \"d3779255-5293-4e58-9b65-8954936e1dca\",\n \"request\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"key\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"name\": \"Read a spacecraft\"\n }\n ],\n \"auth\": {\n \"apikey\": [\n {\n \"type\": \"string\",\n \"key\": \"key\",\n \"value\": \"X-Api-Key\"\n },\n {\n \"type\": \"string\",\n \"key\": \"value\",\n \"value\": \"SCBKCDKCHKDHCK\"\n },\n {\n \"type\": \"string\",\n \"key\": \"in\",\n \"value\": \"header\"\n }\n ],\n \"type\": \"apikey\"\n },\n \"info\": {\n \"description\": \"Buy or rent spacecrafts\",\n \"_postman_id\": \"e726de58-f1b3-4edd-a8a7-2579dc799d39\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.1.0/collection.json\",\n \"name\": \"Generated\"\n },\n \"variable\": [\n {\n \"value\": \"/\",\n \"type\": \"string\",\n \"id\": \"526a20ba-acfb-4549-a841-8edf2d24b929\",\n \"key\": \"baseUrl\"\n }\n ]\n}" - }, - { - "name": "Version ID Missing", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"Invalid request body\",\n \"type\": \"invalidParamError\",\n \"detail\": \"Missing field 'versionId' in the request body\"\n}" - } - ] - }, - { - "name": "Add a collection", - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"operationType\": \"{{operationType}}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections" - ] - }, - "description": "Adds a collection to an API. To do this, use the following `operationType` values:\n\n- `COPY_COLLECTION` — Copies a collection from the workspace and adds it to an API.\n- `CREATE_NEW` — Creates a new collection by providing the new collection's content.\n- `GENERATE_FROM_SCHEMA` — Generates the collection from an API schema.\n - `options` — An **object** that contains advanced creation options and their values. You can find a complete list of properties and their values in Postman's [OpenAPI 3.0 to Postman Collection v2.1.0 Converter OPTIONS documentation](https://github.com/postmanlabs/openapi-to-postman/blob/develop/OPTIONS.md). **These properties are case-sensitive.**\n\nFor examples of each method, see the collection's response examples." - }, - "response": [ - { - "name": "Copy a Collection", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"operationType\": \"COPY_COLLECTION\",\n \"data\": {\n \"collectionId\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n}" - }, - { - "name": "Generate a Collection from Schema", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"operationType\": \"GENERATE_FROM_SCHEMA\",\n \"name\": \"Test Collection\",\n \"options\": {\n \"enableOptionalParameters\": true,\n \"folderStrategy\": \"Tags\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n}" - }, - { - "name": "Add a New Collection", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"operationType\": \"CREATE_NEW\",\n \"data\": {\n \"item\": [\n {\n \"protocolProfileBehavior\": {\n \"disableBodyPruning\": true\n },\n \"response\": [\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 200,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"The spacecraft corresponding to the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"id\\\": \\\"\\\",\\n \\\"name\\\": \\\"commodo\\\",\\n \\\"type\\\": \\\"capsule\\\",\\n \\\"description\\\": \\\"pariatur dolo\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"OK\",\n \"id\": \"54467f6e-71d7-43d5-acc0-48f948e38528\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 404,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"No spacecraft found for the provided `spacecraftId`\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Not Found\",\n \"id\": \"1231609a-7a3d-444d-aa0c-579703e618f4\"\n },\n {\n \"originalRequest\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"description\": \"Added as a part of security scheme: apikey\",\n \"key\": \"X-Api-Key\",\n \"value\": \"\"\n }\n ]\n },\n \"code\": 500,\n \"_postman_previewlanguage\": \"json\",\n \"responseTime\": null,\n \"header\": [\n {\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ],\n \"name\": \"Unexpected error\",\n \"_postman_previewtype\": \"html\",\n \"body\": \"{\\n \\\"message\\\": \\\"dolore Excepteur\\\"\\n}\",\n \"cookie\": [],\n \"status\": \"Internal Server Error\",\n \"id\": \"db674465-8cec-4208-9724-42278ca9b83c\"\n }\n ],\n \"id\": \"d3779255-5293-4e58-9b65-8954936e1dca\",\n \"request\": {\n \"url\": {\n \"host\": [\n \"https://api.getpostman.com\"\n ],\n \"raw\": \"https://api.getpostman.com/spacecrafts/:spacecraftId\",\n \"variable\": [\n {\n \"description\": \"(Required) The unique identifier of the spacecraft\",\n \"key\": \"spacecraftId\",\n \"value\": \"\"\n }\n ],\n \"path\": [\n \"spacecrafts\",\n \":spacecraftId\"\n ]\n },\n \"method\": \"GET\",\n \"header\": [\n {\n \"key\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"name\": \"Read a spacecraft\"\n }\n ],\n \"auth\": {\n \"apikey\": [\n {\n \"type\": \"string\",\n \"key\": \"key\",\n \"value\": \"X-Api-Key\"\n },\n {\n \"type\": \"string\",\n \"key\": \"value\",\n \"value\": \"SCBKCDKCHKDHCK\"\n },\n {\n \"type\": \"string\",\n \"key\": \"in\",\n \"value\": \"header\"\n }\n ],\n \"type\": \"apikey\"\n },\n \"info\": {\n \"description\": \"Buy or rent spacecrafts\",\n \"_postman_id\": \"e726de58-f1b3-4edd-a8a7-2579dc799d39\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.1.0/collection.json\",\n \"name\": \"Generated\"\n },\n \"variable\": [\n {\n \"value\": \"/\",\n \"type\": \"string\",\n \"id\": \"526a20ba-acfb-4549-a841-8edf2d24b929\",\n \"key\": \"baseUrl\"\n }\n ]\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections" - ] - } - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"operationType\": \"COPY_COLLECTION\",\n \"data\": {\n \"collectionId\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": "", - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" - } - ] - }, - { - "name": "Sync collection with schema", - "request": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - }, - "description": "Syncs a collection attached to an API with the API schema.\n\nThis is an asynchronous endpoint that returns an HTTP `202 Accepted` response. The response contains a polling link to the `/apis/{apiId}/tasks/{taskId}` endpoint in the Location header.\n\n**Note:**\n\nThis endpoint only supports the OpenAPI 3 schema type." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Accepted", - "code": 202, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - }, - { - "key": "Location", - "value": "/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"taskId\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\"\n}" - }, - { - "name": "Schema Not Found", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"We could not find a schema linked to this API\",\n \"title\": \"Schema not found\",\n \"type\": \"instanceNotFoundError\"\n}" - }, - { - "name": "Unsupported Schema Type", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"Unsupported schema\",\n \"detail\": \"Collection syncing is not supported for the current schema type of the API\",\n \"type\": \"unsupportedEntityError\"\n}" - }, - { - "name": "Action Not Allowed", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"This action is not allowed for git linked APIs\",\n \"type\": \"actionNotAllowedError\",\n \"title\": \"Action not allowed\"\n}" - }, - { - "name": "v9 Unsupported", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"This endpoint does not support v9 APIs.\",\n \"title\": \"Unsupported API\",\n \"type\": \"unsupportedEntityError\"\n}" - }, - { - "name": "Collection Not Found", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"We could not find a collection you are looking for\",\n \"title\": \"Collection not found\",\n \"type\": \"instanceNotFoundError\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\",\n \"type\": \"instanceNotFoundError\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/collections/{{collectionId}}/sync-with-schema-tasks", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "collections", - "{{collectionId}}", - "sync-with-schema-tasks" - ] - } - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "Text", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"You do not have access to perform this operation.\",\n \"title\": \"You are not permitted to perform the action.\",\n \"type\": \"forbiddenError\"\n}" - } - ] - } - ], - "description": "The Collections endpoints let you manage your collections linked to an API." - }, - { - "name": "Get status of an asynchronous task", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "tasks", - "{{taskId}}" - ] - }, - "description": "Gets the status of an asynchronous task." - }, - "response": [ - { - "name": "Pending Status", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "tasks", - "{{taskId}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"url\": \"https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39/sync\",\n \"action\": \"update\",\n \"model\": \"collection\"\n },\n \"id\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\",\n \"createdAt\": \"2023-02-12 19:34:49\",\n \"updatedAt\": \"2023-02-12 19:34:49\",\n \"status\": \"pending\"\n}" - }, - { - "name": "Completed Status", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "tasks", - "{{taskId}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"url\": \"https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39/sync\",\n \"action\": \"update\",\n \"model\": \"collection\"\n },\n \"details\": {\n \"resources\": [\n {\n \"id\": \"collectionID\",\n \"url\": \"/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39\"\n }\n ]\n },\n \"id\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\",\n \"createdAt\": \"2023-02-12 19:34:49\",\n \"updatedAt\": \"2023-02-12 19:34:49\",\n \"status\": \"completed\"\n}" - }, - { - "name": "Failed Status", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "tasks", - "{{taskId}}" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"url\": \"https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d/collections/e726de58-f1b3-4edd-a8a7-2579dc799d39/sync\",\n \"action\": \"update\",\n \"model\": \"collection\"\n },\n \"details\": {\n \"error\": {\n \"message\": \"The API contains invalid schema\"\n }\n },\n \"id\": \"66ae9950-0869-4e65-96b0-1e0e47e771af\",\n \"createdAt\": \"2019-02-12 19:34:49\",\n \"updatedAt\": \"2023-02-12 19:34:49\",\n \"status\": \"failed\"\n}" - }, - { - "name": "Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/tasks/{{taskId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "tasks", - "{{taskId}}" - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"detail\": \"Parameter, taskId is in an invalid format.\",\n \"title\": \"The specified parameter is in an invalid format\",\n \"type\": \"invalidParamsError\"\n}" - } - ] - }, - { - "name": "Create an API", - "request": { - "auth": { - "type": "apikey", - "apikey": [ - { - "key": "value", - "value": "{{postman-api-key}}", - "type": "string" - }, - { - "key": "key", - "value": "x-api-key", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n \"description\": \"{{apiDescription}}\"\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId={{workspaceId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "{{workspaceId}}", - "description": "Required. The workspace ID." - } - ] - }, - "description": "Creates an API. Include the following properties in the request body:\n\n- `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n- `summary` — A **string** value that contains a summary of the API.\n- `description` — A **string** value that contains the description of the API." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" - } - ] - }, - "description": "Creates an API. Include the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "status": "Created", - "code": 201, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" - } - ] - }, - "description": "Creates an API. Include the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" - }, - { - "name": "Missing Workspace ID", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"paramMissingError\",\n \"title\": \"Parameter is missing in the request.\",\n \"detail\": \"Parameter, workspaceId is missing in the request.\"\n}" - }, - { - "name": "Workspace Not Found", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" - } - ] - } - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"title\": \"We could not find the workspace you are looking for\",\n \"detail\": \"We could not find the workspace you are looking for.\",\n \"type\": \"instanceNotFoundError\"\n}" - } - ] - }, - { - "name": "Update an API", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n \"description\": \"{{apiDescription}}\"\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Updates an API. Include at least one of the following properties in the request body:\n\n- `name` — A **string** value that contains the API's name.\n- `summary` — A **string** value that contains a summary of the API.\n- `description` — A **string** value that contains the description of the API. This supports Markdown formatting." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" - }, - { - "name": "v9 Unsupported", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" - } - ] - }, - { - "name": "Get all APIs", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId={{workspaceId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "{{workspaceId}}", - "description": "Required. The workspace ID." - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. The user ID of the user that created the resource.", - "disabled": true - }, - { - "key": "cursor", - "value": "{{cursor}}", - "description": "Optional. The pointer to the first record of the set of paginated results.", - "disabled": true - }, - { - "key": "limit", - "value": "{{limit}}", - "description": "Optional. The maximum number of rows to return in the response. This value defaults to `10`.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - } - ] - }, - "description": "Gets information about all APIs in a workspace.\n\n**Note:**\n\nThis endpoint only returns APIs created or migrated in Postman v10 and higher." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 12 Jul 2022 16:39:09 GMT" - }, - { - "key": "Content-Type", - "value": "application/json", - "description": "" - }, - { - "key": "Content-Length", - "value": "120" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Server", - "value": "nginx" - }, - { - "key": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "key": "Access-Control-Allow-Origin", - "value": "*" - }, - { - "key": "x-srv-trace", - "value": "v=1;t=915b2bd230311a7e" - }, - { - "key": "x-srv-span", - "value": "v=1;s=108d09101d76e02a" - }, - { - "key": "X-RateLimit-Limit", - "value": "400" - }, - { - "key": "X-RateLimit-Remaining", - "value": "399" - }, - { - "key": "X-RateLimit-Reset", - "value": "1657644009" - }, - { - "key": "ETag", - "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"nextCursor\": \"VGh1IE1hciAxNiAyMDIzIDE3OjIxOjUzIEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 4,\n \"limit\": 10\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": null,\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-15T13:07:08.000Z\",\n \"id\": \"fec65321-5f55-4feb-8525-be95bccae8dd\",\n \"updatedAt\": \"2023-02-15T13:07:08.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-16T05:52:27.000Z\",\n \"id\": \"b7c54faa-d119-4572-a18d-e2f5c32348ce\",\n \"updatedAt\": \"2023-02-16T05:52:27.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-16T07:07:16.000Z\",\n \"id\": \"d535a8ba-ed4b-4c6a-bf1c-13fac95485b8\",\n \"updatedAt\": \"2023-02-16T07:07:16.000Z\"\n }\n ]\n}" - }, - { - "name": "Pagination with Cursor Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)&cursor=V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=&limit=2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" - }, - { - "key": "cursor", - "value": "V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=" - }, - { - "key": "limit", - "value": "2" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"nextCursor\": \"VGh1IEZlYiAxNiAyMDIzIDA3OjA3OjE2IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 4,\n \"limit\": 2\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": null,\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n },\n {\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"summary\": \"This is a test API.\",\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-15T13:07:08.000Z\",\n \"id\": \"fec65321-5f55-4feb-8525-be95bccae8dd\",\n \"updatedAt\": \"2023-02-15T13:07:08.000Z\"\n }\n ]\n}" - }, - { - "name": "Missing Workspace ID", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"paramMissingError\",\n \"title\": \"Parameter is missing in the request.\",\n \"detail\": \"Parameter, workspaceId is missing in the request.\"\n}" - }, - { - "name": "Filter by createdBy", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)&createdBy=893478", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" - }, - { - "key": "createdBy", - "value": "893478" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"nextCursor\": \"V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 1,\n \"limit\": 10\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": null,\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n }\n ]\n}" - }, - { - "name": "Filter by description", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)&description=This is an API for testing purposes", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" - }, - { - "key": "description", - "value": "This is an API for testing purposes" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"meta\": {\n \"nextCursor\": \"V2VkIEZlYiAxNSAyMDIzIDEzOjA3OjA4IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=\",\n \"total\": 1,\n \"limit\": 10\n },\n \"apis\": [\n {\n \"updatedBy\": \"893478\",\n \"createdBy\": \"893478\",\n \"name\": \"New API\",\n \"summary\": null,\n \"description\": \"This is an API for testing purposes.\",\n \"createdAt\": \"2023-02-15T06:27:16.000Z\",\n \"id\": \"73e15000-bc7a-4802-b80e-05fff18fd7f8\",\n \"updatedAt\": \"2023-02-15T06:27:24.000Z\"\n }\n ]\n}" - }, - { - "name": "Workspace Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis?workspaceId=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspaceId", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9)" - } - ] - } - }, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the workspace you are looking for\",\n \"detail\": \"We could not find the workspace you are looking for.\"\n}" - } - ] - }, - { - "name": "Get an API", - "request": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ], - "query": [ - { - "key": "include", - "value": "{{includeOptions}}", - "description": "Optional. An array that contains one or more of the following additional resources to include in the response. Use this parameter to query for element links to the API, such as collections and schemas:\n- `collections` — Query for linked Postman collections.\n- `versions` — Query for linked versions.\n- `schemas` — Query for linked schemas.\n- `gitInfo` — Query for information about the API’s git-linked repository. This query only returns the linked repository and folder locations of the files. It does **not** return `collections` or `schemas` information.\n\n**Note:**\nAPI viewers can only use the `versions` option.\n ", - "disabled": true - } - ] - }, - "description": "Gets information about an API.\n\n**Note:**\n\n- Git-connected APIs will **only** return the `versions` and `gitInfo` query responses. This is because schema and collection information is stored in the connected Git repository. The `gitInfo` object only lists the repository and folder locations of the files.\n- API viewers can only use the `versions` option in the `include` query parameter." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Gets information about an API." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"description\": \"This is a test API.\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"updatedBy\": \"12345678\",\n \"createdBy\": \"12345678\",\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\"\n}" - }, - { - "name": "Response with the include Parameter", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}?include=schemas,collections,versions,gitInfo", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ], - "query": [ - { - "key": "include", - "value": "schemas,collections,versions,gitInfo" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdBy\": \"12345678\",\n \"name\": \"Test API\",\n \"updatedBy\": \"12345678\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"description\": \"This is a test API.\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"collections\": [\n {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n }\n ],\n \"gitInfo\": {},\n \"schemas\": [\n {\n \"id\": \"ae2b9ab2-28f2-401d-912f-eca09a78e98b\"\n }\n ],\n \"versions\": [\n {\n \"id\": \"18ccb2dc-1746-4945-ba76-8152b37cr123\",\n \"name\": \"v1.0.0\"\n }\n ],\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"summary\": \"Test API.\"\n}" - }, - { - "name": "Response for Git-Linked API with the include Parameter", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}?include=schemas,collections,versions,gitInfo", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ], - "query": [ - { - "key": "include", - "value": "schemas,collections,versions,gitInfo" - } - ] - }, - "description": "Gets information about an API." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdBy\": \"12345678\",\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedBy\": \"12345678\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"description\": \"This is a test API.\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"versions\": [\n {\n \"id\": \"18ccb2dc-1746-4945-ba76-8152b37cr123\",\n \"name\": \"v1.0.0\"\n }\n ],\n \"gitInfo\": {\n \"schemaFolder\": \"schema-folder\",\n \"domain\": \"https://example.com\",\n \"repository\": \"repo-name\",\n \"organization\": \"org-name\",\n \"collectionFolder\": \"collection-folder\"\n }\n}" - }, - { - "name": "Successful Response for API Viewers", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}?include=versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ], - "query": [ - { - "key": "include", - "value": "versions" - } - ] - }, - "description": "Gets information about an API." - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"versions\": [\n {\n \"id\": \"18ccb2dc-1746-4945-ba76-8152b37cr123\",\n \"name\": \"v1.0.0\"\n },\n {\n \"id\": \"5260b75f-447e-467c-9299-12f16c924503\",\n \"name\": \"v1.0.1\"\n }\n ]\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Gets information about an API." - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" - }, - { - "name": "v9 Unsupported", - "originalRequest": { - "method": "GET", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" - } - ] - }, - { - "name": "Delete an API", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Deletes an API." - }, - "response": [ - { - "name": "Deleted", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Deletes an API." - }, - "status": "No Content", - "code": 204, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "" - }, - { - "name": "Forbidden", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"forbiddenError\",\n \"title\": \"You are not permitted to perform the action.\",\n \"detail\": \"You do not have access to perform this operation.\"\n}" - }, - { - "name": "API Not Found", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Deletes an API." - }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"instanceNotFoundError\",\n \"title\": \"We could not find the API you are looking for\",\n \"detail\": \"We could not find the API you are looking for.\"\n}" - }, - { - "name": "v9 Unsupported", - "originalRequest": { - "method": "DELETE", - "header": [ - { - "key": "Accept", - "value": "application/vnd.api.v10+json" - } - ], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - } - }, - "status": "Unprocessable Entity (WebDAV) (RFC 4918)", - "code": 422, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"type\": \"unsupportedEntityError\",\n \"title\": \"Unsupported API\",\n \"detail\": \"This endpoint does not support v9 APIs.\"\n}" - } - ] - } - ], - "description": "The `/apis` endpoints let you manage your APIs.\n\n### Important:\n\n- These endpoints are only available in Postman v10 and higher.\n- When using these endpoints, you must pass an `Accept` header with the `application/vnd.api.v10+json` value." - }, - { - "name": "v9", - "item": [ - { - "name": "API Version", - "item": [ - { - "name": "Get all API versions", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - }, - "description": "Gets information about an API's versions.\n\n**In Postman v9 and earlier:**\n\nWhen you create an API, the system creates a single, default API version. You can use this version’s ID with any endpoints that require an API version ID." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": { - "content": "", - "type": "text/plain" - }, - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"versions\": [\n {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"Draft\",\n \"summary\": null,\n \"createdBy\": \"20891195\",\n \"updatedBy\": \"20891195\",\n \"stage\": \"Planning\",\n \"visibility\": \"public\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\",\n \"createdAt\": \"2023-02-14T14:26:05.000Z\",\n \"updatedAt\": \"2023-02-14T14:26:05.000Z\",\n \"repositoryIntegration\": null\n }\n ]\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Create an API version", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"version\": {\n\t\t\"name\": \"{{apiVersionName}}\",\n\t\t\"source\": {\n\t\t\t\"id\": \"{{apiVersionId}}\",\n\t\t\t\"schema\": {{boolean}},\n\t\t\t\"relations\": {\n\t\t\t\t\"monitor\": {{boolean}},\n\t\t\t\t\"mock\": {{boolean}},\n\t\t\t\t\"documentation\": {{boolean}},\n \"test\": {{boolean}},\n \"environment\": {{boolean}}\n\t\t\t}\n\t\t}\n\t}\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates a new API version. Include the following request body properties in the `version` object:\n\n- `name` — Required. A **string** that contains the API version's name.\n- `source` — An **object** that contains the following properties:\n - `id` — A **string** that contains an API version's ID to copy to the created API version.\n - `schema` — A **boolean** value. If true, copy the API definition to the new API version.\n - `relations` — An **object** that contains the relation types to copy to the new API version. Each property is a **boolean** value that, if true, copies to the new API version. If you do **not** include any the following properties, the system does **not** copy them over (defaults to the `false` value):\n - `monitor`\n - `mock`\n - `documentation`\n - `test`\n - `environment`" - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"version\": {\n \"name\": \"v1\",\n \"source\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"schema\": true,\n \"relations\": {\n \"documentation\": true,\n \"environment\": true,\n \"mock\": true,\n \"monitor\": true\n }\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"version\": {\n \"id\": \"8421a1f3-3262-4d47-a597-7005bf4c1564\",\n \"name\": \"v1\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"version\": {\n \"name\": \"v1\",\n \"source\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"schema\": true,\n \"relations\": {\n \"documentation\": true,\n \"environment\": true,\n \"mock\": true,\n \"monitor\": true\n }\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"version\": {\n \"name\": \"v1\",\n \"source\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"schema\": true,\n \"relations\": {\n \"documentation\": true,\n \"environment\": true,\n \"mock\": true,\n \"monitor\": true\n }\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get an API version", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "Gets information about an API version.\n\n**In Postman v9 and earlier:**\n\nWhen you create an API, the system creates a single, default API version. You can use this version’s ID with any endpoints that require an API version ID." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": { - "content": "", - "type": "text/plain" - }, - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"version\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"Draft\",\n \"summary\": null,\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"stage\": \"Planning\",\n \"visibility\": \"public\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\",\n \"createdAt\": \"2023-02-14T14:26:05.000Z\",\n \"updatedAt\": \"2023-02-14T14:26:05.000Z\",\n \"repositoryIntegration\": null,\n \"schema\": [\n \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n ]\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Update an API version", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"version\": {\n\t\t\"name\": \"{{apiVersionName}}\"\n\t}\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nUpdates an API version. Include the following request body properties in the `version` object:\n\n- `name` — A **string** that contains the API version's name." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"version\": {\n \"name\": \"v1.0\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"version\": {\n \"createdAt\": \"2022-08-02T13:28:05.000Z\",\n \"updatedAt\": \"2022-08-02T13:35:32.000Z\",\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"v1.0\",\n \"summary\": null,\n \"stage\": \"Planning\",\n \"visibility\": \"public\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"api\": \"387c2863-6ee3-4a56-8210-225f774edade\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"version\": {\n \"name\": \"v1.0\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"version\": {\n \"name\": \"v1.0\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Delete an API version", - "request": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nDeletes an API version." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"version\": {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API version you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - } - ], - "description": "The API version endpoints let you manage your [API's versions](https://learning.postman.com/docs/designing-and-developing-your-api/versioning-an-api/versioning-an-api-overview/).\n\n### Important\n\n**API versions are deprecated as of Postman v10 and higher.**\n\nIn v9 and earlier, when you create an API, the system creates a single, default API version. You can use this version’s ID with any endpoints that require an API version ID.\n\nIn Postman v10, published versions are static representations of your API that consumers can reference (like releases in Postman v9). If you need to work on more than one major iteration of your API in Postman v10, create separate APIs.", - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ] - }, - { - "name": "Relations", - "item": [ - { - "name": "Get unclassified relations", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/unclassified", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "unclassified" - ] - }, - "description": "**This endpoint is for Postman v10 and higher.**\n\nGets all of an API version's unclassified relations.\n\nUnclassified relations are used for documentation and testing. This is the default relation type." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/unclassified", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "unclassified" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"unclassified\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"Test\",\n \"updatedAt\": \"2023-01-19T14:50:05.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/unclassified", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "unclassified" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get monitor relations", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/monitor", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "monitor" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets an API version's monitor relations." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/monitor", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "monitor" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"monitor\": [\n {\n \"id\": \"1e6b6cc1-c760-48e0-968f-4bfaeeae9af1\",\n \"name\": \"Test Monitor\",\n \"updatedAt\": \"2022-07-10T05:00:25.066Z\",\n \"monitorId\": \"1e6b6cc1-c760-48e0-968f-4bfaeeae9af1\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/monitor", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "monitor" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get documentation relations", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/documentation", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "documentation" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets an API version's documentation relations." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/documentation", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "documentation" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"documentation\": [\n {\n \"id\": \"b9bccf0f-e06a-433d-b556-a3cd158f0270\",\n \"name\": \"Test Collection\",\n \"createdAt\": \"2022-07-08T20:29:35.000Z\",\n \"updatedAt\": \"2022-07-08T20:31:06.000Z\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/documentation", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "documentation" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get integration test relations", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/integrationtest", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "integrationtest" - ] - }, - "description": "**This endpoint is deprecated.**" - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/integrationtest", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations", - "integrationtest" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"integrationtest\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"C test\",\n \"updatedAt\": \"2019-08-29T10:18:11.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n },\n {\n \"id\": \"521b0486-ab91-4d3a-9189-43c9380a0533\",\n \"name\": \"C1\",\n \"updatedAt\": \"2019-08-29T11:40:39.000Z\",\n \"collectionId\": \"7332157-a8bcd143-2b01-4b12-8c14-c7d05be77725\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/integrationtest", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations", - "integrationtest" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get test suite relations", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/testsuite", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "testsuite" - ] - }, - "description": "**This endpoint is deprecated.**" - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/testsuite", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations", - "testsuite" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"testsuite\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"C test\",\n \"updatedAt\": \"2019-08-29T10:18:11.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n },\n {\n \"id\": \"521b0486-ab91-4d3a-9189-43c9380a0533\",\n \"name\": \"C1\",\n \"updatedAt\": \"2019-08-29T11:40:39.000Z\",\n \"collectionId\": \"7332157-a8bcd143-2b01-4b12-8c14-c7d05be77725\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/testsuite", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations", - "testsuite" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get all linked relations", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/relations", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "relations" - ] - }, - "description": "Gets all of an API version's relations.\n\n**Note:**\n\nIn Postman v10 and higher, this endpoint returns the following:\n\n- The `unclassified` relation is for documentation and testing. This is the default relation type.\n- The `apiDefinition` relation is the relation used for API definitions." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": { - "content": "", - "type": "text/plain" - }, - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"relations\": {\n \"apiDefintion\": {\n \"16bb367e-fafb-4ef3-933b-ee3d971866fb\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n }\n },\n \"unclassified\": {\n \"b9bccf0f-e06a-433d-b556-a3cd158f0270\": {\n \"id\": \"b9bccf0f-e06a-433d-b556-a3cd158f0270\",\n \"name\": \"Test Collection\",\n \"createdAt\": \"2023-01-30T17:41:50.000Z\",\n \"updatedAt\": \"2023-01-19T14:50:05.000Z\"\n }\n },\n \"schema\": {\n \"16bb367e-fafb-4ef3-933b-ee3d971866fb\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\"\n }\n }\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get all test relations", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/test", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "test" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets all of an API version's test relations." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/test", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "test" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "", - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"test\": [\n {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"name\": \"Test Collection\",\n \"updatedAt\": \"2022-07-08T18:32:23.000Z\",\n \"collectionId\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/test", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "test" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": "" - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Sync API relations with definition", - "request": { - "method": "PUT", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/:relationType/:entityId/syncWithSchema", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - ":relationType", - ":entityId", - "syncWithSchema" - ], - "variable": [ - { - "key": "relationType", - "value": "unclassified", - "description": "The `unclassified` relation type. This relation is used for documentation and testing.\n\n**Note:**\n\nIn Postman v10 and earlier, this value is one of:\n* `documentation`\n* `test`\n* `mock`\n* `monitor`" - }, - { - "key": "entityId", - "value": "{{entityId}}", - "description": "The collection's UID value.\n\n**Note:**\n\nIn Postman v10 and earlier, the entity's ID value is one of the following, based on its relation type:\n* `documentation` and `test` — The collection UID value.\n* `environment` — The environment UID value.\n* `mock` — The mock ID value.\n* `monitor` — The monitor ID value." - } - ] - }, - "description": "Syncs an API version's relation with the API's definition." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/4ebb45f8-7bb3-4a63-9c42-0b1602818293/versions/5e154147-b571-4ffe-a6ac-df2ab3b6e5ba/:relationType/:entityId/syncWithSchema", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "4ebb45f8-7bb3-4a63-9c42-0b1602818293", - "versions", - "5e154147-b571-4ffe-a6ac-df2ab3b6e5ba", - ":relationType", - ":entityId", - "syncWithSchema" - ], - "variable": [ - { - "key": "relationType", - "value": "unclassified" - }, - { - "key": "entityId", - "value": "12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91" - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"success\": true\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "PUT", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/4ebb45f8-7bb3-4a63-9c42-0b1602818293/versions/5e154147-b571-4ffe-a6ac-df2ab3b6e5ba/:relationType/:entityId/syncWithSchema", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "4ebb45f8-7bb3-4a63-9c42-0b1602818293", - "versions", - "5e154147-b571-4ffe-a6ac-df2ab3b6e5ba", - ":relationType", - ":entityId", - "syncWithSchema" - ], - "variable": [ - { - "key": "relationType", - "value": "unclassified" - }, - { - "key": "entityId", - "value": "12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91" - } - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API version you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "PUT", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/4ebb45f8-7bb3-4a63-9c42-0b1602818293/versions/5e154147-b571-4ffe-a6ac-df2ab3b6e5ba/:relationType/:entityId/syncWithSchema", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "4ebb45f8-7bb3-4a63-9c42-0b1602818293", - "versions", - "5e154147-b571-4ffe-a6ac-df2ab3b6e5ba", - ":relationType", - ":entityId", - "syncWithSchema" - ], - "variable": [ - { - "key": "relationType", - "value": "unclassified" - }, - { - "key": "entityId", - "value": "12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91" - } - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get environment relations", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/environment", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "environment" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets an API version's environment relations." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/environment", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "environment" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"environment\": [\n {\n \"id\": \"12345678-5daabc50-8451-43f6-922d-96b403b4f28e\",\n \"name\": \"Test Environment\",\n \"createdAt\": \"2022-07-08T20:32:48.000Z\",\n \"updatedAt\": \"2022-07-08T20:31:30.000Z\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/environment", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "environment" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get contract test relations", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/contracttest", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "contracttest" - ] - }, - "description": "**This endpoint is deprecated.**" - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/contracttest", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations", - "contracttest" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"contracttest\": [\n {\n \"id\": \"2a9b8fa8-88b7-4b86-8372-8e3f6f6e07f2\",\n \"name\": \"C test\",\n \"updatedAt\": \"2019-08-29T10:18:11.000Z\",\n \"collectionId\": \"7732157-a8bcd149-2b01-4b4c-8c14-c7d05be77745\"\n },\n {\n \"id\": \"521b0486-ab91-4d3a-9189-43c9380a0533\",\n \"name\": \"C1\",\n \"updatedAt\": \"2019-08-29T11:40:39.000Z\",\n \"collectionId\": \"7332157-a8bcd143-2b01-4b12-8c14-c7d05be77725\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations/contracttest", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations", - "contracttest" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Create relations", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"{{relationType}}\": [\n \"{{entityId}}\"\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/relations", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "relations" - ] - }, - "description": "Creates a new relation for an API version. Include the following in the request body:\n\n- `relationType` — An **array** that contains entity relations. The key value for this array must be the `unclassified` value.\n \n\nYou must include the following properties in the `relationType` array:\n\n- `entityId` — The collection's UID value.\n \n\n**Note:**\n\nThe following is **deprecated** in Postman API v10 and higher:\n\n| **`relationType`** | **`entityId`** |\n| --- | --- |\n| `documentation` and `test` | A collection UID value. |\n| `environment` | An environment UID value. |\n| `mock` | A mock ID value. |\n| `monitor` | A monitor ID value. |\n\nThe endpoint accepts multiple `relationType` arrays in a single call. For an example, see the example response documentation.\n\nThe `documentation` and `test` values returned in the response are the relation ID values, **not** the collection ID values." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"unclassified\": [\n \"12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91\"\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": "", - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"unclassified\": [\n \"2e006451-e819-443f-97bc-d1635e51007f\"\n ]\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"invalidParamsError\",\n \"message\": \"The specified parameter is in an invalid format\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"unclassified\": [\n \"12345678-b4abc083-3ee2-4fc2-8959-29a7653a1c91\"\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/relations", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "relations" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - } - ], - "description": "The Relations endpoints let you manage your API's relations. Relations are an API's connections to items such as documentation, tests, and API definitions.\n\n### Important\n\nIn Postman v10 and higher, we **only** support the following relation types:\n\n- `unclassified` — The relation for documentation and testing.\n- `apiDefinition` — The relation for API definitions." - }, - { - "name": "Schema", - "item": [ - { - "name": "Get a schema", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "schemas", - "{{schemaId}}" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets information about an API's definition." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas", - "16bb367e-fafb-4ef3-933b-ee3d971866fb" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"schema\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\",\n \"type\": \"openapi3\",\n \"language\": \"json\",\n \"createdAt\": \"2022-07-01T20:12:31.000Z\",\n \"updatedAt\": \"2022-07-01T20:13:04.000Z\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n \"apiVersion\": \"a9879d02-74bf-425a-bbec-6d27aa135507\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas", - "16bb367e-fafb-4ef3-933b-ee3d971866fb" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Definition Mismatch", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas", - "16bb367e-fafb-4ef3-933b-ee3d971866fb" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"schemaApiVersionMismatchError\",\n \"message\": \"The Schema ID provided does not belong to the API Version ID provided.\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas", - "16bb367e-fafb-4ef3-933b-ee3d971866fb" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Create a schema", - "event": [ - { - "listen": "prerequest", - "script": { - "exec": [ - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"{{apiDefinitionLanguage}}\",\n\t\t\"schema\": \"{{apiDefinition}}\",\n\t\t\"type\": \"{{apiDefinitionType}}\"\n\t}\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "schemas" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates an API definition. The request body must contain a `schema` object with the following properties:\n\n- `type` — A **string** value that contains the API definition's type. One of:\n - `openapi3_1`\n - `openapi3`\n - `openapi2`\n - `openapi1`\n - `raml`\n - `raml1`\n - `wsdl1`\n - `wsdl2`\n - `graphql`\n - `proto2`\n - `graphql`\n - `proto3`\n- `language` — A **string** value that contains the API definition's language. One of:\n - OpenAPI and RAML — `json` or `yaml`\n - GraphQL — `graphql`\n - WSDL — `xml`\n - Protobuf — `proto`\n- `schema` — A **string** value that contains the API definition's contents." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"json\",\n\t\t\"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"schema\": {\n \"id\": \"e3b3a0b7-34d5-4fc5-83e0-118bd9e8c822\",\n \"language\": \"json\",\n \"apiVersion\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"type\": \"openapi3\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"createdAt\": \"2021-05-22T13:17:07.000Z\",\n \"updatedAt\": \"2021-05-22T13:17:07.000Z\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"json\",\n\t\t\"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceAlreadyExists\",\n \"message\": \"A schema already exists for this API Version\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"json\",\n\t\t\"schema\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Create a collection from a schema", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"name\": \"{{collectionName}}\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"{{relationType}}\"\n\t\t}\t\n\t],\n \"options\": {\n \"{{optionName}}\": \"{{optionValue}}\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas/{{schemaId}}/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "schemas", - "{{schemaId}}", - "collections" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", - "disabled": true - } - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates a collection and links it to an API as one or multiple relations.\n\nInclude the following properties in the request body:\n\n- `name` — A **string** that contains the name of the collection.\n \n\nYou can also include the following additional properties in the request body:\n\n- `relations` — An **array** that contains a list of relations to create:\n - `contracttest` — **Deprecated.**\n - `integrationtest` — **Deprecated.**\n - `testsuite` — **Deprecated.**\n - `documentation`\n- `options` — An **object** that contains advanced creation options and their values. You can find a complete list of properties and their values in Postman's [OpenAPI 3.0 to Postman Collection v2.1.0 Converter OPTIONS documentation](https://github.com/postmanlabs/openapi-to-postman/blob/develop/OPTIONS.md). **These properties are case-sensitive.**" - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"name\": \"Test Collection\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "be50acd7-414e-4d65-9443-f919b847e29a", - "versions", - "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", - "schemas", - "f087f7b9-018f-447f-ba64-74cb981957ce", - "collections" - ], - "query": [ - { - "key": "workspace", - "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", - "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": "", - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678ß-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n }\n}" - }, - { - "name": "Create a Collection with a Documentation Relation", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"documentation\"\n\t\t}\t\n\t]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "be50acd7-414e-4d65-9443-f919b847e29a", - "versions", - "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", - "schemas", - "f087f7b9-018f-447f-ba64-74cb981957ce", - "collections" - ], - "query": [ - { - "key": "workspace", - "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", - "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "cookie": [], - "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n },\n \"relations\": [\n {\n \"type\": \"documentation\",\n \"id\": \"d86b6c97-fdf9-4c37-825a-49b0223913c7\"\n }\n ]\n}" - }, - { - "name": "Create a Collection with Advanced Options", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"documentation\"\n\t\t}\t\n\t],\n \"options\": {\n \"requestParametersResolution\": \"Example\",\n \"requestNameSource\": \"Fallback\",\n \"validateMetadata\": true\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "be50acd7-414e-4d65-9443-f919b847e29a", - "versions", - "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", - "schemas", - "f087f7b9-018f-447f-ba64-74cb981957ce", - "collections" - ], - "query": [ - { - "key": "workspace", - "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", - "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "cookie": [], - "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n },\n \"relations\": [\n {\n \"type\": \"documentation\",\n \"id\": \"d86b6c97-fdf9-4c37-825a-49b0223913c7\"\n }\n ]\n}" - }, - { - "name": "Create a Collection from a Definition in a Workspace", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"documentation\"\n\t\t}\t\n\t]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections?workspace=c90a3482-f80d-43d6-9dfb-0830f5e43605", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "be50acd7-414e-4d65-9443-f919b847e29a", - "versions", - "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", - "schemas", - "f087f7b9-018f-447f-ba64-74cb981957ce", - "collections" - ], - "query": [ - { - "key": "workspace", - "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", - "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace." - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "cookie": [], - "body": "{\n \"collection\": {\n \"id\": \"12ece9e1-2abf-4edc-8e34-de66e74114d2\",\n \"uid\": \"12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\"\n },\n \"relations\": [\n {\n \"type\": \"documentation\",\n \"id\": \"d86b6c97-fdf9-4c37-825a-49b0223913c7\"\n }\n ]\n}" - }, - { - "name": "Invalid Parameter", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"mocks\"\n\t\t}\t\n\t]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "be50acd7-414e-4d65-9443-f919b847e29a", - "versions", - "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", - "schemas", - "f087f7b9-018f-447f-ba64-74cb981957ce", - "collections" - ], - "query": [ - { - "key": "workspace", - "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", - "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"invalidParamsError\",\n \"message\": \"The specified parameter is in an invalid format\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\t\"name\": \"Test Collection\",\n\t\"relations\": [\n\t\t{\n\t\t\t\"type\": \"mocks\"\n\t\t}\t\n\t]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/be50acd7-414e-4d65-9443-f919b847e29a/versions/56d5f9ac-69a7-4255-8343-cde8ea25ef8b/schemas/f087f7b9-018f-447f-ba64-74cb981957ce/collections", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "be50acd7-414e-4d65-9443-f919b847e29a", - "versions", - "56d5f9ac-69a7-4255-8343-cde8ea25ef8b", - "schemas", - "f087f7b9-018f-447f-ba64-74cb981957ce", - "collections" - ], - "query": [ - { - "key": "workspace", - "value": "c90a3482-f80d-43d6-9dfb-0830f5e43605", - "description": "Optional. The workspace ID in which to created the collection.\n\nIf you do not include this query parameter, the system defaults to the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Update a schema", - "event": [ - { - "listen": "prerequest", - "script": { - "exec": [ - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"{{apiDefinitionLanguage}}\",\n \"schema\": \"{{apiDefinition}}\",\n\t\t\"type\": \"{{apiDefinitionType}}\"\n\t}\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/schemas/{{schemaId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "schemas", - "{{schemaId}}" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nUpdates an API definition. The request body must contain a `schema` object with the following properties:\n\n- `type` — A **string** value that contains the API definition's type. One of:\n - `openapi3_1`\n - `openapi3`\n - `openapi2`\n - `openapi1`\n - `raml`\n - `raml1`\n - `wsdl1`\n - `wsdl2`\n - `graphql`\n - `proto2`\n - `graphql`\n - `proto3`\n- `language` — A **string** value that contains the API definition's language. One of:\n - OpenAPI and RAML — `json` or `yaml`\n - GraphQL — `graphql`\n - WSDL — `xml`\n - Protobuf — `proto`\n- `schema` — Optional. A **string** value that contains the API definition's contents." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"yaml\",\n\t\t\"schema\": \"openapi: 3.0.0\\ninfo:\\n version: 1.0.0\\n title: Test API\\nservers:\\n - url: http://localhost:3000\\npaths:\\n /user:\\n get:\\n summary: List all users\\n operationId: listUser\\n tags:\\n - user\\n parameters:\\n - name: id\\n in: query\\n required: true\\n description: The user's ID.\\n example: 1234\\n schema:\\n type: integer\\n format: int32\\n responses:\\n '200':\\n description: Information about the user.\\n headers:\\n x-next:\\n description: A link to the next page of responses.\\n schema:\\n type: string\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/User' \\ncomponents:\\n schemas:\\n User:\\n type: object\\n required:\\n - id\\n - name\\n properties:\\n id:\\n type: integer\\n format: int32\\n Error:\\n type: object\\n required:\\n - code\\n - message\\n properties:\\n code:\\n type: integer\\n format: int32\\n message:\\n type: string\\n\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas", - "16bb367e-fafb-4ef3-933b-ee3d971866fb" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"schema\": {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\",\n \"language\": \"yaml\",\n \"apiVersion\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"type\": \"openapi3\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"createdAt\": \"2021-05-22T13:17:07.000Z\",\n \"updatedAt\": \"2021-05-22T13:17:07.000Z\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"yaml\",\n\t\t\"schema\": \"openapi: 3.0.0\\ninfo:\\n version: 1.0.0\\n title: Test API\\nservers:\\n - url: http://localhost:3000\\npaths:\\n /user:\\n get:\\n summary: List all users\\n operationId: listUser\\n tags:\\n - user\\n parameters:\\n - name: id\\n in: query\\n required: true\\n description: The user's ID.\\n example: 1234\\n schema:\\n type: integer\\n format: int32\\n responses:\\n '200':\\n description: Information about the user.\\n headers:\\n x-next:\\n description: A link to the next page of responses.\\n schema:\\n type: string\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/User' \\ncomponents:\\n schemas:\\n User:\\n type: object\\n required:\\n - id\\n - name\\n properties:\\n id:\\n type: integer\\n format: int32\\n Error:\\n type: object\\n required:\\n - code\\n - message\\n properties:\\n code:\\n type: integer\\n format: int32\\n message:\\n type: string\\n\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas", - "16bb367e-fafb-4ef3-933b-ee3d971866fb" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"schema\": {\n\t\t\"language\": \"yaml\",\n\t\t\"schema\": \"openapi: 3.0.0\\ninfo:\\n version: 1.0.0\\n title: Test API\\nservers:\\n - url: http://localhost:3000\\npaths:\\n /user:\\n get:\\n summary: List all users\\n operationId: listUser\\n tags:\\n - user\\n parameters:\\n - name: id\\n in: query\\n required: true\\n description: The user's ID.\\n example: 1234\\n schema:\\n type: integer\\n format: int32\\n responses:\\n '200':\\n description: Information about the user.\\n headers:\\n x-next:\\n description: A link to the next page of responses.\\n schema:\\n type: string\\n content:\\n application/json:\\n schema:\\n $ref: '#/components/schemas/User' \\ncomponents:\\n schemas:\\n User:\\n type: object\\n required:\\n - id\\n - name\\n properties:\\n id:\\n type: integer\\n format: int32\\n Error:\\n type: object\\n required:\\n - code\\n - message\\n properties:\\n code:\\n type: integer\\n format: int32\\n message:\\n type: string\\n\",\n\t\t\"type\": \"openapi3\"\n\t}\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/schemas/16bb367e-fafb-4ef3-933b-ee3d971866fb", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "schemas", - "16bb367e-fafb-4ef3-933b-ee3d971866fb" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - } - ], - "description": "The Schema endpoints let you manage your API's definitions.\n\n### Important\n\n**The schemas concept is deprecated as of Postman v10 and higher.**\n\nIn Postman v10 and higher, “schemas” are now known as “API definitions”. You may see that API responses may return both the `schemas` and `apiDefinition` properties. Use the `apiDefinition` property." - }, - { - "name": "Release", - "item": [ - { - "name": "Get an API release", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases/{{apiReleaseId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "releases", - "{{apiReleaseId}}" - ], - "variable": [ - { - "key": "apiId", - "value": "{{apiId}}" - }, - { - "key": "apiVersionId", - "value": "{{apiVersionId}}" - }, - { - "key": "releaseId", - "value": "{{releaseId}}" - } - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets information about an API version's release." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get all API releases", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "releases" - ], - "variable": [ - { - "key": "apiId", - "value": "{{apiId}}" - }, - { - "key": "apiVersionId", - "value": "{{apiVersionId}}" - } - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nGets information about all of an API version's releases." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"releases\": [\n {\n \"id\": \"07d940bf-40fc-4acd-a11e-be6769894af0\",\n \"name\": \"Release 2.0\",\n \"description\": \"This is the second release of the Test API.\",\n \"visibility\": \"private\"\n },\n {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\"\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Create an API release", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"name\": \"{{apiReleaseName}}\",\n \"summary\": \"{{apiReleaseSummary}}\",\n \"description\": \"{{apiReleaseDescription}}\",\n \"visibility\": \"{{apiReleaseVisibility}}\",\n \"gitTag\": \"{{apiReleaseGitTag}}\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "releases" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nCreates a new API version release. Include the following properties in the `release` object:\n\n- `name` — A **string** value that contains the release name.\n- `visibility` — A **string** value that contains the release's visibility. One of:\n - `private` — The release is private.\n - `public` — The release is public.\n\nYou can include the following optional properties:\n\n- `summary` — A **string** value that contains the release's summary.\n- `description` — A **string** value that contains the release's description.\n- `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"release\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"release\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"apiRepositoryNotFoundError\",\n \"message\": \"This API version is not linked to a repository\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\",\n \"name\": \"Release 1.0\",\n \"summary\": \"This is the first release.\",\n \"description\": \"This is the first release of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"release\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Update an API release", - "request": { - "method": "PATCH", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"name\": \"{{apiReleaseName}}\",\n \"summary\": \"{{apiReleaseSummary}}\",\n \"description\": \"{{apiReleaseDescription}}\",\n \"visibility\": \"{{apiReleaseVisibility}}\",\n \"gitTag\": \"{{apiReleaseGitTag}}\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases/{{apiReleaseId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "releases", - "{{apiReleaseId}}" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nUpdates an API version's release. Include at least one of the following properties in the `release` object:\n\n- `name` — A **string** value that contains the release name.\n- `visibility` — A **string** value that contains the release's visibility. One of:\n - `private` — The release is private.\n - `public` — The release is public.\n- `summary` — A **string** value that contains the release's summary.\n- `description` — A **string** value that contains the release's description.\n- `gitTag` — A **string** value that contains a valid [Git tag](https://docs.github.com/en/rest/git/tags) ID. The tag must exist in the API's connected Git repository." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PATCH", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"release\": {\n \"id\": \"8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2\",\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "PATCH", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"release\": {\n \"id\": \"8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2\",\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "PATCH", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"release\": {\n \"name\": \"Release 1.5\",\n \"summary\": \"This is the first public release update.\",\n \"description\": \"This is the first release update of the Test API. For more information, read the documentation.\",\n \"visibility\": \"public\",\n \"gitTag\": \"Test\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "8d7ba74e-2c36-4e36-a263-f3c0c9ae21d2" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Delete an API release", - "request": { - "auth": { - "type": "apikey", - "apikey": [ - { - "key": "value", - "value": "{{postman-API-key}}", - "type": "string" - }, - { - "key": "key", - "value": "X-API-KEY", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}/versions/{{apiVersionId}}/releases/{{apiReleaseId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}", - "versions", - "{{apiVersionId}}", - "releases", - "{{apiReleaseId}}" - ] - }, - "description": "**This endpoint is deprecated in Postman v10 and higher.**\n\nDeletes an API version's release." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"release\": {\n \"id\": \"3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the release you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/387c2863-6ee3-4a56-8210-225f774edade/versions/a9879d02-74bf-425a-bbec-6d27aa135507/releases/3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "387c2863-6ee3-4a56-8210-225f774edade", - "versions", - "a9879d02-74bf-425a-bbec-6d27aa135507", - "releases", - "3563baaa-07a2-46ed-9fd2-0e8a3c5f7ec2" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - } - ], - "description": "The API release endpoints let you manage your API's releases.\n\n### Important\n\n**API releases are deprecated as of Postman v10 and higher.**\n\nYou can no longer create releases for collections in Postman v10, but API producers can [publish versions of an API](https://learning.postman.com/docs/designing-and-developing-your-api/versioning-an-api/api-versions/)." - }, - { - "name": "Get all APIs", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. Return only APIs that are inside the given workspace.", - "disabled": true - }, - { - "key": "since", - "value": "{{since}}", - "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "until", - "value": "{{until}}", - "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. Return only APIs created by the given user ID.", - "disabled": true - }, - { - "key": "updatedBy", - "value": "{{updatedBy}}", - "description": "Optional. Return only APIs updated by the given user ID.", - "disabled": true - }, - { - "key": "isPublic", - "value": "{{isPublic}}", - "description": "Optional. If true, return only public APIs; if false, return only private APIs.", - "disabled": true - }, - { - "key": "name", - "value": "{{name}}", - "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "summary", - "value": "{{summary}}", - "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "sort", - "value": "{{sort}}", - "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", - "disabled": true - }, - { - "key": "direction", - "value": "{{direction}}", - "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", - "disabled": true - } - ] - }, - "description": "Gets information about all APIs." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. Return only APIs that are inside the given workspace.", - "disabled": true - }, - { - "key": "since", - "value": "{{since}}", - "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "until", - "value": "{{until}}", - "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. Return only APIs created by the given user ID.", - "disabled": true - }, - { - "key": "updatedBy", - "value": "{{updatedBy}}", - "description": "Optional. Return only APIs updated by the given user ID.", - "disabled": true - }, - { - "key": "isPublic", - "value": "{{isPublic}}", - "description": "Optional. If true, return only public APIs; if false, return only private APIs.", - "disabled": true - }, - { - "key": "name", - "value": "{{name}}", - "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "summary", - "value": "{{summary}}", - "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "sort", - "value": "{{sort}}", - "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", - "disabled": true - }, - { - "key": "direction", - "value": "{{direction}}", - "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 12 Jul 2022 16:39:09 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "120" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Server", - "value": "nginx" - }, - { - "key": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "key": "Access-Control-Allow-Origin", - "value": "*" - }, - { - "key": "x-srv-trace", - "value": "v=1;t=915b2bd230311a7e" - }, - { - "key": "x-srv-span", - "value": "v=1;s=108d09101d76e02a" - }, - { - "key": "X-RateLimit-Limit", - "value": "400" - }, - { - "key": "X-RateLimit-Remaining", - "value": "399" - }, - { - "key": "X-RateLimit-Reset", - "value": "1657644009" - }, - { - "key": "ETag", - "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - } - ], - "cookie": [], - "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-30T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-30T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public Test API B\",\n \"summary\": \"Public Test B\",\n \"description\": \"This is another public test API.\",\n \"createdBy\": \"87654321\",\n \"updatedBy\": \"87654321\",\n \"isPublic\": false\n }\n ]\n}" - }, - { - "name": "Get Public APIs", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis?isPublic=true", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. Return only APIs that are inside the given workspace.", - "disabled": true - }, - { - "key": "since", - "value": "{{since}}", - "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "until", - "value": "{{until}}", - "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. Return only APIs created by the given user ID.", - "disabled": true - }, - { - "key": "updatedBy", - "value": "{{updatedBy}}", - "description": "Optional. Return only APIs updated by the given user ID.", - "disabled": true - }, - { - "key": "isPublic", - "value": "true", - "description": "Optional. If true, return only public APIs; if false, return only private APIs." - }, - { - "key": "name", - "value": "{{name}}", - "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "summary", - "value": "{{summary}}", - "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "sort", - "value": "{{sort}}", - "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", - "disabled": true - }, - { - "key": "direction", - "value": "{{direction}}", - "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 12 Jul 2022 16:39:09 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "120" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Server", - "value": "nginx" - }, - { - "key": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "key": "Access-Control-Allow-Origin", - "value": "*" - }, - { - "key": "x-srv-trace", - "value": "v=1;t=915b2bd230311a7e" - }, - { - "key": "x-srv-span", - "value": "v=1;s=108d09101d76e02a" - }, - { - "key": "X-RateLimit-Limit", - "value": "400" - }, - { - "key": "X-RateLimit-Remaining", - "value": "399" - }, - { - "key": "X-RateLimit-Reset", - "value": "1657644009" - }, - { - "key": "ETag", - "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - } - ], - "cookie": [], - "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n }\n ]\n}" - }, - { - "name": "Get APIs in a Date Range", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis?since=2022-06-01T00:00:00.000Z&until=2022-06-15T00:00:00.000Z", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. Return only APIs that are inside the given workspace.", - "disabled": true - }, - { - "key": "since", - "value": "2022-06-01T00:00:00.000Z", - "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format." - }, - { - "key": "until", - "value": "2022-06-15T00:00:00.000Z", - "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format." - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. Return only APIs created by the given user ID.", - "disabled": true - }, - { - "key": "updatedBy", - "value": "{{updatedBy}}", - "description": "Optional. Return only APIs updated by the given user ID.", - "disabled": true - }, - { - "key": "isPublic", - "value": "{{isPublic}}", - "description": "Optional. If true, return only public APIs; if false, return only private APIs.", - "disabled": true - }, - { - "key": "name", - "value": "{{name}}", - "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "summary", - "value": "{{summary}}", - "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "sort", - "value": "{{sort}}", - "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", - "disabled": true - }, - { - "key": "direction", - "value": "{{direction}}", - "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 12 Jul 2022 16:39:09 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "120" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Server", - "value": "nginx" - }, - { - "key": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "key": "Access-Control-Allow-Origin", - "value": "*" - }, - { - "key": "x-srv-trace", - "value": "v=1;t=915b2bd230311a7e" - }, - { - "key": "x-srv-span", - "value": "v=1;s=108d09101d76e02a" - }, - { - "key": "X-RateLimit-Limit", - "value": "400" - }, - { - "key": "X-RateLimit-Remaining", - "value": "399" - }, - { - "key": "X-RateLimit-Reset", - "value": "1657644009" - }, - { - "key": "ETag", - "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - } - ], - "cookie": [], - "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n }\n ]\n}" - }, - { - "name": "Filter APIs by Name", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis?name=Public", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. Return only APIs that are inside the given workspace.", - "disabled": true - }, - { - "key": "since", - "value": "{{since}}", - "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "until", - "value": "{{until}}", - "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. Return only APIs created by the given user ID.", - "disabled": true - }, - { - "key": "updatedBy", - "value": "{{updatedBy}}", - "description": "Optional. Return only APIs updated by the given user ID.", - "disabled": true - }, - { - "key": "isPublic", - "value": "{{isPublic}}", - "description": "Optional. If true, return only public APIs; if false, return only private APIs.", - "disabled": true - }, - { - "key": "name", - "value": "Public", - "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive." - }, - { - "key": "summary", - "value": "{{summary}}", - "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "sort", - "value": "{{sort}}", - "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", - "disabled": true - }, - { - "key": "direction", - "value": "{{direction}}", - "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 12 Jul 2022 16:39:09 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "120" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Server", - "value": "nginx" - }, - { - "key": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "key": "Access-Control-Allow-Origin", - "value": "*" - }, - { - "key": "x-srv-trace", - "value": "v=1;t=915b2bd230311a7e" - }, - { - "key": "x-srv-span", - "value": "v=1;s=108d09101d76e02a" - }, - { - "key": "X-RateLimit-Limit", - "value": "400" - }, - { - "key": "X-RateLimit-Remaining", - "value": "399" - }, - { - "key": "X-RateLimit-Reset", - "value": "1657644009" - }, - { - "key": "ETag", - "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - } - ], - "cookie": [], - "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-30T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-30T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public Test API B\",\n \"summary\": \"Public Test B\",\n \"description\": \"This is another public test API.\",\n \"createdBy\": \"87654321\",\n \"updatedBy\": \"87654321\",\n \"isPublic\": false\n }\n ]\n}" - }, - { - "name": "Sort by updatedAt", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis?sort=updatedAt", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. Return only APIs that are inside the given workspace.", - "disabled": true - }, - { - "key": "since", - "value": "{{since}}", - "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "until", - "value": "{{until}}", - "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. Return only APIs created by the given user ID.", - "disabled": true - }, - { - "key": "updatedBy", - "value": "{{updatedBy}}", - "description": "Optional. Return only APIs updated by the given user ID.", - "disabled": true - }, - { - "key": "isPublic", - "value": "{{isPublic}}", - "description": "Optional. If true, return only public APIs; if false, return only private APIs.", - "disabled": true - }, - { - "key": "name", - "value": "{{name}}", - "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "summary", - "value": "{{summary}}", - "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "sort", - "value": "updatedAt", - "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter." - }, - { - "key": "direction", - "value": "{{direction}}", - "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 12 Jul 2022 16:39:09 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "120" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Server", - "value": "nginx" - }, - { - "key": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "key": "Access-Control-Allow-Origin", - "value": "*" - }, - { - "key": "x-srv-trace", - "value": "v=1;t=915b2bd230311a7e" - }, - { - "key": "x-srv-span", - "value": "v=1;s=108d09101d76e02a" - }, - { - "key": "X-RateLimit-Limit", - "value": "400" - }, - { - "key": "X-RateLimit-Remaining", - "value": "399" - }, - { - "key": "X-RateLimit-Reset", - "value": "1657644009" - }, - { - "key": "ETag", - "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - } - ], - "cookie": [], - "body": "{\n \"apis\": [\n {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-22T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-22T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public API A\",\n \"summary\": \"Public Test A.\",\n \"description\": \"This is a public test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"isPublic\": true\n },\n {\n \"createdAt\": \"2022-06-30T16:51:28.000Z\",\n \"updatedAt\": \"2022-06-30T16:51:28.000Z\",\n \"id\": \"69ce25ea-2914-426e-ae34-af558b6777e6\",\n \"name\": \"Public Test API B\",\n \"summary\": \"Public Test B\",\n \"description\": \"This is another public test API.\",\n \"createdBy\": \"87654321\",\n \"updatedBy\": \"87654321\",\n \"isPublic\": false\n }\n ]\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. Return only APIs that are inside the given workspace.", - "disabled": true - }, - { - "key": "since", - "value": "{{since}}", - "description": "Optional. Return only APIs updated at and after this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "until", - "value": "{{until}}", - "description": "Optional. Return only APIs updated at and before this time, in ISO 8601 UTC format.", - "disabled": true - }, - { - "key": "createdBy", - "value": "{{createdBy}}", - "description": "Optional. Return only APIs created by the given user ID.", - "disabled": true - }, - { - "key": "updatedBy", - "value": "{{updatedBy}}", - "description": "Optional. Return only APIs updated by the given user ID.", - "disabled": true - }, - { - "key": "isPublic", - "value": "{{isPublic}}", - "description": "Optional. If true, return only public APIs; if false, return only private APIs.", - "disabled": true - }, - { - "key": "name", - "value": "{{name}}", - "description": "Optional. Return only APIs whose name includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "summary", - "value": "{{summary}}", - "description": "Optional. Return only APIs whose summary includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "description", - "value": "{{description}}", - "description": "Optional. Return only APIs whose description includes the given value. Matching is not case-sensitive.", - "disabled": true - }, - { - "key": "sort", - "value": "{{sort}}", - "description": "Optional. Sort the results by the given value.\n\nIf you use this query parameter, you must also use the `direction` parameter.", - "disabled": true - }, - { - "key": "direction", - "value": "{{direction}}", - "description": "Optional. Sort in ascending (`asc`) or descending (`desc`) order. Matching is not case-sensitive.\n\nIf you use this query parameter, you must also use the \"sort\" parameter.", - "disabled": true - } - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Date", - "value": "Tue, 12 Jul 2022 16:39:09 GMT" - }, - { - "key": "Content-Type", - "value": "application/json; charset=utf-8" - }, - { - "key": "Content-Length", - "value": "120" - }, - { - "key": "Connection", - "value": "keep-alive" - }, - { - "key": "Server", - "value": "nginx" - }, - { - "key": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "key": "Access-Control-Allow-Origin", - "value": "*" - }, - { - "key": "x-srv-trace", - "value": "v=1;t=915b2bd230311a7e" - }, - { - "key": "x-srv-span", - "value": "v=1;s=108d09101d76e02a" - }, - { - "key": "X-RateLimit-Limit", - "value": "400" - }, - { - "key": "X-RateLimit-Remaining", - "value": "399" - }, - { - "key": "X-RateLimit-Reset", - "value": "1657644009" - }, - { - "key": "ETag", - "value": "W/\"78-WpLmxRlFkKKPPDh/y4B5Gn3NuSs\"" - }, - { - "key": "Vary", - "value": "Accept-Encoding" - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Create an API", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n \"description\": \"{{apiDescription}}\"\n }\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "{{workspaceId}}", - "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", - "disabled": true - } - ] - }, - "description": "Creates an API. Include the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n \n\nYou can include the following optional properties:\n\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n }\n}" - }, - { - "name": "Create API in a Workspace", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis?workspace=1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace." - } - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"paramMissingError\",\n \"message\": \"Parameter is missing in the request.\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"summary\": \"Test API Schema\",\n \"description\": \"This is a test API.\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis" - ], - "query": [ - { - "key": "workspace", - "value": "1f0df51a-8658-4ee8-a2a1-d2567dfa09a9", - "description": "Optional. The workspace ID in which to create the API.\n\nIf you do not use this parameter, the system creates the API in the \"My Workspace\" workspace.", - "disabled": true - } - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Get an API", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Gets information about an API." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type", - "description": { - "content": "", - "type": "text/plain" - }, - "type": "text" - } - ], - "cookie": [], - "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-09T14:48:45.000Z\",\n \"updatedAt\": \"2022-06-09T19:50:49.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API\",\n \"summary\": \"Test API.\",\n \"description\": \"This is a test API.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\",\n \"team\": \"1234\",\n \"isPublic\": true,\n \"versions\": [\n {\n \"id\": \"a9879d02-74bf-425a-bbec-6d27aa135507\",\n \"name\": \"Draft\",\n \"summary\": null,\n \"schemas\": [\n {\n \"id\": \"16bb367e-fafb-4ef3-933b-ee3d971866fb\",\n \"type\": \"openapi3\",\n \"language\": \"json\",\n \"content\": \"{\\n \\\"openapi\\\": \\\"3.0.0\\\",\\n \\\"info\\\": {\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"title\\\": \\\"Test API\\\"\\n },\\n \\\"servers\\\": [\\n {\\n \\\"url\\\": \\\"http://locahost:3000\\\"\\n }\\n ],\\n \\\"paths\\\": {\\n \\\"/user\\\": {\\n \\\"get\\\": {\\n \\\"summary\\\": \\\"List all users\\\",\\n \\\"operationId\\\": \\\"listUser\\\",\\n \\\"parameters\\\": [\\n {\\n \\\"name\\\": \\\"id\\\",\\n \\\"in\\\": \\\"query\\\",\\n \\\"required\\\": true,\\n \\\"description\\\": \\\"The user's ID.\\\",\\n \\\"example\\\": 1234,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n }\\n }\\n ],\\n \\\"responses\\\": {\\n \\\"200\\\": {\\n \\\"description\\\": \\\"Information about the user.\\\",\\n \\\"headers\\\": {\\n \\\"x-next\\\": {\\n \\\"description\\\": \\\"A link to the next page of responses.\\\",\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"content\\\": {\\n \\\"application/json\\\": {\\n \\\"schema\\\": {\\n \\\"$ref\\\": \\\"#/components/schemas/User\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n },\\n \\\"components\\\": {\\n \\\"schemas\\\": {\\n \\\"User\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int64\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"tag\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n },\\n \\\"Error\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": [\\n \\\"code\\\",\\n \\\"message\\\"\\n ],\\n \\\"properties\\\": {\\n \\\"code\\\": {\\n \\\"type\\\": \\\"integer\\\",\\n \\\"format\\\": \\\"int32\\\"\\n },\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n }\\n }\\n}\"\n }\n ],\n \"relations\": [\n {\n \"id\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\",\n \"model\": \"apiDefinition\",\n \"type\": \"apiDefinition\",\n \"modelId\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\"\n },\n {\n \"id\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\",\n \"model\": \"schema\",\n \"type\": \"schema\",\n \"modelId\": \"66b88a55-9e52-41b0-8577-7b6798ff5bee\"\n }\n ]\n }\n ]\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "GET", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Update an API", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "name": "Content-Type" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"api\": {\n\t\t\"name\": \"{{apiName}}\",\n \"summary\": \"{{apiSummary}}\",\n\t\t\"description\": \"{{apiDescription}}\"\n\t}\n}" - }, - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Updates an API. Include at least one of the following properties in the `api` object:\n\n* `name` — A **string** value that contains the API's name.\n* `summary` — A **string** value that contains a summary of the API.\n* `description` — A **string** value that contains the description of the API." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"api\": {\n \"createdAt\": \"2022-06-29T20:46:58.000Z\",\n \"updatedAt\": \"2022-06-29T20:46:58.000Z\",\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\",\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\",\n \"createdBy\": \"12345678\",\n \"updatedBy\": \"12345678\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"api\": {\n \"name\": \"Test API A\",\n \"summary\": \"Test API A Schema\",\n \"description\": \"This is Test API A.\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - }, - { - "name": "Delete an API", - "request": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/{{apiId}}", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "{{apiId}}" - ] - }, - "description": "Deletes an API." - }, - "response": [ - { - "name": "Successful Response", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"api\": {\n \"id\": \"5360b75f-447e-467c-9299-12fd6c92450d\"\n }\n}" - }, - { - "name": "Bad Request", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": {\n \"name\": \"instanceNotFoundError\",\n \"message\": \"We could not find the API you are looking for\"\n }\n}" - }, - { - "name": "Rate Limit Exceeded", - "originalRequest": { - "method": "DELETE", - "header": [], - "url": { - "raw": "https://api.getpostman.com/apis/5360b75f-447e-467c-9299-12fd6c92450d", - "protocol": "https", - "host": [ - "api", - "getpostman", - "com" - ], - "path": [ - "apis", - "5360b75f-447e-467c-9299-12fd6c92450d" - ] - } - }, - "status": "Too Many Requests", - "code": 429, - "_postman_previewlanguage": "json", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "description": { - "content": "", - "type": "text/plain" - } - } - ], - "cookie": [], - "body": "{\n \"error\": \"rateLimited\",\n \"message\": \"Rate limit exceeded. Please retry after 1669048687\"\n}" - } - ] - } - ], - "description": "The `/apis` endpoints let you manage your APIs." - } - ], - "description": "The API endpoints let you manage your APIs.\n\n### **Important:**\n\nThe endpoints in this folder are separated by Postman version:\n\n- **v10** — For APIs created or migrated in Postman v10 and higher only. When using these endpoints, you must pass an `Accept` header with the `application/vnd.api.v10+json` value.\n- **v9** — For APIs created in Postman v9 and earlier only." - } - ], - "variable": [ - { - "key": "postman-api-key", - "value": "", - "type": "string" - }, - { - "key": "workspaceId", - "value": "" - }, - { - "key": "collectionId", - "value": "" - }, - { - "key": "environmentId", - "value": "", - "type": "string" - }, - { - "key": "accessKey", - "value": "" - } - ] -} - From 6a150e26704549064fa635ea3f54e7c7f337a9ea Mon Sep 17 00:00:00 2001 From: Liang-Shih Lin Date: Sat, 14 Sep 2024 12:04:52 +0800 Subject: [PATCH 3/8] Add request types --- src/posting/importing/postman.py | 134 ++++++++++++++++++++----------- tests/test_postman_import.py | 43 ++++------ 2 files changed, 106 insertions(+), 71 deletions(-) diff --git a/src/posting/importing/postman.py b/src/posting/importing/postman.py index 24589f51..d999344c 100644 --- a/src/posting/importing/postman.py +++ b/src/posting/importing/postman.py @@ -1,7 +1,8 @@ from pathlib import Path -from typing import List +from typing import Any, List, Optional import json import os +from pydantic import BaseModel import yaml from rich.console import Console @@ -9,15 +10,51 @@ from posting.collection import APIInfo, Collection -def create_env_file( - path: Path, env_filename: str, variables: list[dict[str, str]] -) -> Path: - env_content: list[str] = [] +class Variable(BaseModel): + key: str + value: str + type: Optional[str] = None + disabled: Optional[bool] = None + + +class Body(BaseModel): + mode: str + options: dict + raw: Optional[str] = None + + +class Url(BaseModel): + raw: str + host: Optional[List[str]] = None + path: Optional[List[str]] = None + query: Optional[List[Variable]] = None + + +class PostmanRequest(BaseModel): + method: str + url: str | Url + header: Optional[List[Variable]] = None + description: Optional[str] = None + body: Optional[Body] = None + + +class RequestItem(BaseModel): + name: str + item: Optional[List["RequestItem"]] = None + request: Optional[PostmanRequest] = None + + +class PostmanCollection(BaseModel): + info: dict[str, str] + item: List[RequestItem] + variable: List[Variable] + + +def create_env_file(path: Path, env_filename: str, variables: List[Variable]) -> Path: + env_content: List[str] = [] for var in variables: - key = var["key"] - value = var["value"] - env_content.append(f"{key!r}={value!r}") + env_content.append(f"{var.key!r}={var.value!r}") env_file = path / env_filename env_file.write_text("\n".join(env_content)) @@ -25,52 +62,57 @@ def create_env_file( def generate_directory_structure( - items: List[dict], current_path: str = "", base_path: Path = Path("") + items: List[RequestItem], current_path: str = "", base_path: Path = Path("") ) -> List[str]: directories = [] for item in items: - if "item" in item: - folder_name = item["name"] + if item.item is not None: + folder_name = item.name new_path = f"{current_path}/{folder_name}" if current_path else folder_name full_path = Path(base_path) / new_path os.makedirs(str(full_path), exist_ok=True) directories.append(str(full_path)) - generate_directory_structure(item["item"], new_path, base_path) - elif "request" in item: - request_name = item["name"] + generate_directory_structure(item.item, new_path, base_path) + if item.request is not None: + request_name = item.name file_name = f"{request_name}.posting.yaml" full_path = Path(base_path) / current_path / file_name create_request_file(full_path, item) return directories -def create_request_file(file_path: Path, request_data: dict): - yaml_content = { - "name": request_data["name"], - "description": request_data.get("description", ""), - "method": request_data["request"]["method"], - "url": request_data["request"]["url"]["raw"], +def create_request_file(file_path: Path, request_data: RequestItem): + yaml_content: dict[str, Any] = { + "name": request_data.name, } - # Add body if present - if "body" in request_data["request"]: - yaml_content["body"] = { - "content": request_data["request"]["body"].get("raw", "") - } - - # Add headers - if "header" in request_data["request"]: - yaml_content["headers"] = [ - {"name": header["key"], "value": header["value"]} - for header in request_data["request"]["header"] - ] - - # Add query params - if "query" in request_data["request"]["url"]: - yaml_content["params"] = [ - {"name": param["key"], "value": param["value"]} - for param in request_data["request"]["url"]["query"] - ] + if request_data.request is not None: + yaml_content["method"] = request_data.request.method + + if request_data.request.header is not None: + yaml_content["headers"] = [ + {"name": header.key, "value": header.value} + for header in request_data.request.header + ] + + if isinstance(request_data.request.url, Url): + yaml_content["url"] = request_data.request.url.raw + if request_data.request.url.query is not None: + yaml_content["params"] = [ + {"name": param.key, "value": param.value} + for param in request_data.request.url.query + ] + else: + yaml_content["url"] = request_data.request.url + + if request_data.request.description is not None: + yaml_content["description"] = request_data.request.description + + if ( + request_data.request.body is not None + and request_data.request.body.raw is not None + ): + yaml_content["body"] = {"content": request_data.request.body.raw} # Write YAML file with open(file_path, "w") as f: @@ -85,12 +127,14 @@ def import_postman_spec( spec_path = Path(spec_path) with open(spec_path, "r") as file: - spec = json.load(file) + spec_dict = json.load(file) + + spec = PostmanCollection(**spec_dict) info = APIInfo( - title=spec["info"]["name"], - description=spec["info"].get("description", "No description"), - specSchema=spec["info"]["schema"], + title=spec.info["name"], + description=spec.info.get("description", "No description"), + specSchema=spec.info["schema"], version="2.0.0", ) @@ -102,13 +146,13 @@ def import_postman_spec( else output_path.parent ) - env_file = create_env_file(base_dir, f"{info.title}.env", spec["variable"]) + env_file = create_env_file(base_dir, f"{info.title}.env", spec.variable) console.print(f"Created environment file {str(env_file)!r}.") main_collection = Collection(path=spec_path.parent, name="Postman Test") # Create the directory structure like Postman's request folders - directories = generate_directory_structure(spec["item"], base_path=base_dir) + directories = generate_directory_structure(spec.item, base_path=base_dir) console.print("Finished importing postman collection.") return main_collection, env_file, directories diff --git a/tests/test_postman_import.py b/tests/test_postman_import.py index 8fa7dfcd..f1fa659a 100644 --- a/tests/test_postman_import.py +++ b/tests/test_postman_import.py @@ -4,6 +4,10 @@ import tempfile import shutil from posting.importing.postman import ( + Variable, + RequestItem, + PostmanRequest, + Url, import_postman_spec, create_env_file, generate_directory_structure, @@ -62,7 +66,7 @@ def test_import_postman_spec(sample_postman_spec, temp_dir): def test_create_env_file(temp_dir): - variables = [{"key": "base_url", "value": "https://api.example.com"}] + variables = [Variable(key="base_url", value="https://api.example.com")] env_file = create_env_file(temp_dir, "test.env", variables) assert env_file.exists() @@ -70,20 +74,10 @@ def test_create_env_file(temp_dir): def test_generate_directory_structure(temp_dir): - items = [ - { - "name": "Users", - "item": [ - { - "name": "Get User", - "request": { - "method": "GET", - "url": {"raw": "{{base_url}}/users/1"}, - }, - } - ], - } - ] + request_obj = PostmanRequest(method="GET", url=Url(raw="{{base_url}}/users/1")) + request_item = RequestItem(name="Get User", request=request_obj) + item = RequestItem(name="Users", item=[request_item]) + items = [item] directories = generate_directory_structure(items, base_path=temp_dir) @@ -93,17 +87,14 @@ def test_generate_directory_structure(temp_dir): def test_create_request_file(temp_dir): - request_data = { - "name": "Get User", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/users/1", - "query": [{"key": "include", "value": "posts"}], - }, - "header": [{"key": "Accept", "value": "application/json"}], - }, - } + request_obj = PostmanRequest( + method="GET", + url=Url( + raw="{{base_url}}/users/1", query=[Variable(key="include", value="posts")] + ), + header=[Variable(key="Accept", value="application/json")], + ) + request_data = RequestItem(name="Get User", request=request_obj) file_path = temp_dir / "test_request.posting.yaml" create_request_file(file_path, request_data) From f38f82400b9683453512e61e5076bc54a388c887 Mon Sep 17 00:00:00 2001 From: Liang-Shih Lin Date: Sat, 14 Sep 2024 15:49:22 +0800 Subject: [PATCH 4/8] Fix types --- src/posting/importing/postman.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/posting/importing/postman.py b/src/posting/importing/postman.py index d999344c..4e79f388 100644 --- a/src/posting/importing/postman.py +++ b/src/posting/importing/postman.py @@ -12,15 +12,19 @@ class Variable(BaseModel): key: str - value: str + value: Optional[str] = None + src: Optional[str] = None + fileNotInWorkingDirectoryWarning: Optional[str] = None + filesNotInWorkingDirectory: Optional[List[str]] = None type: Optional[str] = None disabled: Optional[bool] = None class Body(BaseModel): mode: str - options: dict + options: Optional[dict] = None raw: Optional[str] = None + formdata: Optional[List[Variable]] = None class Url(BaseModel): @@ -32,7 +36,7 @@ class Url(BaseModel): class PostmanRequest(BaseModel): method: str - url: str | Url + url: Optional[str | Url] = None header: Optional[List[Variable]] = None description: Optional[str] = None body: Optional[Body] = None From 913e14a50a7331fa0b3172e5a01d85cd5c9dfc3c Mon Sep 17 00:00:00 2001 From: Liang-Shih Lin Date: Sat, 14 Sep 2024 16:34:25 +0800 Subject: [PATCH 5/8] Add variable transformer --- src/posting/importing/postman.py | 52 +++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/src/posting/importing/postman.py b/src/posting/importing/postman.py index 4e79f388..3c3e7736 100644 --- a/src/posting/importing/postman.py +++ b/src/posting/importing/postman.py @@ -2,9 +2,11 @@ from typing import Any, List, Optional import json import os -from pydantic import BaseModel +import re import yaml +from pydantic import BaseModel + from rich.console import Console from posting.collection import APIInfo, Collection @@ -58,7 +60,7 @@ def create_env_file(path: Path, env_filename: str, variables: List[Variable]) -> env_content: List[str] = [] for var in variables: - env_content.append(f"{var.key!r}={var.value!r}") + env_content.append(f"{transform_variables(var.key)}={var.value}") env_file = path / env_filename env_file.write_text("\n".join(env_content)) @@ -85,6 +87,21 @@ def generate_directory_structure( return directories +# Converts variable names like userId to $USER_ID, or user-id to $USER_ID +def transform_variables(string): + underscore_case = re.sub(r"(? Date: Sat, 14 Sep 2024 19:21:31 +0800 Subject: [PATCH 6/8] fix: Edge cases --- src/posting/importing/postman.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/posting/importing/postman.py b/src/posting/importing/postman.py index 3c3e7736..ebb7b256 100644 --- a/src/posting/importing/postman.py +++ b/src/posting/importing/postman.py @@ -15,7 +15,7 @@ class Variable(BaseModel): key: str value: Optional[str] = None - src: Optional[str] = None + src: Optional[str | List[str]] = None fileNotInWorkingDirectoryWarning: Optional[str] = None filesNotInWorkingDirectory: Optional[List[str]] = None type: Optional[str] = None @@ -80,7 +80,7 @@ def generate_directory_structure( directories.append(str(full_path)) generate_directory_structure(item.item, new_path, base_path) if item.request is not None: - request_name = item.name + request_name = re.sub(r"[^A-Za-z0-9\.]+", "", item.name) file_name = f"{request_name}.posting.yaml" full_path = Path(base_path) / current_path / file_name create_request_file(full_path, item) From e0cb6a5ff025018702415f110901f0b325a595da Mon Sep 17 00:00:00 2001 From: Liang-Shih Lin Date: Tue, 1 Oct 2024 16:45:52 +0800 Subject: [PATCH 7/8] fix: Use save_to_disk fix: Update test fix: Remove full file path --- posting-1.13.0-py3-none-any.whl | Bin 0 -> 97700 bytes src/posting/__main__.py | 6 +- src/posting/importing/postman.py | 181 ++++++++++++++++++------------- tests/test_postman_import.py | 136 ++++++++--------------- 4 files changed, 151 insertions(+), 172 deletions(-) create mode 100644 posting-1.13.0-py3-none-any.whl diff --git a/posting-1.13.0-py3-none-any.whl b/posting-1.13.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..8b56eb1aa86b70db1c4db9d9082e60e28d76840b GIT binary patch literal 97700 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%0An6!UgmCiLGQ1t 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 None: collection = import_openapi_spec(spec_path) elif type.lower() == "postman": spec_type = "Postman" - console.print( - "Importing Postman collection haven't been implemented yet", style="red" - ) - import_postman_spec(spec_path, output) - return + collection = import_postman_spec(spec_path, output) else: console.print(f"Unknown spec type: {type!r}", style="red") return diff --git a/src/posting/importing/postman.py b/src/posting/importing/postman.py index ebb7b256..220fcd01 100644 --- a/src/posting/importing/postman.py +++ b/src/posting/importing/postman.py @@ -1,15 +1,22 @@ from pathlib import Path -from typing import Any, List, Optional +from typing import List, Optional import json -import os import re -import yaml from pydantic import BaseModel from rich.console import Console -from posting.collection import APIInfo, Collection +from posting.collection import ( + APIInfo, + Collection, + FormItem, + Header, + QueryParam, + RequestBody, + RequestModel, + HttpRequestMethod, +) class Variable(BaseModel): @@ -22,9 +29,17 @@ class Variable(BaseModel): disabled: Optional[bool] = None +class RawRequestOptions(BaseModel): + language: str + + +class RequestOptions(BaseModel): + raw: RawRequestOptions + + class Body(BaseModel): mode: str - options: Optional[dict] = None + options: Optional[RequestOptions] = None raw: Optional[str] = None formdata: Optional[List[Variable]] = None @@ -37,7 +52,7 @@ class Url(BaseModel): class PostmanRequest(BaseModel): - method: str + method: HttpRequestMethod url: Optional[str | Url] = None header: Optional[List[Variable]] = None description: Optional[str] = None @@ -52,100 +67,111 @@ class RequestItem(BaseModel): class PostmanCollection(BaseModel): info: dict[str, str] - item: List[RequestItem] variable: List[Variable] - -def create_env_file(path: Path, env_filename: str, variables: List[Variable]) -> Path: - env_content: List[str] = [] - - for var in variables: - env_content.append(f"{transform_variables(var.key)}={var.value}") - - env_file = path / env_filename - env_file.write_text("\n".join(env_content)) - return env_file - - -def generate_directory_structure( - items: List[RequestItem], current_path: str = "", base_path: Path = Path("") -) -> List[str]: - directories = [] - for item in items: - if item.item is not None: - folder_name = item.name - new_path = f"{current_path}/{folder_name}" if current_path else folder_name - full_path = Path(base_path) / new_path - os.makedirs(str(full_path), exist_ok=True) - directories.append(str(full_path)) - generate_directory_structure(item.item, new_path, base_path) - if item.request is not None: - request_name = re.sub(r"[^A-Za-z0-9\.]+", "", item.name) - file_name = f"{request_name}.posting.yaml" - full_path = Path(base_path) / current_path / file_name - create_request_file(full_path, item) - return directories + item: List[RequestItem] # Converts variable names like userId to $USER_ID, or user-id to $USER_ID -def transform_variables(string): +def sanitize_variables(string): underscore_case = re.sub(r"(? Path: + env_content: List[str] = [] - if request_data.request is not None: - yaml_content["method"] = request_data.request.method + for var in variables: + env_content.append(f"{sanitize_variables(var.key)}={var.value}") - if request_data.request.header is not None: - yaml_content["headers"] = [ - {"name": header.key, "value": header.value} - for header in request_data.request.header - ] + env_file = path / env_filename + env_file.write_text("\n".join(env_content)) + return env_file - if request_data.request.url is not None: - if isinstance(request_data.request.url, Url): - yaml_content["url"] = transform_url(request_data.request.url.raw) - if request_data.request.url.query is not None: - yaml_content["params"] = [ - {"name": param.key, "value": transform_url(param.value)} - for param in request_data.request.url.query - ] - else: - yaml_content["url"] = transform_url((request_data.request.url)) - if request_data.request.description is not None: - yaml_content["description"] = request_data.request.description +def import_requests( + items: List[RequestItem], base_path: Path = Path("") +) -> List[RequestModel]: + requests: List[RequestModel] = [] + for item in items: + if item.item is not None: + requests = requests + import_requests(item.item, base_path) + if item.request is not None: + file_name = re.sub(r"[^A-Za-z0-9\.]+", "", item.name) + requests.append(format_request(file_name, item.request)) + + return requests + + +def format_request(name: str, request: PostmanRequest) -> RequestModel: + postingRequest = RequestModel( + name=name, + method=request.method, + description=request.description if request.description is not None else "", + url=sanitize_str( + request.url.raw if isinstance(request.url, Url) else request.url + ) + if request.url is not None + else "", + ) + if request.header is not None: + for header in request.header: + postingRequest.headers.append( + Header( + name=header.key, + value=header.value if header.value is not None else "", + enabled=True, + ) + ) + + if ( + request.url is not None + and isinstance(request.url, Url) + and request.url.query is not None + ): + for param in request.url.query: + postingRequest.params.append( + QueryParam( + name=param.key, + value=param.value if param.value is not None else "", + enabled=param.disabled if param.disabled is not None else False, + ) + ) + + if request.body is not None and request.body.raw is not None: if ( - request_data.request.body is not None - and request_data.request.body.raw is not None + request.body.mode == "raw" + and request.body.options is not None + and request.body.options.raw.language == "json" ): - yaml_content["body"] = { - "content": transform_url(request_data.request.body.raw) - } + postingRequest.body = RequestBody(content=sanitize_str(request.body.raw)) + elif request.body.mode == "formdata" and request.body.formdata is not None: + form_data: list[FormItem] = [ + FormItem( + name=data.key, + value=data.value if data.value is not None else "", + enabled=data.disabled is False, + ) + for data in request.body.formdata + ] + postingRequest.body = RequestBody(form_data=form_data) - # Write YAML file - with open(file_path, "w") as f: - yaml.dump(yaml_content, f, default_flow_style=False) + return postingRequest def import_postman_spec( spec_path: str | Path, output_path: str | Path | None -) -> tuple[Collection, Path, List[str]]: +) -> Collection: console = Console() console.print(f"Importing Postman spec from {spec_path!r}.") @@ -166,15 +192,14 @@ def import_postman_spec( if output_path is not None: base_dir = Path(output_path) if isinstance(output_path, str) else output_path - console.print(f"Output path: {output_path!r}") + console.print(f"Output path: {str(base_dir)!r}") env_file = create_env_file(base_dir, f"{info.title}.env", spec.variable) console.print(f"Created environment file {str(env_file)!r}.") - main_collection = Collection(path=spec_path.parent, name="Postman Test") + main_collection = Collection(path=spec_path.parent, name=info.title) + main_collection.readme = main_collection.generate_readme(info) - # Create the directory structure like Postman's request folders - directories = generate_directory_structure(spec.item, base_path=base_dir) - console.print("Finished importing postman collection.") + main_collection.requests = import_requests(spec.item, base_dir) - return main_collection, env_file, directories + return main_collection diff --git a/tests/test_postman_import.py b/tests/test_postman_import.py index f1fa659a..38cd23fe 100644 --- a/tests/test_postman_import.py +++ b/tests/test_postman_import.py @@ -1,18 +1,10 @@ -import pytest -from pathlib import Path import json -import tempfile -import shutil -from posting.importing.postman import ( - Variable, - RequestItem, - PostmanRequest, - Url, - import_postman_spec, - create_env_file, - generate_directory_structure, - create_request_file, -) +from pathlib import Path +from unittest.mock import patch, mock_open + +import pytest +from posting.importing.postman import import_postman_spec, PostmanCollection +from posting.collection import Collection @pytest.fixture @@ -23,86 +15,52 @@ def sample_postman_spec(): "description": "A test API", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", }, - "variable": [{"key": "base_url", "value": "https://api.example.com"}], + "variable": [{"key": "baseUrl", "value": "https://api.example.com"}], "item": [ { - "name": "Users", - "item": [ - { - "name": "Get User", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/users/1", - "query": [{"key": "include", "value": "posts"}], - }, - "header": [{"key": "Accept", "value": "application/json"}], - }, - } - ], + "name": "Get Users", + "request": { + "method": "GET", + "url": { + "raw": "{{baseUrl}}/users", + "host": ["{{baseUrl}}"], + "path": ["users"], + }, + }, } ], } @pytest.fixture -def temp_dir(): - temp_dir = tempfile.mkdtemp() - yield Path(temp_dir) - shutil.rmtree(temp_dir) - - -def test_import_postman_spec(sample_postman_spec, temp_dir): - spec_file = temp_dir / "test_spec.json" - with open(spec_file, "w") as f: - json.dump(sample_postman_spec, f) - - collection, env_file, directories = import_postman_spec(spec_file, temp_dir) - - assert collection.name == "Postman Test" - assert env_file.name == "Test API.env" - assert len(directories) == 1 - assert directories[0].endswith("Users") - - -def test_create_env_file(temp_dir): - variables = [Variable(key="base_url", value="https://api.example.com")] - env_file = create_env_file(temp_dir, "test.env", variables) - - assert env_file.exists() - assert env_file.read_text() == "'base_url'='https://api.example.com'" - - -def test_generate_directory_structure(temp_dir): - request_obj = PostmanRequest(method="GET", url=Url(raw="{{base_url}}/users/1")) - request_item = RequestItem(name="Get User", request=request_obj) - item = RequestItem(name="Users", item=[request_item]) - items = [item] - - directories = generate_directory_structure(items, base_path=temp_dir) - - assert len(directories) == 1 - assert directories[0].endswith("Users") - assert (temp_dir / "Users" / "Get User.posting.yaml").exists() - - -def test_create_request_file(temp_dir): - request_obj = PostmanRequest( - method="GET", - url=Url( - raw="{{base_url}}/users/1", query=[Variable(key="include", value="posts")] - ), - header=[Variable(key="Accept", value="application/json")], - ) - request_data = RequestItem(name="Get User", request=request_obj) - - file_path = temp_dir / "test_request.posting.yaml" - create_request_file(file_path, request_data) - - assert file_path.exists() - content = file_path.read_text() - assert "name: Get User" in content - assert "method: GET" in content - assert "url: '{{base_url}}/users/1'" in content - assert "headers:" in content - assert "params:" in content +def mock_spec_file(sample_postman_spec): + return mock_open(read_data=json.dumps(sample_postman_spec)) + + +def test_import_postman_spec(sample_postman_spec, mock_spec_file): + spec_path = Path("/path/to/spec.json") + output_path = Path("/path/to/output") + + with patch("builtins.open", mock_spec_file), patch( + "posting.importing.postman.create_env_file" + ) as mock_create_env, patch( + "posting.collection.Collection.generate_readme" + ) as mock_generate_readme: + mock_create_env.return_value = output_path / "Test API.env" + mock_generate_readme.return_value = "# Test API" + + result = import_postman_spec(spec_path, output_path) + + assert isinstance(result, Collection) + assert result.name == "Test API" + assert len(result.requests) == 1 + assert result.requests[0].name == "GetUsers" + assert result.requests[0].method == "GET" + assert result.requests[0].url == "$BASE_URL/users" + + mock_create_env.assert_called_once_with( + output_path, + "Test API.env", + PostmanCollection(**sample_postman_spec).variable, + ) + mock_generate_readme.assert_called_once() From c0948bf4f8ad1ab8e1e4def7f28c8b05fc893367 Mon Sep 17 00:00:00 2001 From: Darren Burns Date: Fri, 11 Oct 2024 11:29:33 +0100 Subject: [PATCH 8/8] Mark fields as optional in Postman import --- src/posting/importing/postman.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/posting/importing/postman.py b/src/posting/importing/postman.py index 220fcd01..5f8851fc 100644 --- a/src/posting/importing/postman.py +++ b/src/posting/importing/postman.py @@ -3,7 +3,7 @@ import json import re -from pydantic import BaseModel +from pydantic import BaseModel, Field from rich.console import Console @@ -66,8 +66,8 @@ class RequestItem(BaseModel): class PostmanCollection(BaseModel): - info: dict[str, str] - variable: List[Variable] + info: dict[str, str] = Field(default_factory=dict) + variable: List[Variable] = Field(default_factory=list) item: List[RequestItem]