openapi: 3.0.0
servers:
  - url: https://api.flickr.com/services
info:
  contact:
    x-twitter: Flickr
  description: A subset of Flickr's API defined in Swagger format.
  termsOfService: https://www.flickr.com/services/api/tos/
  title: Flickr API Schema
  version: 1.0.0
  x-apisguru-categories:
    - media
  x-logo:
    url: https://twitter.com/Flickr/profile_image?size=original
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/flickr/flickr-api-swagger/master/dist/schema.json
      version: "3.0"
  x-providerName: flickr.com
paths:
  /oauth/access_token:
    get:
      description: Returns an access token
      operationId: getAccessToken
      parameters:
        - in: query
          name: oauth_consumer_key
          required: true
          schema:
            type: string
        - in: query
          name: oauth_nonce
          required: true
          schema:
            type: string
        - in: query
          name: oauth_timestamp
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: oauth_signature_method
          required: true
          schema:
            type: string
        - in: query
          name: oauth_version
          required: true
          schema:
            type: string
        - in: query
          name: oauth_signature
          required: true
          schema:
            type: string
        - in: query
          name: oauth_verifier
          required: true
          schema:
            type: string
        - in: query
          name: oauth_token
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
          description: OK
      tags:
        - Public
  /oauth/request_token:
    get:
      description: Returns an oauth token and oauth token secret
      operationId: getRequestToken
      parameters:
        - in: query
          name: oauth_consumer_key
          required: true
          schema:
            type: string
        - in: query
          name: oauth_nonce
          required: true
          schema:
            type: string
        - in: query
          name: oauth_timestamp
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: oauth_signature_method
          required: true
          schema:
            type: string
        - in: query
          name: oauth_version
          required: true
          schema:
            type: string
        - in: query
          name: oauth_signature
          required: true
          schema:
            type: string
        - in: query
          name: oauth_callback
          required: true
          schema:
            pattern: ^http.*$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
          description: OK
      tags:
        - Public
  /rest?method=flickr.favorites.getContext:
    get:
      description: Returns next and previous favorites for a photo in a user's favorites
      operationId: getFavoritesContextByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: user_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    properties:
                      _content:
                        type: string
                    type: object
                  nextphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  prevphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.favorites.getList:
    get:
      description: Returns a list of the user's favorite photos. Only photos which the calling user has permission to see are returned.
      operationId: getFavoritesByPersonID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: user_id
          required: true
          schema:
            type: string
        - in: query
          name: min_fave_date
          schema:
            type: number
        - in: query
          name: max_fave_date
          schema:
            type: number
        - in: query
          name: page
          schema:
            type: number
        - in: query
          name: per_page
          schema:
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  page:
                    type: number
                  pages:
                    type: number
                  perpage:
                    type: number
                  photos:
                    items:
                      $ref: "#/components/schemas/Photo"
                    type: array
                  total:
                    type: number
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.galleries.getPhotos:
    get:
      description: Returns a list of photos in a gallery.
      operationId: getGalleryPhotosByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: gallery_id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  photos:
                    items:
                      $ref: "#/components/schemas/Photo"
                    type: array
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.groups.discuss.replies.getInfo:
    get:
      description: Get information on a group topic reply
      operationId: getGroupTopicRepliesByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: group_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
        - in: query
          name: topic_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: reply_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  reply:
                    $ref: "#/components/schemas/TopicReply"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.groups.discuss.topics.getInfo:
    get:
      description: Get information about a group discussion topic
      operationId: getGroupTopicByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: group_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
        - in: query
          name: topic_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  stat:
                    $ref: "#/components/schemas/Stat"
                  topic:
                    $ref: "#/components/schemas/Topic"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.groups.discuss.topics.getList:
    get:
      description: Get a list of discussion topics in a group.
      operationId: getGroupDiscussionsByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: group_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
        - in: query
          name: page
          schema:
            type: number
        - in: query
          name: per_page
          schema:
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  iconfarm:
                    type: number
                  iconserver:
                    type: number
                  ispoolmoderated:
                    type: boolean
                  lang:
                    type: string
                  members:
                    type: number
                  name:
                    type: string
                  page:
                    type: number
                  pages:
                    type: number
                  per_page:
                    type: number
                  privacy:
                    type: number
                  topics:
                    items:
                      $ref: "#/components/schemas/Topic"
                    type: array
                  total:
                    type: number
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.groups.getInfo:
    get:
      description: Get information about a group
      operationId: getGroupByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: group_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
        - in: query
          name: group_path_alias
          required: false
          schema:
            type: string
        - in: query
          name: lang
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  group:
                    $ref: "#/components/schemas/Group"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.groups.pools.getContext:
    get:
      description: Returns next and previous photos for a photo in a group pool
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: group_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    properties:
                      _content:
                        type: string
                    type: object
                  nextphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  prevphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.groups.pools.getPhotos:
    get:
      description: Returns a list of pool photos for a given group
      operationId: getGroupPhotosByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: group_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  photos:
                    items:
                      $ref: "#/components/schemas/Photo"
                    type: array
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.people.getInfo:
    get:
      description: Returns a person
      operationId: getPersonByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: user_id
          required: false
          schema:
            pattern: ^([0-9]+@N[0-9]+)|([0-9a-zA-Z-_]+)$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  person:
                    $ref: "#/components/schemas/Person"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.people.getPhotos:
    get:
      description: Return photos from the given user's photostream
      operationId: getMediaByPersonID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: user_id
          required: true
          schema:
            type: string
        - in: query
          name: safe_search
          schema:
            type: number
        - in: query
          name: min_upload_date
          schema:
            type: number
        - in: query
          name: max_upload_date
          schema:
            type: number
        - in: query
          name: min_taken_date
          schema:
            type: number
        - in: query
          name: max_taken_date
          schema:
            type: number
        - in: query
          name: content_type
          schema:
            type: number
        - in: query
          name: privacy_filter
          schema:
            type: number
        - in: query
          name: page
          schema:
            type: number
        - in: query
          name: per_page
          schema:
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  page:
                    type: number
                  pages:
                    type: number
                  perpage:
                    type: number
                  photos:
                    items:
                      $ref: "#/components/schemas/Photo"
                    type: array
                  total:
                    type: number
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photolist.getContext:
    get:
      description: Returns next and previous photos in a photo list
      operationId: getPhotolistContextByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: photolist_id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    properties:
                      _content:
                        type: string
                    type: object
                  nextphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  prevphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photos.getContext:
    get:
      description: Returns next and previous photos for a photo in a photostream
      operationId: getPhotostreamContextByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    properties:
                      _content:
                        type: string
                    type: object
                  nextphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  prevphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photos.getExif:
    get:
      description: Retrieves a list of EXIF/TIFF/GPS tags for a given photo. The calling user must have permission to view the photo.
      operationId: getPhotoExifByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: secret
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  photo:
                    properties:
                      camera:
                        type: string
                      exif:
                        items:
                          properties:
                            label:
                              type: string
                            raw:
                              properties:
                                _content:
                                  type: string
                              type: object
                            tag:
                              type: string
                            tagspace:
                              type: string
                            tagspaceid:
                              type: string
                          type: object
                        type: array
                      farm:
                        type: string
                      id:
                        type: string
                      secret:
                        type: string
                      server:
                        type: string
                    type: object
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photos.getInfo:
    get:
      description: Returns a photo
      operationId: getPhotoByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  photo:
                    $ref: "#/components/schemas/Photo"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: a photo
      tags:
        - Public
  /rest?method=flickr.photos.getSizes:
    get:
      description: Returns photo sizes
      operationId: getPhotoSizesByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  sizes:
                    properties:
                      canblog:
                        type: number
                      candownload:
                        type: number
                      canprint:
                        type: number
                      sizes:
                        items:
                          $ref: "#/components/schemas/Size"
                        type: array
                    type: object
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: Photo sizes
      tags:
        - Public
  /rest?method=flickr.photos.licenses.getInfo:
    get:
      description: Fetches a list of available photo licenses for Flickr
      operationId: getLicenseByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  licenses:
                    properties:
                      license:
                        items:
                          properties:
                            id:
                              type: integer
                            name:
                              type: string
                            url:
                              type: string
                          type: object
                        type: array
                    type: object
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photos.search:
    get:
      description: Return a list of photos matching some criteria.
      operationId: getMediaBySearch
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - description: A free text search. Photos who's title, description or tags contain the text will be returned. You can exclude results that match a term by prepending it with a - character.
          in: query
          name: text
          schema:
            type: string
        - description: A comma-delimited list of tags. Photos with one or more of the tags listed will be returned. You can exclude results that match a term by prepending it with a - character.
          in: query
          name: tags
          schema:
            type: string
        - description: The NSID of the user who's photo to search. If this parameter isn't passed then everybody's public photos will be searched. A value of "me" will search against the calling user's photos for authenticated calls.
          in: query
          name: user_id
          schema:
            type: string
        - description: Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date can be in the form of a unix timestamp or mysql datetime.
          in: query
          name: min_upload_date
          schema:
            type: string
        - description: Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date can be in the form of a unix timestamp or mysql datetime.
          in: query
          name: max_upload_date
          schema:
            type: string
        - description: Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date can be in the form of a mysql datetime or unix timestamp.
          in: query
          name: min_taken_date
          schema:
            type: string
        - description: Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date can be in the form of a mysql datetime or unix timestamp.
          in: query
          name: max_taken_date
          schema:
            type: string
        - description: The license id for photos (for possible values see the flickr.photos.licenses.getInfo method). Multiple licenses may be comma-separated.
          in: query
          name: license
          schema:
            type: string
        - description: |
            The order in which to sort returned photos. Deafults to date-posted-desc (unless you are doing a radial geo query, in which case the default sorting is by ascending distance from the point specified). The possible values are:
              date-posted-asc,
              date-posted-desc,
              date-taken-asc,
              date-taken-desc,
              interestingness-desc,
              interestingness-asc, and
              relevance.
          in: query
          name: sort
          schema:
            type: string
        - description: |
            Return photos only matching a certain privacy level. This only applies when making an authenticated call to view photos you own. Valid values are:,
              1: public photos,
              2: private photos visible to friends,
              3: private photos visible to family,
              4: private photos visible to friends & family,
              5: completely private photos
          in: query
          name: privacy_filter
          schema:
            type: number
        - description: A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched.
          in: query
          name: bbox
          schema:
            type: string
        - description: |
            Recorded accuracy level of the location information. Current range is 1-16:
              World level is 1
              Country is ~3
              Region is ~6
              City is ~11
              Street is ~16
          in: query
          name: accuracy
          schema:
            type: string
        - description: |
            Safe search setting:
              1: for safe,
              2: for moderate,
              3: for restricted
          in: query
          name: safe_search
          schema:
            type: number
        - description: |
            Content Type setting:
              1: photos only.
              2: screenshots only.
              3: 'other' only.
              4: photos and screenshots.
              5: screenshots and 'other'.
              6: photos and 'other'.
              7: photos, screenshots, and 'other' (all).
          in: query
          name: content_type
          schema:
            type: number
        - description: |
            Aside from passing in a fully formed machine tag, there is a special syntax for searching on specific properties : Find photos using the 'dc' namespace : "machine_tags" => "dc:" Find photos with a title in the 'dc' namespace : "machine_tags" => "dc:title=" Find photos titled "mr. camera" in the 'dc' namespace : "machine_tags" => "dc:title=\"mr. camera\" Find photos whose value is "mr. camera" : "machine_tags" => "*:*=\"mr. camera\"" Find photos that have a title, in any namespace : "machine_tags" => "*:title=" Find photos that have a title, in any namespace, whose value is "mr. camera" : "machine_tags" => "*:title=\"mr. camera\"" Find photos, in the 'dc' namespace whose value is "mr. camera" : "machine_tags" => "dc:*=\"mr. camera\"" Multiple machine tags may be queried by passing a comma-separated list. The number of machine tags you can pass in a single query depends on the tag mode (AND or OR) that you are querying with. "AND" queries are limited to (16) machine tags. "OR" queries are limited to (8).
          in: query
          name: machine_tags
          schema:
            type: string
        - description: Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified.
          in: query
          name: machine_tag_mode
          schema:
            type: string
        - description: The id of a group who's pool to search. If specified, only matching photos posted to the group's pool will be returned.
          in: query
          name: group_id
          schema:
            type: string
        - description: Search your contacts. Either 'all' or 'ff' for just friends and family. (Experimental)
          in: query
          name: contacts
          schema:
            type: string
        - description: A 32-bit identifier that uniquely represents spatial entities. (not used if bbox argument is present).
          in: query
          name: woe_id
          schema:
            type: string
        - description: |
            A Flickr place id. (not used if bbox argument is present). Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches" for queries without a geo component. A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we return only photos added in the last 12 hours (though we may extend the limit in the future).
          in: query
          name: place_id
          schema:
            type: string
        - description: Filter results by media type. Possible values are all (default), photos or videos
          in: query
          name: media
          schema:
            type: string
        - description: |
            Any photo that has been geotagged, or if the value is "0" any photo that has not been geotagged. Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches" for queries without a geo component. A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we return only photos added in the last 12 hours (though we may extend the limit in the future).
          in: query
          name: has_geo
          schema:
            type: string
        - description: |
            Geo context is a numeric value representing the photo's geotagginess beyond latitude and longitude. For example, you may wish to search for photos that were taken "indoors" or "outdoors". The current list of context IDs is: 0, not defined. 1, indoors. 2, outdoors. Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches" for queries without a geo component. A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we return only photos added in the last 12 hours (though we may extend the limit in the future).
          in: query
          name: geo_context
          schema:
            type: string
        - description: |
            A valid latitude, in decimal format, for doing radial geo queries. Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches" for queries without a geo component. A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we return only photos added in the last 12 hours (though we may extend the limit in the future).
          in: query
          name: lat
          schema:
            type: string
        - description: |
            A valid longitude, in decimal format, for doing radial geo queries. Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches" for queries without a geo component. A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters — If no limiting factor is passed we return only photos added in the last 12 hours (though we may extend the limit in the future).
          in: query
          name: lon
          schema:
            type: string
        - description: A valid radius used for geo queries, greater than zero and less than 20 miles (or 32 kilometers), for use with point-based geo queries. The default value is 5 (km).
          in: query
          name: radius
          schema:
            type: number
        - description: The unit of measure when doing radial geo queries. Valid options are "mi" (miles) and "km" (kilometers). The default is "km".
          in: query
          name: radius_units
          schema:
            type: string
        - description: Limit the scope of the search to only photos that are part of the Flickr Commons project. Default is false.
          in: query
          name: is_commons
          schema:
            type: boolean
        - description: Limit the scope of the search to only photos that are in a gallery? Default is false, search all photos.
          in: query
          name: in_gallery
          schema:
            type: boolean
        - description: Limit the scope of the search to only photos that are for sale on Getty. Default is false.
          in: query
          name: is_getty
          schema:
            type: boolean
        - description: Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500.
          in: query
          name: per_page
          schema:
            type: number
        - description: The page of results to return. If this argument is omitted, it defaults to 1.
          in: query
          name: page
          schema:
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  page:
                    type: number
                  pages:
                    type: number
                  perpage:
                    type: number
                  photos:
                    items:
                      $ref: "#/components/schemas/Photo"
                    type: array
                  total:
                    type: number
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photosets.getContext:
    get:
      description: Returns next and previous photos for a photo in a set
      operationId: getAlbumContextByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photo_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
        - in: query
          name: photoset_id
          required: false
          schema:
            pattern: ^[0-9]+$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  count:
                    properties:
                      _content:
                        type: string
                    type: object
                  nextphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  prevphoto:
                    $ref: "#/components/schemas/ContextPhoto"
                  stat:
                    $ref: "#/components/schemas/Stat"
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photosets.getList:
    get:
      description: Returns the albums belonging to the specified user
      operationId: getAlbumsByPersonID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: user_id
          required: true
          schema:
            type: string
        - in: query
          name: page
          schema:
            type: number
        - in: query
          name: per_page
          schema:
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  page:
                    type: number
                  pages:
                    type: number
                  perpage:
                    type: number
                  photosets:
                    items:
                      $ref: "#/components/schemas/Album"
                    type: array
                  total:
                    type: number
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.photosets.getPhotos:
    get:
      description: Returns a list of photos in an album.
      operationId: getAlbumByID
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: photoset_id
          required: true
          schema:
            pattern: ^[0-9]+$
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  photoset:
                    items:
                      $ref: "#/components/schemas/Photo"
                    type: array
                type: object
          description: OK
      tags:
        - Public
  /rest?method=flickr.test.echo:
    get:
      description: Echos the input parameters back in the response
      operationId: echo
      parameters:
        - in: query
          name: api_key
          required: true
          schema:
            type: string
        - in: query
          name: echo
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  echo:
                    properties:
                      _content:
                        type: string
                    type: object
                type: object
          description: OK
      tags:
        - Public
  /upload:
    post:
      description: Uploads a new photo to Flickr
      operationId: uploadPhoto
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                api_key:
                  type: string
                content_type:
                  enum:
                    - "1"
                    - "2"
                    - "3"
                  type: string
                description:
                  type: string
                hidden:
                  enum:
                    - "1"
                    - "2"
                  type: string
                is_family:
                  enum:
                    - "0"
                    - "1"
                  type: string
                is_friend:
                  enum:
                    - "0"
                    - "1"
                  type: string
                is_public:
                  enum:
                    - "0"
                    - "1"
                  type: string
                photo:
                  format: binary
                  type: string
                safety_level:
                  enum:
                    - "1"
                    - "2"
                    - "3"
                  type: string
                tags:
                  type: string
                title:
                  type: string
              required:
                - api_key
                - photo
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
      tags:
        - Public
components:
  schemas:
    Album:
      properties:
        can_comment:
          type: boolean
        count_comments:
          type: number
        count_views:
          type: number
        date_create:
          type: number
        date_update:
          type: number
        description:
          type: string
        farm:
          type: string
        id:
          type: string
        photos:
          type: number
        primary:
          type: string
        secret:
          type: string
        server:
          type: string
        title:
          type: string
        videos:
          type: number
      type: object
    ContextPhoto:
      properties:
        farm:
          type: string
        id:
          type: string
        is_faved:
          type: boolean
        license:
          type: integer
        media:
          type: string
        owner:
          type: string
        safe:
          type: boolean
        secret:
          type: string
        server:
          type: string
        thumb:
          type: string
        title:
          type: string
        url:
          type: string
      type: object
    ContextPhotos:
      properties:
        photos:
          items:
            $ref: "#/components/schemas/ContextPhoto"
          type: array
      type: object
    Cover:
      properties:
        farm:
          type: string
        id:
          type: string
        isfamily:
          type: boolean
        isfriend:
          type: boolean
        ispublic:
          type: boolean
        owner:
          type: string
        secret:
          type: string
        server:
          type: string
        title:
          type: string
        y:
          type: string
      type: object
    Group:
      properties:
        blast:
          properties:
            _content:
              type: string
            date_blast_added:
              type: string
            user_id:
              type: string
          type: object
        cover:
          $ref: "#/components/schemas/Cover"
        coverphoto_farm:
          type: string
        coverphoto_server:
          type: string
        coverphoto_url:
          $ref: "#/components/schemas/PhotoURLs"
        description:
          properties:
            _content:
              type: string
          type: object
        iconfarm:
          type: string
        iconserver:
          type: string
        id:
          type: string
        is_admin:
          type: boolean
        is_member:
          type: boolean
        is_moderator:
          type: boolean
        ispoolmoderated:
          type: boolean
        lang:
          type: string
        members:
          properties:
            _content:
              type: string
          type: object
        name:
          properties:
            _content:
              type: string
          type: object
        path_alias:
          type: string
        pool_count:
          properties:
            _content:
              type: string
          type: object
        pool_rows:
          type: integer
        privacy:
          properties:
            _content:
              type: string
          type: object
        restrictions:
          properties:
            art_ok:
              type: boolean
            has_geo:
              type: boolean
            images_ok:
              type: boolean
            moderate_ok:
              type: boolean
            photos_ok:
              type: boolean
            restricted_ok:
              type: boolean
            safe_ok:
              type: boolean
            screens_ok:
              type: boolean
            videos_ok:
              type: boolean
          type: object
        roles:
          properties:
            admin:
              type: string
            member:
              type: string
            moderator:
              type: string
          type: object
        rules:
          properties:
            _content:
              type: string
          type: object
        throttle:
          properties:
            count:
              type: integer
            mode:
              type: string
            remaining:
              type: string
          type: object
        topic_count:
          properties:
            _content:
              type: string
          type: object
      type: object
    Note:
      properties:
        description:
          type: string
      type: object
    Owner:
      properties:
        iconfarm:
          type: string
        iconserver:
          type: string
        is_ad_free:
          type: boolean
        ispro:
          type: boolean
        location:
          type: string
        noindexfollow:
          type: boolean
        nsid:
          type: string
        path_alias:
          type: string
        realname:
          type: string
        username:
          type: string
      type: object
    Person:
      properties:
        can_buy_pro:
          type: boolean
        cover:
          $ref: "#/components/schemas/Cover"
        coverphoto:
          $ref: "#/components/schemas/PhotoURLs"
        coverphoto_farm:
          type: string
        coverphoto_server:
          type: string
        description:
          properties:
            _content:
              type: string
          type: object
        disable_keyboard_shortcuts:
          properties:
            _content:
              type: string
          type: object
        expire:
          type: boolean
        has_stats:
          type: boolean
        iconfarm:
          type: string
        iconserver:
          type: string
        id:
          type: string
        is_ad_free:
          type: boolean
        ispro:
          type: boolean
        location:
          properties:
            _content:
              type: string
          type: object
        mbox_sha1sum:
          properties:
            _content:
              type: string
          type: object
        mobileurl:
          properties:
            _content:
              type: string
          type: object
        nsid:
          type: string
        path_alias:
          type: string
        photos:
          properties:
            count:
              properties:
                _content:
                  type: string
              type: object
            firstdate:
              properties:
                _content:
                  type: string
              type: object
            firstdatetaken:
              properties:
                _content:
                  type: string
              type: object
            views:
              properties:
                _content:
                  type: string
              type: object
          type: object
        photosurl:
          properties:
            _content:
              type: string
          type: object
        profileurl:
          properties:
            _content:
              type: string
          type: object
        realname:
          properties:
            _content:
              type: string
          type: object
        timezone:
          properties:
            label:
              type: string
            offset:
              type: string
            timezone_id:
              type: string
          type: object
        unread_messages:
          properties:
            _content:
              type: string
          type: object
        user_secret:
          type: string
        username:
          properties:
            _content:
              type: string
          type: object
        yintl:
          type: string
      type: object
    Photo:
      properties:
        comments:
          properties:
            _content:
              type: string
          type: object
        dates:
          properties:
            lastupdate:
              type: string
            posted:
              type: string
            taken:
              type: string
            takengranularity:
              type: string
            takenunknown:
              type: boolean
          type: object
        dateuploaded:
          type: string
        description:
          properties:
            _content:
              type: string
          type: object
        editability:
          properties:
            canaddmeta:
              type: boolean
            cancomment:
              type: boolean
          type: object
        farm:
          type: string
        id:
          type: string
        isfavorite:
          type: boolean
        license:
          type: string
        media:
          type: string
        notes:
          properties:
            note:
              items:
                $ref: "#/components/schemas/Note"
              type: array
          type: object
        originalsecret:
          type: string
        owner:
          $ref: "#/components/schemas/Owner"
        people:
          properties:
            haspeople:
              type: boolean
          type: object
        permissions:
          properties:
            permaddmeta:
              type: string
            permcomment:
              type: string
          type: object
        publiceditability:
          properties:
            canaddmeta:
              type: boolean
            cancomment:
              type: boolean
          type: object
        rotation:
          type: string
        safe:
          type: boolean
        safety_level:
          type: string
        secret:
          type: string
        server:
          type: string
        tags:
          properties:
            tag:
              items:
                $ref: "#/components/schemas/Tag"
              type: array
          type: object
        title:
          properties:
            _content:
              type: string
          type: object
        urls:
          properties:
            url:
              items:
                $ref: "#/components/schemas/URL"
              type: array
          type: object
        usage:
          properties:
            canblog:
              type: boolean
            candownload:
              type: boolean
            canprint:
              type: boolean
            canshare:
              type: boolean
          type: object
        views:
          type: string
        visibility:
          properties:
            isfamily:
              type: boolean
            isfriend:
              type: boolean
            ispublic:
              type: boolean
          type: object
      type: object
    PhotoURLs:
      properties:
        h:
          type: string
        l:
          type: string
        s:
          type: string
        t:
          type: string
      type: object
    Size:
      properties:
        height:
          type: number
        label:
          type: string
        media:
          type: string
        source:
          type: string
        url:
          type: string
        width:
          type: number
      type: object
    Stat:
      type: string
    Tag:
      properties:
        _content:
          type: string
        author:
          type: string
        authorname:
          type: string
        id:
          type: string
        machine_tag:
          type: boolean
        raw:
          type: string
      type: object
    Topic:
      properties:
        author:
          type: string
        author_is_deleted:
          type: boolean
        author_path_alias:
          type: string
        authorname:
          type: string
        can_delete:
          type: boolean
        can_edit:
          type: boolean
        can_reply:
          type: boolean
        count_replies:
          type: integer
        datecreate:
          type: string
        datelastpost:
          type: string
        iconfarm:
          type: string
        iconserver:
          type: string
        id:
          type: string
        is_locked:
          type: boolean
        is_pro:
          type: boolean
        is_sticky:
          type: boolean
        last_reply:
          type: string
        lastedit:
          type: string
        message:
          properties:
            _content:
              type: string
          type: object
        role:
          type: string
        subject:
          type: string
      type: object
    TopicReply:
      properties:
        author:
          type: string
        author_is_deleted:
          type: boolean
        author_path_alias:
          type: string
        authorname:
          type: string
        can_delete:
          type: boolean
        can_edit:
          type: boolean
        datecreate:
          type: string
        iconfarm:
          type: string
        iconserver:
          type: string
        id:
          type: string
        is_pro:
          type: boolean
        lastedit:
          type: string
        message:
          properties:
            _content:
              type: string
          type: object
      type: object
    URL:
      properties:
        _content:
          type: string
        type:
          type: string
      type: object
