Flickr

Photo sharing and management

www.flickr.com/services/api ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
25
Schemas
42
Updated
3 days ago
Photos photos media sharing
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.flickr.com/services

Endpoints

Clear filters

Public 24 endpoints

GET /oauth/access_token

Returns an access token

operationId: Public_getAccessToken

Parameters

Name In Required Type Description
oauth_consumer_key query required string
oauth_nonce query required string
oauth_timestamp query required string
oauth_signature_method query required string
oauth_version query required string
oauth_signature query required string
oauth_verifier query required string
oauth_token query required string

Responses

200 OK
GET /oauth/access_token
GET /oauth/request_token

Returns an oauth token and oauth token secret

operationId: Public_getOAuthToken

Parameters

Name In Required Type Description
oauth_consumer_key query required string
oauth_nonce query required string
oauth_timestamp query required string
oauth_signature_method query required string
oauth_version query required string
oauth_signature query required string
oauth_callback query required string

Responses

200 OK
GET /oauth/request_token
GET /rest?method=flickr.favorites.getContext

Returns next and previous favorites for a photo in a user's favorites

operationId: Public_getFavoritesContext

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string
user_id query optional string

Responses

200 OK
GET /rest?method=flickr.favorites.getContext
GET /rest?method=flickr.favorites.getList

Returns a list of the user's favorite photos. Only photos which the calling user has permission to see are returned.

operationId: Public_getFavoritePhotos

Parameters

Name In Required Type Description
api_key query required string
user_id query required string
min_fave_date query optional number
max_fave_date query optional number
page query optional number
per_page query optional number

Responses

200 OK
GET /rest?method=flickr.favorites.getList
GET /rest?method=flickr.galleries.getPhotos

Returns a list of photos in a gallery.

operationId: Public_getGalleryPhotos

Parameters

Name In Required Type Description
api_key query required string
gallery_id query required string

Responses

200 OK
GET /rest?method=flickr.galleries.getPhotos
GET /rest?method=flickr.groups.discuss.replies.getInfo

Get information on a group topic reply

operationId: Public_getGroupTopicRepliesInfo

Parameters

Name In Required Type Description
api_key query required string
group_id query optional string
topic_id query required string
reply_id query required string

Responses

200 OK
GET /rest?method=flickr.groups.discuss.replies.getInfo
GET /rest?method=flickr.groups.discuss.topics.getInfo

Get information about a group discussion topic

operationId: Public_getGroupTopicInfo

Parameters

Name In Required Type Description
api_key query required string
group_id query optional string
topic_id query required string

Responses

200 OK
GET /rest?method=flickr.groups.discuss.topics.getInfo
GET /rest?method=flickr.groups.discuss.topics.getList

Get a list of discussion topics in a group.

operationId: Public_getGroupDiscussionTopics

Parameters

Name In Required Type Description
api_key query required string
group_id query optional string
page query optional number
per_page query optional number

Responses

200 OK
GET /rest?method=flickr.groups.discuss.topics.getList
GET /rest?method=flickr.groups.getInfo

Get information about a group

operationId: Public_getGroupInfo

Parameters

Name In Required Type Description
api_key query required string
group_id query optional string
group_path_alias query optional string
lang query optional string

Responses

200 OK
GET /rest?method=flickr.groups.getInfo
GET /rest?method=flickr.groups.pools.getContext

Returns next and previous photos for a photo in a group pool

operationId: Public_flickrGroupsPoolsGetContext

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string
group_id query optional string

Responses

200 OK
GET /rest?method=flickr.groups.pools.getContext
GET /rest?method=flickr.groups.pools.getPhotos

Returns a list of pool photos for a given group

operationId: Public_getGroupPoolPhotos

Parameters

Name In Required Type Description
api_key query required string
group_id query optional string

Responses

200 OK
GET /rest?method=flickr.groups.pools.getPhotos
GET /rest?method=flickr.people.getInfo

Returns a person

operationId: Public_getPersonInformation

Parameters

Name In Required Type Description
api_key query required string
user_id query optional string

Responses

200 OK
GET /rest?method=flickr.people.getInfo
GET /rest?method=flickr.people.getPhotos

Return photos from the given user's photostream

operationId: Public_getUserPhotos

Parameters

Name In Required Type Description
api_key query required string
user_id query required string
safe_search query optional number
min_upload_date query optional number
max_upload_date query optional number
min_taken_date query optional number
max_taken_date query optional number
content_type query optional number
privacy_filter query optional number
page query optional number
per_page query optional number

Responses

200 OK
GET /rest?method=flickr.people.getPhotos
GET /rest?method=flickr.photolist.getContext

Returns next and previous photos in a photo list

operationId: Public_getPhotoListContext

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string
photolist_id query required string

Responses

200 OK
GET /rest?method=flickr.photolist.getContext
GET /rest?method=flickr.photos.getContext

Returns next and previous photos for a photo in a photostream

operationId: Public_getPhotostreamContext

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string

Responses

200 OK
GET /rest?method=flickr.photos.getContext
GET /rest?method=flickr.photos.getExif

Retrieves a list of EXIF/TIFF/GPS tags for a given photo. The calling user must have permission to view the photo.

operationId: Public_getPhotoExif

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string
secret query optional string

Responses

200 OK
GET /rest?method=flickr.photos.getExif
GET /rest?method=flickr.photos.getInfo

Returns a photo

operationId: Public_getPhotoInfo

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string

Responses

200 a photo
GET /rest?method=flickr.photos.getInfo
GET /rest?method=flickr.photos.getSizes

Returns photo sizes

operationId: Public_getPhotoSizes

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string

Responses

200 Photo sizes
GET /rest?method=flickr.photos.getSizes
GET /rest?method=flickr.photos.licenses.getInfo

Fetches a list of available photo licenses for Flickr

operationId: Public_getPhotoLicenses

Parameters

Name In Required Type Description
api_key query required string

Responses

200 OK
GET /rest?method=flickr.photos.licenses.getInfo
GET /rest?method=flickr.photos.search

Return a list of photos matching some criteria.

operationId: Public_searchPhotos

Parameters

Name In Required Type Description
api_key query required string
text query optional string 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.
tags query optional string 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.
user_id query optional string 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.
min_upload_date query optional string 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.
max_upload_date query optional string 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.
min_taken_date query optional string 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.
max_taken_date query optional string 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.
license query optional string The license id for photos (for possible values see the flickr.photos.licenses.getInfo method). Multiple licenses may be comma-separated.
sort query optional string 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.
privacy_filter query optional number 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
bbox query optional string A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched.
accuracy query optional string 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
safe_search query optional number Safe search setting: 1: for safe, 2: for moderate, 3: for restricted
content_type query optional number 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).
machine_tags query optional string 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).
machine_tag_mode query optional string Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified.
group_id query optional string The id of a group who's pool to search. If specified, only matching photos posted to the group's pool will be returned.
contacts query optional string Search your contacts. Either 'all' or 'ff' for just friends and family. (Experimental)
woe_id query optional string A 32-bit identifier that uniquely represents spatial entities. (not used if bbox argument is present).
place_id query optional string 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).
media query optional string Filter results by media type. Possible values are all (default), photos or videos
has_geo query optional string 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).
geo_context query optional string 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).
lat query optional string 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).
lon query optional string 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).
radius query optional number 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).
radius_units query optional string The unit of measure when doing radial geo queries. Valid options are "mi" (miles) and "km" (kilometers). The default is "km".
is_commons query optional boolean Limit the scope of the search to only photos that are part of the Flickr Commons project. Default is false.
in_gallery query optional boolean Limit the scope of the search to only photos that are in a gallery? Default is false, search all photos.
is_getty query optional boolean Limit the scope of the search to only photos that are for sale on Getty. Default is false.
per_page query optional number Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500.
page query optional number The page of results to return. If this argument is omitted, it defaults to 1.

Responses

200 OK
GET /rest?method=flickr.photos.search
GET /rest?method=flickr.photosets.getContext

Returns next and previous photos for a photo in a set

operationId: Public_getPhotoSetContext

Parameters

Name In Required Type Description
api_key query required string
photo_id query required string
photoset_id query optional string

Responses

200 OK
GET /rest?method=flickr.photosets.getContext
GET /rest?method=flickr.photosets.getList

Returns the albums belonging to the specified user

operationId: Public_getUserAlbums

Parameters

Name In Required Type Description
api_key query required string
user_id query required string
page query optional number
per_page query optional number

Responses

200 OK
GET /rest?method=flickr.photosets.getList
GET /rest?method=flickr.photosets.getPhotos

Returns a list of photos in an album.

operationId: Public_getAlbumPhotos

Parameters

Name In Required Type Description
api_key query required string
photoset_id query required string

Responses

200 OK
GET /rest?method=flickr.photosets.getPhotos
GET /rest?method=flickr.test.echo

Echos the input parameters back in the response

operationId: Public_getFlickrTestEcho

Parameters

Name In Required Type Description
api_key query required string
echo query optional string

Responses

200 OK
GET /rest?method=flickr.test.echo

Schemas

object Album
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "farm": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "photos": {
      "type": "number"
    },
    "secret": {
      "type": "string"
    },
    "server": {
      "type": "string"
    },
    "videos": {
      "type": "number"
    },
    "primary": {
      "type": "string"
    },
    "can_comment": {
      "type": "boolean"
    },
    "count_views": {
      "type": "number"
    },
    "date_create": {
      "type": "number"
    },
    "date_update": {
      "type": "number"
    },
    "description": {
      "type": "string"
    },
    "count_comments": {
      "type": "number"
    }
  }
}
object ContextPhoto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "farm": {
      "type": "string"
    },
    "safe": {
      "type": "boolean"
    },
    "media": {
      "type": "string"
    },
    "owner": {
      "type": "string"
    },
    "thumb": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "secret": {
      "type": "string"
    },
    "server": {
      "type": "string"
    },
    "license": {
      "type": "integer"
    },
    "is_faved": {
      "type": "boolean"
    }
  }
}
object ContextPhotos
{
  "type": "object",
  "properties": {
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ContextPhoto"
      }
    }
  }
}
object Cover
{
  "type": "object",
  "properties": {
    "y": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "farm": {
      "type": "string"
    },
    "owner": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "secret": {
      "type": "string"
    },
    "server": {
      "type": "string"
    },
    "isfamily": {
      "type": "boolean"
    },
    "isfriend": {
      "type": "boolean"
    },
    "ispublic": {
      "type": "boolean"
    }
  }
}
object Group
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "lang": {
      "type": "string"
    },
    "name": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "blast": {
      "type": "object",
      "properties": {
        "user_id": {
          "type": "string"
        },
        "_content": {
          "type": "string"
        },
        "date_blast_added": {
          "type": "string"
        }
      }
    },
    "cover": {
      "$ref": "#/components/schemas/Cover"
    },
    "roles": {
      "type": "object",
      "properties": {
        "admin": {
          "type": "string"
        },
        "member": {
          "type": "string"
        },
        "moderator": {
          "type": "string"
        }
      }
    },
    "rules": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "members": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "privacy": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "iconfarm": {
      "type": "string"
    },
    "is_admin": {
      "type": "boolean"
    },
    "throttle": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string"
        },
        "count": {
          "type": "integer"
        },
        "remaining": {
          "type": "string"
        }
      }
    },
    "is_member": {
      "type": "boolean"
    },
    "pool_rows": {
      "type": "integer"
    },
    "iconserver": {
      "type": "string"
    },
    "path_alias": {
      "type": "string"
    },
    "pool_count": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "description": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "topic_count": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "is_moderator": {
      "type": "boolean"
    },
    "restrictions": {
      "type": "object",
      "properties": {
        "art_ok": {
          "type": "boolean"
        },
        "has_geo": {
          "type": "boolean"
        },
        "safe_ok": {
          "type": "boolean"
        },
        "images_ok": {
          "type": "boolean"
        },
        "photos_ok": {
          "type": "boolean"
        },
        "videos_ok": {
          "type": "boolean"
        },
        "screens_ok": {
          "type": "boolean"
        },
        "moderate_ok": {
          "type": "boolean"
        },
        "restricted_ok": {
          "type": "boolean"
        }
      }
    },
    "coverphoto_url": {
      "$ref": "#/components/schemas/PhotoURLs"
    },
    "coverphoto_farm": {
      "type": "string"
    },
    "ispoolmoderated": {
      "type": "boolean"
    },
    "coverphoto_server": {
      "type": "string"
    }
  }
}
object Note
{
  "type": "object",
  "properties": {
    "description": {
      "type": "string"
    }
  }
}
object Owner
{
  "type": "object",
  "properties": {
    "nsid": {
      "type": "string"
    },
    "ispro": {
      "type": "boolean"
    },
    "iconfarm": {
      "type": "string"
    },
    "location": {
      "type": "string"
    },
    "realname": {
      "type": "string"
    },
    "username": {
      "type": "string"
    },
    "iconserver": {
      "type": "string"
    },
    "is_ad_free": {
      "type": "boolean"
    },
    "path_alias": {
      "type": "string"
    },
    "noindexfollow": {
      "type": "boolean"
    }
  }
}
object Person
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "nsid": {
      "type": "string"
    },
    "cover": {
      "$ref": "#/components/schemas/Cover"
    },
    "ispro": {
      "type": "boolean"
    },
    "yintl": {
      "type": "string"
    },
    "expire": {
      "type": "boolean"
    },
    "photos": {
      "type": "object",
      "properties": {
        "count": {
          "type": "object",
          "properties": {
            "_content": {
              "type": "string"
            }
          }
        },
        "views": {
          "type": "object",
          "properties": {
            "_content": {
              "type": "string"
            }
          }
        },
        "firstdate": {
          "type": "object",
          "properties": {
            "_content": {
              "type": "string"
            }
          }
        },
        "firstdatetaken": {
          "type": "object",
          "properties": {
            "_content": {
              "type": "string"
            }
          }
        }
      }
    },
    "iconfarm": {
      "type": "string"
    },
    "location": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "realname": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "timezone": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string"
        },
        "offset": {
          "type": "string"
        },
        "timezone_id": {
          "type": "string"
        }
      }
    },
    "username": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "has_stats": {
      "type": "boolean"
    },
    "mobileurl": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "photosurl": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "coverphoto": {
      "$ref": "#/components/schemas/PhotoURLs"
    },
    "iconserver": {
      "type": "string"
    },
    "is_ad_free": {
      "type": "boolean"
    },
    "path_alias": {
      "type": "string"
    },
    "profileurl": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "can_buy_pro": {
      "type": "boolean"
    },
    "description": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "user_secret": {
      "type": "string"
    },
    "mbox_sha1sum": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "coverphoto_farm": {
      "type": "string"
    },
    "unread_messages": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "coverphoto_server": {
      "type": "string"
    },
    "disable_keyboard_shortcuts": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    }
  }
}
object Photo
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "farm": {
      "type": "string"
    },
    "safe": {
      "type": "boolean"
    },
    "tags": {
      "type": "object",
      "properties": {
        "tag": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Tag"
          }
        }
      }
    },
    "urls": {
      "type": "object",
      "properties": {
        "url": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/URL"
          }
        }
      }
    },
    "dates": {
      "type": "object",
      "properties": {
        "taken": {
          "type": "string"
        },
        "posted": {
          "type": "string"
        },
        "lastupdate": {
          "type": "string"
        },
        "takenunknown": {
          "type": "boolean"
        },
        "takengranularity": {
          "type": "string"
        }
      }
    },
    "media": {
      "type": "string"
    },
    "notes": {
      "type": "object",
      "properties": {
        "note": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Note"
          }
        }
      }
    },
    "owner": {
      "$ref": "#/components/schemas/Owner"
    },
    "title": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "usage": {
      "type": "object",
      "properties": {
        "canblog": {
          "type": "boolean"
        },
        "canprint": {
          "type": "boolean"
        },
        "canshare": {
          "type": "boolean"
        },
        "candownload": {
          "type": "boolean"
        }
      }
    },
    "views": {
      "type": "string"
    },
    "people": {
      "type": "object",
      "properties": {
        "haspeople": {
          "type": "boolean"
        }
      }
    },
    "secret": {
      "type": "string"
    },
    "server": {
      "type": "string"
    },
    "license": {
      "type": "string"
    },
    "comments": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "rotation": {
      "type": "string"
    },
    "isfavorite": {
      "type": "boolean"
    },
    "visibility": {
      "type": "object",
      "properties": {
        "isfamily": {
          "type": "boolean"
        },
        "isfriend": {
          "type": "boolean"
        },
        "ispublic": {
          "type": "boolean"
        }
      }
    },
    "description": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "editability": {
      "type": "object",
      "properties": {
        "canaddmeta": {
          "type": "boolean"
        },
        "cancomment": {
          "type": "boolean"
        }
      }
    },
    "permissions": {
      "type": "object",
      "properties": {
        "permaddmeta": {
          "type": "string"
        },
        "permcomment": {
          "type": "string"
        }
      }
    },
    "dateuploaded": {
      "type": "string"
    },
    "safety_level": {
      "type": "string"
    },
    "originalsecret": {
      "type": "string"
    },
    "publiceditability": {
      "type": "object",
      "properties": {
        "canaddmeta": {
          "type": "boolean"
        },
        "cancomment": {
          "type": "boolean"
        }
      }
    }
  }
}
object PhotoURLs
{
  "type": "object",
  "properties": {
    "h": {
      "type": "string"
    },
    "l": {
      "type": "string"
    },
    "s": {
      "type": "string"
    },
    "t": {
      "type": "string"
    }
  }
}
object PublicFlickrGroupsPoolsGetContextResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "count": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "nextphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    },
    "prevphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    }
  }
}
string PublicGetAccessTokenResponse
{
  "type": "string"
}
object PublicGetAlbumPhotosResponse
{
  "type": "object",
  "properties": {
    "photoset": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Photo"
      }
    }
  }
}
object PublicGetFavoritePhotosResponse
{
  "type": "object",
  "properties": {
    "page": {
      "type": "number"
    },
    "pages": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Photo"
      }
    },
    "perpage": {
      "type": "number"
    }
  }
}
object PublicGetFavoritesContextResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "count": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "nextphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    },
    "prevphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    }
  }
}
object PublicGetFlickrTestEchoResponse
{
  "type": "object",
  "properties": {
    "echo": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    }
  }
}
object PublicGetGalleryPhotosResponse
{
  "type": "object",
  "properties": {
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Photo"
      }
    }
  }
}
object PublicGetGroupDiscussionTopicsResponse
{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "page": {
      "type": "number"
    },
    "pages": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "topics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Topic"
      }
    },
    "members": {
      "type": "number"
    },
    "privacy": {
      "type": "number"
    },
    "iconfarm": {
      "type": "number"
    },
    "per_page": {
      "type": "number"
    },
    "iconserver": {
      "type": "number"
    },
    "ispoolmoderated": {
      "type": "boolean"
    }
  }
}
object PublicGetGroupInfoResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "group": {
      "$ref": "#/components/schemas/Group"
    }
  }
}
object PublicGetGroupPoolPhotosResponse
{
  "type": "object",
  "properties": {
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Photo"
      }
    }
  }
}
object PublicGetGroupTopicInfoResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "topic": {
      "$ref": "#/components/schemas/Topic"
    }
  }
}
object PublicGetGroupTopicRepliesInfoResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "reply": {
      "$ref": "#/components/schemas/TopicReply"
    }
  }
}
string PublicGetOAuthTokenResponse
{
  "type": "string"
}
object PublicGetPersonInformationResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "person": {
      "$ref": "#/components/schemas/Person"
    }
  }
}
object PublicGetPhotoExifResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "photo": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "exif": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "raw": {
                "type": "object",
                "properties": {
                  "_content": {
                    "type": "string"
                  }
                }
              },
              "tag": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "tagspace": {
                "type": "string"
              },
              "tagspaceid": {
                "type": "string"
              }
            }
          }
        },
        "farm": {
          "type": "string"
        },
        "camera": {
          "type": "string"
        },
        "secret": {
          "type": "string"
        },
        "server": {
          "type": "string"
        }
      }
    }
  }
}
object PublicGetPhotoInfoResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "photo": {
      "$ref": "#/components/schemas/Photo"
    }
  }
}
object PublicGetPhotoLicensesResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "licenses": {
      "type": "object",
      "properties": {
        "license": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer"
              },
              "url": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}
object PublicGetPhotoListContextResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "count": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "nextphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    },
    "prevphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    }
  }
}
object PublicGetPhotoSetContextResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "count": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "nextphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    },
    "prevphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    }
  }
}
object PublicGetPhotoSizesResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "sizes": {
      "type": "object",
      "properties": {
        "sizes": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Size"
          }
        },
        "canblog": {
          "type": "number"
        },
        "canprint": {
          "type": "number"
        },
        "candownload": {
          "type": "number"
        }
      }
    }
  }
}
object PublicGetPhotostreamContextResponse
{
  "type": "object",
  "properties": {
    "stat": {
      "$ref": "#/components/schemas/Stat"
    },
    "count": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "nextphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    },
    "prevphoto": {
      "$ref": "#/components/schemas/ContextPhoto"
    }
  }
}
object PublicGetUserAlbumsResponse
{
  "type": "object",
  "properties": {
    "page": {
      "type": "number"
    },
    "pages": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "perpage": {
      "type": "number"
    },
    "photosets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Album"
      }
    }
  }
}
object PublicGetUserPhotosResponse
{
  "type": "object",
  "properties": {
    "page": {
      "type": "number"
    },
    "pages": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Photo"
      }
    },
    "perpage": {
      "type": "number"
    }
  }
}
object PublicSearchPhotosResponse
{
  "type": "object",
  "properties": {
    "page": {
      "type": "number"
    },
    "pages": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "photos": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Photo"
      }
    },
    "perpage": {
      "type": "number"
    }
  }
}
object PublicUploadPhotoRequest
{
  "type": "object",
  "required": [
    "api_key",
    "photo"
  ],
  "properties": {
    "tags": {
      "type": "string"
    },
    "photo": {
      "type": "string",
      "format": "binary"
    },
    "title": {
      "type": "string"
    },
    "hidden": {
      "enum": [
        "1",
        "2"
      ],
      "type": "string"
    },
    "api_key": {
      "type": "string"
    },
    "is_family": {
      "enum": [
        "0",
        "1"
      ],
      "type": "string"
    },
    "is_friend": {
      "enum": [
        "0",
        "1"
      ],
      "type": "string"
    },
    "is_public": {
      "enum": [
        "0",
        "1"
      ],
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "content_type": {
      "enum": [
        "1",
        "2",
        "3"
      ],
      "type": "string"
    },
    "safety_level": {
      "enum": [
        "1",
        "2",
        "3"
      ],
      "type": "string"
    }
  }
}
object PublicUploadPhotoResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object Size
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "media": {
      "type": "string"
    },
    "width": {
      "type": "number"
    },
    "height": {
      "type": "number"
    },
    "source": {
      "type": "string"
    }
  }
}
string Stat
{
  "type": "string"
}
object Tag
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "raw": {
      "type": "string"
    },
    "author": {
      "type": "string"
    },
    "_content": {
      "type": "string"
    },
    "authorname": {
      "type": "string"
    },
    "machine_tag": {
      "type": "boolean"
    }
  }
}
object Topic
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "role": {
      "type": "string"
    },
    "author": {
      "type": "string"
    },
    "is_pro": {
      "type": "boolean"
    },
    "message": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "subject": {
      "type": "string"
    },
    "can_edit": {
      "type": "boolean"
    },
    "iconfarm": {
      "type": "string"
    },
    "lastedit": {
      "type": "string"
    },
    "can_reply": {
      "type": "boolean"
    },
    "is_locked": {
      "type": "boolean"
    },
    "is_sticky": {
      "type": "boolean"
    },
    "authorname": {
      "type": "string"
    },
    "can_delete": {
      "type": "boolean"
    },
    "datecreate": {
      "type": "string"
    },
    "iconserver": {
      "type": "string"
    },
    "last_reply": {
      "type": "string"
    },
    "datelastpost": {
      "type": "string"
    },
    "count_replies": {
      "type": "integer"
    },
    "author_is_deleted": {
      "type": "boolean"
    },
    "author_path_alias": {
      "type": "string"
    }
  }
}
object TopicReply
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "author": {
      "type": "string"
    },
    "is_pro": {
      "type": "boolean"
    },
    "message": {
      "type": "object",
      "properties": {
        "_content": {
          "type": "string"
        }
      }
    },
    "can_edit": {
      "type": "boolean"
    },
    "iconfarm": {
      "type": "string"
    },
    "lastedit": {
      "type": "string"
    },
    "authorname": {
      "type": "string"
    },
    "can_delete": {
      "type": "boolean"
    },
    "datecreate": {
      "type": "string"
    },
    "iconserver": {
      "type": "string"
    },
    "author_is_deleted": {
      "type": "boolean"
    },
    "author_path_alias": {
      "type": "string"
    }
  }
}
object URL
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "_content": {
      "type": "string"
    }
  }
}