{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "http://schema.getpostman.com/collection",
    "type": "object",
    "properties": {
        "id": {
            "type": "string",
            "description": "This is the unique identifier of a collection."
        },
        "name": {
            "type": "string",
            "description": "This is the name of a collection."
        },
        "description": {
            "oneOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "This is a block of text that describes the collection."
        },
        "order": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "_uniqueItems": true
        },
        "folders": {
            "type": "array",
            "items": {
                "title": "Schema for a Postman collection folder",
                "description": "A folder is an ordered set of requests. It allows for much better organization of one's requests.",
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "This is the unique identifier of a folder."
                    },
                    "owner": {
                        "type": "string",
                        "description": "This is the ID of the owner of this folder."
                    },
                    "lastUpdatedBy": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "This is the ID of the user who last updated this folder."
                    },
                    "lastRevision": {
                        "type": "number",
                        "multipleOf": 1,
                        "description": "This field indicates the last revision of this folder."
                    },
                    "collection": {
                        "type": "string",
                        "description": "This is the ID of the collection that contains this folder."
                    },
                    "name": {
                        "type": "string",
                        "description": "This is the name of the folder."
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "The time at which this folder was created."
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "The time at which this folder was updated."
                    },
                    "description": {
                        "type": "string",
                        "description": "This is a longer description of the folder."
                    },
                    "order": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "_uniqueItems": true
                    },
                    "write": {
                        "type": "boolean",
                        "description": "This field indicates whether the folder is writable."
                    },
                    "collection_name": {
                        "type": "string",
                        "description": "This is the name of the collection that contains this folder."
                    },
                    "collection_owner": {
                        "type": "string",
                        "description": "This is ID of the user who owns this folder."
                    },
                    "collection_id": {
                        "type": "string",
                        "description": "This is the ID of the collection that contains this folder."
                    }
                },
                "required": [
                    "id",
                    "owner",
                    "collection",
                    "name",
                    "description",
                    "order"
                ]
            }
        },
        "timestamp": {
            "type": "number",
            "multipleOf": 1
        },
        "synced": {
            "type": "boolean",
            "description": "This field indicates whether the collection is synced"
        },
        "owner": {
            "type": "string",
            "description": "This is the ID of the owner of this collections."
        },
        "subscribed": {
            "type": "boolean",
            "description": "This field indicates whether the collection is subscribed"
        },
        "remoteLink": {
            "type": "string",
            "description": "Contains the link to the collection when it's uploaded."
        },
        "public": {
            "type": "boolean",
            "description": "This field indicates whether the collection is public"
        },
        "write": {
            "type": "boolean",
            "description": "This field indicates whether the collection is writable"
        },
        "requests": {
            "type": "array",
            "items": {
                "title": "Schema for a Postman collection request",
                "description": "A request represents an HTTP request.",
                "type": "object",
                "properties": {
                    "owner": {
                        "type": "string",
                        "description": "This is the ID of the owner of this request."
                    },
                    "lastUpdatedBy": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "This is the ID of the user who last updated this folder."
                    },
                    "folder": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "This is the ID of the folder that contains this request."
                    },
                    "collection": {
                        "type": "string",
                        "description": "This is the ID of the collection that contains this request."
                    },
                    "id": {
                        "type": "string",
                        "description": "This is the unique ID of this request."
                    },
                    "name": {
                        "type": "string",
                        "description": "This is the name of this request."
                    },
                    "dataMode": {
                        "type": "string",
                        "enum": [
                            "raw",
                            "urlencoded",
                            "params"
                        ],
                        "description": "Represents the data mode for this request."
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "key": {
                                    "type": "string"
                                },
                                "value": {
                                    "type": "string"
                                },
                                "enabled": {
                                    "type": "boolean"
                                },
                                "type": {
                                    "enum": [
                                        "file",
                                        "text"
                                    ]
                                }
                            }
                        }
                    },
                    "descriptionFormat": {
                        "oneOf": [
                            {
                                "type": "string",
                                "enum": [
                                    "html",
                                    "markdown"
                                ]
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "The format of the description text."
                    },
                    "description": {
                        "type": "string",
                        "description": "The description of this request."
                    },
                    "headers": {
                        "type": "string",
                        "description": "This is a string containing all the custom headers for this request, e.g: Authorization."
                    },
                    "method": {
                        "type": "string",
                        "enum": [
                            "GET",
                            "PUT",
                            "POST",
                            "PATCH",
                            "DELETE",
                            "COPY",
                            "HEAD",
                            "OPTIONS",
                            "LINK",
                            "UNLINK",
                            "PURGE",
                            "LOCK",
                            "UNLOCK",
                            "PROPFIND",
                            "VIEW"
                        ],
                        "description": "The HTTP method associated with this request."
                    },
                    "pathVariables": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "Contains the path variables in this request."
                    },
                    "url": {
                        "type": "string",
                        "description": "Contains the URL for this request."
                    },
                    "preRequestScript": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "A script that is run before executing the request."
                    },
                    "tests": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "A script that is run after executing the request, which may act on the response."
                    },
                    "version": {
                        "type": "number",
                        "multipleOf": 1,
                        "description": "Specifies the version number of the request."
                    },
                    "time": {
                        "type": "number",
                        "multipleOf": 1,
                        "description": "The timestamp for this request."
                    },
                    "responses": {
                        "type": "array",
                        "items": {
                            "title": "Schema for a Postman collection response",
                            "description": "A response represents an HTTP response.",
                            "properties": {
                                "owner": {
                                    "type": "string",
                                    "description": "This is the ID of the owner of this response."
                                },
                                "lastUpdatedBy": {
                                    "type": "string",
                                    "description": "This is the ID of the user who last updated this response."
                                },
                                "request": {
                                    "type": "string",
                                    "description": "This is the ID of the request associated with this response."
                                },
                                "id": {
                                    "type": "string",
                                    "description": "This is the unique ID of this response."
                                },
                                "name": {
                                    "type": "string",
                                    "description": "This is the name of this response."
                                },
                                "status": {
                                    "type": "string",
                                    "description": ""
                                },
                                "responseCode": {
                                    "type": "object",
                                    "properties": {
                                        "code": {
                                            "type": "number",
                                            "description": "The numeric HTTP response code."
                                        },
                                        "name": {
                                            "type": "string",
                                            "description": "The textual HTTP response code."
                                        },
                                        "detail": {
                                            "type": "string",
                                            "description": "Detailed explanation of the response code."
                                        }
                                    },
                                    "required": [
                                        "code",
                                        "name"
                                    ]
                                },
                                "time": {
                                    "oneOf": [
                                        {
                                            "type": "string"
                                        },
                                        {
                                            "type": "number"
                                        }
                                    ],
                                    "description": "The time taken by the request to complete."
                                },
                                "headers": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "name": {
                                                "type": "string",
                                                "description": "Name of the header."
                                            },
                                            "key": {
                                                "type": "string",
                                                "description": "Key of the header [LHS]."
                                            },
                                            "value": {
                                                "type": "string",
                                                "description": "Value of the header [RHS]."
                                            },
                                            "description": {
                                                "type": "string",
                                                "description": "Description of the header."
                                            }
                                        },
                                        "required": [
                                            "name",
                                            "key",
                                            "value",
                                            "description"
                                        ]
                                    }
                                },
                                "cookies": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "domain": {
                                                "type": "string",
                                                "description": "The domain for which this cookie is valid."
                                            },
                                            "expirationDate": {
                                                "type": "number",
                                                "description": "The timestamp of the time when the cookie expires."
                                            },
                                            "hostOnly": {
                                                "type": "boolean",
                                                "description": "Indicates if this cookie is Host Only."
                                            },
                                            "httpOnly": {
                                                "type": "boolean",
                                                "description": "Indicates if this cookie is HTTP Only."
                                            },
                                            "name": {
                                                "type": "string",
                                                "description": "This is the name of the Cookie."
                                            },
                                            "path": {
                                                "type": "string",
                                                "description": "The path associated with the Cookie."
                                            },
                                            "secure": {
                                                "type": "boolean",
                                                "description": "Indicates if the 'secure' flag is set on the Cookie."
                                            },
                                            "session": {
                                                "type": "boolean",
                                                "description": "True if the cookie is a session cookie."
                                            },
                                            "storeId": {
                                                "type": "string",
                                                "description": "The ID of the cookie store containing this cookie."
                                            },
                                            "value": {
                                                "type": "string",
                                                "description": "The value of the Cookie."
                                            },
                                            "expires": {
                                                "type": "string",
                                                "description": "Human readable expiration time."
                                            }
                                        },
                                        "required": [
                                            "domain",
                                            "expirationDate",
                                            "hostOnly",
                                            "httpOnly",
                                            "name",
                                            "path",
                                            "secure",
                                            "session",
                                            "storeId",
                                            "value",
                                            "expires"
                                        ]
                                    }
                                },
                                "mime": {
                                    "type": "string",
                                    "description": "Mimetype of the response."
                                },
                                "text": {
                                    "type": "string",
                                    "description": "The raw text of the response."
                                },
                                "language": {
                                    "type": "string",
                                    "enum": [
                                        "html",
                                        "javascript",
                                        "xml"
                                    ],
                                    "description": "The language associated with the response."
                                },
                                "rawDataType": {
                                    "type": "string",
                                    "description": "The data type of the raw response."
                                },
                                "state": {
                                    "type": "object",
                                    "properties": {
                                        "size": {
                                            "type": "string",
                                            "description": "The size at which the response is shown to the user."
                                        }
                                    }
                                },
                                "previewType": {
                                    "type": "string",
                                    "enum": [
                                        "pdf",
                                        "parsed",
                                        "preview",
                                        "raw"
                                    ],
                                    "description": "Controls how the response is shown in the preview pane"
                                },
                                "searchResultScrolledTo": {
                                    "oneOf": [
                                        {
                                            "type": "string"
                                        },
                                        {
                                            "type": "number"
                                        }
                                    ],
                                    "description": "Indicates whether search results are scrolled to in the response pane."
                                },
                                "version": {
                                    "oneOf": [
                                        {
                                            "type": "string"
                                        },
                                        {
                                            "type": "null"
                                        }
                                    ],
                                    "description": "The version of the response."
                                },
                                "requestObject": {
                                    "type": "string",
                                    "description": "Contains the whole request object associated with this response."
                                },
                                "write": {
                                    "type": "boolean",
                                    "description": "This field indicates whether the folder is writable"
                                }
                            },
                            "required": [
                                "id",
                                "responseCode",
                                "headers",
                                "text",
                                "request",
                                "name"
                            ]
                        }
                    },
                    "currentHelper": {
                        "oneOf": [
                            {
                                "type": "string",
                                "enum": [
                                    "normal",
                                    "basic",
                                    "digest",
                                    "oauth1"
                                ]
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "The authentication helper used with the request."
                    },
                    "helperAttributes": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            },
                            {
                                "type": "object"
                            }
                        ],
                        "description": "Holds the values of parameters indicated by currentHelper"
                    },
                    "collectionId": {
                        "type": "string",
                        "description": "This is the ID of the collection that contains this request."
                    },
                    "write": {
                        "type": "boolean",
                        "description": "This field indicates whether the request is writable"
                    },
                    "synced": {
                        "type": "boolean",
                        "description": "This field indicates whether the request is synced"
                    },
                    "rawModeData": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            },
                            {
                                "type": "array"
                            }
                        ],
                        "description": "Contains the raw data sent to the server"
                    }
                },
                "required": [
                    "id",
                    "method",
                    "url",
                    "headers",
                    "name"
                ]
            }
        }
    },
    "required": [
        "id",
        "name",
        "order",
        "synced",
        "owner",
        "requests"
    ]
}