{
  "name": "unsplash",
  "label": "Unsplash",
  "description": "Beautiful high quality free images and photos you can download and use for any project. No attribution required.",
  "version": "0.0.0",
  "infoUrl": "https://unsplash.com/",
  "maintainer": "Kendraio",
  "supportUrl": "http://kendra.io",
  "database": [],
  "workflow": [],
  "forms": [],
  "upload": {
    "enabled": true
  },
  "apis": [
    "swagger/swagger.json"
  ],
  "tags": [
    "photos"
  ],
  "attachments": {
    "swagger/swagger.json": {
      "swagger": "2.0",
      "info": {
        "version": "1.0.0",
        "title": "Unsplash"
      },
      "host": "api.unsplash.com",
      "schemes": [
        "https"
      ],
      "paths": {
        "/Users": {
          "get": {
            "description": "Get the user’s profile\nNote: To access a user’s private data, the user is required to authorize the read_user scope. Without it, this request will return a 403 Forbidden response.\nNote: Without a Bearer token (i.e. using a Client-ID token) this request will return a 401 Unauthorized response.\n",
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "$ref": "#/definitions/Me"
                }
              }
            }
          },
          "put": {
            "description": "Update the current user’s profile\nNote: This action requires the write_user scope. Without it, it will return a 403 Forbidden response.\n",
            "parameters": [
              {
                "name": "username",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "username"
              },
              {
                "name": "first_name",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "FirstName"
              },
              {
                "name": "last_name",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "LastName"
              },
              {
                "name": "email",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "Email"
              },
              {
                "name": "url",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "Portfolio/personal URL."
              },
              {
                "name": "location",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "Location"
              },
              {
                "name": "bio",
                "type": "string",
                "in": "query",
                "required": true,
                "description": "About/bio ."
              },
              {
                "name": "instagram_username",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "Instagram username."
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "$ref": "#/definitions/Me"
                }
              }
            }
          }
        },
        "/users/{username}": {
          "get": {
            "description": "Get a user’s public profile\nRetrieve public details on a given user.\n",
            "parameters": [
              {
                "name": "username",
                "type": "string",
                "in": "path",
                "required": true,
                "description": "The user’s username. Required."
              },
              {
                "name": "w",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Profile Image width in pixels."
              },
              {
                "name": "h",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Profile Image height in pixels."
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "$ref": "#/definitions/Users"
                }
              }
            }
          }
        },
        "/users/{username}/photos": {
          "get": {
            "description": "List a user’s photos\nGet a list of photos uploaded by a user.\n",
            "parameters": [
              {
                "name": "username",
                "type": "string",
                "in": "path",
                "required": true,
                "description": "The user’s username. Required."
              },
              {
                "name": "page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Page number to retrieve. (Optional, default: 1)\n"
              },
              {
                "name": "per_page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Number of items per page. (Optional; default: 10)\n"
              },
              {
                "name": "order_by",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "How to sort the photos. Optional. (Valid values: latest, oldest, popular; default: latest)\n"
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Photos"
                  }
                }
              }
            }
          }
        },
        "/users/{username}/likes": {
          "get": {
            "description": "List a user’s liked photos\nGet a list of photos liked by a user.\n",
            "parameters": [
              {
                "name": "username",
                "type": "string",
                "in": "path",
                "required": true,
                "description": "The user’s username. Required."
              },
              {
                "name": "page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Page number to retrieve. (Optional, default: 1)\n"
              },
              {
                "name": "per_page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Number of items per page. (Optional; default: 10)\n"
              },
              {
                "name": "order_by",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "How to sort the photos. Optional. (Valid values: latest, oldest, popular; default: latest)\n"
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Photos"
                  }
                }
              }
            }
          }
        },
        "/users/{username}/collections": {
          "get": {
            "description": "Get a user’s public profile\nRetrieve public details on a given user\n",
            "parameters": [
              {
                "name": "username",
                "type": "string",
                "in": "path",
                "required": true,
                "description": "The user’s username. Required."
              },
              {
                "name": "page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Page number to retrieve. (Optional, default: 1)\n"
              },
              {
                "name": "per_page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Number of items per page. (Optional; default: 10)\n"
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Collections"
                  }
                }
              }
            }
          }
        },
        "/photos": {
          "get": {
            "description": "Get a single page from the list of all photos.",
            "parameters": [
              {
                "name": "page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Page number to retrieve. (Optional, default: 1)\n"
              },
              {
                "name": "per_page",
                "type": "integer",
                "in": "query",
                "required": false,
                "description": "Number of items per page. (Optional; default: 10)\n"
              },
              {
                "name": "order_by",
                "type": "string",
                "in": "query",
                "required": false,
                "description": "How to sort the photos. Optional. (Valid values: latest, oldest, popular; default: latest)\n"
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Photos"
                  }
                }
              }
            }
          }
        },
        "/photos/search": {
          "get": {
            "description": "Get a single page from a photo search. Optionally limit your search to a set of categories by supplying the category ID’s.\n",
            "parameters": [
              {
                "name": "query",
                "in": "query",
                "description": "Search terms.\n",
                "required": true,
                "type": "string"
              },
              {
                "name": "category",
                "in": "query",
                "description": "Category ID(‘s) to filter search. If multiple, comma-separated.\n",
                "required": true,
                "type": "string"
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/Photos"
                  }
                }
              }
            }
          }
        },
        "/photos/{id}": {
          "get": {
            "description": "Retrieve a single photo.",
            "parameters": [
              {
                "name": "id",
                "in": "path",
                "description": "",
                "required": true,
                "type": "string"
              },
              {
                "name": "w",
                "in": "query",
                "description": "",
                "required": true,
                "type": "integer"
              },
              {
                "name": "h",
                "in": "query",
                "description": "",
                "required": true,
                "type": "integer"
              },
              {
                "name": "rect",
                "in": "query",
                "description": "4 comma-separated integers representing x, y, width, height of the cropped rectangle.",
                "required": true,
                "type": "string"
              }
            ],
            "responses": {
              "200": {
                "description": "Success",
                "schema": {
                  "$ref": "#/definitions/Photo"
                }
              }
            }
          }
        }
      },
      "definitions": {
        "Me": {
          "type": "object",
          "properties": {
            "username": {
              "type": "string"
            },
            "first_name": {
              "type": "string"
            },
            "last_name": {
              "type": "string"
            },
            "portfolio_url": {
              "type": "string"
            },
            "downloads": {
              "type": "integer"
            },
            "bio": {
              "type": "string"
            },
            "uploads_remaining": {
              "type": "integer"
            },
            "instagram_username": {
              "type": "string"
            },
            "location": {
              "type": "string"
            },
            "email": {
              "type": "string"
            },
            "links": {
              "$ref": "#/definitions/UserLinks"
            }
          }
        },
        "Photos": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "width": {
              "type": "integer"
            },
            "height": {
              "type": "integer"
            },
            "color": {
              "type": "string"
            },
            "likes": {
              "type": "integer"
            },
            "liked_by_user": {
              "type": "boolean"
            },
            "user": {
              "$ref": "#/definitions/User"
            },
            "urls": {
              "$ref": "#/definitions/PhotoURLs"
            },
            "links": {
              "$ref": "#/definitions/PhotoLinks"
            },
            "categories": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Category"
              }
            }
          }
        },
        "Photo": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "width": {
              "type": "integer"
            },
            "height": {
              "type": "integer"
            },
            "color": {
              "type": "string"
            },
            "likes": {
              "type": "integer"
            },
            "liked_by_user": {
              "type": "boolean"
            },
            "user": {
              "$ref": "#/definitions/User"
            },
            "urls": {
              "$ref": "#/definitions/PhotoURLs"
            },
            "links": {
              "$ref": "#/definitions/PhotoLinks"
            },
            "categories": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Category"
              }
            },
            "location": {
              "$ref": "#/definitions/Location"
            },
            "exif": {
              "$ref": "#/definitions/Exif"
            }
          }
        },
        "Collections": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer"
            },
            "title": {
              "type": "string"
            },
            "published_at": {
              "type": "string"
            },
            "curated": {
              "type": "boolean"
            },
            "cover_photo": {
              "$ref": "#/definitions/Photo"
            },
            "user": {
              "$ref": "#/definitions/Users"
            },
            "links": {
              "$ref": "#/definitions/UserLinks"
            }
          }
        },
        "Users": {
          "type": "object",
          "properties": {
            "username": {
              "type": "string"
            },
            "first_name": {
              "type": "string"
            },
            "last_name": {
              "type": "string"
            },
            "portfolio_url": {
              "type": "string"
            },
            "downloads": {
              "type": "integer"
            },
            "profile_image": {
              "$ref": "#/definitions/ProfileImage"
            },
            "links": {
              "$ref": "#/definitions/UserLinks"
            }
          }
        },
        "User": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "username": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "profile_image": {
              "$ref": "#/definitions/ProfileImage"
            },
            "links": {
              "$ref": "#/definitions/UserLinks"
            }
          }
        },
        "ProfileImage": {
          "type": "object",
          "properties": {
            "small": {
              "type": "string"
            },
            "medium": {
              "type": "string"
            },
            "large": {
              "type": "string"
            },
            "custom": {
              "type": "string"
            }
          }
        },
        "UserLinks": {
          "type": "object",
          "properties": {
            "self": {
              "type": "string"
            },
            "html": {
              "type": "string"
            },
            "photos": {
              "type": "string"
            },
            "likes": {
              "type": "string"
            }
          }
        },
        "PhotoURLs": {
          "type": "object",
          "properties": {
            "raw": {
              "type": "string"
            },
            "full": {
              "type": "string"
            },
            "regular": {
              "type": "string"
            },
            "small": {
              "type": "string"
            },
            "thumb": {
              "type": "string"
            }
          }
        },
        "PhotoLinks": {
          "type": "object",
          "properties": {
            "self": {
              "type": "string"
            },
            "html": {
              "type": "string"
            },
            "download": {
              "type": "string"
            }
          }
        },
        "Category": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer"
            },
            "title": {
              "type": "string"
            },
            "photo_count": {
              "type": "integer"
            },
            "links": {
              "$ref": "#/definitions/CategoryLinks"
            }
          }
        },
        "CategoryLinks": {
          "type": "object",
          "properties": {
            "self": {
              "type": "string"
            },
            "photos": {
              "type": "string"
            }
          }
        },
        "Exif": {
          "type": "object",
          "properties": {
            "make": {
              "type": "string"
            },
            "model": {
              "type": "string"
            },
            "exposure_time": {
              "type": "number",
              "format": "double"
            },
            "aperture": {
              "type": "number",
              "format": "double"
            },
            "focal_length": {
              "type": "integer"
            },
            "iso": {
              "type": "integer"
            }
          }
        },
        "Location": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string"
            },
            "country": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}