PageRenderTime 99ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/dist/federated-dashboard-flickr-widget.js

https://github.com/bwvoss/federated-dashboard-flickr-widget
JavaScript | 7651 lines | 7561 code | 79 blank | 11 comment | 35 complexity | 6d1555672663d85b092058e59540cdd8 MD5 | raw file
  1. (function(underscore) {
  2. 'use strict';
  3. window.namespace = function(string, obj) {
  4. var current = window,
  5. names = string.split('.'),
  6. name;
  7. while((name = names.shift())) {
  8. current[name] = current[name] || {};
  9. current = current[name];
  10. }
  11. underscore.extend(current, obj);
  12. };
  13. }(window._));
  14. (function() {
  15. var Utils = {};
  16. Utils.formQueryString = function (queryArguments) {
  17. var args = [],
  18. append = function(key) {
  19. args.push(key + "=" + queryArguments[key]);
  20. };
  21. Object.keys(queryArguments).sort().forEach(append);
  22. return args.join("&");
  23. };
  24. Utils.checkRequirements = function (method_name, required, callOptions, callback) {
  25. required = required || [];
  26. for(var r=0, last=required.length, arg; r<last; r++) {
  27. arg = required[r];
  28. if(arg.name === "api_key") continue;
  29. if(!callOptions.hasOwnProperty(arg.name)) {
  30. return callback(new Error("missing required argument '"+arg.name+"' in call to "+method_name));
  31. }
  32. }
  33. };
  34. Utils.generateAPIFunction = function (method) {
  35. return function(callOptions, callback) {
  36. if(callOptions && !callback) { callback = callOptions; callOptions = {}; }
  37. var queryArguments = Utils.generateQueryArguments(method.name, this.flickrOptions, callOptions);
  38. Utils.queryFlickr(queryArguments, this.flickrOptions, method.security, callback);
  39. };
  40. };
  41. Utils.generateAPIDevFunction = function (method) {
  42. return function(callOptions, callback) {
  43. if(callOptions && !callback) { callback = callOptions; callOptions = {}; }
  44. Utils.checkRequirements(method.name, method.required, callOptions, callback);
  45. var queryArguments = Utils.generateQueryArguments(method.name, this.flickrOptions, callOptions);
  46. Utils.queryFlickr(queryArguments, this.flickrOptions, method.security, callback, method.errors);
  47. };
  48. };
  49. Utils.generateQueryArguments = function (method_name, flickrOptions, callOptions) {
  50. // set up authorized method access
  51. var queryArguments = {
  52. method: method_name,
  53. format: "json",
  54. };
  55. if(flickrOptions.api_key) {
  56. queryArguments.api_key = flickrOptions.api_key;
  57. }
  58. // set up bindings for method-specific args
  59. Object.keys(callOptions).forEach(function(key) {
  60. queryArguments[key] = callOptions[key];
  61. });
  62. return queryArguments;
  63. };
  64. Utils.queryFlickr = function (queryArguments, flickrOptions, security, processResult) {
  65. if(flickrOptions.endpoint) {
  66. return this.queryProxyEndpoint(queryArguments, flickrOptions, processResult);
  67. }
  68. return this.queryFlickrAPI(queryArguments, flickrOptions, security, processResult);
  69. };
  70. Utils.queryFlickrAPI = function (queryArguments, flickrOptions, security, processResult) {
  71. var url = "https://api.flickr.com/services/rest/",
  72. queryString = this.formQueryString(queryArguments),
  73. flickrURL = url + "?" + queryString;
  74. // Do we need special permissions? (read private, 1, write, 2, or delete, 3)?
  75. // if so, those are currently not supported. Send an error-notification.
  76. if(security.requiredperms > 0) {
  77. return processResult(new Error("signed calls (write/delete) currently not supported"));
  78. }
  79. this.handleURLRequest("GET", flickrURL, processResult);
  80. };
  81. Utils.queryProxyEndpoint = function (queryArguments, flickrOptions, processResult) {
  82. var queryString = this.formQueryString(queryArguments),
  83. url = flickrOptions.endpoint + "?" + queryString;
  84. this.handleURLRequest("POST", url, processResult, queryArguments);
  85. };
  86. Utils.handleURLRequest = function (verb, url, processResult, postdata) {
  87. var xhr = new XMLHttpRequest();
  88. xhr.open(verb, url, true);
  89. if(postdata) {
  90. xhr.setRequestHeader("Content-Type", "application/json");
  91. }
  92. xhr.onreadystatechange = function() {
  93. if(xhr.readyState === 4) {
  94. if(xhr.status == 200) {
  95. var error = false,
  96. body = xhr.responseText;
  97. // we get a response, but there's no response body. That's a problem.
  98. if(!body) {
  99. error = "HTTP Error " + response.statusCode + " (" + statusCodes[response.statusCode] + ")";
  100. return processResult(error);
  101. }
  102. // we get a response, and there were no errors
  103. if(!error) {
  104. try {
  105. body = body.replace(/^jsonFlickrApi\(/,'').replace(/\}\)$/,'}');
  106. body = JSON.parse(body);
  107. if(body.stat !== "ok") {
  108. // There was a request error, and the JSON .stat property
  109. // will tell us what that error was.
  110. return processResult(body.message);
  111. }
  112. } catch (e) {
  113. // general JSON error
  114. return processResult("could not parse body as JSON");
  115. }
  116. }
  117. // Some kind of other error occurred. Simply call the process
  118. // handler blindly with both the error and error body.
  119. processResult(error, body);
  120. }
  121. else { processResult("HTTP status not 200 (received "+xhr.status+")"); }
  122. }
  123. };
  124. xhr.send(postdata ? JSON.stringify(postdata) : null);
  125. };
  126. Utils.errors = {
  127. "96": {
  128. "code": 96,
  129. "message": "Invalid signature",
  130. "_content": "The passed signature was invalid."
  131. },
  132. "97": {
  133. "code": 97,
  134. "message": "Missing signature",
  135. "_content": "The call required signing but no signature was sent."
  136. },
  137. "98": {
  138. "code": 98,
  139. "message": "Login failed / Invalid auth token",
  140. "_content": "The login details or auth token passed were invalid."
  141. },
  142. "99": {
  143. "code": 99,
  144. "message": "User not logged in / Insufficient permissions",
  145. "_content": "The method requires user authentication but the user was not logged in, or the authenticated method call did not have the required permissions."
  146. },
  147. "100": {
  148. "code": 100,
  149. "message": "Invalid API Key",
  150. "_content": "The API key passed was not valid or has expired."
  151. },
  152. "105": {
  153. "code": 105,
  154. "message": "Service currently unavailable",
  155. "_content": "The requested service is temporarily unavailable."
  156. },
  157. "106": {
  158. "code": 106,
  159. "message": "Write operation failed",
  160. "_content": "The requested operation failed due to a temporary issue."
  161. },
  162. "108": {
  163. "code": "108",
  164. "message": "Invalid frob",
  165. "_content": "The specified frob does not exist or has already been used."
  166. },
  167. "111": {
  168. "code": 111,
  169. "message": "Format \"xxx\" not found",
  170. "_content": "The requested response format was not found."
  171. },
  172. "112": {
  173. "code": 112,
  174. "message": "Method \"xxx\" not found",
  175. "_content": "The requested method was not found."
  176. },
  177. "114": {
  178. "code": 114,
  179. "message": "Invalid SOAP envelope",
  180. "_content": "The SOAP envelope send in the request could not be parsed."
  181. },
  182. "115": {
  183. "code": 115,
  184. "message": "Invalid XML-RPC Method Call",
  185. "_content": "The XML-RPC request document could not be parsed."
  186. },
  187. "116": {
  188. "code": 116,
  189. "message": "Bad URL found",
  190. "_content": "One or more arguments contained a URL that has been used for abuse on Flickr."
  191. }
  192. };
  193. var Flickr = function (flickrOptions) {
  194. this.bindOptions(flickrOptions);
  195. };
  196. Flickr.prototype = {};
  197. Flickr.methods = {
  198. "flickr.activity.userComments": {
  199. "optional": [
  200. {
  201. "name": "per_page",
  202. "_content": "Number of items to return per page. If this argument is omitted, it defaults to 10. The maximum allowed value is 50."
  203. },
  204. {
  205. "name": "page",
  206. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  207. }
  208. ],
  209. "security": {
  210. "needslogin": 1,
  211. "needssigning": 1,
  212. "requiredperms": 1
  213. },
  214. "name": "flickr.activity.userComments",
  215. "url": "https://www.flickr.com/services/api/flickr.activity.userComments.html"
  216. },
  217. "flickr.activity.userPhotos": {
  218. "optional": [
  219. {
  220. "name": "timeframe",
  221. "_content": "The timeframe in which to return updates for. This can be specified in days (<code>'2d'</code>) or hours (<code>'4h'</code>). The default behavoir is to return changes since the beginning of the previous user session."
  222. },
  223. {
  224. "name": "per_page",
  225. "_content": "Number of items to return per page. If this argument is omitted, it defaults to 10. The maximum allowed value is 50."
  226. },
  227. {
  228. "name": "page",
  229. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  230. }
  231. ],
  232. "security": {
  233. "needslogin": 1,
  234. "needssigning": 1,
  235. "requiredperms": 1
  236. },
  237. "name": "flickr.activity.userPhotos",
  238. "url": "https://www.flickr.com/services/api/flickr.activity.userPhotos.html"
  239. },
  240. "flickr.auth.checkToken": {
  241. "required": [
  242. {
  243. "name": "auth_token",
  244. "_content": "The authentication token to check."
  245. }
  246. ],
  247. "security": {
  248. "needslogin": 0,
  249. "needssigning": 0,
  250. "requiredperms": 0
  251. },
  252. "name": "flickr.auth.checkToken",
  253. "url": "https://www.flickr.com/services/api/flickr.auth.checkToken.html"
  254. },
  255. "flickr.auth.getFrob": {
  256. "security": {
  257. "needslogin": 0,
  258. "needssigning": 0,
  259. "requiredperms": 0
  260. },
  261. "name": "flickr.auth.getFrob",
  262. "url": "https://www.flickr.com/services/api/flickr.auth.getFrob.html"
  263. },
  264. "flickr.auth.getFullToken": {
  265. "required": [
  266. {
  267. "name": "mini_token",
  268. "_content": "The mini-token typed in by a user. It should be 9 digits long. It may optionally contain dashes."
  269. }
  270. ],
  271. "errors": [
  272. {
  273. "code": "1",
  274. "message": "Mini-token not found",
  275. "_content": "The passed mini-token was not valid."
  276. }
  277. ],
  278. "security": {
  279. "needslogin": 0,
  280. "needssigning": 0,
  281. "requiredperms": 0
  282. },
  283. "name": "flickr.auth.getFullToken",
  284. "url": "https://www.flickr.com/services/api/flickr.auth.getFullToken.html"
  285. },
  286. "flickr.auth.getToken": {
  287. "required": [
  288. {
  289. "name": "frob",
  290. "_content": "The frob to check."
  291. }
  292. ],
  293. "security": {
  294. "needslogin": 0,
  295. "needssigning": 0,
  296. "requiredperms": 0
  297. },
  298. "name": "flickr.auth.getToken",
  299. "url": "https://www.flickr.com/services/api/flickr.auth.getToken.html"
  300. },
  301. "flickr.auth.oauth.checkToken": {
  302. "required": [
  303. {
  304. "name": "oauth_token",
  305. "_content": "The OAuth authentication token to check."
  306. }
  307. ],
  308. "security": {
  309. "needslogin": 0,
  310. "needssigning": 1,
  311. "requiredperms": 0
  312. },
  313. "name": "flickr.auth.oauth.checkToken",
  314. "url": "https://www.flickr.com/services/api/flickr.auth.oauth.checkToken.html"
  315. },
  316. "flickr.auth.oauth.getAccessToken": {
  317. "security": {
  318. "needslogin": 0,
  319. "needssigning": 1,
  320. "requiredperms": 0
  321. },
  322. "name": "flickr.auth.oauth.getAccessToken",
  323. "url": "https://www.flickr.com/services/api/flickr.auth.oauth.getAccessToken.html"
  324. },
  325. "flickr.blogs.getList": {
  326. "optional": [
  327. {
  328. "name": "service",
  329. "_content": "Optionally only return blogs for a given service id. You can get a list of from <a href=\"/services/api/flickr.blogs.getServices.html\">flickr.blogs.getServices()</a>."
  330. }
  331. ],
  332. "security": {
  333. "needslogin": 1,
  334. "needssigning": 1,
  335. "requiredperms": 1
  336. },
  337. "name": "flickr.blogs.getList",
  338. "url": "https://www.flickr.com/services/api/flickr.blogs.getList.html"
  339. },
  340. "flickr.blogs.getServices": {
  341. "security": {
  342. "needslogin": 0,
  343. "needssigning": 0,
  344. "requiredperms": 0
  345. },
  346. "name": "flickr.blogs.getServices",
  347. "url": "https://www.flickr.com/services/api/flickr.blogs.getServices.html"
  348. },
  349. "flickr.blogs.postPhoto": {
  350. "required": [
  351. {
  352. "name": "photo_id",
  353. "_content": "The id of the photo to blog"
  354. },
  355. {
  356. "name": "title",
  357. "_content": "The blog post title"
  358. },
  359. {
  360. "name": "description",
  361. "_content": "The blog post body"
  362. }
  363. ],
  364. "optional": [
  365. {
  366. "name": "blog_id",
  367. "_content": "The id of the blog to post to."
  368. },
  369. {
  370. "name": "blog_password",
  371. "_content": "The password for the blog (used when the blog does not have a stored password)."
  372. },
  373. {
  374. "name": "service",
  375. "_content": "A Flickr supported blogging service. Instead of passing a blog id you can pass a service id and we'll post to the first blog of that service we find."
  376. }
  377. ],
  378. "errors": [
  379. {
  380. "code": "1",
  381. "message": "Blog not found",
  382. "_content": "The blog id was not the id of a blog belonging to the calling user"
  383. },
  384. {
  385. "code": "2",
  386. "message": "Photo not found",
  387. "_content": "The photo id was not the id of a public photo"
  388. },
  389. {
  390. "code": "3",
  391. "message": "Password needed",
  392. "_content": "A password is not stored for the blog and one was not passed with the request"
  393. },
  394. {
  395. "code": "4",
  396. "message": "Blog post failed",
  397. "_content": "The blog posting failed (a blogging API failure of some sort)"
  398. }
  399. ],
  400. "security": {
  401. "needslogin": 1,
  402. "needssigning": 1,
  403. "requiredperms": 2
  404. },
  405. "name": "flickr.blogs.postPhoto",
  406. "url": "https://www.flickr.com/services/api/flickr.blogs.postPhoto.html"
  407. },
  408. "flickr.cameras.getBrandModels": {
  409. "required": [
  410. {
  411. "name": "brand",
  412. "_content": "The ID of the requested brand (as returned from flickr.cameras.getBrands)."
  413. }
  414. ],
  415. "errors": [
  416. {
  417. "code": "1",
  418. "message": "Brand not found",
  419. "_content": "Unable to find the given brand ID."
  420. }
  421. ],
  422. "security": {
  423. "needslogin": 0,
  424. "needssigning": 0,
  425. "requiredperms": 0
  426. },
  427. "name": "flickr.cameras.getBrandModels",
  428. "url": "https://www.flickr.com/services/api/flickr.cameras.getBrandModels.html"
  429. },
  430. "flickr.cameras.getBrands": {
  431. "security": {
  432. "needslogin": 0,
  433. "needssigning": 0,
  434. "requiredperms": 0
  435. },
  436. "name": "flickr.cameras.getBrands",
  437. "url": "https://www.flickr.com/services/api/flickr.cameras.getBrands.html"
  438. },
  439. "flickr.collections.getInfo": {
  440. "required": [
  441. {
  442. "name": "collection_id",
  443. "_content": "The ID of the collection to fetch information for."
  444. }
  445. ],
  446. "optional": [
  447. {
  448. "name": "secure_image_embeds",
  449. "_content": "This argument will secure the external image embeds in all the markup and return a secure<Field> back in addition to the <Field>"
  450. }
  451. ],
  452. "errors": [
  453. {
  454. "code": "1",
  455. "message": "Collection not found",
  456. "_content": "The requested collection could not be found or is not visible to the calling user."
  457. }
  458. ],
  459. "security": {
  460. "needslogin": 1,
  461. "needssigning": 1,
  462. "requiredperms": 1
  463. },
  464. "name": "flickr.collections.getInfo",
  465. "url": "https://www.flickr.com/services/api/flickr.collections.getInfo.html"
  466. },
  467. "flickr.collections.getTree": {
  468. "optional": [
  469. {
  470. "name": "collection_id",
  471. "_content": "The ID of the collection to fetch a tree for, or zero to fetch the root collection. Defaults to zero."
  472. },
  473. {
  474. "name": "user_id",
  475. "_content": "The ID of the account to fetch the collection tree for. Deafults to the calling user."
  476. }
  477. ],
  478. "errors": [
  479. {
  480. "code": "1",
  481. "message": "User not found",
  482. "_content": "The specified user could not be found."
  483. },
  484. {
  485. "code": "2",
  486. "message": "Collection not found",
  487. "_content": "The specified collection does not exist."
  488. }
  489. ],
  490. "security": {
  491. "needslogin": 0,
  492. "needssigning": 0,
  493. "requiredperms": 0
  494. },
  495. "name": "flickr.collections.getTree",
  496. "url": "https://www.flickr.com/services/api/flickr.collections.getTree.html"
  497. },
  498. "flickr.commons.getInstitutions": {
  499. "security": {
  500. "needslogin": 0,
  501. "needssigning": 0,
  502. "requiredperms": 0
  503. },
  504. "name": "flickr.commons.getInstitutions",
  505. "url": "https://www.flickr.com/services/api/flickr.commons.getInstitutions.html"
  506. },
  507. "flickr.contacts.getList": {
  508. "optional": [
  509. {
  510. "name": "filter",
  511. "_content": "An optional filter of the results. The following values are valid:<br />\r\n&nbsp;\r\n<dl>\r\n\t<dt><b><code>friends</code></b></dt>\r\n\t<dl>Only contacts who are friends (and not family)</dl>\r\n\r\n\t<dt><b><code>family</code></b></dt>\r\n\t<dl>Only contacts who are family (and not friends)</dl>\r\n\r\n\t<dt><b><code>both</code></b></dt>\r\n\t<dl>Only contacts who are both friends and family</dl>\r\n\r\n\t<dt><b><code>neither</code></b></dt>\r\n\t<dl>Only contacts who are neither friends nor family</dl>\r\n</dl>"
  512. },
  513. {
  514. "name": "page",
  515. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  516. },
  517. {
  518. "name": "per_page",
  519. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 1000. The maximum allowed value is 1000."
  520. },
  521. {
  522. "name": "sort",
  523. "_content": "The order in which to sort the returned contacts. Defaults to name. The possible values are: name and time."
  524. },
  525. {
  526. "name": "fields",
  527. "_content": "The fields can have the following args:\r\nrealname, friend, family,path_alias,location,public_photos_count,can_tag"
  528. }
  529. ],
  530. "errors": [
  531. {
  532. "code": "1",
  533. "message": "Invalid sort parameter.",
  534. "_content": "The possible values are: name and time."
  535. }
  536. ],
  537. "security": {
  538. "needslogin": 1,
  539. "needssigning": 1,
  540. "requiredperms": 1
  541. },
  542. "name": "flickr.contacts.getList",
  543. "url": "https://www.flickr.com/services/api/flickr.contacts.getList.html"
  544. },
  545. "flickr.contacts.getListRecentlyUploaded": {
  546. "optional": [
  547. {
  548. "name": "date_lastupload",
  549. "_content": "Limits the resultset to contacts that have uploaded photos since this date. The date should be in the form of a Unix timestamp.\r\n\r\nThe default offset is (1) hour and the maximum (24) hours. "
  550. },
  551. {
  552. "name": "filter",
  553. "_content": "Limit the result set to all contacts or only those who are friends or family. Valid options are:\r\n\r\n<ul>\r\n<li><strong>ff</strong> friends and family</li>\r\n<li><strong>all</strong> all your contacts</li>\r\n</ul>\r\nDefault value is \"all\"."
  554. }
  555. ],
  556. "security": {
  557. "needslogin": 1,
  558. "needssigning": 1,
  559. "requiredperms": 1
  560. },
  561. "name": "flickr.contacts.getListRecentlyUploaded",
  562. "url": "https://www.flickr.com/services/api/flickr.contacts.getListRecentlyUploaded.html"
  563. },
  564. "flickr.contacts.getPublicList": {
  565. "required": [
  566. {
  567. "name": "user_id",
  568. "_content": "The NSID of the user to fetch the contact list for."
  569. }
  570. ],
  571. "optional": [
  572. {
  573. "name": "page",
  574. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  575. },
  576. {
  577. "name": "per_page",
  578. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 1000. The maximum allowed value is 1000."
  579. },
  580. {
  581. "name": "show_more",
  582. "_content": "Include additional information for each contact, such as realname, is_friend, is_family, path_alias and location."
  583. }
  584. ],
  585. "errors": [
  586. {
  587. "code": "1",
  588. "message": "User not found",
  589. "_content": "The specified user NSID was not a valid user."
  590. }
  591. ],
  592. "security": {
  593. "needslogin": 0,
  594. "needssigning": 0,
  595. "requiredperms": 0
  596. },
  597. "name": "flickr.contacts.getPublicList",
  598. "url": "https://www.flickr.com/services/api/flickr.contacts.getPublicList.html"
  599. },
  600. "flickr.contacts.getTaggingSuggestions": {
  601. "optional": [
  602. {
  603. "name": "include_self",
  604. "_content": "Return calling user in the list of suggestions. Default: true."
  605. },
  606. {
  607. "name": "include_address_book",
  608. "_content": "Include suggestions from the user's address book. Default: false"
  609. },
  610. {
  611. "name": "per_page",
  612. "_content": "Number of contacts to return per page. If this argument is omitted, all contacts will be returned."
  613. },
  614. {
  615. "name": "page",
  616. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  617. }
  618. ],
  619. "security": {
  620. "needslogin": 1,
  621. "needssigning": 1,
  622. "requiredperms": 1
  623. },
  624. "name": "flickr.contacts.getTaggingSuggestions",
  625. "url": "https://www.flickr.com/services/api/flickr.contacts.getTaggingSuggestions.html"
  626. },
  627. "flickr.favorites.add": {
  628. "required": [
  629. {
  630. "name": "photo_id",
  631. "_content": "The id of the photo to add to the user's favorites."
  632. }
  633. ],
  634. "errors": [
  635. {
  636. "code": "1",
  637. "message": "Photo not found",
  638. "_content": "The photo id passed was not a valid photo id."
  639. },
  640. {
  641. "code": "2",
  642. "message": "Photo is owned by you",
  643. "_content": "The photo belongs to the user and so cannot be added to their favorites."
  644. },
  645. {
  646. "code": "3",
  647. "message": "Photo is already in favorites",
  648. "_content": "The photo is already in the user's list of favorites."
  649. },
  650. {
  651. "code": "4",
  652. "message": "User cannot see photo",
  653. "_content": "The user does not have permission to add the photo to their favorites."
  654. }
  655. ],
  656. "security": {
  657. "needslogin": 1,
  658. "needssigning": 1,
  659. "requiredperms": 2
  660. },
  661. "name": "flickr.favorites.add",
  662. "url": "https://www.flickr.com/services/api/flickr.favorites.add.html"
  663. },
  664. "flickr.favorites.getContext": {
  665. "required": [
  666. {
  667. "name": "photo_id",
  668. "_content": "The id of the photo to fetch the context for."
  669. },
  670. {
  671. "name": "user_id",
  672. "_content": "The user who counts the photo as a favorite."
  673. }
  674. ],
  675. "optional": [
  676. {
  677. "name": "num_prev",
  678. "_content": ""
  679. },
  680. {
  681. "name": "num_next",
  682. "_content": ""
  683. },
  684. {
  685. "name": "extras",
  686. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: description, license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_m, url_z, url_l, url_o"
  687. }
  688. ],
  689. "errors": [
  690. {
  691. "code": "1",
  692. "message": "Photo not found",
  693. "_content": "The photo id passed was not a valid photo id, or was the id of a photo that the calling user does not have permission to view."
  694. },
  695. {
  696. "code": "2",
  697. "message": "User not found",
  698. "_content": "The specified user was not found."
  699. },
  700. {
  701. "code": "3",
  702. "message": "Photo not a favorite",
  703. "_content": "The specified photo is not a favorite of the specified user."
  704. }
  705. ],
  706. "security": {
  707. "needslogin": 0,
  708. "needssigning": 0,
  709. "requiredperms": 0
  710. },
  711. "name": "flickr.favorites.getContext",
  712. "url": "https://www.flickr.com/services/api/flickr.favorites.getContext.html"
  713. },
  714. "flickr.favorites.getList": {
  715. "optional": [
  716. {
  717. "name": "user_id",
  718. "_content": "The NSID of the user to fetch the favorites list for. If this argument is omitted, the favorites list for the calling user is returned."
  719. },
  720. {
  721. "name": "jump_to",
  722. "_content": ""
  723. },
  724. {
  725. "name": "min_fave_date",
  726. "_content": "Minimum date that a photo was favorited on. The date should be in the form of a unix timestamp."
  727. },
  728. {
  729. "name": "max_fave_date",
  730. "_content": "Maximum date that a photo was favorited on. The date should be in the form of a unix timestamp."
  731. },
  732. {
  733. "name": "get_user_info",
  734. "_content": "Include info for the user who's favorites are being returned."
  735. }
  736. ],
  737. "errors": [
  738. {
  739. "code": "1",
  740. "message": "User not found",
  741. "_content": "The specified user NSID was not a valid flickr user."
  742. }
  743. ],
  744. "security": {
  745. "needslogin": 1,
  746. "needssigning": 1,
  747. "requiredperms": 1
  748. },
  749. "name": "flickr.favorites.getList",
  750. "url": "https://www.flickr.com/services/api/flickr.favorites.getList.html"
  751. },
  752. "flickr.favorites.getPublicList": {
  753. "required": [
  754. {
  755. "name": "user_id",
  756. "_content": "The user to fetch the favorites list for."
  757. }
  758. ],
  759. "optional": [
  760. {
  761. "name": "jump_to",
  762. "_content": ""
  763. },
  764. {
  765. "name": "min_fave_date",
  766. "_content": "Minimum date that a photo was favorited on. The date should be in the form of a unix timestamp."
  767. },
  768. {
  769. "name": "max_fave_date",
  770. "_content": "Maximum date that a photo was favorited on. The date should be in the form of a unix timestamp."
  771. }
  772. ],
  773. "errors": [
  774. {
  775. "code": "1",
  776. "message": "User not found",
  777. "_content": "The specified user NSID was not a valid flickr user."
  778. }
  779. ],
  780. "security": {
  781. "needslogin": 0,
  782. "needssigning": 0,
  783. "requiredperms": 0
  784. },
  785. "name": "flickr.favorites.getPublicList",
  786. "url": "https://www.flickr.com/services/api/flickr.favorites.getPublicList.html"
  787. },
  788. "flickr.favorites.remove": {
  789. "required": [
  790. {
  791. "name": "photo_id",
  792. "_content": "The id of the photo to remove from the user's favorites."
  793. }
  794. ],
  795. "optional": [
  796. {
  797. "name": "user_id",
  798. "_content": "NSID of the user whose favorites the photo should be removed from. This only works if the calling user owns the photo."
  799. }
  800. ],
  801. "errors": [
  802. {
  803. "code": "1",
  804. "message": "Photo not in favorites",
  805. "_content": "The photo id passed was not in the user's favorites."
  806. },
  807. {
  808. "code": "2",
  809. "message": "Cannot remove photo from that user's favorites",
  810. "_content": "user_id was passed as an argument, but photo_id is not owned by the authenticated user."
  811. },
  812. {
  813. "code": "3",
  814. "message": "User not found",
  815. "_content": "Invalid user_id argument."
  816. }
  817. ],
  818. "security": {
  819. "needslogin": 1,
  820. "needssigning": 1,
  821. "requiredperms": 2
  822. },
  823. "name": "flickr.favorites.remove",
  824. "url": "https://www.flickr.com/services/api/flickr.favorites.remove.html"
  825. },
  826. "flickr.galleries.addPhoto": {
  827. "required": [
  828. {
  829. "name": "gallery_id",
  830. "_content": "The ID of the gallery to add a photo to. Note: this is the compound ID returned in methods like <a href=\"/services/api/flickr.galleries.getList.html\">flickr.galleries.getList</a>, and <a href=\"/services/api/flickr.galleries.getListForPhoto.html\">flickr.galleries.getListForPhoto</a>."
  831. },
  832. {
  833. "name": "photo_id",
  834. "_content": "The photo ID to add to the gallery"
  835. }
  836. ],
  837. "optional": [
  838. {
  839. "name": "comment",
  840. "_content": "A short comment or story to accompany the photo."
  841. }
  842. ],
  843. "errors": [
  844. {
  845. "code": "1",
  846. "message": "Required parameter missing",
  847. "_content": "One or more required parameters was not included with your API call."
  848. },
  849. {
  850. "code": "2",
  851. "message": "Invalid gallery ID",
  852. "_content": "That gallery could not be found."
  853. },
  854. {
  855. "code": "3",
  856. "message": "Invalid photo ID",
  857. "_content": "The requested photo could not be found."
  858. },
  859. {
  860. "code": "4",
  861. "message": "Invalid comment",
  862. "_content": "The comment body could not be validated."
  863. },
  864. {
  865. "code": "5",
  866. "message": "Failed to add photo",
  867. "_content": "Unable to add the photo to the gallery."
  868. }
  869. ],
  870. "security": {
  871. "needslogin": 1,
  872. "needssigning": 1,
  873. "requiredperms": 2
  874. },
  875. "name": "flickr.galleries.addPhoto",
  876. "url": "https://www.flickr.com/services/api/flickr.galleries.addPhoto.html"
  877. },
  878. "flickr.galleries.create": {
  879. "required": [
  880. {
  881. "name": "title",
  882. "_content": "The name of the gallery"
  883. },
  884. {
  885. "name": "description",
  886. "_content": "A short description for the gallery"
  887. }
  888. ],
  889. "optional": [
  890. {
  891. "name": "primary_photo_id",
  892. "_content": "The first photo to add to your gallery"
  893. },
  894. {
  895. "name": "full_result",
  896. "_content": "Get the result in the same format as galleries.getList"
  897. }
  898. ],
  899. "errors": [
  900. {
  901. "code": "1",
  902. "message": "Required parameter missing",
  903. "_content": "One or more of the required parameters was missing from your API call."
  904. },
  905. {
  906. "code": "2",
  907. "message": "Invalid title or description",
  908. "_content": "The title or the description could not be validated."
  909. },
  910. {
  911. "code": "3",
  912. "message": "Failed to add gallery",
  913. "_content": "There was a problem creating the gallery."
  914. }
  915. ],
  916. "security": {
  917. "needslogin": 1,
  918. "needssigning": 1,
  919. "requiredperms": 2
  920. },
  921. "name": "flickr.galleries.create",
  922. "url": "https://www.flickr.com/services/api/flickr.galleries.create.html"
  923. },
  924. "flickr.galleries.editMeta": {
  925. "required": [
  926. {
  927. "name": "gallery_id",
  928. "_content": "The gallery ID to update."
  929. },
  930. {
  931. "name": "title",
  932. "_content": "The new title for the gallery."
  933. }
  934. ],
  935. "optional": [
  936. {
  937. "name": "description",
  938. "_content": "The new description for the gallery."
  939. }
  940. ],
  941. "errors": [
  942. {
  943. "code": "1",
  944. "message": "Required parameter missing",
  945. "_content": "One or more required parameters was missing from your request."
  946. },
  947. {
  948. "code": "2",
  949. "message": "Invalid title or description",
  950. "_content": "The title or description arguments could not be validated."
  951. }
  952. ],
  953. "security": {
  954. "needslogin": 1,
  955. "needssigning": 1,
  956. "requiredperms": 2
  957. },
  958. "name": "flickr.galleries.editMeta",
  959. "url": "https://www.flickr.com/services/api/flickr.galleries.editMeta.html"
  960. },
  961. "flickr.galleries.editPhoto": {
  962. "required": [
  963. {
  964. "name": "gallery_id",
  965. "_content": "The ID of the gallery to add a photo to. Note: this is the compound ID returned in methods like flickr.galleries.getList, and flickr.galleries.getListForPhoto."
  966. },
  967. {
  968. "name": "photo_id",
  969. "_content": "The photo ID to add to the gallery."
  970. },
  971. {
  972. "name": "comment",
  973. "_content": "The updated comment the photo."
  974. }
  975. ],
  976. "errors": [
  977. {
  978. "code": "1",
  979. "message": "Invalid gallery ID",
  980. "_content": "That gallery could not be found."
  981. }
  982. ],
  983. "security": {
  984. "needslogin": 1,
  985. "needssigning": 1,
  986. "requiredperms": 2
  987. },
  988. "name": "flickr.galleries.editPhoto",
  989. "url": "https://www.flickr.com/services/api/flickr.galleries.editPhoto.html"
  990. },
  991. "flickr.galleries.editPhotos": {
  992. "required": [
  993. {
  994. "name": "gallery_id",
  995. "_content": "The id of the gallery to modify. The gallery must belong to the calling user."
  996. },
  997. {
  998. "name": "primary_photo_id",
  999. "_content": "The id of the photo to use as the 'primary' photo for the gallery. This id must also be passed along in photo_ids list argument."
  1000. },
  1001. {
  1002. "name": "photo_ids",
  1003. "_content": "A comma-delimited list of photo ids to include in the gallery. They will appear in the set in the order sent. This list must contain the primary photo id. This list of photos replaces the existing list."
  1004. }
  1005. ],
  1006. "security": {
  1007. "needslogin": 1,
  1008. "needssigning": 1,
  1009. "requiredperms": 2
  1010. },
  1011. "name": "flickr.galleries.editPhotos",
  1012. "url": "https://www.flickr.com/services/api/flickr.galleries.editPhotos.html"
  1013. },
  1014. "flickr.galleries.getInfo": {
  1015. "required": [
  1016. {
  1017. "name": "gallery_id",
  1018. "_content": "The gallery ID you are requesting information for."
  1019. }
  1020. ],
  1021. "security": {
  1022. "needslogin": 0,
  1023. "needssigning": 0,
  1024. "requiredperms": 0
  1025. },
  1026. "name": "flickr.galleries.getInfo",
  1027. "url": "https://www.flickr.com/services/api/flickr.galleries.getInfo.html"
  1028. },
  1029. "flickr.galleries.getList": {
  1030. "required": [
  1031. {
  1032. "name": "user_id",
  1033. "_content": "The NSID of the user to get a galleries list for. If none is specified, the calling user is assumed."
  1034. }
  1035. ],
  1036. "optional": [
  1037. {
  1038. "name": "per_page",
  1039. "_content": "Number of galleries to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1040. },
  1041. {
  1042. "name": "page",
  1043. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1044. },
  1045. {
  1046. "name": "primary_photo_extras",
  1047. "_content": "A comma-delimited list of extra information to fetch for the primary photo. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_m, url_o"
  1048. }
  1049. ],
  1050. "security": {
  1051. "needslogin": 0,
  1052. "needssigning": 0,
  1053. "requiredperms": 0
  1054. },
  1055. "name": "flickr.galleries.getList",
  1056. "url": "https://www.flickr.com/services/api/flickr.galleries.getList.html"
  1057. },
  1058. "flickr.galleries.getListForPhoto": {
  1059. "required": [
  1060. {
  1061. "name": "photo_id",
  1062. "_content": "The ID of the photo to fetch a list of galleries for."
  1063. }
  1064. ],
  1065. "optional": [
  1066. {
  1067. "name": "per_page",
  1068. "_content": "Number of galleries to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1069. },
  1070. {
  1071. "name": "page",
  1072. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1073. }
  1074. ],
  1075. "security": {
  1076. "needslogin": 0,
  1077. "needssigning": 0,
  1078. "requiredperms": 0
  1079. },
  1080. "name": "flickr.galleries.getListForPhoto",
  1081. "url": "https://www.flickr.com/services/api/flickr.galleries.getListForPhoto.html"
  1082. },
  1083. "flickr.galleries.getPhotos": {
  1084. "required": [
  1085. {
  1086. "name": "gallery_id",
  1087. "_content": "The ID of the gallery of photos to return"
  1088. }
  1089. ],
  1090. "security": {
  1091. "needslogin": 0,
  1092. "needssigning": 0,
  1093. "requiredperms": 0
  1094. },
  1095. "name": "flickr.galleries.getPhotos",
  1096. "url": "https://www.flickr.com/services/api/flickr.galleries.getPhotos.html"
  1097. },
  1098. "flickr.groups.browse": {
  1099. "optional": [
  1100. {
  1101. "name": "cat_id",
  1102. "_content": "The category id to fetch a list of groups and sub-categories for. If not specified, it defaults to zero, the root of the category tree."
  1103. }
  1104. ],
  1105. "errors": [
  1106. {
  1107. "code": "1",
  1108. "message": "Category not found",
  1109. "_content": "The value passed for cat_id was not a valid category id."
  1110. }
  1111. ],
  1112. "security": {
  1113. "needslogin": 1,
  1114. "needssigning": 1,
  1115. "requiredperms": 1
  1116. },
  1117. "name": "flickr.groups.browse",
  1118. "url": "https://www.flickr.com/services/api/flickr.groups.browse.html"
  1119. },
  1120. "flickr.groups.discuss.replies.add": {
  1121. "required": [
  1122. {
  1123. "name": "topic_id",
  1124. "_content": "The ID of the topic to post a comment to."
  1125. },
  1126. {
  1127. "name": "message",
  1128. "_content": "The message to post to the topic."
  1129. }
  1130. ],
  1131. "errors": [
  1132. {
  1133. "code": "1",
  1134. "message": "Topic not found",
  1135. "_content": "The topic_id is invalid."
  1136. },
  1137. {
  1138. "code": "2",
  1139. "message": "Cannot post to group",
  1140. "_content": "Either this account is not a member of the group, or discussion in this group is disabled.\r\n"
  1141. },
  1142. {
  1143. "code": "3",
  1144. "message": "Missing required arguments",
  1145. "_content": "The topic_id and message are required."
  1146. }
  1147. ],
  1148. "security": {
  1149. "needslogin": 1,
  1150. "needssigning": 1,
  1151. "requiredperms": 2
  1152. },
  1153. "name": "flickr.groups.discuss.replies.add",
  1154. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.replies.add.html"
  1155. },
  1156. "flickr.groups.discuss.replies.delete": {
  1157. "required": [
  1158. {
  1159. "name": "topic_id",
  1160. "_content": "The ID of the topic the post is in."
  1161. },
  1162. {
  1163. "name": "reply_id",
  1164. "_content": "The ID of the reply to delete."
  1165. }
  1166. ],
  1167. "errors": [
  1168. {
  1169. "code": "1",
  1170. "message": "Topic not found",
  1171. "_content": "The topic_id is invalid."
  1172. },
  1173. {
  1174. "code": "2",
  1175. "message": "Reply not found",
  1176. "_content": "The reply_id is invalid."
  1177. },
  1178. {
  1179. "code": "3",
  1180. "message": "Cannot delete reply",
  1181. "_content": "Replies can only be edited by their owner."
  1182. }
  1183. ],
  1184. "security": {
  1185. "needslogin": 1,
  1186. "needssigning": 1,
  1187. "requiredperms": 3
  1188. },
  1189. "name": "flickr.groups.discuss.replies.delete",
  1190. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.replies.delete.html"
  1191. },
  1192. "flickr.groups.discuss.replies.edit": {
  1193. "required": [
  1194. {
  1195. "name": "topic_id",
  1196. "_content": "The ID of the topic the post is in."
  1197. },
  1198. {
  1199. "name": "reply_id",
  1200. "_content": "The ID of the reply post to edit."
  1201. },
  1202. {
  1203. "name": "message",
  1204. "_content": "The message to edit the post with."
  1205. }
  1206. ],
  1207. "errors": [
  1208. {
  1209. "code": "1",
  1210. "message": "Topic not found",
  1211. "_content": "The topic_id is invalid"
  1212. },
  1213. {
  1214. "code": "2",
  1215. "message": "Reply not found",
  1216. "_content": "The reply_id is invalid."
  1217. },
  1218. {
  1219. "code": "3",
  1220. "message": "Missing required arguments",
  1221. "_content": "The topic_id and reply_id are required."
  1222. },
  1223. {
  1224. "code": "4",
  1225. "message": "Cannot edit reply",
  1226. "_content": "Replies can only be edited by their owner."
  1227. },
  1228. {
  1229. "code": "5",
  1230. "message": "Cannot post to group",
  1231. "_content": "Either this account is not a member of the group, or discussion in this group is disabled."
  1232. }
  1233. ],
  1234. "security": {
  1235. "needslogin": 1,
  1236. "needssigning": 1,
  1237. "requiredperms": 2
  1238. },
  1239. "name": "flickr.groups.discuss.replies.edit",
  1240. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.replies.edit.html"
  1241. },
  1242. "flickr.groups.discuss.replies.getInfo": {
  1243. "required": [
  1244. {
  1245. "name": "topic_id",
  1246. "_content": "The ID of the topic the post is in."
  1247. },
  1248. {
  1249. "name": "reply_id",
  1250. "_content": "The ID of the reply to fetch."
  1251. }
  1252. ],
  1253. "errors": [
  1254. {
  1255. "code": "1",
  1256. "message": "Topic not found",
  1257. "_content": "The topic_id is invalid"
  1258. },
  1259. {
  1260. "code": "2",
  1261. "message": "Reply not found",
  1262. "_content": "The reply_id is invalid"
  1263. }
  1264. ],
  1265. "security": {
  1266. "needslogin": 0,
  1267. "needssigning": 0,
  1268. "requiredperms": 0
  1269. },
  1270. "name": "flickr.groups.discuss.replies.getInfo",
  1271. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.replies.getInfo.html"
  1272. },
  1273. "flickr.groups.discuss.replies.getList": {
  1274. "required": [
  1275. {
  1276. "name": "topic_id",
  1277. "_content": "The ID of the topic to fetch replies for."
  1278. },
  1279. {
  1280. "name": "per_page",
  1281. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1282. }
  1283. ],
  1284. "optional": [
  1285. {
  1286. "name": "page",
  1287. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1288. }
  1289. ],
  1290. "errors": [
  1291. {
  1292. "code": "1",
  1293. "message": "Topic not found",
  1294. "_content": "The topic_id is invalid."
  1295. }
  1296. ],
  1297. "security": {
  1298. "needslogin": 0,
  1299. "needssigning": 0,
  1300. "requiredperms": 0
  1301. },
  1302. "name": "flickr.groups.discuss.replies.getList",
  1303. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.replies.getList.html"
  1304. },
  1305. "flickr.groups.discuss.topics.add": {
  1306. "required": [
  1307. {
  1308. "name": "group_id",
  1309. "_content": "The NSID of the group to add a topic to.\r\n"
  1310. },
  1311. {
  1312. "name": "subject",
  1313. "_content": "The topic subject."
  1314. },
  1315. {
  1316. "name": "message",
  1317. "_content": "The topic message."
  1318. }
  1319. ],
  1320. "errors": [
  1321. {
  1322. "code": "1",
  1323. "message": "Group not found",
  1324. "_content": "The group by that ID does not exist\r\n"
  1325. },
  1326. {
  1327. "code": "2",
  1328. "message": "Cannot post to group",
  1329. "_content": "Either this account is not a member of the group, or discussion in this group is disabled."
  1330. },
  1331. {
  1332. "code": "3",
  1333. "message": "Message is too long",
  1334. "_content": "The post message is too long."
  1335. },
  1336. {
  1337. "code": "4",
  1338. "message": "Missing required arguments",
  1339. "_content": "Subject and message are required."
  1340. }
  1341. ],
  1342. "security": {
  1343. "needslogin": 1,
  1344. "needssigning": 1,
  1345. "requiredperms": 2
  1346. },
  1347. "name": "flickr.groups.discuss.topics.add",
  1348. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.topics.add.html"
  1349. },
  1350. "flickr.groups.discuss.topics.getInfo": {
  1351. "required": [
  1352. {
  1353. "name": "topic_id",
  1354. "_content": "The ID for the topic to edit."
  1355. }
  1356. ],
  1357. "errors": [
  1358. {
  1359. "code": "1",
  1360. "message": "Topic not found",
  1361. "_content": "The topic_id is invalid"
  1362. }
  1363. ],
  1364. "security": {
  1365. "needslogin": 0,
  1366. "needssigning": 0,
  1367. "requiredperms": 0
  1368. },
  1369. "name": "flickr.groups.discuss.topics.getInfo",
  1370. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.topics.getInfo.html"
  1371. },
  1372. "flickr.groups.discuss.topics.getList": {
  1373. "required": [
  1374. {
  1375. "name": "group_id",
  1376. "_content": "The NSID of the group to fetch information for."
  1377. }
  1378. ],
  1379. "optional": [
  1380. {
  1381. "name": "per_page",
  1382. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1383. },
  1384. {
  1385. "name": "page",
  1386. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1387. }
  1388. ],
  1389. "errors": [
  1390. {
  1391. "code": "1",
  1392. "message": "Group not found",
  1393. "_content": "The group_id is invalid"
  1394. }
  1395. ],
  1396. "security": {
  1397. "needslogin": 0,
  1398. "needssigning": 0,
  1399. "requiredperms": 0
  1400. },
  1401. "name": "flickr.groups.discuss.topics.getList",
  1402. "url": "https://www.flickr.com/services/api/flickr.groups.discuss.topics.getList.html"
  1403. },
  1404. "flickr.groups.getInfo": {
  1405. "required": [
  1406. {
  1407. "name": "group_id",
  1408. "_content": "The NSID of the group to fetch information for."
  1409. }
  1410. ],
  1411. "optional": [
  1412. {
  1413. "name": "lang",
  1414. "_content": "The language of the group name and description to fetch. If the language is not found, the primary language of the group will be returned.\r\n\r\nValid values are the same as <a href=\"/services/feeds/\">in feeds</a>."
  1415. },
  1416. {
  1417. "name": "secure_image_embeds",
  1418. "_content": "This argument will secure the external image embeds in all the markup and return a secure<Field> back in addition to the <Field>"
  1419. }
  1420. ],
  1421. "errors": [
  1422. {
  1423. "code": "1",
  1424. "message": "Group not found",
  1425. "_content": "The group NSID passed did not refer to a group that the calling user can see - either an invalid group is or a group that can't be seen by the calling user."
  1426. }
  1427. ],
  1428. "security": {
  1429. "needslogin": 0,
  1430. "needssigning": 0,
  1431. "requiredperms": 0
  1432. },
  1433. "name": "flickr.groups.getInfo",
  1434. "url": "https://www.flickr.com/services/api/flickr.groups.getInfo.html"
  1435. },
  1436. "flickr.groups.join": {
  1437. "required": [
  1438. {
  1439. "name": "group_id",
  1440. "_content": "The NSID of the Group in question"
  1441. }
  1442. ],
  1443. "optional": [
  1444. {
  1445. "name": "accept_rules",
  1446. "_content": "If the group has rules, they must be displayed to the user prior to joining. Passing a true value for this argument specifies that the application has displayed the group rules to the user, and that the user has agreed to them. (See flickr.groups.getInfo)."
  1447. }
  1448. ],
  1449. "errors": [
  1450. {
  1451. "code": "1",
  1452. "message": "Required arguments missing",
  1453. "_content": "The group_id doesn't exist"
  1454. },
  1455. {
  1456. "code": "2",
  1457. "message": "Group does not exist",
  1458. "_content": "The Group does not exist"
  1459. },
  1460. {
  1461. "code": "3",
  1462. "message": "Group not availabie to the account",
  1463. "_content": "The authed account does not have permission to view/join the group."
  1464. },
  1465. {
  1466. "code": "4",
  1467. "message": "Account is already in that group",
  1468. "_content": "The authed account has previously joined this group"
  1469. },
  1470. {
  1471. "code": "5",
  1472. "message": "Membership in group is by invitation only.",
  1473. "_content": "Use flickr.groups.joinRequest to contact the administrations for an invitation."
  1474. },
  1475. {
  1476. "code": "6",
  1477. "message": "User must accept the group rules before joining",
  1478. "_content": "The user must read and accept the rules before joining. Please see the accept_rules argument for this method."
  1479. },
  1480. {
  1481. "code": "10",
  1482. "message": "Account in maximum number of groups",
  1483. "_content": "The account is a member of the maximum number of groups."
  1484. }
  1485. ],
  1486. "security": {
  1487. "needslogin": 1,
  1488. "needssigning": 1,
  1489. "requiredperms": 2
  1490. },
  1491. "name": "flickr.groups.join",
  1492. "url": "https://www.flickr.com/services/api/flickr.groups.join.html"
  1493. },
  1494. "flickr.groups.joinRequest": {
  1495. "required": [
  1496. {
  1497. "name": "group_id",
  1498. "_content": "The NSID of the group to request joining."
  1499. },
  1500. {
  1501. "name": "message",
  1502. "_content": "Message to the administrators."
  1503. },
  1504. {
  1505. "name": "accept_rules",
  1506. "_content": "If the group has rules, they must be displayed to the user prior to joining. Passing a true value for this argument specifies that the application has displayed the group rules to the user, and that the user has agreed to them. (See flickr.groups.getInfo)."
  1507. }
  1508. ],
  1509. "errors": [
  1510. {
  1511. "code": "1",
  1512. "message": "Required arguments missing",
  1513. "_content": "The group_id or message argument are missing."
  1514. },
  1515. {
  1516. "code": "2",
  1517. "message": "Group does not exist",
  1518. "_content": "The Group does not exist"
  1519. },
  1520. {
  1521. "code": "3",
  1522. "message": "Group not available to the account",
  1523. "_content": "The authed account does not have permission to view/join the group."
  1524. },
  1525. {
  1526. "code": "4",
  1527. "message": "Account is already in that group",
  1528. "_content": "The authed account has previously joined this group"
  1529. },
  1530. {
  1531. "code": "5",
  1532. "message": "Group is public and open",
  1533. "_content": "The group does not require an invitation to join, please use flickr.groups.join."
  1534. },
  1535. {
  1536. "code": "6",
  1537. "message": "User must accept the group rules before joining",
  1538. "_content": "The user must read and accept the rules before joining. Please see the accept_rules argument for this method."
  1539. },
  1540. {
  1541. "code": "7",
  1542. "message": "User has already requested to join that group",
  1543. "_content": "A request has already been sent and is pending approval."
  1544. }
  1545. ],
  1546. "security": {
  1547. "needslogin": 1,
  1548. "needssigning": 1,
  1549. "requiredperms": 2
  1550. },
  1551. "name": "flickr.groups.joinRequest",
  1552. "url": "https://www.flickr.com/services/api/flickr.groups.joinRequest.html"
  1553. },
  1554. "flickr.groups.leave": {
  1555. "required": [
  1556. {
  1557. "name": "group_id",
  1558. "_content": "The NSID of the Group to leave"
  1559. }
  1560. ],
  1561. "optional": [
  1562. {
  1563. "name": "delete_photos",
  1564. "_content": "Delete all photos by this user from the group"
  1565. }
  1566. ],
  1567. "errors": [
  1568. {
  1569. "code": "1",
  1570. "message": "Required arguments missing",
  1571. "_content": "The group_id doesn't exist"
  1572. },
  1573. {
  1574. "code": "2",
  1575. "message": "Group does not exist",
  1576. "_content": "The group by that ID does not exist"
  1577. },
  1578. {
  1579. "code": "3",
  1580. "message": "Account is not in that group",
  1581. "_content": "The user is not a member of the group that was specified"
  1582. }
  1583. ],
  1584. "security": {
  1585. "needslogin": 1,
  1586. "needssigning": 1,
  1587. "requiredperms": 3
  1588. },
  1589. "name": "flickr.groups.leave",
  1590. "url": "https://www.flickr.com/services/api/flickr.groups.leave.html"
  1591. },
  1592. "flickr.groups.members.getList": {
  1593. "required": [
  1594. {
  1595. "name": "group_id",
  1596. "_content": "Return a list of members for this group. The group must be viewable by the Flickr member on whose behalf the API call is made."
  1597. }
  1598. ],
  1599. "optional": [
  1600. {
  1601. "name": "membertypes",
  1602. "_content": "Comma separated list of member types\r\n<ul>\r\n<li>2: member</li>\r\n<li>3: moderator</li>\r\n<li>4: admin</li>\r\n</ul>\r\nBy default returns all types. (Returning super rare member type \"1: narwhal\" isn't supported by this API method)"
  1603. },
  1604. {
  1605. "name": "per_page",
  1606. "_content": "Number of members to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1607. },
  1608. {
  1609. "name": "page",
  1610. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1611. }
  1612. ],
  1613. "errors": [
  1614. {
  1615. "code": "1",
  1616. "message": "Group not found",
  1617. "_content": ""
  1618. }
  1619. ],
  1620. "security": {
  1621. "needslogin": 1,
  1622. "needssigning": 1,
  1623. "requiredperms": 1
  1624. },
  1625. "name": "flickr.groups.members.getList",
  1626. "url": "https://www.flickr.com/services/api/flickr.groups.members.getList.html"
  1627. },
  1628. "flickr.groups.pools.add": {
  1629. "required": [
  1630. {
  1631. "name": "photo_id",
  1632. "_content": "The id of the photo to add to the group pool. The photo must belong to the calling user."
  1633. },
  1634. {
  1635. "name": "group_id",
  1636. "_content": "The NSID of the group who's pool the photo is to be added to."
  1637. }
  1638. ],
  1639. "errors": [
  1640. {
  1641. "code": "1",
  1642. "message": "Photo not found",
  1643. "_content": "The photo id passed was not the id of a photo owned by the caling user."
  1644. },
  1645. {
  1646. "code": "2",
  1647. "message": "Group not found",
  1648. "_content": "The group id passed was not a valid id for a group the user is a member of."
  1649. },
  1650. {
  1651. "code": "3",
  1652. "message": "Photo already in pool",
  1653. "_content": "The specified photo is already in the pool for the specified group."
  1654. },
  1655. {
  1656. "code": "4",
  1657. "message": "Photo in maximum number of pools",
  1658. "_content": "The photo has already been added to the maximum allowed number of pools."
  1659. },
  1660. {
  1661. "code": "5",
  1662. "message": "Photo limit reached",
  1663. "_content": "The user has already added the maximum amount of allowed photos to the pool."
  1664. },
  1665. {
  1666. "code": "6",
  1667. "message": "Your Photo has been added to the Pending Queue for this Pool",
  1668. "_content": "The pool is moderated, and the photo has been added to the Pending Queue. If it is approved by a group administrator, it will be added to the pool."
  1669. },
  1670. {
  1671. "code": "7",
  1672. "message": "Your Photo has already been added to the Pending Queue for this Pool",
  1673. "_content": "The pool is moderated, and the photo has already been added to the Pending Queue."
  1674. },
  1675. {
  1676. "code": "8",
  1677. "message": "Content not allowed",
  1678. "_content": "The content has been disallowed from the pool by the group admin(s)."
  1679. },
  1680. {
  1681. "code": "10",
  1682. "message": "Maximum number of photos in Group Pool",
  1683. "_content": "A group pool has reached the upper limit for the number of photos allowed."
  1684. }
  1685. ],
  1686. "security": {
  1687. "needslogin": 1,
  1688. "needssigning": 1,
  1689. "requiredperms": 2
  1690. },
  1691. "name": "flickr.groups.pools.add",
  1692. "url": "https://www.flickr.com/services/api/flickr.groups.pools.add.html"
  1693. },
  1694. "flickr.groups.pools.getContext": {
  1695. "required": [
  1696. {
  1697. "name": "photo_id",
  1698. "_content": "The id of the photo to fetch the context for."
  1699. },
  1700. {
  1701. "name": "group_id",
  1702. "_content": "The nsid of the group who's pool to fetch the photo's context for."
  1703. }
  1704. ],
  1705. "optional": [
  1706. {
  1707. "name": "num_prev",
  1708. "_content": ""
  1709. },
  1710. {
  1711. "name": "num_next",
  1712. "_content": ""
  1713. },
  1714. {
  1715. "name": "extras",
  1716. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: description, license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_m, url_z, url_l, url_o"
  1717. }
  1718. ],
  1719. "errors": [
  1720. {
  1721. "code": "1",
  1722. "message": "Photo not found",
  1723. "_content": "The photo id passed was not a valid photo id, or was the id of a photo that the calling user does not have permission to view."
  1724. },
  1725. {
  1726. "code": "2",
  1727. "message": "Photo not in pool",
  1728. "_content": "The specified photo is not in the specified group's pool."
  1729. },
  1730. {
  1731. "code": "3",
  1732. "message": "Group not found",
  1733. "_content": "The specified group nsid was not a valid group or the caller does not have permission to view the group's pool."
  1734. }
  1735. ],
  1736. "security": {
  1737. "needslogin": 0,
  1738. "needssigning": 0,
  1739. "requiredperms": 0
  1740. },
  1741. "name": "flickr.groups.pools.getContext",
  1742. "url": "https://www.flickr.com/services/api/flickr.groups.pools.getContext.html"
  1743. },
  1744. "flickr.groups.pools.getGroups": {
  1745. "optional": [
  1746. {
  1747. "name": "page",
  1748. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1749. },
  1750. {
  1751. "name": "per_page",
  1752. "_content": "Number of groups to return per page. If this argument is omitted, it defaults to 400. The maximum allowed value is 400."
  1753. },
  1754. {
  1755. "name": "extras",
  1756. "_content": "can take the value icon_urls_deep and return the various buddy icon sizes for the group. It can only be done by blessed APIs"
  1757. }
  1758. ],
  1759. "security": {
  1760. "needslogin": 1,
  1761. "needssigning": 1,
  1762. "requiredperms": 1
  1763. },
  1764. "name": "flickr.groups.pools.getGroups",
  1765. "url": "https://www.flickr.com/services/api/flickr.groups.pools.getGroups.html"
  1766. },
  1767. "flickr.groups.pools.getPhotos": {
  1768. "required": [
  1769. {
  1770. "name": "group_id",
  1771. "_content": "The id of the group who's pool you which to get the photo list for."
  1772. }
  1773. ],
  1774. "optional": [
  1775. {
  1776. "name": "tags",
  1777. "_content": "A tag to filter the pool with. At the moment only one tag at a time is supported."
  1778. },
  1779. {
  1780. "name": "user_id",
  1781. "_content": "The nsid of a user. Specifiying this parameter will retrieve for you only those photos that the user has contributed to the group pool."
  1782. },
  1783. {
  1784. "name": "safe_search",
  1785. "_content": "Safe search setting:\r\n<ul>\r\n<li>1 for safe.</li>\r\n<li>2 for moderate.</li>\r\n<li>3 for restricted.</li>\r\n</ul>"
  1786. },
  1787. {
  1788. "name": "jump_to",
  1789. "_content": ""
  1790. }
  1791. ],
  1792. "errors": [
  1793. {
  1794. "code": "1",
  1795. "message": "Group not found",
  1796. "_content": "The group id passed was not a valid group id."
  1797. },
  1798. {
  1799. "code": "2",
  1800. "message": "You don't have permission to view this pool",
  1801. "_content": "The logged in user (if any) does not have permission to view the pool for this group."
  1802. },
  1803. {
  1804. "code": "3",
  1805. "message": "Unknown user",
  1806. "_content": "The user specified by user_id does not exist."
  1807. }
  1808. ],
  1809. "security": {
  1810. "needslogin": 0,
  1811. "needssigning": 0,
  1812. "requiredperms": 0
  1813. },
  1814. "name": "flickr.groups.pools.getPhotos",
  1815. "url": "https://www.flickr.com/services/api/flickr.groups.pools.getPhotos.html"
  1816. },
  1817. "flickr.groups.pools.remove": {
  1818. "required": [
  1819. {
  1820. "name": "photo_id",
  1821. "_content": "The id of the photo to remove from the group pool. The photo must either be owned by the calling user of the calling user must be an administrator of the group."
  1822. },
  1823. {
  1824. "name": "group_id",
  1825. "_content": "The NSID of the group who's pool the photo is to removed from."
  1826. }
  1827. ],
  1828. "errors": [
  1829. {
  1830. "code": "1",
  1831. "message": "Group not found",
  1832. "_content": "The group_id passed did not refer to a valid group."
  1833. },
  1834. {
  1835. "code": "2",
  1836. "message": "Photo not in pool",
  1837. "_content": "The photo_id passed was not a valid id of a photo in the group pool."
  1838. },
  1839. {
  1840. "code": "3",
  1841. "message": "Insufficient permission to remove photo",
  1842. "_content": "The calling user doesn't own the photo and is not an administrator of the group, so may not remove the photo from the pool."
  1843. }
  1844. ],
  1845. "security": {
  1846. "needslogin": 1,
  1847. "needssigning": 1,
  1848. "requiredperms": 2
  1849. },
  1850. "name": "flickr.groups.pools.remove",
  1851. "url": "https://www.flickr.com/services/api/flickr.groups.pools.remove.html"
  1852. },
  1853. "flickr.groups.search": {
  1854. "required": [
  1855. {
  1856. "name": "text",
  1857. "_content": "The text to search for."
  1858. }
  1859. ],
  1860. "optional": [
  1861. {
  1862. "name": "per_page",
  1863. "_content": "Number of groups to return per page. If this argument is ommited, it defaults to 100. The maximum allowed value is 500."
  1864. },
  1865. {
  1866. "name": "page",
  1867. "_content": "The page of results to return. If this argument is ommited, it defaults to 1. "
  1868. },
  1869. {
  1870. "name": "user_id",
  1871. "_content": "NSID of the user, if you want to restrict your search by the groups this user is a member of. NOTE : This is experimental, and only search within the currently signed in user's groups is supported. "
  1872. },
  1873. {
  1874. "name": "safe_search",
  1875. "_content": "safe_search =1 means only safe groups\r\nsafe_search =2 means all groups\r\nsafe_search =3 means only 18+ groups\r\nDefault is 1. \r\n"
  1876. }
  1877. ],
  1878. "errors": [
  1879. {
  1880. "code": "1",
  1881. "message": "No text passed",
  1882. "_content": "The required text argument was ommited."
  1883. }
  1884. ],
  1885. "security": {
  1886. "needslogin": 0,
  1887. "needssigning": 0,
  1888. "requiredperms": 0
  1889. },
  1890. "name": "flickr.groups.search",
  1891. "url": "https://www.flickr.com/services/api/flickr.groups.search.html"
  1892. },
  1893. "flickr.interestingness.getList": {
  1894. "optional": [
  1895. {
  1896. "name": "date",
  1897. "_content": "A specific date, formatted as YYYY-MM-DD, to return interesting photos for."
  1898. },
  1899. {
  1900. "name": "use_panda",
  1901. "_content": "Always ask the pandas for interesting photos. This is a temporary argument to allow developers to update their code."
  1902. }
  1903. ],
  1904. "errors": [
  1905. {
  1906. "code": "1",
  1907. "message": "Not a valid date string.",
  1908. "_content": "The date string passed did not validate. All dates must be formatted : YYYY-MM-DD"
  1909. }
  1910. ],
  1911. "security": {
  1912. "needslogin": 0,
  1913. "needssigning": 0,
  1914. "requiredperms": 0
  1915. },
  1916. "name": "flickr.interestingness.getList",
  1917. "url": "https://www.flickr.com/services/api/flickr.interestingness.getList.html"
  1918. },
  1919. "flickr.machinetags.getNamespaces": {
  1920. "optional": [
  1921. {
  1922. "name": "predicate",
  1923. "_content": "Limit the list of namespaces returned to those that have the following predicate."
  1924. },
  1925. {
  1926. "name": "per_page",
  1927. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1928. },
  1929. {
  1930. "name": "page",
  1931. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1932. }
  1933. ],
  1934. "errors": [
  1935. {
  1936. "code": "1",
  1937. "message": "Not a valid predicate.",
  1938. "_content": "Missing or invalid predicate argument."
  1939. }
  1940. ],
  1941. "security": {
  1942. "needslogin": 0,
  1943. "needssigning": 0,
  1944. "requiredperms": 0
  1945. },
  1946. "name": "flickr.machinetags.getNamespaces",
  1947. "url": "https://www.flickr.com/services/api/flickr.machinetags.getNamespaces.html"
  1948. },
  1949. "flickr.machinetags.getPairs": {
  1950. "optional": [
  1951. {
  1952. "name": "namespace",
  1953. "_content": "Limit the list of pairs returned to those that have the following namespace."
  1954. },
  1955. {
  1956. "name": "predicate",
  1957. "_content": "Limit the list of pairs returned to those that have the following predicate."
  1958. },
  1959. {
  1960. "name": "per_page",
  1961. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1962. },
  1963. {
  1964. "name": "page",
  1965. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  1966. }
  1967. ],
  1968. "errors": [
  1969. {
  1970. "code": "1",
  1971. "message": "Not a valid namespace",
  1972. "_content": "Missing or invalid namespace argument."
  1973. },
  1974. {
  1975. "code": "2",
  1976. "message": "Not a valid predicate",
  1977. "_content": "Missing or invalid predicate argument."
  1978. }
  1979. ],
  1980. "security": {
  1981. "needslogin": 0,
  1982. "needssigning": 0,
  1983. "requiredperms": 0
  1984. },
  1985. "name": "flickr.machinetags.getPairs",
  1986. "url": "https://www.flickr.com/services/api/flickr.machinetags.getPairs.html"
  1987. },
  1988. "flickr.machinetags.getPredicates": {
  1989. "optional": [
  1990. {
  1991. "name": "namespace",
  1992. "_content": "Limit the list of predicates returned to those that have the following namespace."
  1993. },
  1994. {
  1995. "name": "per_page",
  1996. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  1997. },
  1998. {
  1999. "name": "page",
  2000. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  2001. }
  2002. ],
  2003. "errors": [
  2004. {
  2005. "code": "1",
  2006. "message": "Not a valid namespace",
  2007. "_content": "Missing or invalid namespace argument."
  2008. }
  2009. ],
  2010. "security": {
  2011. "needslogin": 0,
  2012. "needssigning": 0,
  2013. "requiredperms": 0
  2014. },
  2015. "name": "flickr.machinetags.getPredicates",
  2016. "url": "https://www.flickr.com/services/api/flickr.machinetags.getPredicates.html"
  2017. },
  2018. "flickr.machinetags.getRecentValues": {
  2019. "optional": [
  2020. {
  2021. "name": "namespace",
  2022. "_content": "A namespace that all values should be restricted to."
  2023. },
  2024. {
  2025. "name": "predicate",
  2026. "_content": "A predicate that all values should be restricted to."
  2027. },
  2028. {
  2029. "name": "added_since",
  2030. "_content": "Only return machine tags values that have been added since this timestamp, in epoch seconds. "
  2031. }
  2032. ],
  2033. "security": {
  2034. "needslogin": 0,
  2035. "needssigning": 0,
  2036. "requiredperms": 0
  2037. },
  2038. "name": "flickr.machinetags.getRecentValues",
  2039. "url": "https://www.flickr.com/services/api/flickr.machinetags.getRecentValues.html"
  2040. },
  2041. "flickr.machinetags.getValues": {
  2042. "required": [
  2043. {
  2044. "name": "namespace",
  2045. "_content": "The namespace that all values should be restricted to."
  2046. },
  2047. {
  2048. "name": "predicate",
  2049. "_content": "The predicate that all values should be restricted to."
  2050. }
  2051. ],
  2052. "optional": [
  2053. {
  2054. "name": "per_page",
  2055. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500."
  2056. },
  2057. {
  2058. "name": "page",
  2059. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  2060. },
  2061. {
  2062. "name": "usage",
  2063. "_content": "Minimum usage count."
  2064. }
  2065. ],
  2066. "errors": [
  2067. {
  2068. "code": "1",
  2069. "message": "Not a valid namespace",
  2070. "_content": "Missing or invalid namespace argument."
  2071. },
  2072. {
  2073. "code": "2",
  2074. "message": "Not a valid predicate",
  2075. "_content": "Missing or invalid predicate argument."
  2076. }
  2077. ],
  2078. "security": {
  2079. "needslogin": 0,
  2080. "needssigning": 0,
  2081. "requiredperms": 0
  2082. },
  2083. "name": "flickr.machinetags.getValues",
  2084. "url": "https://www.flickr.com/services/api/flickr.machinetags.getValues.html"
  2085. },
  2086. "flickr.panda.getList": {
  2087. "security": {
  2088. "needslogin": 0,
  2089. "needssigning": 0,
  2090. "requiredperms": 0
  2091. },
  2092. "name": "flickr.panda.getList",
  2093. "url": "https://www.flickr.com/services/api/flickr.panda.getList.html"
  2094. },
  2095. "flickr.panda.getPhotos": {
  2096. "required": [
  2097. {
  2098. "name": "panda_name",
  2099. "_content": "The name of the panda to ask for photos from. There are currently three pandas named:<br /><br />\r\n\r\n<ul>\r\n<li><strong><a href=\"http://flickr.com/photos/ucumari/126073203/\">ling ling</a></strong></li>\r\n<li><strong><a href=\"http://flickr.com/photos/lynnehicks/136407353\">hsing hsing</a></strong></li>\r\n<li><strong><a href=\"http://flickr.com/photos/perfectpandas/1597067182/\">wang wang</a></strong></li>\r\n</ul>\r\n\r\n<br />You can fetch a list of all the current pandas using the <a href=\"/services/api/flickr.panda.getList.html\">flickr.panda.getList</a> API method."
  2100. }
  2101. ],
  2102. "errors": [
  2103. {
  2104. "code": "1",
  2105. "message": "Required parameter missing.",
  2106. "_content": "One or more required parameters was not included with your request."
  2107. },
  2108. {
  2109. "code": "2",
  2110. "message": "Unknown panda",
  2111. "_content": "You requested a panda we haven't met yet."
  2112. }
  2113. ],
  2114. "security": {
  2115. "needslogin": 0,
  2116. "needssigning": 0,
  2117. "requiredperms": 0
  2118. },
  2119. "name": "flickr.panda.getPhotos",
  2120. "url": "https://www.flickr.com/services/api/flickr.panda.getPhotos.html"
  2121. },
  2122. "flickr.people.findByEmail": {
  2123. "required": [
  2124. {
  2125. "name": "find_email",
  2126. "_content": "The email address of the user to find (may be primary or secondary)."
  2127. }
  2128. ],
  2129. "errors": [
  2130. {
  2131. "code": "1",
  2132. "message": "User not found",
  2133. "_content": "No user with the supplied email address was found."
  2134. }
  2135. ],
  2136. "security": {
  2137. "needslogin": 0,
  2138. "needssigning": 0,
  2139. "requiredperms": 0
  2140. },
  2141. "name": "flickr.people.findByEmail",
  2142. "url": "https://www.flickr.com/services/api/flickr.people.findByEmail.html"
  2143. },
  2144. "flickr.people.findByUsername": {
  2145. "required": [
  2146. {
  2147. "name": "username",
  2148. "_content": "The username of the user to lookup."
  2149. }
  2150. ],
  2151. "errors": [
  2152. {
  2153. "code": "1",
  2154. "message": "User not found",
  2155. "_content": "No user with the supplied username was found."
  2156. }
  2157. ],
  2158. "security": {
  2159. "needslogin": 0,
  2160. "needssigning": 0,
  2161. "requiredperms": 0
  2162. },
  2163. "name": "flickr.people.findByUsername",
  2164. "url": "https://www.flickr.com/services/api/flickr.people.findByUsername.html"
  2165. },
  2166. "flickr.people.getGroups": {
  2167. "required": [
  2168. {
  2169. "name": "user_id",
  2170. "_content": "The NSID of the user to fetch groups for."
  2171. }
  2172. ],
  2173. "optional": [
  2174. {
  2175. "name": "extras",
  2176. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: <code>privacy</code>, <code>throttle</code>, <code>restrictions</code>"
  2177. },
  2178. {
  2179. "name": "page",
  2180. "_content": "Page number for the groups"
  2181. },
  2182. {
  2183. "name": "per_page",
  2184. "_content": "Number of groups per page"
  2185. }
  2186. ],
  2187. "errors": [
  2188. {
  2189. "code": "1",
  2190. "message": "User not found",
  2191. "_content": "The user id passed did not match a Flickr user."
  2192. }
  2193. ],
  2194. "security": {
  2195. "needslogin": 1,
  2196. "needssigning": 1,
  2197. "requiredperms": 1
  2198. },
  2199. "name": "flickr.people.getGroups",
  2200. "url": "https://www.flickr.com/services/api/flickr.people.getGroups.html"
  2201. },
  2202. "flickr.people.getInfo": {
  2203. "required": [
  2204. {
  2205. "name": "user_id",
  2206. "_content": "The NSID of the user to fetch information about."
  2207. },
  2208. {
  2209. "name": "url",
  2210. "_content": "As an alternative to user_id, load a member based on URL, either photos or people URL."
  2211. }
  2212. ],
  2213. "optional": [
  2214. {
  2215. "name": "fb_connected",
  2216. "_content": "If set to 1, it checks if the user is connected to Facebook and returns that information back."
  2217. },
  2218. {
  2219. "name": "storage",
  2220. "_content": "If set to 1, it returns the storage information about the user, like the storage used and storage available."
  2221. },
  2222. {
  2223. "name": "datecreate",
  2224. "_content": "If set to 1, it returns the timestamp of the user's account creation, in MySQL DATETIME format."
  2225. }
  2226. ],
  2227. "errors": [
  2228. {
  2229. "code": "1",
  2230. "message": "User not found",
  2231. "_content": "The user id passed did not match a Flickr user."
  2232. }
  2233. ],
  2234. "security": {
  2235. "needslogin": 0,
  2236. "needssigning": 0,
  2237. "requiredperms": 0
  2238. },
  2239. "name": "flickr.people.getInfo",
  2240. "url": "https://www.flickr.com/services/api/flickr.people.getInfo.html"
  2241. },
  2242. "flickr.people.getLimits": {
  2243. "security": {
  2244. "needslogin": 1,
  2245. "needssigning": 1,
  2246. "requiredperms": 1
  2247. },
  2248. "name": "flickr.people.getLimits",
  2249. "url": "https://www.flickr.com/services/api/flickr.people.getLimits.html"
  2250. },
  2251. "flickr.people.getPhotos": {
  2252. "required": [
  2253. {
  2254. "name": "user_id",
  2255. "_content": "The NSID of the user who's photos to return. A value of \"me\" will return the calling user's photos."
  2256. }
  2257. ],
  2258. "optional": [
  2259. {
  2260. "name": "safe_search",
  2261. "_content": "Safe search setting:\r\n\r\n<ul>\r\n<li>1 for safe.</li>\r\n<li>2 for moderate.</li>\r\n<li>3 for restricted.</li>\r\n</ul>\r\n\r\n(Please note: Un-authed calls can only see Safe content.)"
  2262. },
  2263. {
  2264. "name": "min_upload_date",
  2265. "_content": "Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  2266. },
  2267. {
  2268. "name": "max_upload_date",
  2269. "_content": "Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  2270. },
  2271. {
  2272. "name": "min_taken_date",
  2273. "_content": "Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  2274. },
  2275. {
  2276. "name": "max_taken_date",
  2277. "_content": "Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  2278. },
  2279. {
  2280. "name": "content_type",
  2281. "_content": "Content Type setting:\r\n<ul>\r\n<li>1 for photos only.</li>\r\n<li>2 for screenshots only.</li>\r\n<li>3 for 'other' only.</li>\r\n<li>4 for photos and screenshots.</li>\r\n<li>5 for screenshots and 'other'.</li>\r\n<li>6 for photos and 'other'.</li>\r\n<li>7 for photos, screenshots, and 'other' (all).</li>\r\n</ul>"
  2282. },
  2283. {
  2284. "name": "privacy_filter",
  2285. "_content": "Return photos only matching a certain privacy level. This only applies when making an authenticated call to view photos you own. Valid values are:\r\n<ul>\r\n<li>1 public photos</li>\r\n<li>2 private photos visible to friends</li>\r\n<li>3 private photos visible to family</li>\r\n<li>4 private photos visible to friends & family</li>\r\n<li>5 completely private photos</li>\r\n</ul>"
  2286. }
  2287. ],
  2288. "errors": [
  2289. {
  2290. "code": "1",
  2291. "message": "Required arguments missing",
  2292. "_content": ""
  2293. },
  2294. {
  2295. "code": "2",
  2296. "message": "Unknown user",
  2297. "_content": "A user_id was passed which did not match a valid flickr user."
  2298. }
  2299. ],
  2300. "security": {
  2301. "needslogin": 0,
  2302. "needssigning": 0,
  2303. "requiredperms": 0
  2304. },
  2305. "name": "flickr.people.getPhotos",
  2306. "url": "https://www.flickr.com/services/api/flickr.people.getPhotos.html"
  2307. },
  2308. "flickr.people.getPhotosOf": {
  2309. "required": [
  2310. {
  2311. "name": "user_id",
  2312. "_content": "The NSID of the user you want to find photos of. A value of \"me\" will search against photos of the calling user, for authenticated calls."
  2313. }
  2314. ],
  2315. "optional": [
  2316. {
  2317. "name": "owner_id",
  2318. "_content": "An NSID of a Flickr member. This will restrict the list of photos to those taken by that member."
  2319. }
  2320. ],
  2321. "errors": [
  2322. {
  2323. "code": "1",
  2324. "message": "User not found.",
  2325. "_content": "A user_id was passed which did not match a valid flickr user."
  2326. }
  2327. ],
  2328. "security": {
  2329. "needslogin": 0,
  2330. "needssigning": 0,
  2331. "requiredperms": 0
  2332. },
  2333. "name": "flickr.people.getPhotosOf",
  2334. "url": "https://www.flickr.com/services/api/flickr.people.getPhotosOf.html"
  2335. },
  2336. "flickr.people.getPublicGroups": {
  2337. "required": [
  2338. {
  2339. "name": "user_id",
  2340. "_content": "The NSID of the user to fetch groups for."
  2341. }
  2342. ],
  2343. "optional": [
  2344. {
  2345. "name": "invitation_only",
  2346. "_content": "Include public groups that require <a href=\"http://www.flickr.com/help/groups/#10\">an invitation</a> or administrator approval to join."
  2347. }
  2348. ],
  2349. "errors": [
  2350. {
  2351. "code": "1",
  2352. "message": "User not found",
  2353. "_content": "The user id passed did not match a Flickr user."
  2354. }
  2355. ],
  2356. "security": {
  2357. "needslogin": 0,
  2358. "needssigning": 0,
  2359. "requiredperms": 0
  2360. },
  2361. "name": "flickr.people.getPublicGroups",
  2362. "url": "https://www.flickr.com/services/api/flickr.people.getPublicGroups.html"
  2363. },
  2364. "flickr.people.getPublicPhotos": {
  2365. "required": [
  2366. {
  2367. "name": "user_id",
  2368. "_content": "The NSID of the user who's photos to return."
  2369. }
  2370. ],
  2371. "optional": [
  2372. {
  2373. "name": "safe_search",
  2374. "_content": "Safe search setting:\r\n\r\n<ul>\r\n<li>1 for safe.</li>\r\n<li>2 for moderate.</li>\r\n<li>3 for restricted.</li>\r\n</ul>\r\n\r\n(Please note: Un-authed calls can only see Safe content.)"
  2375. }
  2376. ],
  2377. "errors": [
  2378. {
  2379. "code": "1",
  2380. "message": "User not found",
  2381. "_content": "The user NSID passed was not a valid user NSID."
  2382. }
  2383. ],
  2384. "security": {
  2385. "needslogin": 0,
  2386. "needssigning": 0,
  2387. "requiredperms": 0
  2388. },
  2389. "name": "flickr.people.getPublicPhotos",
  2390. "url": "https://www.flickr.com/services/api/flickr.people.getPublicPhotos.html"
  2391. },
  2392. "flickr.people.getUploadStatus": {
  2393. "security": {
  2394. "needslogin": 1,
  2395. "needssigning": 1,
  2396. "requiredperms": 1
  2397. },
  2398. "name": "flickr.people.getUploadStatus",
  2399. "url": "https://www.flickr.com/services/api/flickr.people.getUploadStatus.html"
  2400. },
  2401. "flickr.photos.addTags": {
  2402. "required": [
  2403. {
  2404. "name": "photo_id",
  2405. "_content": "The id of the photo to add tags to."
  2406. },
  2407. {
  2408. "name": "tags",
  2409. "_content": "The tags to add to the photo."
  2410. }
  2411. ],
  2412. "errors": [
  2413. {
  2414. "code": "1",
  2415. "message": "Photo not found",
  2416. "_content": "The photo id passed was not the id of a photo that the calling user can add tags to. It could be an invalid id, or the user may not have permission to add tags to it."
  2417. },
  2418. {
  2419. "code": "2",
  2420. "message": "Maximum number of tags reached",
  2421. "_content": "The maximum number of tags for the photo has been reached - no more tags can be added. If the current count is less than the maximum, but adding all of the tags for this request would go over the limit, the whole request is ignored. I.E. when you get this message, none of the requested tags have been added."
  2422. }
  2423. ],
  2424. "security": {
  2425. "needslogin": 1,
  2426. "needssigning": 1,
  2427. "requiredperms": 2
  2428. },
  2429. "name": "flickr.photos.addTags",
  2430. "url": "https://www.flickr.com/services/api/flickr.photos.addTags.html"
  2431. },
  2432. "flickr.photos.comments.addComment": {
  2433. "required": [
  2434. {
  2435. "name": "photo_id",
  2436. "_content": "The id of the photo to add a comment to."
  2437. },
  2438. {
  2439. "name": "comment_text",
  2440. "_content": "Text of the comment"
  2441. }
  2442. ],
  2443. "optional": [
  2444. {
  2445. "name": "secure_image_embeds",
  2446. "_content": "This argument will secure the external image embeds in all the markup and return a secure<Field> back in addition to the <Field>"
  2447. },
  2448. {
  2449. "name": "expand_bbml",
  2450. "_content": "Expand bbml in response"
  2451. },
  2452. {
  2453. "name": "bbml_need_all_photo_sizes",
  2454. "_content": "If the API needs all photo sizes added as attributes to the bbml. Use this with expand_bbml, but dont use it with use_text_for_links. Also when you give this one, you can specify primary_photo_longest_dimension or a default of 240 will be assumed"
  2455. },
  2456. {
  2457. "name": "primary_photo_longest_dimension",
  2458. "_content": "When used with bbml_need_all_photo_sizes, it specifies the maximum dimension of width and height to be used as the <img src /> url"
  2459. }
  2460. ],
  2461. "errors": [
  2462. {
  2463. "code": "1",
  2464. "message": "Photo not found.",
  2465. "_content": "The photo id passed was not a valid photo id"
  2466. },
  2467. {
  2468. "code": "8",
  2469. "message": "Blank comment.",
  2470. "_content": "Comment text can not be blank"
  2471. },
  2472. {
  2473. "code": "9",
  2474. "message": "User is posting comments too fast.",
  2475. "_content": "The user has reached the limit for number of comments posted during a specific time period. Wait a bit and try again."
  2476. }
  2477. ],
  2478. "security": {
  2479. "needslogin": 1,
  2480. "needssigning": 1,
  2481. "requiredperms": 2
  2482. },
  2483. "name": "flickr.photos.comments.addComment",
  2484. "url": "https://www.flickr.com/services/api/flickr.photos.comments.addComment.html"
  2485. },
  2486. "flickr.photos.comments.deleteComment": {
  2487. "required": [
  2488. {
  2489. "name": "comment_id",
  2490. "_content": "The id of the comment to edit."
  2491. }
  2492. ],
  2493. "errors": [
  2494. {
  2495. "code": "1",
  2496. "message": "Photo not found.",
  2497. "_content": "The requested comment is against a photo which no longer exists."
  2498. },
  2499. {
  2500. "code": "2",
  2501. "message": "Comment not found.",
  2502. "_content": "The comment id passed was not a valid comment id"
  2503. }
  2504. ],
  2505. "security": {
  2506. "needslogin": 1,
  2507. "needssigning": 1,
  2508. "requiredperms": 2
  2509. },
  2510. "name": "flickr.photos.comments.deleteComment",
  2511. "url": "https://www.flickr.com/services/api/flickr.photos.comments.deleteComment.html"
  2512. },
  2513. "flickr.photos.comments.editComment": {
  2514. "required": [
  2515. {
  2516. "name": "comment_id",
  2517. "_content": "The id of the comment to edit."
  2518. },
  2519. {
  2520. "name": "comment_text",
  2521. "_content": "Update the comment to this text."
  2522. }
  2523. ],
  2524. "optional": [
  2525. {
  2526. "name": "use_text_for_links",
  2527. "_content": "Use text for links"
  2528. },
  2529. {
  2530. "name": "expand_bbml",
  2531. "_content": "Expand bbml"
  2532. },
  2533. {
  2534. "name": "full_result",
  2535. "_content": "If the caller wants the full result to be returned (as flickr.photos.comments.getComment), then this parameter should be passed in as 1."
  2536. },
  2537. {
  2538. "name": "secure_image_embeds",
  2539. "_content": "This argument will secure the external image embeds in all the markup and return a secure<Field> back in addition to the <Field>"
  2540. },
  2541. {
  2542. "name": "bbml_need_all_photo_sizes",
  2543. "_content": "If the API needs all photo sizes added as attributes to the bbml. Use this with expand_bbml, but dont use it with use_text_for_links. Also when you give this one, you can specify primary_photo_longest_dimension or a default of 240 will be assumed"
  2544. },
  2545. {
  2546. "name": "primary_photo_longest_dimension",
  2547. "_content": "When used with bbml_need_all_photo_sizes, it specifies the maximum dimension of width and height to be used as the <img src /> url"
  2548. }
  2549. ],
  2550. "errors": [
  2551. {
  2552. "code": "1",
  2553. "message": "Photo not found.",
  2554. "_content": "The requested comment is against a photo which no longer exists."
  2555. },
  2556. {
  2557. "code": "2",
  2558. "message": "Comment not found.",
  2559. "_content": "The comment id passed was not a valid comment id"
  2560. },
  2561. {
  2562. "code": "8",
  2563. "message": "Blank comment.",
  2564. "_content": "Comment text can not be blank"
  2565. }
  2566. ],
  2567. "security": {
  2568. "needslogin": 1,
  2569. "needssigning": 1,
  2570. "requiredperms": 2
  2571. },
  2572. "name": "flickr.photos.comments.editComment",
  2573. "url": "https://www.flickr.com/services/api/flickr.photos.comments.editComment.html"
  2574. },
  2575. "flickr.photos.comments.getList": {
  2576. "required": [
  2577. {
  2578. "name": "photo_id",
  2579. "_content": "The id of the photo to fetch comments for."
  2580. }
  2581. ],
  2582. "optional": [
  2583. {
  2584. "name": "min_comment_date",
  2585. "_content": "Minimum date that a a comment was added. The date should be in the form of a unix timestamp."
  2586. },
  2587. {
  2588. "name": "max_comment_date",
  2589. "_content": "Maximum date that a comment was added. The date should be in the form of a unix timestamp."
  2590. },
  2591. {
  2592. "name": "page",
  2593. "_content": ""
  2594. },
  2595. {
  2596. "name": "per_page",
  2597. "_content": ""
  2598. },
  2599. {
  2600. "name": "include_faves",
  2601. "_content": ""
  2602. },
  2603. {
  2604. "name": "sort",
  2605. "_content": "Get the comments sorted. If value is date-posted-desc, the comments are returned in reverse chronological order. The default is chronological."
  2606. },
  2607. {
  2608. "name": "secure_image_embeds",
  2609. "_content": "This argument will secure the external image embeds in all the markup and return a secure<Field> back in addition to the <Field>"
  2610. },
  2611. {
  2612. "name": "offset",
  2613. "_content": ""
  2614. },
  2615. {
  2616. "name": "limit",
  2617. "_content": ""
  2618. },
  2619. {
  2620. "name": "bbml_need_all_photo_sizes",
  2621. "_content": "If the API needs all photo sizes added as attributes to the bbml. Use this with expand_bbml, but dont use it with use_text_for_links. Also when you give this one, you can specify primary_photo_longest_dimension or a default of 240 will be assumed"
  2622. },
  2623. {
  2624. "name": "primary_photo_longest_dimension",
  2625. "_content": "When used with bbml_need_all_photo_sizes, it specifies the maximum dimension of width and height to be used as the <img src /> url"
  2626. }
  2627. ],
  2628. "errors": [
  2629. {
  2630. "code": "1",
  2631. "message": "Photo not found",
  2632. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  2633. }
  2634. ],
  2635. "security": {
  2636. "needslogin": 0,
  2637. "needssigning": 0,
  2638. "requiredperms": 0
  2639. },
  2640. "name": "flickr.photos.comments.getList",
  2641. "url": "https://www.flickr.com/services/api/flickr.photos.comments.getList.html"
  2642. },
  2643. "flickr.photos.comments.getRecentForContacts": {
  2644. "optional": [
  2645. {
  2646. "name": "date_lastcomment",
  2647. "_content": "Limits the resultset to photos that have been commented on since this date. The date should be in the form of a Unix timestamp.<br /><br />\r\nThe default, and maximum, offset is (1) hour.\r\n\r\n\r\n"
  2648. },
  2649. {
  2650. "name": "contacts_filter",
  2651. "_content": "A comma-separated list of contact NSIDs to limit the scope of the query to."
  2652. }
  2653. ],
  2654. "security": {
  2655. "needslogin": 1,
  2656. "needssigning": 1,
  2657. "requiredperms": 1
  2658. },
  2659. "name": "flickr.photos.comments.getRecentForContacts",
  2660. "url": "https://www.flickr.com/services/api/flickr.photos.comments.getRecentForContacts.html"
  2661. },
  2662. "flickr.photos.delete": {
  2663. "required": [
  2664. {
  2665. "name": "photo_id",
  2666. "_content": "The id of the photo to delete."
  2667. }
  2668. ],
  2669. "errors": [
  2670. {
  2671. "code": "1",
  2672. "message": "Photo not found",
  2673. "_content": "The photo id was not the id of a photo belonging to the calling user."
  2674. }
  2675. ],
  2676. "security": {
  2677. "needslogin": 1,
  2678. "needssigning": 1,
  2679. "requiredperms": 3
  2680. },
  2681. "name": "flickr.photos.delete",
  2682. "url": "https://www.flickr.com/services/api/flickr.photos.delete.html"
  2683. },
  2684. "flickr.photos.geo.batchCorrectLocation": {
  2685. "required": [
  2686. {
  2687. "name": "lat",
  2688. "_content": "The latitude of the photos to be update whose valid range is -90 to 90. Anything more than 6 decimal places will be truncated."
  2689. },
  2690. {
  2691. "name": "lon",
  2692. "_content": "The longitude of the photos to be updated whose valid range is -180 to 180. Anything more than 6 decimal places will be truncated."
  2693. },
  2694. {
  2695. "name": "accuracy",
  2696. "_content": "Recorded accuracy level of the photos to be updated. World level is 1, Country is ~3, Region ~6, City ~11, Street ~16. Current range is 1-16. Defaults to 16 if not specified."
  2697. }
  2698. ],
  2699. "optional": [
  2700. {
  2701. "name": "place_id",
  2702. "_content": "A Flickr Places ID. (While optional, you must pass either a valid Places ID or a WOE ID.)"
  2703. },
  2704. {
  2705. "name": "woe_id",
  2706. "_content": "A Where On Earth (WOE) ID. (While optional, you must pass either a valid Places ID or a WOE ID.)"
  2707. }
  2708. ],
  2709. "errors": [
  2710. {
  2711. "code": "1",
  2712. "message": "Required arguments missing",
  2713. "_content": "Some or all of the required arguments were not supplied."
  2714. },
  2715. {
  2716. "code": "2",
  2717. "message": "Not a valid latitude",
  2718. "_content": "The latitude argument failed validation."
  2719. },
  2720. {
  2721. "code": "3",
  2722. "message": "Not a valid longitude",
  2723. "_content": "The longitude argument failed validation."
  2724. },
  2725. {
  2726. "code": "4",
  2727. "message": "Not a valid accuracy",
  2728. "_content": "The accuracy argument failed validation."
  2729. },
  2730. {
  2731. "code": "5",
  2732. "message": "Not a valid Places ID",
  2733. "_content": "An invalid Places (or WOE) ID was passed with the API call."
  2734. },
  2735. {
  2736. "code": "6",
  2737. "message": "No photos geotagged at that location",
  2738. "_content": "There were no geotagged photos found for the authed user at the supplied latitude, longitude and accuracy."
  2739. }
  2740. ],
  2741. "security": {
  2742. "needslogin": 1,
  2743. "needssigning": 1,
  2744. "requiredperms": 2
  2745. },
  2746. "name": "flickr.photos.geo.batchCorrectLocation",
  2747. "url": "https://www.flickr.com/services/api/flickr.photos.geo.batchCorrectLocation.html"
  2748. },
  2749. "flickr.photos.geo.correctLocation": {
  2750. "required": [
  2751. {
  2752. "name": "photo_id",
  2753. "_content": "The ID of the photo whose WOE location is being corrected."
  2754. },
  2755. {
  2756. "name": "foursquare_id",
  2757. "_content": "The venue ID for a Foursquare location. (If not passed in with correction, any existing foursquare venue will be removed)."
  2758. }
  2759. ],
  2760. "optional": [
  2761. {
  2762. "name": "place_id",
  2763. "_content": "A Flickr Places ID. (While optional, you must pass either a valid Places ID or a WOE ID.)"
  2764. },
  2765. {
  2766. "name": "woe_id",
  2767. "_content": "A Where On Earth (WOE) ID. (While optional, you must pass either a valid Places ID or a WOE ID.)"
  2768. }
  2769. ],
  2770. "errors": [
  2771. {
  2772. "code": "1",
  2773. "message": "User has not configured default viewing settings for location data.",
  2774. "_content": "Before users may assign location data to a photo they must define who, by default, may view that information. Users can edit this preference at <a href=\"http://www.flickr.com/account/geo/privacy/\">http://www.flickr.com/account/geo/privacy/</a>"
  2775. },
  2776. {
  2777. "code": "2",
  2778. "message": "Missing place ID",
  2779. "_content": "No place ID was passed to the method"
  2780. },
  2781. {
  2782. "code": "3",
  2783. "message": "Not a valid place ID",
  2784. "_content": "The place ID passed to the method could not be identified"
  2785. },
  2786. {
  2787. "code": "4",
  2788. "message": "Server error correcting location.",
  2789. "_content": "There was an error trying to correct the location."
  2790. }
  2791. ],
  2792. "security": {
  2793. "needslogin": 1,
  2794. "needssigning": 1,
  2795. "requiredperms": 2
  2796. },
  2797. "name": "flickr.photos.geo.correctLocation",
  2798. "url": "https://www.flickr.com/services/api/flickr.photos.geo.correctLocation.html"
  2799. },
  2800. "flickr.photos.geo.getLocation": {
  2801. "required": [
  2802. {
  2803. "name": "photo_id",
  2804. "_content": "The id of the photo you want to retrieve location data for."
  2805. }
  2806. ],
  2807. "optional": [
  2808. {
  2809. "name": "extras",
  2810. "_content": "Extra flags."
  2811. }
  2812. ],
  2813. "errors": [
  2814. {
  2815. "code": "1",
  2816. "message": "Photo not found.",
  2817. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  2818. },
  2819. {
  2820. "code": "2",
  2821. "message": "Photo has no location information.",
  2822. "_content": "The photo requested has no location data or is not viewable by the calling user."
  2823. }
  2824. ],
  2825. "security": {
  2826. "needslogin": 0,
  2827. "needssigning": 0,
  2828. "requiredperms": 0
  2829. },
  2830. "name": "flickr.photos.geo.getLocation",
  2831. "url": "https://www.flickr.com/services/api/flickr.photos.geo.getLocation.html"
  2832. },
  2833. "flickr.photos.geo.getPerms": {
  2834. "required": [
  2835. {
  2836. "name": "photo_id",
  2837. "_content": "The id of the photo to get permissions for."
  2838. }
  2839. ],
  2840. "errors": [
  2841. {
  2842. "code": "1",
  2843. "message": "Photo not found",
  2844. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  2845. },
  2846. {
  2847. "code": "2",
  2848. "message": "Photo has no location information",
  2849. "_content": "The photo requested has no location data or is not viewable by the calling user."
  2850. }
  2851. ],
  2852. "security": {
  2853. "needslogin": 1,
  2854. "needssigning": 1,
  2855. "requiredperms": 1
  2856. },
  2857. "name": "flickr.photos.geo.getPerms",
  2858. "url": "https://www.flickr.com/services/api/flickr.photos.geo.getPerms.html"
  2859. },
  2860. "flickr.photos.geo.photosForLocation": {
  2861. "required": [
  2862. {
  2863. "name": "lat",
  2864. "_content": "The latitude whose valid range is -90 to 90. Anything more than 6 decimal places will be truncated."
  2865. },
  2866. {
  2867. "name": "lon",
  2868. "_content": "The longitude whose valid range is -180 to 180. Anything more than 6 decimal places will be truncated."
  2869. }
  2870. ],
  2871. "optional": [
  2872. {
  2873. "name": "accuracy",
  2874. "_content": "Recorded accuracy level of the location information. World level is 1, Country is ~3, Region ~6, City ~11, Street ~16. Current range is 1-16. Defaults to 16 if not specified."
  2875. }
  2876. ],
  2877. "errors": [
  2878. {
  2879. "code": "1",
  2880. "message": "Required arguments missing",
  2881. "_content": "One or more required arguments was missing from the method call."
  2882. },
  2883. {
  2884. "code": "2",
  2885. "message": "Not a valid latitude",
  2886. "_content": "The latitude argument failed validation."
  2887. },
  2888. {
  2889. "code": "3",
  2890. "message": "Not a valid longitude",
  2891. "_content": "The longitude argument failed validation."
  2892. },
  2893. {
  2894. "code": "4",
  2895. "message": "Not a valid accuracy",
  2896. "_content": "The accuracy argument failed validation."
  2897. }
  2898. ],
  2899. "security": {
  2900. "needslogin": 1,
  2901. "needssigning": 1,
  2902. "requiredperms": 1
  2903. },
  2904. "name": "flickr.photos.geo.photosForLocation",
  2905. "url": "https://www.flickr.com/services/api/flickr.photos.geo.photosForLocation.html"
  2906. },
  2907. "flickr.photos.geo.removeLocation": {
  2908. "required": [
  2909. {
  2910. "name": "photo_id",
  2911. "_content": "The id of the photo you want to remove location data from."
  2912. }
  2913. ],
  2914. "errors": [
  2915. {
  2916. "code": "1",
  2917. "message": "Photo not found",
  2918. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  2919. },
  2920. {
  2921. "code": "2",
  2922. "message": "Photo has no location information",
  2923. "_content": "The specified photo has not been geotagged - there is nothing to remove."
  2924. }
  2925. ],
  2926. "security": {
  2927. "needslogin": 1,
  2928. "needssigning": 1,
  2929. "requiredperms": 2
  2930. },
  2931. "name": "flickr.photos.geo.removeLocation",
  2932. "url": "https://www.flickr.com/services/api/flickr.photos.geo.removeLocation.html"
  2933. },
  2934. "flickr.photos.geo.setContext": {
  2935. "required": [
  2936. {
  2937. "name": "photo_id",
  2938. "_content": "The id of the photo to set context data for."
  2939. },
  2940. {
  2941. "name": "context",
  2942. "_content": "Context is a numeric value representing the photo's geotagginess beyond latitude and longitude. For example, you may wish to indicate that a photo was taken \"indoors\" or \"outdoors\". <br /><br />\r\nThe current list of context IDs is :<br /><br/>\r\n<ul>\r\n<li><strong>0</strong>, not defined.</li>\r\n<li><strong>1</strong>, indoors.</li>\r\n<li><strong>2</strong>, outdoors.</li>\r\n</ul>"
  2943. }
  2944. ],
  2945. "errors": [
  2946. {
  2947. "code": "1",
  2948. "message": "Photo not found",
  2949. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  2950. },
  2951. {
  2952. "code": "2",
  2953. "message": "Not a valid context",
  2954. "_content": "The context ID passed to the method is invalid."
  2955. }
  2956. ],
  2957. "security": {
  2958. "needslogin": 1,
  2959. "needssigning": 1,
  2960. "requiredperms": 2
  2961. },
  2962. "name": "flickr.photos.geo.setContext",
  2963. "url": "https://www.flickr.com/services/api/flickr.photos.geo.setContext.html"
  2964. },
  2965. "flickr.photos.geo.setLocation": {
  2966. "required": [
  2967. {
  2968. "name": "photo_id",
  2969. "_content": "The id of the photo to set location data for."
  2970. },
  2971. {
  2972. "name": "lat",
  2973. "_content": "The latitude whose valid range is -90 to 90. Anything more than 6 decimal places will be truncated."
  2974. },
  2975. {
  2976. "name": "lon",
  2977. "_content": "The longitude whose valid range is -180 to 180. Anything more than 6 decimal places will be truncated."
  2978. }
  2979. ],
  2980. "optional": [
  2981. {
  2982. "name": "accuracy",
  2983. "_content": "Recorded accuracy level of the location information. World level is 1, Country is ~3, Region ~6, City ~11, Street ~16. Current range is 1-16. Defaults to 16 if not specified."
  2984. },
  2985. {
  2986. "name": "context",
  2987. "_content": "Context is a numeric value representing the photo's geotagginess beyond latitude and longitude. For example, you may wish to indicate that a photo was taken \"indoors\" or \"outdoors\". <br /><br />\r\nThe current list of context IDs is :<br /><br/>\r\n<ul>\r\n<li><strong>0</strong>, not defined.</li>\r\n<li><strong>1</strong>, indoors.</li>\r\n<li><strong>2</strong>, outdoors.</li>\r\n</ul><br />\r\nThe default context for geotagged photos is 0, or \"not defined\"\r\n"
  2988. },
  2989. {
  2990. "name": "bookmark_id",
  2991. "_content": "Associate a geo bookmark with this photo."
  2992. },
  2993. {
  2994. "name": "is_public",
  2995. "_content": ""
  2996. },
  2997. {
  2998. "name": "is_contact",
  2999. "_content": ""
  3000. },
  3001. {
  3002. "name": "is_friend",
  3003. "_content": ""
  3004. },
  3005. {
  3006. "name": "is_family",
  3007. "_content": ""
  3008. },
  3009. {
  3010. "name": "foursquare_id",
  3011. "_content": "The venue ID for a Foursquare location."
  3012. },
  3013. {
  3014. "name": "woeid",
  3015. "_content": "A Where On Earth (WOE) ID. (If passed in, will override the default venue based on the lat/lon.)"
  3016. }
  3017. ],
  3018. "errors": [
  3019. {
  3020. "code": "1",
  3021. "message": "Photo not found",
  3022. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  3023. },
  3024. {
  3025. "code": "2",
  3026. "message": "Required arguments missing.",
  3027. "_content": "Some or all of the required arguments were not supplied."
  3028. },
  3029. {
  3030. "code": "3",
  3031. "message": "Not a valid latitude.",
  3032. "_content": "The latitude argument failed validation."
  3033. },
  3034. {
  3035. "code": "4",
  3036. "message": "Not a valid longitude.",
  3037. "_content": "The longitude argument failed validation."
  3038. },
  3039. {
  3040. "code": "5",
  3041. "message": "Not a valid accuracy.",
  3042. "_content": "The accuracy argument failed validation."
  3043. },
  3044. {
  3045. "code": "6",
  3046. "message": "Server error.",
  3047. "_content": "There was an unexpected problem setting location information to the photo."
  3048. },
  3049. {
  3050. "code": "7",
  3051. "message": "User has not configured default viewing settings for location data.",
  3052. "_content": "Before users may assign location data to a photo they must define who, by default, may view that information. Users can edit this preference at <a href=\"http://www.flickr.com/account/geo/privacy/\">http://www.flickr.com/account/geo/privacy/</a>"
  3053. }
  3054. ],
  3055. "security": {
  3056. "needslogin": 1,
  3057. "needssigning": 1,
  3058. "requiredperms": 2
  3059. },
  3060. "name": "flickr.photos.geo.setLocation",
  3061. "url": "https://www.flickr.com/services/api/flickr.photos.geo.setLocation.html"
  3062. },
  3063. "flickr.photos.geo.setPerms": {
  3064. "required": [
  3065. {
  3066. "name": "is_public",
  3067. "_content": "1 to set viewing permissions for the photo's location data to public, 0 to set it to private."
  3068. },
  3069. {
  3070. "name": "is_contact",
  3071. "_content": "1 to set viewing permissions for the photo's location data to contacts, 0 to set it to private."
  3072. },
  3073. {
  3074. "name": "is_friend",
  3075. "_content": "1 to set viewing permissions for the photo's location data to friends, 0 to set it to private."
  3076. },
  3077. {
  3078. "name": "is_family",
  3079. "_content": "1 to set viewing permissions for the photo's location data to family, 0 to set it to private."
  3080. },
  3081. {
  3082. "name": "photo_id",
  3083. "_content": "The id of the photo to get permissions for."
  3084. }
  3085. ],
  3086. "errors": [
  3087. {
  3088. "code": "1",
  3089. "message": "Photo not found",
  3090. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  3091. },
  3092. {
  3093. "code": "2",
  3094. "message": "Photo has no location information",
  3095. "_content": "The photo requested has no location data or is not viewable by the calling user."
  3096. },
  3097. {
  3098. "code": "3",
  3099. "message": "Required arguments missing.",
  3100. "_content": "Some or all of the required arguments were not supplied."
  3101. }
  3102. ],
  3103. "security": {
  3104. "needslogin": 1,
  3105. "needssigning": 1,
  3106. "requiredperms": 2
  3107. },
  3108. "name": "flickr.photos.geo.setPerms",
  3109. "url": "https://www.flickr.com/services/api/flickr.photos.geo.setPerms.html"
  3110. },
  3111. "flickr.photos.getAllContexts": {
  3112. "required": [
  3113. {
  3114. "name": "photo_id",
  3115. "_content": "The photo to return information for."
  3116. }
  3117. ],
  3118. "errors": [
  3119. {
  3120. "code": "1",
  3121. "message": "Photo not found",
  3122. "_content": "The photo id passed was not the id of a valid photo."
  3123. }
  3124. ],
  3125. "security": {
  3126. "needslogin": 0,
  3127. "needssigning": 0,
  3128. "requiredperms": 0
  3129. },
  3130. "name": "flickr.photos.getAllContexts",
  3131. "url": "https://www.flickr.com/services/api/flickr.photos.getAllContexts.html"
  3132. },
  3133. "flickr.photos.getContactsPhotos": {
  3134. "optional": [
  3135. {
  3136. "name": "count",
  3137. "_content": "Number of photos to return. Defaults to 10, maximum 50. This is only used if <code>single_photo</code> is not passed."
  3138. },
  3139. {
  3140. "name": "just_friends",
  3141. "_content": "set as 1 to only show photos from friends and family (excluding regular contacts)."
  3142. },
  3143. {
  3144. "name": "single_photo",
  3145. "_content": "Only fetch one photo (the latest) per contact, instead of all photos in chronological order."
  3146. },
  3147. {
  3148. "name": "include_self",
  3149. "_content": "Set to 1 to include photos from the calling user."
  3150. },
  3151. {
  3152. "name": "extras",
  3153. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields include: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update. For more information see extras under <a href=\"/services/api/flickr.photos.search.html\">flickr.photos.search</a>."
  3154. }
  3155. ],
  3156. "security": {
  3157. "needslogin": 1,
  3158. "needssigning": 1,
  3159. "requiredperms": 1
  3160. },
  3161. "name": "flickr.photos.getContactsPhotos",
  3162. "url": "https://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html"
  3163. },
  3164. "flickr.photos.getContactsPublicPhotos": {
  3165. "required": [
  3166. {
  3167. "name": "user_id",
  3168. "_content": "The NSID of the user to fetch photos for."
  3169. }
  3170. ],
  3171. "optional": [
  3172. {
  3173. "name": "count",
  3174. "_content": "Number of photos to return. Defaults to 10, maximum 50. This is only used if <code>single_photo</code> is not passed."
  3175. },
  3176. {
  3177. "name": "just_friends",
  3178. "_content": "set as 1 to only show photos from friends and family (excluding regular contacts)."
  3179. },
  3180. {
  3181. "name": "single_photo",
  3182. "_content": "Only fetch one photo (the latest) per contact, instead of all photos in chronological order."
  3183. },
  3184. {
  3185. "name": "include_self",
  3186. "_content": "Set to 1 to include photos from the user specified by user_id."
  3187. },
  3188. {
  3189. "name": "extras",
  3190. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update."
  3191. }
  3192. ],
  3193. "errors": [
  3194. {
  3195. "code": "1",
  3196. "message": "User not found",
  3197. "_content": "The user NSID passed was not a valid user NSID."
  3198. }
  3199. ],
  3200. "security": {
  3201. "needslogin": 0,
  3202. "needssigning": 0,
  3203. "requiredperms": 0
  3204. },
  3205. "name": "flickr.photos.getContactsPublicPhotos",
  3206. "url": "https://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html"
  3207. },
  3208. "flickr.photos.getContext": {
  3209. "required": [
  3210. {
  3211. "name": "photo_id",
  3212. "_content": "The id of the photo to fetch the context for."
  3213. }
  3214. ],
  3215. "optional": [
  3216. {
  3217. "name": "num_prev",
  3218. "_content": ""
  3219. },
  3220. {
  3221. "name": "num_next",
  3222. "_content": ""
  3223. },
  3224. {
  3225. "name": "extras",
  3226. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: <code>description, license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_m, url_z, url_l, url_o</code>"
  3227. },
  3228. {
  3229. "name": "order_by",
  3230. "_content": "Accepts <code>datetaken</code> or <code>dateposted</code> and returns results in the proper order."
  3231. },
  3232. {
  3233. "name": "view_as",
  3234. "_content": "Can take values public to indicate that the profile has to be viewed as public and returns context only in public setting"
  3235. }
  3236. ],
  3237. "errors": [
  3238. {
  3239. "code": "1",
  3240. "message": "Photo not found",
  3241. "_content": "The photo id passed was not a valid photo id, or was the id of a photo that the calling user does not have permission to view."
  3242. }
  3243. ],
  3244. "security": {
  3245. "needslogin": 0,
  3246. "needssigning": 0,
  3247. "requiredperms": 0
  3248. },
  3249. "name": "flickr.photos.getContext",
  3250. "url": "https://www.flickr.com/services/api/flickr.photos.getContext.html"
  3251. },
  3252. "flickr.photos.getCounts": {
  3253. "optional": [
  3254. {
  3255. "name": "dates",
  3256. "_content": "A comma delimited list of unix timestamps, denoting the periods to return counts for. They should be specified <b>smallest first</b>."
  3257. },
  3258. {
  3259. "name": "taken_dates",
  3260. "_content": "A comma delimited list of mysql datetimes, denoting the periods to return counts for. They should be specified <b>smallest first</b>."
  3261. }
  3262. ],
  3263. "errors": [
  3264. {
  3265. "code": "1",
  3266. "message": "No dates specified",
  3267. "_content": "Neither dates nor taken_dates were specified."
  3268. }
  3269. ],
  3270. "security": {
  3271. "needslogin": 1,
  3272. "needssigning": 1,
  3273. "requiredperms": 1
  3274. },
  3275. "name": "flickr.photos.getCounts",
  3276. "url": "https://www.flickr.com/services/api/flickr.photos.getCounts.html"
  3277. },
  3278. "flickr.photos.getExif": {
  3279. "required": [
  3280. {
  3281. "name": "photo_id",
  3282. "_content": "The id of the photo to fetch information for."
  3283. }
  3284. ],
  3285. "optional": [
  3286. {
  3287. "name": "secret",
  3288. "_content": "The secret for the photo. If the correct secret is passed then permissions checking is skipped. This enables the 'sharing' of individual photos by passing around the id and secret."
  3289. },
  3290. {
  3291. "name": "extras",
  3292. "_content": ""
  3293. }
  3294. ],
  3295. "errors": [
  3296. {
  3297. "code": "1",
  3298. "message": "Photo not found",
  3299. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  3300. },
  3301. {
  3302. "code": "2",
  3303. "message": "Permission denied",
  3304. "_content": "The owner of the photo does not want to share EXIF data."
  3305. }
  3306. ],
  3307. "security": {
  3308. "needslogin": 0,
  3309. "needssigning": 0,
  3310. "requiredperms": 0
  3311. },
  3312. "name": "flickr.photos.getExif",
  3313. "url": "https://www.flickr.com/services/api/flickr.photos.getExif.html"
  3314. },
  3315. "flickr.photos.getFavorites": {
  3316. "required": [
  3317. {
  3318. "name": "photo_id",
  3319. "_content": "The ID of the photo to fetch the favoriters list for."
  3320. }
  3321. ],
  3322. "optional": [
  3323. {
  3324. "name": "page",
  3325. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  3326. },
  3327. {
  3328. "name": "per_page",
  3329. "_content": "Number of usres to return per page. If this argument is omitted, it defaults to 10. The maximum allowed value is 50."
  3330. }
  3331. ],
  3332. "errors": [
  3333. {
  3334. "code": "1",
  3335. "message": "Photo not found",
  3336. "_content": "The specified photo does not exist, or the calling user does not have permission to view it."
  3337. }
  3338. ],
  3339. "security": {
  3340. "needslogin": 0,
  3341. "needssigning": 0,
  3342. "requiredperms": 0
  3343. },
  3344. "name": "flickr.photos.getFavorites",
  3345. "url": "https://www.flickr.com/services/api/flickr.photos.getFavorites.html"
  3346. },
  3347. "flickr.photos.getInfo": {
  3348. "required": [
  3349. {
  3350. "name": "photo_id",
  3351. "_content": "The id of the photo to get information for."
  3352. }
  3353. ],
  3354. "optional": [
  3355. {
  3356. "name": "secret",
  3357. "_content": "The secret for the photo. If the correct secret is passed then permissions checking is skipped. This enables the 'sharing' of individual photos by passing around the id and secret."
  3358. },
  3359. {
  3360. "name": "humandates",
  3361. "_content": ""
  3362. },
  3363. {
  3364. "name": "privacy_filter",
  3365. "_content": ""
  3366. },
  3367. {
  3368. "name": "get_contexts",
  3369. "_content": ""
  3370. },
  3371. {
  3372. "name": "get_geofences",
  3373. "_content": "Return geofence information in the photo's location property"
  3374. },
  3375. {
  3376. "name": "datecreate",
  3377. "_content": "If set to 1, it returns the timestamp of the user's account creation, in MySQL DATETIME format.\r\n"
  3378. },
  3379. {
  3380. "name": "extras",
  3381. "_content": ""
  3382. }
  3383. ],
  3384. "errors": [
  3385. {
  3386. "code": "1",
  3387. "message": "Photo not found.",
  3388. "_content": "The photo id was either invalid or was for a photo not viewable by the calling user."
  3389. }
  3390. ],
  3391. "security": {
  3392. "needslogin": 0,
  3393. "needssigning": 0,
  3394. "requiredperms": 0
  3395. },
  3396. "name": "flickr.photos.getInfo",
  3397. "url": "https://www.flickr.com/services/api/flickr.photos.getInfo.html"
  3398. },
  3399. "flickr.photos.getNotInSet": {
  3400. "optional": [
  3401. {
  3402. "name": "max_upload_date",
  3403. "_content": "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."
  3404. },
  3405. {
  3406. "name": "min_taken_date",
  3407. "_content": "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."
  3408. },
  3409. {
  3410. "name": "max_taken_date",
  3411. "_content": "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."
  3412. },
  3413. {
  3414. "name": "privacy_filter",
  3415. "_content": "Return photos only matching a certain privacy level. Valid values are:\r\n<ul>\r\n<li>1 public photos</li>\r\n<li>2 private photos visible to friends</li>\r\n<li>3 private photos visible to family</li>\r\n<li>4 private photos visible to friends &amp; family</li>\r\n<li>5 completely private photos</li>\r\n</ul>\r\n"
  3416. },
  3417. {
  3418. "name": "media",
  3419. "_content": "Filter results by media type. Possible values are <code>all</code> (default), <code>photos</code> or <code>videos</code>"
  3420. },
  3421. {
  3422. "name": "min_upload_date",
  3423. "_content": "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."
  3424. }
  3425. ],
  3426. "security": {
  3427. "needslogin": 1,
  3428. "needssigning": 1,
  3429. "requiredperms": 1
  3430. },
  3431. "name": "flickr.photos.getNotInSet",
  3432. "url": "https://www.flickr.com/services/api/flickr.photos.getNotInSet.html"
  3433. },
  3434. "flickr.photos.getPerms": {
  3435. "required": [
  3436. {
  3437. "name": "photo_id",
  3438. "_content": "The id of the photo to get permissions for."
  3439. }
  3440. ],
  3441. "errors": [
  3442. {
  3443. "code": "1",
  3444. "message": "Photo not found",
  3445. "_content": "The photo id passed was not a valid photo id of a photo belonging to the calling user."
  3446. }
  3447. ],
  3448. "security": {
  3449. "needslogin": 1,
  3450. "needssigning": 1,
  3451. "requiredperms": 1
  3452. },
  3453. "name": "flickr.photos.getPerms",
  3454. "url": "https://www.flickr.com/services/api/flickr.photos.getPerms.html"
  3455. },
  3456. "flickr.photos.getRecent": {
  3457. "optional": [
  3458. {
  3459. "name": "jump_to",
  3460. "_content": ""
  3461. }
  3462. ],
  3463. "errors": [
  3464. {
  3465. "code": "1",
  3466. "message": "bad value for jump_to, must be valid photo id.",
  3467. "_content": ""
  3468. }
  3469. ],
  3470. "security": {
  3471. "needslogin": 0,
  3472. "needssigning": 0,
  3473. "requiredperms": 0
  3474. },
  3475. "name": "flickr.photos.getRecent",
  3476. "url": "https://www.flickr.com/services/api/flickr.photos.getRecent.html"
  3477. },
  3478. "flickr.photos.getSizes": {
  3479. "required": [
  3480. {
  3481. "name": "photo_id",
  3482. "_content": "The id of the photo to fetch size information for."
  3483. }
  3484. ],
  3485. "errors": [
  3486. {
  3487. "code": "1",
  3488. "message": "Photo not found",
  3489. "_content": "The photo id passed was not a valid photo id."
  3490. },
  3491. {
  3492. "code": "2",
  3493. "message": "Permission denied",
  3494. "_content": "The calling user does not have permission to view the photo."
  3495. }
  3496. ],
  3497. "security": {
  3498. "needslogin": 0,
  3499. "needssigning": 0,
  3500. "requiredperms": 0
  3501. },
  3502. "name": "flickr.photos.getSizes",
  3503. "url": "https://www.flickr.com/services/api/flickr.photos.getSizes.html"
  3504. },
  3505. "flickr.photos.getUntagged": {
  3506. "optional": [
  3507. {
  3508. "name": "min_upload_date",
  3509. "_content": "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."
  3510. },
  3511. {
  3512. "name": "max_upload_date",
  3513. "_content": "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."
  3514. },
  3515. {
  3516. "name": "min_taken_date",
  3517. "_content": "Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime or unix timestamp."
  3518. },
  3519. {
  3520. "name": "max_taken_date",
  3521. "_content": "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."
  3522. },
  3523. {
  3524. "name": "privacy_filter",
  3525. "_content": "Return photos only matching a certain privacy level. Valid values are:\r\n<ul>\r\n<li>1 public photos</li>\r\n<li>2 private photos visible to friends</li>\r\n<li>3 private photos visible to family</li>\r\n<li>4 private photos visible to friends &amp; family</li>\r\n<li>5 completely private photos</li>\r\n</ul>\r\n"
  3526. },
  3527. {
  3528. "name": "media",
  3529. "_content": "Filter results by media type. Possible values are <code>all</code> (default), <code>photos</code> or <code>videos</code>"
  3530. }
  3531. ],
  3532. "security": {
  3533. "needslogin": 1,
  3534. "needssigning": 1,
  3535. "requiredperms": 1
  3536. },
  3537. "name": "flickr.photos.getUntagged",
  3538. "url": "https://www.flickr.com/services/api/flickr.photos.getUntagged.html"
  3539. },
  3540. "flickr.photos.getWithGeoData": {
  3541. "optional": [
  3542. {
  3543. "name": "min_upload_date",
  3544. "_content": "Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  3545. },
  3546. {
  3547. "name": "max_upload_date",
  3548. "_content": "Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  3549. },
  3550. {
  3551. "name": "min_taken_date",
  3552. "_content": "Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  3553. },
  3554. {
  3555. "name": "max_taken_date",
  3556. "_content": "Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  3557. },
  3558. {
  3559. "name": "privacy_filter",
  3560. "_content": "Return photos only matching a certain privacy level. Valid values are:\r\n<ul>\r\n<li>1 public photos</li>\r\n<li>2 private photos visible to friends</li>\r\n<li>3 private photos visible to family</li>\r\n<li>4 private photos visible to friends & family</li>\r\n<li>5 completely private photos</li>\r\n</ul>\r\n"
  3561. },
  3562. {
  3563. "name": "sort",
  3564. "_content": "The order in which to sort returned photos. Deafults to date-posted-desc. The possible values are: date-posted-asc, date-posted-desc, date-taken-asc, date-taken-desc, interestingness-desc, and interestingness-asc."
  3565. },
  3566. {
  3567. "name": "media",
  3568. "_content": "Filter results by media type. Possible values are <code>all</code> (default), <code>photos</code> or <code>videos</code>"
  3569. }
  3570. ],
  3571. "security": {
  3572. "needslogin": 1,
  3573. "needssigning": 1,
  3574. "requiredperms": 1
  3575. },
  3576. "name": "flickr.photos.getWithGeoData",
  3577. "url": "https://www.flickr.com/services/api/flickr.photos.getWithGeoData.html"
  3578. },
  3579. "flickr.photos.getWithoutGeoData": {
  3580. "optional": [
  3581. {
  3582. "name": "max_upload_date",
  3583. "_content": "Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  3584. },
  3585. {
  3586. "name": "min_taken_date",
  3587. "_content": "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."
  3588. },
  3589. {
  3590. "name": "max_taken_date",
  3591. "_content": "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."
  3592. },
  3593. {
  3594. "name": "privacy_filter",
  3595. "_content": "Return photos only matching a certain privacy level. Valid values are:\r\n<ul>\r\n<li>1 public photos</li>\r\n<li>2 private photos visible to friends</li>\r\n<li>3 private photos visible to family</li>\r\n<li>4 private photos visible to friends &amp; family</li>\r\n<li>5 completely private photos</li>\r\n</ul>\r\n"
  3596. },
  3597. {
  3598. "name": "sort",
  3599. "_content": "The order in which to sort returned photos. Deafults to date-posted-desc. The possible values are: date-posted-asc, date-posted-desc, date-taken-asc, date-taken-desc, interestingness-desc, and interestingness-asc."
  3600. },
  3601. {
  3602. "name": "media",
  3603. "_content": "Filter results by media type. Possible values are <code>all</code> (default), <code>photos</code> or <code>videos</code>"
  3604. },
  3605. {
  3606. "name": "min_upload_date",
  3607. "_content": "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."
  3608. }
  3609. ],
  3610. "security": {
  3611. "needslogin": 1,
  3612. "needssigning": 1,
  3613. "requiredperms": 1
  3614. },
  3615. "name": "flickr.photos.getWithoutGeoData",
  3616. "url": "https://www.flickr.com/services/api/flickr.photos.getWithoutGeoData.html"
  3617. },
  3618. "flickr.photos.licenses.getInfo": {
  3619. "security": {
  3620. "needslogin": 0,
  3621. "needssigning": 0,
  3622. "requiredperms": 0
  3623. },
  3624. "name": "flickr.photos.licenses.getInfo",
  3625. "url": "https://www.flickr.com/services/api/flickr.photos.licenses.getInfo.html"
  3626. },
  3627. "flickr.photos.licenses.setLicense": {
  3628. "required": [
  3629. {
  3630. "name": "photo_id",
  3631. "_content": "The photo to update the license for."
  3632. },
  3633. {
  3634. "name": "license_id",
  3635. "_content": "The license to apply, or 0 (zero) to remove the current license. Note : as of this writing the \"no known copyright restrictions\" license (7) is not a valid argument."
  3636. }
  3637. ],
  3638. "errors": [
  3639. {
  3640. "code": "1",
  3641. "message": "Photo not found",
  3642. "_content": "The specified id was not the id of a valif photo owner by the calling user."
  3643. },
  3644. {
  3645. "code": "2",
  3646. "message": "License not found",
  3647. "_content": "The license id was not valid."
  3648. }
  3649. ],
  3650. "security": {
  3651. "needslogin": 1,
  3652. "needssigning": 1,
  3653. "requiredperms": 2
  3654. },
  3655. "name": "flickr.photos.licenses.setLicense",
  3656. "url": "https://www.flickr.com/services/api/flickr.photos.licenses.setLicense.html"
  3657. },
  3658. "flickr.photos.notes.add": {
  3659. "required": [
  3660. {
  3661. "name": "photo_id",
  3662. "_content": "The id of the photo to add a note to"
  3663. },
  3664. {
  3665. "name": "note_x",
  3666. "_content": "The left coordinate of the note"
  3667. },
  3668. {
  3669. "name": "note_y",
  3670. "_content": "The top coordinate of the note"
  3671. },
  3672. {
  3673. "name": "note_w",
  3674. "_content": "The width of the note"
  3675. },
  3676. {
  3677. "name": "note_h",
  3678. "_content": "The height of the note"
  3679. },
  3680. {
  3681. "name": "note_text",
  3682. "_content": "The description of the note"
  3683. }
  3684. ],
  3685. "errors": [
  3686. {
  3687. "code": "1",
  3688. "message": "Photo not found",
  3689. "_content": "The photo id passed was not a valid photo id"
  3690. },
  3691. {
  3692. "code": "2",
  3693. "message": "User cannot add notes",
  3694. "_content": "The calling user does not have permission to add a note to this photo"
  3695. },
  3696. {
  3697. "code": "3",
  3698. "message": "Missing required arguments",
  3699. "_content": "One or more of the required arguments were not supplied."
  3700. },
  3701. {
  3702. "code": "4",
  3703. "message": "Maximum number of notes reached",
  3704. "_content": "The maximum number of notes for the photo has been reached."
  3705. }
  3706. ],
  3707. "security": {
  3708. "needslogin": 1,
  3709. "needssigning": 1,
  3710. "requiredperms": 2
  3711. },
  3712. "name": "flickr.photos.notes.add",
  3713. "url": "https://www.flickr.com/services/api/flickr.photos.notes.add.html"
  3714. },
  3715. "flickr.photos.notes.delete": {
  3716. "required": [
  3717. {
  3718. "name": "note_id",
  3719. "_content": "The id of the note to delete"
  3720. }
  3721. ],
  3722. "errors": [
  3723. {
  3724. "code": "1",
  3725. "message": "Note not found",
  3726. "_content": "The note id passed was not a valid note id"
  3727. },
  3728. {
  3729. "code": "2",
  3730. "message": "User cannot delete note",
  3731. "_content": "The calling user does not have permission to delete the specified note"
  3732. }
  3733. ],
  3734. "security": {
  3735. "needslogin": 1,
  3736. "needssigning": 1,
  3737. "requiredperms": 2
  3738. },
  3739. "name": "flickr.photos.notes.delete",
  3740. "url": "https://www.flickr.com/services/api/flickr.photos.notes.delete.html"
  3741. },
  3742. "flickr.photos.notes.edit": {
  3743. "required": [
  3744. {
  3745. "name": "note_id",
  3746. "_content": "The id of the note to edit"
  3747. },
  3748. {
  3749. "name": "note_x",
  3750. "_content": "The left coordinate of the note"
  3751. },
  3752. {
  3753. "name": "note_y",
  3754. "_content": "The top coordinate of the note"
  3755. },
  3756. {
  3757. "name": "note_w",
  3758. "_content": "The width of the note"
  3759. },
  3760. {
  3761. "name": "note_h",
  3762. "_content": "The height of the note"
  3763. },
  3764. {
  3765. "name": "note_text",
  3766. "_content": "The description of the note"
  3767. }
  3768. ],
  3769. "errors": [
  3770. {
  3771. "code": "1",
  3772. "message": "Note not found",
  3773. "_content": "The note id passed was not a valid note id"
  3774. },
  3775. {
  3776. "code": "2",
  3777. "message": "User cannot edit note",
  3778. "_content": "The calling user does not have permission to edit the specified note"
  3779. },
  3780. {
  3781. "code": "3",
  3782. "message": "Missing required arguments",
  3783. "_content": "One or more of the required arguments were not supplied."
  3784. }
  3785. ],
  3786. "security": {
  3787. "needslogin": 1,
  3788. "needssigning": 1,
  3789. "requiredperms": 2
  3790. },
  3791. "name": "flickr.photos.notes.edit",
  3792. "url": "https://www.flickr.com/services/api/flickr.photos.notes.edit.html"
  3793. },
  3794. "flickr.photos.people.add": {
  3795. "required": [
  3796. {
  3797. "name": "photo_id",
  3798. "_content": "The id of the photo to add a person to."
  3799. },
  3800. {
  3801. "name": "user_id",
  3802. "_content": "The NSID of the user to add to the photo."
  3803. }
  3804. ],
  3805. "optional": [
  3806. {
  3807. "name": "person_x",
  3808. "_content": "The left-most pixel co-ordinate of the box around the person."
  3809. },
  3810. {
  3811. "name": "person_y",
  3812. "_content": "The top-most pixel co-ordinate of the box around the person."
  3813. },
  3814. {
  3815. "name": "person_w",
  3816. "_content": "The width (in pixels) of the box around the person."
  3817. },
  3818. {
  3819. "name": "person_h",
  3820. "_content": "The height (in pixels) of the box around the person."
  3821. }
  3822. ],
  3823. "errors": [
  3824. {
  3825. "code": "1",
  3826. "message": "Person not found",
  3827. "_content": "The NSID passed was not a valid user id."
  3828. },
  3829. {
  3830. "code": "2",
  3831. "message": "Photo not found",
  3832. "_content": "The photo id passed was not a valid photo id."
  3833. },
  3834. {
  3835. "code": "3",
  3836. "message": "User cannot add this person to photos",
  3837. "_content": "The person being added to the photo does not allow the calling user to add them."
  3838. },
  3839. {
  3840. "code": "4",
  3841. "message": "User cannot add people to that photo",
  3842. "_content": "The owner of the photo doesn't allow the calling user to add people to their photos."
  3843. },
  3844. {
  3845. "code": "5",
  3846. "message": "Person can't be tagged in that photo",
  3847. "_content": "The person being added to the photo does not want to be identified in this photo."
  3848. },
  3849. {
  3850. "code": "6",
  3851. "message": "Some co-ordinate paramters were blank",
  3852. "_content": "Not all of the co-ordinate parameters (person_x, person_y, person_w, person_h) were passed with valid values."
  3853. },
  3854. {
  3855. "code": "7",
  3856. "message": "Can't add that person to a non-public photo",
  3857. "_content": "You can only add yourself to another member's non-public photos."
  3858. },
  3859. {
  3860. "code": "8",
  3861. "message": "Too many people in that photo",
  3862. "_content": "The maximum number of people has already been added to the photo."
  3863. }
  3864. ],
  3865. "security": {
  3866. "needslogin": 1,
  3867. "needssigning": 1,
  3868. "requiredperms": 2
  3869. },
  3870. "name": "flickr.photos.people.add",
  3871. "url": "https://www.flickr.com/services/api/flickr.photos.people.add.html"
  3872. },
  3873. "flickr.photos.people.delete": {
  3874. "required": [
  3875. {
  3876. "name": "photo_id",
  3877. "_content": "The id of the photo to remove a person from."
  3878. },
  3879. {
  3880. "name": "user_id",
  3881. "_content": "The NSID of the person to remove from the photo."
  3882. }
  3883. ],
  3884. "optional": [
  3885. {
  3886. "name": "email",
  3887. "_content": "An email address for an invited user."
  3888. }
  3889. ],
  3890. "errors": [
  3891. {
  3892. "code": "1",
  3893. "message": "Person not found",
  3894. "_content": "The NSID passed was not a valid user id."
  3895. },
  3896. {
  3897. "code": "2",
  3898. "message": "Photo not found",
  3899. "_content": "The photo id passed was not a valid photo id."
  3900. },
  3901. {
  3902. "code": "3",
  3903. "message": "User cannot remove that person",
  3904. "_content": "The calling user did not have permission to remove this person from this photo."
  3905. }
  3906. ],
  3907. "security": {
  3908. "needslogin": 1,
  3909. "needssigning": 1,
  3910. "requiredperms": 2
  3911. },
  3912. "name": "flickr.photos.people.delete",
  3913. "url": "https://www.flickr.com/services/api/flickr.photos.people.delete.html"
  3914. },
  3915. "flickr.photos.people.deleteCoords": {
  3916. "required": [
  3917. {
  3918. "name": "photo_id",
  3919. "_content": "The id of the photo to edit a person in."
  3920. },
  3921. {
  3922. "name": "user_id",
  3923. "_content": "The NSID of the person whose bounding box you want to remove."
  3924. }
  3925. ],
  3926. "errors": [
  3927. {
  3928. "code": "1",
  3929. "message": "Person not found",
  3930. "_content": "The NSID passed was not a valid user id."
  3931. },
  3932. {
  3933. "code": "2",
  3934. "message": "Photo not found",
  3935. "_content": "The photo id passed was not a valid photo id."
  3936. },
  3937. {
  3938. "code": "3",
  3939. "message": "User cannot edit that person in that photo",
  3940. "_content": "The calling user is neither the person depicted in the photo nor the person who added the bounding box."
  3941. }
  3942. ],
  3943. "security": {
  3944. "needslogin": 1,
  3945. "needssigning": 1,
  3946. "requiredperms": 2
  3947. },
  3948. "name": "flickr.photos.people.deleteCoords",
  3949. "url": "https://www.flickr.com/services/api/flickr.photos.people.deleteCoords.html"
  3950. },
  3951. "flickr.photos.people.editCoords": {
  3952. "required": [
  3953. {
  3954. "name": "photo_id",
  3955. "_content": "The id of the photo to edit a person in."
  3956. },
  3957. {
  3958. "name": "user_id",
  3959. "_content": "The NSID of the person to edit in a photo."
  3960. },
  3961. {
  3962. "name": "person_x",
  3963. "_content": "The left-most pixel co-ordinate of the box around the person."
  3964. },
  3965. {
  3966. "name": "person_y",
  3967. "_content": "The top-most pixel co-ordinate of the box around the person."
  3968. },
  3969. {
  3970. "name": "person_w",
  3971. "_content": "The width (in pixels) of the box around the person."
  3972. },
  3973. {
  3974. "name": "person_h",
  3975. "_content": "The height (in pixels) of the box around the person."
  3976. }
  3977. ],
  3978. "optional": [
  3979. {
  3980. "name": "email",
  3981. "_content": "An email address for an 'invited' person in a photo"
  3982. }
  3983. ],
  3984. "errors": [
  3985. {
  3986. "code": "1",
  3987. "message": "Person not found",
  3988. "_content": "The NSID passed was not a valid user id."
  3989. },
  3990. {
  3991. "code": "2",
  3992. "message": "Photo not found",
  3993. "_content": "The photo id passed was not a valid photo id."
  3994. },
  3995. {
  3996. "code": "3",
  3997. "message": "User cannot edit that person in that photo",
  3998. "_content": "The calling user did not originally add this person to the photo, and is not the person in question."
  3999. },
  4000. {
  4001. "code": "4",
  4002. "message": "Some co-ordinate paramters were blank",
  4003. "_content": "Not all of the co-ordinate parameters (person_x, person_y, person_w, person_h) were passed with valid values."
  4004. },
  4005. {
  4006. "code": "5",
  4007. "message": "No co-ordinates given",
  4008. "_content": "None of the co-ordinate parameters were valid."
  4009. }
  4010. ],
  4011. "security": {
  4012. "needslogin": 1,
  4013. "needssigning": 1,
  4014. "requiredperms": 2
  4015. },
  4016. "name": "flickr.photos.people.editCoords",
  4017. "url": "https://www.flickr.com/services/api/flickr.photos.people.editCoords.html"
  4018. },
  4019. "flickr.photos.people.getList": {
  4020. "required": [
  4021. {
  4022. "name": "photo_id",
  4023. "_content": "The id of the photo to get a list of people for."
  4024. }
  4025. ],
  4026. "optional": [
  4027. {
  4028. "name": "extras",
  4029. "_content": "Accepts the following extras: icon_urls, icon_urls_deep, paid_products\r\n\r\nicon_urls, icon_urls_deep: returns the persons buddy icon urls\r\npaid_products: returns if the person is pro or has a add on."
  4030. }
  4031. ],
  4032. "errors": [
  4033. {
  4034. "code": "1",
  4035. "message": "Photo not found",
  4036. "_content": "The photo id passed was not a valid photo id."
  4037. }
  4038. ],
  4039. "security": {
  4040. "needslogin": 0,
  4041. "needssigning": 0,
  4042. "requiredperms": 0
  4043. },
  4044. "name": "flickr.photos.people.getList",
  4045. "url": "https://www.flickr.com/services/api/flickr.photos.people.getList.html"
  4046. },
  4047. "flickr.photos.recentlyUpdated": {
  4048. "required": [
  4049. {
  4050. "name": "min_date",
  4051. "_content": "A Unix timestamp or any English textual datetime description indicating the date from which modifications should be compared."
  4052. }
  4053. ],
  4054. "errors": [
  4055. {
  4056. "code": "1",
  4057. "message": "Required argument missing.",
  4058. "_content": "Some or all of the required arguments were not supplied."
  4059. },
  4060. {
  4061. "code": "2",
  4062. "message": "Not a valid date",
  4063. "_content": "The date argument did not pass validation."
  4064. }
  4065. ],
  4066. "security": {
  4067. "needslogin": 1,
  4068. "needssigning": 1,
  4069. "requiredperms": 1
  4070. },
  4071. "name": "flickr.photos.recentlyUpdated",
  4072. "url": "https://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html"
  4073. },
  4074. "flickr.photos.removeTag": {
  4075. "required": [
  4076. {
  4077. "name": "tag_id",
  4078. "_content": "The tag to remove from the photo. This parameter should contain a tag id, as returned by <a href=\"/services/api/flickr.photos.getInfo.html\">flickr.photos.getInfo</a>."
  4079. }
  4080. ],
  4081. "errors": [
  4082. {
  4083. "code": "1",
  4084. "message": "Tag not found",
  4085. "_content": "The calling user doesn't have permission to delete the specified tag. This could mean it belongs to someone else, or doesn't exist."
  4086. }
  4087. ],
  4088. "security": {
  4089. "needslogin": 1,
  4090. "needssigning": 1,
  4091. "requiredperms": 2
  4092. },
  4093. "name": "flickr.photos.removeTag",
  4094. "url": "https://www.flickr.com/services/api/flickr.photos.removeTag.html"
  4095. },
  4096. "flickr.photos.search": {
  4097. "optional": [
  4098. {
  4099. "name": "user_id",
  4100. "_content": "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."
  4101. },
  4102. {
  4103. "name": "tags",
  4104. "_content": "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."
  4105. },
  4106. {
  4107. "name": "tag_mode",
  4108. "_content": "Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified."
  4109. },
  4110. {
  4111. "name": "text",
  4112. "_content": "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."
  4113. },
  4114. {
  4115. "name": "min_upload_date",
  4116. "_content": "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."
  4117. },
  4118. {
  4119. "name": "max_upload_date",
  4120. "_content": "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."
  4121. },
  4122. {
  4123. "name": "min_taken_date",
  4124. "_content": "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."
  4125. },
  4126. {
  4127. "name": "max_taken_date",
  4128. "_content": "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."
  4129. },
  4130. {
  4131. "name": "license",
  4132. "_content": "The license id for photos (for possible values see the flickr.photos.licenses.getInfo method). Multiple licenses may be comma-separated."
  4133. },
  4134. {
  4135. "name": "sort",
  4136. "_content": "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."
  4137. },
  4138. {
  4139. "name": "privacy_filter",
  4140. "_content": "Return photos only matching a certain privacy level. This only applies when making an authenticated call to view photos you own. Valid values are:\r\n<ul>\r\n<li>1 public photos</li>\r\n<li>2 private photos visible to friends</li>\r\n<li>3 private photos visible to family</li>\r\n<li>4 private photos visible to friends & family</li>\r\n<li>5 completely private photos</li>\r\n</ul>\r\n"
  4141. },
  4142. {
  4143. "name": "bbox",
  4144. "_content": "A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched.\r\n<br /><br />\r\nThe 4 values represent the bottom-left corner of the box and the top-right corner, minimum_longitude, minimum_latitude, maximum_longitude, maximum_latitude.\r\n<br /><br />\r\nLongitude has a range of -180 to 180 , latitude of -90 to 90. Defaults to -180, -90, 180, 90 if not specified.\r\n<br /><br />\r\nUnlike standard photo queries, geo (or bounding box) queries will only return 250 results per page.\r\n<br /><br />\r\nGeo 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.\r\n<br /><br />\r\nA tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &#8212; 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)."
  4145. },
  4146. {
  4147. "name": "accuracy",
  4148. "_content": "Recorded accuracy level of the location information. Current range is 1-16 : \r\n\r\n<ul>\r\n<li>World level is 1</li>\r\n<li>Country is ~3</li>\r\n<li>Region is ~6</li>\r\n<li>City is ~11</li>\r\n<li>Street is ~16</li>\r\n</ul>\r\n\r\nDefaults to maximum value if not specified."
  4149. },
  4150. {
  4151. "name": "safe_search",
  4152. "_content": "Safe search setting:\r\n\r\n<ul>\r\n<li>1 for safe.</li>\r\n<li>2 for moderate.</li>\r\n<li>3 for restricted.</li>\r\n</ul>\r\n\r\n(Please note: Un-authed calls can only see Safe content.)"
  4153. },
  4154. {
  4155. "name": "content_type",
  4156. "_content": "Content Type setting:\r\n<ul>\r\n<li>1 for photos only.</li>\r\n<li>2 for screenshots only.</li>\r\n<li>3 for 'other' only.</li>\r\n<li>4 for photos and screenshots.</li>\r\n<li>5 for screenshots and 'other'.</li>\r\n<li>6 for photos and 'other'.</li>\r\n<li>7 for photos, screenshots, and 'other' (all).</li>\r\n</ul>"
  4157. },
  4158. {
  4159. "name": "machine_tags",
  4160. "_content": "Aside from passing in a fully formed machine tag, there is a special syntax for searching on specific properties :\r\n\r\n<ul>\r\n <li>Find photos using the 'dc' namespace : <code>\"machine_tags\" => \"dc:\"</code></li>\r\n\r\n <li> Find photos with a title in the 'dc' namespace : <code>\"machine_tags\" => \"dc:title=\"</code></li>\r\n\r\n <li>Find photos titled \"mr. camera\" in the 'dc' namespace : <code>\"machine_tags\" => \"dc:title=\\\"mr. camera\\\"</code></li>\r\n\r\n <li>Find photos whose value is \"mr. camera\" : <code>\"machine_tags\" => \"*:*=\\\"mr. camera\\\"\"</code></li>\r\n\r\n <li>Find photos that have a title, in any namespace : <code>\"machine_tags\" => \"*:title=\"</code></li>\r\n\r\n <li>Find photos that have a title, in any namespace, whose value is \"mr. camera\" : <code>\"machine_tags\" => \"*:title=\\\"mr. camera\\\"\"</code></li>\r\n\r\n <li>Find photos, in the 'dc' namespace whose value is \"mr. camera\" : <code>\"machine_tags\" => \"dc:*=\\\"mr. camera\\\"\"</code></li>\r\n\r\n </ul>\r\n\r\nMultiple 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\r\nto (8)."
  4161. },
  4162. {
  4163. "name": "machine_tag_mode",
  4164. "_content": "Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified."
  4165. },
  4166. {
  4167. "name": "group_id",
  4168. "_content": "The id of a group who's pool to search. If specified, only matching photos posted to the group's pool will be returned."
  4169. },
  4170. {
  4171. "name": "faves",
  4172. "_content": "boolean. Pass faves=1 along with your user_id to search within your favorites"
  4173. },
  4174. {
  4175. "name": "camera",
  4176. "_content": "Limit results by camera. Camera names must be in the <a href=\"http://www.flickr.com/cameras\">Camera Finder</a> normalized form. <a href=\"http://flickr.com/services/api/flickr.cameras.getList\">flickr.cameras.getList()</a> returns a list of searchable cameras."
  4177. },
  4178. {
  4179. "name": "jump_to",
  4180. "_content": "Jump, jump!"
  4181. },
  4182. {
  4183. "name": "contacts",
  4184. "_content": "Search your contacts. Either 'all' or 'ff' for just friends and family. (Experimental)"
  4185. },
  4186. {
  4187. "name": "woe_id",
  4188. "_content": "A 32-bit identifier that uniquely represents spatial entities. (not used if bbox argument is present). \r\n<br /><br />\r\nGeo 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.\r\n<br /><br />\r\nA tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &mdash; 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)."
  4189. },
  4190. {
  4191. "name": "place_id",
  4192. "_content": "A Flickr place id. (not used if bbox argument is present).\r\n<br /><br />\r\nGeo 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.\r\n<br /><br />\r\nA tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &mdash; 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)."
  4193. },
  4194. {
  4195. "name": "media",
  4196. "_content": "Filter results by media type. Possible values are <code>all</code> (default), <code>photos</code> or <code>videos</code>"
  4197. },
  4198. {
  4199. "name": "has_geo",
  4200. "_content": "Any photo that has been geotagged, or if the value is \"0\" any photo that has <i>not</i> been geotagged.\r\n<br /><br />\r\nGeo 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.\r\n<br /><br />\r\nA tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &mdash; 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)."
  4201. },
  4202. {
  4203. "name": "geo_context",
  4204. "_content": "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\". <br /><br />\r\nThe current list of context IDs is :<br /><br/>\r\n<ul>\r\n<li><strong>0</strong>, not defined.</li>\r\n<li><strong>1</strong>, indoors.</li>\r\n<li><strong>2</strong>, outdoors.</li>\r\n</ul>\r\n<br /><br />\r\nGeo 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.\r\n<br /><br />\r\nA tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &mdash; 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)."
  4205. },
  4206. {
  4207. "name": "lat",
  4208. "_content": "A valid latitude, in decimal format, for doing radial geo queries.\r\n<br /><br />\r\nGeo 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.\r\n<br /><br />\r\nA tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &mdash; 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)."
  4209. },
  4210. {
  4211. "name": "lon",
  4212. "_content": "A valid longitude, in decimal format, for doing radial geo queries.\r\n<br /><br />\r\nGeo 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.\r\n<br /><br />\r\nA tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters &mdash; 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)."
  4213. },
  4214. {
  4215. "name": "radius",
  4216. "_content": "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)."
  4217. },
  4218. {
  4219. "name": "radius_units",
  4220. "_content": "The unit of measure when doing radial geo queries. Valid options are \"mi\" (miles) and \"km\" (kilometers). The default is \"km\"."
  4221. },
  4222. {
  4223. "name": "is_commons",
  4224. "_content": "Limit the scope of the search to only photos that are part of the <a href=\"http://flickr.com/commons\">Flickr Commons project</a>. Default is false."
  4225. },
  4226. {
  4227. "name": "in_gallery",
  4228. "_content": "Limit the scope of the search to only photos that are in a <a href=\"http://www.flickr.com/help/galleries/\">gallery</a>? Default is false, search all photos."
  4229. },
  4230. {
  4231. "name": "person_id",
  4232. "_content": "The id of a user. Will return photos where the user has been people tagged. A call signed as the person_id in question will return *all* photos the user in, otherwise returns public photos."
  4233. },
  4234. {
  4235. "name": "is_getty",
  4236. "_content": "Limit the scope of the search to only photos that are for sale on Getty. Default is false."
  4237. },
  4238. {
  4239. "name": "username",
  4240. "_content": "username/character name of the person whose photos you want to search. "
  4241. },
  4242. {
  4243. "name": "exif_min_exposure",
  4244. "_content": ""
  4245. },
  4246. {
  4247. "name": "exif_max_exposure",
  4248. "_content": ""
  4249. },
  4250. {
  4251. "name": "exif_min_aperture",
  4252. "_content": ""
  4253. },
  4254. {
  4255. "name": "exif_max_aperture",
  4256. "_content": ""
  4257. },
  4258. {
  4259. "name": "exif_min_focallen",
  4260. "_content": ""
  4261. },
  4262. {
  4263. "name": "exif_max_focallen",
  4264. "_content": ""
  4265. }
  4266. ],
  4267. "errors": [
  4268. {
  4269. "code": "1",
  4270. "message": "Too many tags in ALL query",
  4271. "_content": "When performing an 'all tags' search, you may not specify more than 20 tags to join together."
  4272. },
  4273. {
  4274. "code": "2",
  4275. "message": "Unknown user",
  4276. "_content": "A user_id was passed which did not match a valid flickr user."
  4277. },
  4278. {
  4279. "code": "3",
  4280. "message": "Parameterless searches have been disabled",
  4281. "_content": "To perform a search with no parameters (to get the latest public photos, please use flickr.photos.getRecent instead)."
  4282. },
  4283. {
  4284. "code": "4",
  4285. "message": "You don't have permission to view this pool",
  4286. "_content": "The logged in user (if any) does not have permission to view the pool for this group."
  4287. },
  4288. {
  4289. "code": "10",
  4290. "message": "Sorry, the Flickr search API is not currently available.",
  4291. "_content": "The Flickr API search databases are temporarily unavailable."
  4292. },
  4293. {
  4294. "code": "11",
  4295. "message": "No valid machine tags",
  4296. "_content": "The query styntax for the machine_tags argument did not validate."
  4297. },
  4298. {
  4299. "code": "12",
  4300. "message": "Exceeded maximum allowable machine tags",
  4301. "_content": "The maximum number of machine tags in a single query was exceeded."
  4302. },
  4303. {
  4304. "code": "13",
  4305. "message": "jump_to not avaiable for this query",
  4306. "_content": "jump_to only supported for some query types."
  4307. },
  4308. {
  4309. "code": "14",
  4310. "message": "Bad value for jump_to",
  4311. "_content": "jump_to must be valid photo ID."
  4312. },
  4313. {
  4314. "code": "15",
  4315. "message": "Photo not found",
  4316. "_content": ""
  4317. },
  4318. {
  4319. "code": "16",
  4320. "message": "You can only search within your own favorites",
  4321. "_content": ""
  4322. },
  4323. {
  4324. "code": "17",
  4325. "message": "You can only search within your own contacts",
  4326. "_content": "The call tried to use the contacts parameter with no user ID or a user ID other than that of the authenticated user."
  4327. },
  4328. {
  4329. "code": "18",
  4330. "message": "Illogical arguments",
  4331. "_content": "The request contained contradictory arguments."
  4332. },
  4333. {
  4334. "code": "20",
  4335. "message": "Excessive photo offset in search",
  4336. "_content": "The search requested photos beyond an allowable offset. Reduce the page number or number of results per page for this search."
  4337. }
  4338. ],
  4339. "security": {
  4340. "needslogin": 0,
  4341. "needssigning": 0,
  4342. "requiredperms": 0
  4343. },
  4344. "name": "flickr.photos.search",
  4345. "url": "https://www.flickr.com/services/api/flickr.photos.search.html"
  4346. },
  4347. "flickr.photos.setContentType": {
  4348. "required": [
  4349. {
  4350. "name": "photo_id",
  4351. "_content": "The id of the photo to set the adultness of."
  4352. },
  4353. {
  4354. "name": "content_type",
  4355. "_content": "The content type of the photo. Must be one of: 1 for Photo, 2 for Screenshot, and 3 for Other."
  4356. }
  4357. ],
  4358. "errors": [
  4359. {
  4360. "code": "1",
  4361. "message": "Photo not found",
  4362. "_content": "The photo id passed was not a valid photo id of a photo belonging to the calling user."
  4363. },
  4364. {
  4365. "code": "2",
  4366. "message": "Required arguments missing",
  4367. "_content": "Some or all of the required arguments were not supplied."
  4368. },
  4369. {
  4370. "code": "3",
  4371. "message": "Change not allowed",
  4372. "_content": "Changing the content type of this photo is not allowed."
  4373. }
  4374. ],
  4375. "security": {
  4376. "needslogin": 1,
  4377. "needssigning": 1,
  4378. "requiredperms": 2
  4379. },
  4380. "name": "flickr.photos.setContentType",
  4381. "url": "https://www.flickr.com/services/api/flickr.photos.setContentType.html"
  4382. },
  4383. "flickr.photos.setDates": {
  4384. "required": [
  4385. {
  4386. "name": "photo_id",
  4387. "_content": "The id of the photo to edit dates for."
  4388. }
  4389. ],
  4390. "optional": [
  4391. {
  4392. "name": "date_posted",
  4393. "_content": "The date the photo was uploaded to flickr (see the <a href=\"/services/api/misc.dates.html\">dates documentation</a>)"
  4394. },
  4395. {
  4396. "name": "date_taken",
  4397. "_content": "The date the photo was taken (see the <a href=\"/services/api/misc.dates.html\">dates documentation</a>)"
  4398. },
  4399. {
  4400. "name": "date_taken_granularity",
  4401. "_content": "The granularity of the date the photo was taken (see the <a href=\"/services/api/misc.dates.html\">dates documentation</a>)"
  4402. }
  4403. ],
  4404. "errors": [
  4405. {
  4406. "code": "1",
  4407. "message": "Photo not found",
  4408. "_content": "The photo id was not the id of a valid photo belonging to the calling user."
  4409. },
  4410. {
  4411. "code": "2",
  4412. "message": "Not enough arguments",
  4413. "_content": "No dates were specified to be changed."
  4414. },
  4415. {
  4416. "code": "3",
  4417. "message": "Invalid granularity",
  4418. "_content": "The value passed for 'granularity' was not a valid flickr date granularity."
  4419. }
  4420. ],
  4421. "security": {
  4422. "needslogin": 1,
  4423. "needssigning": 1,
  4424. "requiredperms": 2
  4425. },
  4426. "name": "flickr.photos.setDates",
  4427. "url": "https://www.flickr.com/services/api/flickr.photos.setDates.html"
  4428. },
  4429. "flickr.photos.setMeta": {
  4430. "required": [
  4431. {
  4432. "name": "photo_id",
  4433. "_content": "The id of the photo to set information for."
  4434. },
  4435. {
  4436. "name": "title",
  4437. "_content": "The title for the photo."
  4438. },
  4439. {
  4440. "name": "description",
  4441. "_content": "The description for the photo."
  4442. }
  4443. ],
  4444. "errors": [
  4445. {
  4446. "code": "1",
  4447. "message": "Photo not found",
  4448. "_content": "The photo id passed was not the id of a photo belonging to the calling user. It might be an invalid id, or the photo might be owned by another user. "
  4449. }
  4450. ],
  4451. "security": {
  4452. "needslogin": 1,
  4453. "needssigning": 1,
  4454. "requiredperms": 2
  4455. },
  4456. "name": "flickr.photos.setMeta",
  4457. "url": "https://www.flickr.com/services/api/flickr.photos.setMeta.html"
  4458. },
  4459. "flickr.photos.setPerms": {
  4460. "required": [
  4461. {
  4462. "name": "photo_id",
  4463. "_content": "The id of the photo to set permissions for."
  4464. },
  4465. {
  4466. "name": "is_public",
  4467. "_content": "1 to set the photo to public, 0 to set it to private."
  4468. },
  4469. {
  4470. "name": "is_friend",
  4471. "_content": "1 to make the photo visible to friends when private, 0 to not."
  4472. },
  4473. {
  4474. "name": "is_family",
  4475. "_content": "1 to make the photo visible to family when private, 0 to not."
  4476. },
  4477. {
  4478. "name": "perm_comment",
  4479. "_content": "who can add comments to the photo and it's notes. one of:<br />\r\n<code>0</code>: nobody<br />\r\n<code>1</code>: friends &amp; family<br />\r\n<code>2</code>: contacts<br />\r\n<code>3</code>: everybody"
  4480. },
  4481. {
  4482. "name": "perm_addmeta",
  4483. "_content": "who can add notes and tags to the photo. one of:<br />\r\n<code>0</code>: nobody / just the owner<br />\r\n<code>1</code>: friends &amp; family<br />\r\n<code>2</code>: contacts<br />\r\n<code>3</code>: everybody\r\n"
  4484. }
  4485. ],
  4486. "errors": [
  4487. {
  4488. "code": "1",
  4489. "message": "Photo not found",
  4490. "_content": "The photo id passed was not a valid photo id of a photo belonging to the calling user."
  4491. },
  4492. {
  4493. "code": "2",
  4494. "message": "Required arguments missing",
  4495. "_content": "Some or all of the required arguments were not supplied."
  4496. }
  4497. ],
  4498. "security": {
  4499. "needslogin": 1,
  4500. "needssigning": 1,
  4501. "requiredperms": 2
  4502. },
  4503. "name": "flickr.photos.setPerms",
  4504. "url": "https://www.flickr.com/services/api/flickr.photos.setPerms.html"
  4505. },
  4506. "flickr.photos.setSafetyLevel": {
  4507. "required": [
  4508. {
  4509. "name": "photo_id",
  4510. "_content": "The id of the photo to set the adultness of."
  4511. }
  4512. ],
  4513. "optional": [
  4514. {
  4515. "name": "safety_level",
  4516. "_content": "The safety level of the photo. Must be one of:\r\n\r\n1 for Safe, 2 for Moderate, and 3 for Restricted."
  4517. },
  4518. {
  4519. "name": "hidden",
  4520. "_content": "Whether or not to additionally hide the photo from public searches. Must be either 1 for Yes or 0 for No."
  4521. }
  4522. ],
  4523. "errors": [
  4524. {
  4525. "code": "1",
  4526. "message": "Photo not found",
  4527. "_content": "The photo id passed was not a valid photo id of a photo belonging to the calling user."
  4528. },
  4529. {
  4530. "code": "2",
  4531. "message": "Invalid or missing arguments",
  4532. "_content": "Neither a valid safety level nor a hidden value were passed."
  4533. },
  4534. {
  4535. "code": "3",
  4536. "message": "Change not allowed",
  4537. "_content": "Changing the safety level of this photo is not allowed."
  4538. }
  4539. ],
  4540. "security": {
  4541. "needslogin": 1,
  4542. "needssigning": 1,
  4543. "requiredperms": 2
  4544. },
  4545. "name": "flickr.photos.setSafetyLevel",
  4546. "url": "https://www.flickr.com/services/api/flickr.photos.setSafetyLevel.html"
  4547. },
  4548. "flickr.photos.setTags": {
  4549. "required": [
  4550. {
  4551. "name": "photo_id",
  4552. "_content": "The id of the photo to set tags for.\r\n"
  4553. },
  4554. {
  4555. "name": "tags",
  4556. "_content": "All tags for the photo (as a single space-delimited string)."
  4557. }
  4558. ],
  4559. "errors": [
  4560. {
  4561. "code": "1",
  4562. "message": "Photo not found",
  4563. "_content": "The photo id passed was not the id of a photo belonging to the calling user. It might be an invalid id, or the photo might be owned by another user. "
  4564. },
  4565. {
  4566. "code": "2",
  4567. "message": "Maximum number of tags reached",
  4568. "_content": "The number of tags specified exceeds the limit for the photo. No tags were modified."
  4569. }
  4570. ],
  4571. "security": {
  4572. "needslogin": 1,
  4573. "needssigning": 1,
  4574. "requiredperms": 2
  4575. },
  4576. "name": "flickr.photos.setTags",
  4577. "url": "https://www.flickr.com/services/api/flickr.photos.setTags.html"
  4578. },
  4579. "flickr.photos.suggestions.approveSuggestion": {
  4580. "required": [
  4581. {
  4582. "name": "suggestion_id",
  4583. "_content": "The unique ID for the location suggestion to approve."
  4584. }
  4585. ],
  4586. "security": {
  4587. "needslogin": 1,
  4588. "needssigning": 1,
  4589. "requiredperms": 2
  4590. },
  4591. "name": "flickr.photos.suggestions.approveSuggestion",
  4592. "url": "https://www.flickr.com/services/api/flickr.photos.suggestions.approveSuggestion.html"
  4593. },
  4594. "flickr.photos.suggestions.getList": {
  4595. "optional": [
  4596. {
  4597. "name": "photo_id",
  4598. "_content": "Only show suggestions for a single photo."
  4599. },
  4600. {
  4601. "name": "status_id",
  4602. "_content": "Only show suggestions with a given status.\r\n\r\n<ul>\r\n<li><strong>0</strong>, pending</li>\r\n<li><strong>1</strong>, approved</li>\r\n<li><strong>2</strong>, rejected</li>\r\n</ul>\r\n\r\nThe default is pending (or \"0\")."
  4603. }
  4604. ],
  4605. "security": {
  4606. "needslogin": 1,
  4607. "needssigning": 1,
  4608. "requiredperms": 1
  4609. },
  4610. "name": "flickr.photos.suggestions.getList",
  4611. "url": "https://www.flickr.com/services/api/flickr.photos.suggestions.getList.html"
  4612. },
  4613. "flickr.photos.suggestions.rejectSuggestion": {
  4614. "required": [
  4615. {
  4616. "name": "suggestion_id",
  4617. "_content": "The unique ID of the suggestion to reject."
  4618. }
  4619. ],
  4620. "security": {
  4621. "needslogin": 1,
  4622. "needssigning": 1,
  4623. "requiredperms": 2
  4624. },
  4625. "name": "flickr.photos.suggestions.rejectSuggestion",
  4626. "url": "https://www.flickr.com/services/api/flickr.photos.suggestions.rejectSuggestion.html"
  4627. },
  4628. "flickr.photos.suggestions.removeSuggestion": {
  4629. "required": [
  4630. {
  4631. "name": "suggestion_id",
  4632. "_content": "The unique ID for the location suggestion to approve."
  4633. }
  4634. ],
  4635. "security": {
  4636. "needslogin": 1,
  4637. "needssigning": 1,
  4638. "requiredperms": 2
  4639. },
  4640. "name": "flickr.photos.suggestions.removeSuggestion",
  4641. "url": "https://www.flickr.com/services/api/flickr.photos.suggestions.removeSuggestion.html"
  4642. },
  4643. "flickr.photos.suggestions.suggestLocation": {
  4644. "required": [
  4645. {
  4646. "name": "photo_id",
  4647. "_content": "The photo whose location you are suggesting."
  4648. },
  4649. {
  4650. "name": "lat",
  4651. "_content": "The latitude whose valid range is -90 to 90. Anything more than 6 decimal places will be truncated."
  4652. },
  4653. {
  4654. "name": "lon",
  4655. "_content": "The longitude whose valid range is -180 to 180. Anything more than 6 decimal places will be truncated."
  4656. }
  4657. ],
  4658. "optional": [
  4659. {
  4660. "name": "accuracy",
  4661. "_content": "Recorded accuracy level of the location information. World level is 1, Country is ~3, Region ~6, City ~11, Street ~16. Current range is 1-16. Defaults to 16 if not specified."
  4662. },
  4663. {
  4664. "name": "woe_id",
  4665. "_content": "The WOE ID of the location used to build the location hierarchy for the photo."
  4666. },
  4667. {
  4668. "name": "place_id",
  4669. "_content": "The Flickr Places ID of the location used to build the location hierarchy for the photo."
  4670. },
  4671. {
  4672. "name": "note",
  4673. "_content": "A short note or history to include with the suggestion."
  4674. }
  4675. ],
  4676. "security": {
  4677. "needslogin": 1,
  4678. "needssigning": 1,
  4679. "requiredperms": 2
  4680. },
  4681. "name": "flickr.photos.suggestions.suggestLocation",
  4682. "url": "https://www.flickr.com/services/api/flickr.photos.suggestions.suggestLocation.html"
  4683. },
  4684. "flickr.photos.transform.rotate": {
  4685. "required": [
  4686. {
  4687. "name": "photo_id",
  4688. "_content": "The id of the photo to rotate."
  4689. },
  4690. {
  4691. "name": "degrees",
  4692. "_content": "The amount of degrees by which to rotate the photo (clockwise) from it's current orientation. Valid values are 90, 180 and 270."
  4693. }
  4694. ],
  4695. "errors": [
  4696. {
  4697. "code": "1",
  4698. "message": "Photo not found",
  4699. "_content": "The photo id was invalid or did not belong to the calling user."
  4700. },
  4701. {
  4702. "code": "2",
  4703. "message": "Invalid rotation",
  4704. "_content": "The rotation degrees were an invalid value."
  4705. },
  4706. {
  4707. "code": "3",
  4708. "message": "Temporary failure",
  4709. "_content": "There was a problem either rotating the image or storing the rotated versions."
  4710. },
  4711. {
  4712. "code": "4",
  4713. "message": "Rotation disabled",
  4714. "_content": "The rotation service is currently disabled."
  4715. }
  4716. ],
  4717. "security": {
  4718. "needslogin": 1,
  4719. "needssigning": 1,
  4720. "requiredperms": 2
  4721. },
  4722. "name": "flickr.photos.transform.rotate",
  4723. "url": "https://www.flickr.com/services/api/flickr.photos.transform.rotate.html"
  4724. },
  4725. "flickr.photos.upload.checkTickets": {
  4726. "required": [
  4727. {
  4728. "name": "tickets",
  4729. "_content": "A comma-delimited list of ticket ids"
  4730. }
  4731. ],
  4732. "optional": [
  4733. {
  4734. "name": "batch_id",
  4735. "_content": ""
  4736. }
  4737. ],
  4738. "security": {
  4739. "needslogin": 0,
  4740. "needssigning": 0,
  4741. "requiredperms": 0
  4742. },
  4743. "name": "flickr.photos.upload.checkTickets",
  4744. "url": "https://www.flickr.com/services/api/flickr.photos.upload.checkTickets.html"
  4745. },
  4746. "flickr.photosets.addPhoto": {
  4747. "required": [
  4748. {
  4749. "name": "photoset_id",
  4750. "_content": "The id of the photoset to add a photo to."
  4751. },
  4752. {
  4753. "name": "photo_id",
  4754. "_content": "The id of the photo to add to the set."
  4755. }
  4756. ],
  4757. "errors": [
  4758. {
  4759. "code": "1",
  4760. "message": "Photoset not found",
  4761. "_content": "The photoset id passed was not the id of avalid photoset owned by the calling user."
  4762. },
  4763. {
  4764. "code": "2",
  4765. "message": "Photo not found",
  4766. "_content": "The photo id passed was not the id of a valid photo owned by the calling user."
  4767. },
  4768. {
  4769. "code": "3",
  4770. "message": "Photo already in set",
  4771. "_content": "The photo is already a member of the photoset."
  4772. },
  4773. {
  4774. "code": "10",
  4775. "message": "Maximum number of photos in set",
  4776. "_content": "A set has reached the upper limit for the number of photos allowed."
  4777. }
  4778. ],
  4779. "security": {
  4780. "needslogin": 1,
  4781. "needssigning": 1,
  4782. "requiredperms": 2
  4783. },
  4784. "name": "flickr.photosets.addPhoto",
  4785. "url": "https://www.flickr.com/services/api/flickr.photosets.addPhoto.html"
  4786. },
  4787. "flickr.photosets.comments.addComment": {
  4788. "required": [
  4789. {
  4790. "name": "photoset_id",
  4791. "_content": "The id of the photoset to add a comment to."
  4792. },
  4793. {
  4794. "name": "comment_text",
  4795. "_content": "Text of the comment"
  4796. }
  4797. ],
  4798. "errors": [
  4799. {
  4800. "code": "1",
  4801. "message": "Photoset not found",
  4802. "_content": ""
  4803. },
  4804. {
  4805. "code": "8",
  4806. "message": "Blank comment",
  4807. "_content": ""
  4808. },
  4809. {
  4810. "code": "9",
  4811. "message": "User is posting comments too fast.",
  4812. "_content": "The user has reached the limit for number of comments posted during a specific time period. Wait a bit and try again."
  4813. }
  4814. ],
  4815. "security": {
  4816. "needslogin": 1,
  4817. "needssigning": 1,
  4818. "requiredperms": 2
  4819. },
  4820. "name": "flickr.photosets.comments.addComment",
  4821. "url": "https://www.flickr.com/services/api/flickr.photosets.comments.addComment.html"
  4822. },
  4823. "flickr.photosets.comments.deleteComment": {
  4824. "required": [
  4825. {
  4826. "name": "comment_id",
  4827. "_content": "The id of the comment to delete from a photoset."
  4828. }
  4829. ],
  4830. "errors": [
  4831. {
  4832. "code": "2",
  4833. "message": "Comment not found.",
  4834. "_content": "The comment id passed was not a valid comment id"
  4835. }
  4836. ],
  4837. "security": {
  4838. "needslogin": 1,
  4839. "needssigning": 1,
  4840. "requiredperms": 2
  4841. },
  4842. "name": "flickr.photosets.comments.deleteComment",
  4843. "url": "https://www.flickr.com/services/api/flickr.photosets.comments.deleteComment.html"
  4844. },
  4845. "flickr.photosets.comments.editComment": {
  4846. "required": [
  4847. {
  4848. "name": "comment_id",
  4849. "_content": "The id of the comment to edit."
  4850. },
  4851. {
  4852. "name": "comment_text",
  4853. "_content": "Update the comment to this text."
  4854. }
  4855. ],
  4856. "errors": [
  4857. {
  4858. "code": "2",
  4859. "message": "Comment not found.",
  4860. "_content": "The comment id passed was not a valid comment id."
  4861. },
  4862. {
  4863. "code": "8",
  4864. "message": "Blank comment.",
  4865. "_content": "Comment text can't be blank."
  4866. }
  4867. ],
  4868. "security": {
  4869. "needslogin": 1,
  4870. "needssigning": 1,
  4871. "requiredperms": 2
  4872. },
  4873. "name": "flickr.photosets.comments.editComment",
  4874. "url": "https://www.flickr.com/services/api/flickr.photosets.comments.editComment.html"
  4875. },
  4876. "flickr.photosets.comments.getList": {
  4877. "required": [
  4878. {
  4879. "name": "photoset_id",
  4880. "_content": "The id of the photoset to fetch comments for."
  4881. }
  4882. ],
  4883. "errors": [
  4884. {
  4885. "code": "1",
  4886. "message": "Photoset not found.",
  4887. "_content": "The photoset id was invalid."
  4888. }
  4889. ],
  4890. "security": {
  4891. "needslogin": 0,
  4892. "needssigning": 0,
  4893. "requiredperms": 0
  4894. },
  4895. "name": "flickr.photosets.comments.getList",
  4896. "url": "https://www.flickr.com/services/api/flickr.photosets.comments.getList.html"
  4897. },
  4898. "flickr.photosets.create": {
  4899. "required": [
  4900. {
  4901. "name": "title",
  4902. "_content": "A title for the photoset."
  4903. },
  4904. {
  4905. "name": "primary_photo_id",
  4906. "_content": "The id of the photo to represent this set. The photo must belong to the calling user."
  4907. }
  4908. ],
  4909. "optional": [
  4910. {
  4911. "name": "description",
  4912. "_content": "A description of the photoset. May contain limited html."
  4913. },
  4914. {
  4915. "name": "full_result",
  4916. "_content": "If this is set, we get the same result as a getList API would give, along with extras: url_sq,url_t,url_s,url_m"
  4917. }
  4918. ],
  4919. "errors": [
  4920. {
  4921. "code": "1",
  4922. "message": "No title specified",
  4923. "_content": "No title parameter was passed in the request."
  4924. },
  4925. {
  4926. "code": "2",
  4927. "message": "Photo not found",
  4928. "_content": "The primary photo id passed was not a valid photo id or does not belong to the calling user."
  4929. },
  4930. {
  4931. "code": "3",
  4932. "message": "Can't create any more sets",
  4933. "_content": "The user has reached their maximum number of photosets limit."
  4934. }
  4935. ],
  4936. "security": {
  4937. "needslogin": 1,
  4938. "needssigning": 1,
  4939. "requiredperms": 2
  4940. },
  4941. "name": "flickr.photosets.create",
  4942. "url": "https://www.flickr.com/services/api/flickr.photosets.create.html"
  4943. },
  4944. "flickr.photosets.delete": {
  4945. "required": [
  4946. {
  4947. "name": "photoset_id",
  4948. "_content": "The id of the photoset to delete. It must be owned by the calling user."
  4949. }
  4950. ],
  4951. "errors": [
  4952. {
  4953. "code": "1",
  4954. "message": "Photoset not found",
  4955. "_content": "The photoset id passed was not a valid photoset id or did not belong to the calling user."
  4956. }
  4957. ],
  4958. "security": {
  4959. "needslogin": 1,
  4960. "needssigning": 1,
  4961. "requiredperms": 2
  4962. },
  4963. "name": "flickr.photosets.delete",
  4964. "url": "https://www.flickr.com/services/api/flickr.photosets.delete.html"
  4965. },
  4966. "flickr.photosets.editMeta": {
  4967. "required": [
  4968. {
  4969. "name": "photoset_id",
  4970. "_content": "The id of the photoset to modify."
  4971. },
  4972. {
  4973. "name": "title",
  4974. "_content": "The new title for the photoset."
  4975. }
  4976. ],
  4977. "optional": [
  4978. {
  4979. "name": "description",
  4980. "_content": "A description of the photoset. May contain limited html."
  4981. }
  4982. ],
  4983. "errors": [
  4984. {
  4985. "code": "1",
  4986. "message": "Photoset not found",
  4987. "_content": "The photoset id passed was not a valid photoset id or did not belong to the calling user."
  4988. },
  4989. {
  4990. "code": "2",
  4991. "message": "No title specified",
  4992. "_content": "No title parameter was passed in the request. "
  4993. }
  4994. ],
  4995. "security": {
  4996. "needslogin": 1,
  4997. "needssigning": 1,
  4998. "requiredperms": 2
  4999. },
  5000. "name": "flickr.photosets.editMeta",
  5001. "url": "https://www.flickr.com/services/api/flickr.photosets.editMeta.html"
  5002. },
  5003. "flickr.photosets.editPhotos": {
  5004. "required": [
  5005. {
  5006. "name": "photoset_id",
  5007. "_content": "The id of the photoset to modify. The photoset must belong to the calling user."
  5008. },
  5009. {
  5010. "name": "primary_photo_id",
  5011. "_content": "The id of the photo to use as the 'primary' photo for the set. This id must also be passed along in photo_ids list argument."
  5012. },
  5013. {
  5014. "name": "photo_ids",
  5015. "_content": "A comma-delimited list of photo ids to include in the set. They will appear in the set in the order sent. This list <b>must</b> contain the primary photo id. All photos must belong to the owner of the set. This list of photos replaces the existing list. Call flickr.photosets.addPhoto to append a photo to a set."
  5016. }
  5017. ],
  5018. "errors": [
  5019. {
  5020. "code": "1",
  5021. "message": "Photoset not found",
  5022. "_content": "The photoset id passed was not a valid photoset id or did not belong to the calling user."
  5023. },
  5024. {
  5025. "code": "2",
  5026. "message": "Photo not found",
  5027. "_content": "One or more of the photo ids passed was not a valid photo id or does not belong to the calling user."
  5028. },
  5029. {
  5030. "code": "3",
  5031. "message": "Primary photo not found",
  5032. "_content": "The primary photo id passed was not a valid photo id or does not belong to the calling user."
  5033. },
  5034. {
  5035. "code": "4",
  5036. "message": "Primary photo not in list",
  5037. "_content": "The primary photo id passed did not appear in the photo id list."
  5038. },
  5039. {
  5040. "code": "5",
  5041. "message": "Empty photos list",
  5042. "_content": "No photo ids were passed."
  5043. }
  5044. ],
  5045. "security": {
  5046. "needslogin": 1,
  5047. "needssigning": 1,
  5048. "requiredperms": 2
  5049. },
  5050. "name": "flickr.photosets.editPhotos",
  5051. "url": "https://www.flickr.com/services/api/flickr.photosets.editPhotos.html"
  5052. },
  5053. "flickr.photosets.getContext": {
  5054. "required": [
  5055. {
  5056. "name": "photo_id",
  5057. "_content": "The id of the photo to fetch the context for."
  5058. },
  5059. {
  5060. "name": "photoset_id",
  5061. "_content": "The id of the photoset for which to fetch the photo's context."
  5062. }
  5063. ],
  5064. "optional": [
  5065. {
  5066. "name": "num_prev",
  5067. "_content": ""
  5068. },
  5069. {
  5070. "name": "num_next",
  5071. "_content": ""
  5072. },
  5073. {
  5074. "name": "extras",
  5075. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: description, license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_m, url_z, url_l, url_o"
  5076. }
  5077. ],
  5078. "errors": [
  5079. {
  5080. "code": "1",
  5081. "message": "Photo not found",
  5082. "_content": "The photo id passed was not a valid photo id, or was the id of a photo that the calling user does not have permission to view."
  5083. },
  5084. {
  5085. "code": "2",
  5086. "message": "Photo not in set",
  5087. "_content": "The specified photo is not in the specified set."
  5088. }
  5089. ],
  5090. "security": {
  5091. "needslogin": 0,
  5092. "needssigning": 0,
  5093. "requiredperms": 0
  5094. },
  5095. "name": "flickr.photosets.getContext",
  5096. "url": "https://www.flickr.com/services/api/flickr.photosets.getContext.html"
  5097. },
  5098. "flickr.photosets.getInfo": {
  5099. "required": [
  5100. {
  5101. "name": "photoset_id",
  5102. "_content": "The ID of the photoset to fetch information for."
  5103. }
  5104. ],
  5105. "errors": [
  5106. {
  5107. "code": "1",
  5108. "message": "Photoset not found",
  5109. "_content": "The photoset id was not valid."
  5110. }
  5111. ],
  5112. "security": {
  5113. "needslogin": 0,
  5114. "needssigning": 0,
  5115. "requiredperms": 0
  5116. },
  5117. "name": "flickr.photosets.getInfo",
  5118. "url": "https://www.flickr.com/services/api/flickr.photosets.getInfo.html"
  5119. },
  5120. "flickr.photosets.getList": {
  5121. "optional": [
  5122. {
  5123. "name": "user_id",
  5124. "_content": "The NSID of the user to get a photoset list for. If none is specified, the calling user is assumed."
  5125. },
  5126. {
  5127. "name": "page",
  5128. "_content": "The page of results to get. Currently, if this is not provided, all sets are returned, but this behaviour may change in future."
  5129. },
  5130. {
  5131. "name": "per_page",
  5132. "_content": "The number of sets to get per page. If paging is enabled, the maximum number of sets per page is 500."
  5133. },
  5134. {
  5135. "name": "primary_photo_extras",
  5136. "_content": "A comma-delimited list of extra information to fetch for the primary photo. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_m, url_o"
  5137. }
  5138. ],
  5139. "errors": [
  5140. {
  5141. "code": "1",
  5142. "message": "User not found",
  5143. "_content": "The user NSID passed was not a valid user NSID and the calling user was not logged in.\r\n"
  5144. }
  5145. ],
  5146. "security": {
  5147. "needslogin": 0,
  5148. "needssigning": 0,
  5149. "requiredperms": 0
  5150. },
  5151. "name": "flickr.photosets.getList",
  5152. "url": "https://www.flickr.com/services/api/flickr.photosets.getList.html"
  5153. },
  5154. "flickr.photosets.getPhotos": {
  5155. "required": [
  5156. {
  5157. "name": "photoset_id",
  5158. "_content": "The id of the photoset to return the photos for."
  5159. }
  5160. ],
  5161. "optional": [
  5162. {
  5163. "name": "extras",
  5164. "_content": "A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_m, url_o"
  5165. },
  5166. {
  5167. "name": "privacy_filter",
  5168. "_content": "Return photos only matching a certain privacy level. This only applies when making an authenticated call to view a photoset you own. Valid values are:\r\n<ul>\r\n<li>1 public photos</li>\r\n<li>2 private photos visible to friends</li>\r\n<li>3 private photos visible to family</li>\r\n<li>4 private photos visible to friends &amp; family</li>\r\n<li>5 completely private photos</li>\r\n</ul>\r\n"
  5169. },
  5170. {
  5171. "name": "per_page",
  5172. "_content": "Number of photos to return per page. If this argument is omitted, it defaults to 500. The maximum allowed value is 500."
  5173. },
  5174. {
  5175. "name": "page",
  5176. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  5177. },
  5178. {
  5179. "name": "media",
  5180. "_content": "Filter results by media type. Possible values are <code>all</code> (default), <code>photos</code> or <code>videos</code>"
  5181. }
  5182. ],
  5183. "errors": [
  5184. {
  5185. "code": "1",
  5186. "message": "Photoset not found",
  5187. "_content": "The photoset id passed was not a valid photoset id."
  5188. }
  5189. ],
  5190. "security": {
  5191. "needslogin": 0,
  5192. "needssigning": 0,
  5193. "requiredperms": 0
  5194. },
  5195. "name": "flickr.photosets.getPhotos",
  5196. "url": "https://www.flickr.com/services/api/flickr.photosets.getPhotos.html"
  5197. },
  5198. "flickr.photosets.orderSets": {
  5199. "required": [
  5200. {
  5201. "name": "photoset_ids",
  5202. "_content": "A comma delimited list of photoset IDs, ordered with the set to show first, first in the list. Any set IDs not given in the list will be set to appear at the end of the list, ordered by their IDs."
  5203. }
  5204. ],
  5205. "errors": [
  5206. {
  5207. "code": "1",
  5208. "message": "Set not found",
  5209. "_content": "One of the photoset ids passed was not the id of a valid photoset belonging to the calling user."
  5210. }
  5211. ],
  5212. "security": {
  5213. "needslogin": 1,
  5214. "needssigning": 1,
  5215. "requiredperms": 2
  5216. },
  5217. "name": "flickr.photosets.orderSets",
  5218. "url": "https://www.flickr.com/services/api/flickr.photosets.orderSets.html"
  5219. },
  5220. "flickr.photosets.removePhoto": {
  5221. "required": [
  5222. {
  5223. "name": "photoset_id",
  5224. "_content": "The id of the photoset to remove a photo from."
  5225. },
  5226. {
  5227. "name": "photo_id",
  5228. "_content": "The id of the photo to remove from the set."
  5229. }
  5230. ],
  5231. "errors": [
  5232. {
  5233. "code": "1",
  5234. "message": "Photoset not found",
  5235. "_content": "The photoset id passed was not the id of avalid photoset owned by the calling user."
  5236. },
  5237. {
  5238. "code": "2",
  5239. "message": "Photo not found",
  5240. "_content": "The photo id passed was not the id of a valid photo belonging to the calling user."
  5241. },
  5242. {
  5243. "code": "3",
  5244. "message": "Photo not in set",
  5245. "_content": "The photo is not a member of the photoset."
  5246. }
  5247. ],
  5248. "security": {
  5249. "needslogin": 1,
  5250. "needssigning": 1,
  5251. "requiredperms": 2
  5252. },
  5253. "name": "flickr.photosets.removePhoto",
  5254. "url": "https://www.flickr.com/services/api/flickr.photosets.removePhoto.html"
  5255. },
  5256. "flickr.photosets.removePhotos": {
  5257. "required": [
  5258. {
  5259. "name": "photoset_id",
  5260. "_content": "The id of the photoset to remove photos from."
  5261. },
  5262. {
  5263. "name": "photo_ids",
  5264. "_content": "Comma-delimited list of photo ids to remove from the photoset."
  5265. }
  5266. ],
  5267. "errors": [
  5268. {
  5269. "code": "1",
  5270. "message": "Photoset not found",
  5271. "_content": "The photoset id passed was not the id of available photosets owned by the calling user."
  5272. },
  5273. {
  5274. "code": "2",
  5275. "message": "Photo not found",
  5276. "_content": "The photo id passed was not the id of a valid photo belonging to the calling user."
  5277. }
  5278. ],
  5279. "security": {
  5280. "needslogin": 1,
  5281. "needssigning": 1,
  5282. "requiredperms": 2
  5283. },
  5284. "name": "flickr.photosets.removePhotos",
  5285. "url": "https://www.flickr.com/services/api/flickr.photosets.removePhotos.html"
  5286. },
  5287. "flickr.photosets.reorderPhotos": {
  5288. "required": [
  5289. {
  5290. "name": "photoset_id",
  5291. "_content": "The id of the photoset to reorder. The photoset must belong to the calling user."
  5292. },
  5293. {
  5294. "name": "photo_ids",
  5295. "_content": "Ordered, comma-delimited list of photo ids. Photos that are not in the list will keep their original order"
  5296. }
  5297. ],
  5298. "errors": [
  5299. {
  5300. "code": "1",
  5301. "message": "Photoset not found",
  5302. "_content": "The photoset id passed was not a valid photoset id or did not belong to the calling user."
  5303. },
  5304. {
  5305. "code": "2",
  5306. "message": "Photo not found",
  5307. "_content": "One or more of the photo ids passed was not a valid photo id or does not belong to the calling user."
  5308. }
  5309. ],
  5310. "security": {
  5311. "needslogin": 1,
  5312. "needssigning": 1,
  5313. "requiredperms": 2
  5314. },
  5315. "name": "flickr.photosets.reorderPhotos",
  5316. "url": "https://www.flickr.com/services/api/flickr.photosets.reorderPhotos.html"
  5317. },
  5318. "flickr.photosets.setPrimaryPhoto": {
  5319. "required": [
  5320. {
  5321. "name": "photoset_id",
  5322. "_content": "The id of the photoset to set primary photo to."
  5323. },
  5324. {
  5325. "name": "photo_id",
  5326. "_content": "The id of the photo to set as primary."
  5327. }
  5328. ],
  5329. "errors": [
  5330. {
  5331. "code": "1",
  5332. "message": "Photoset not found",
  5333. "_content": "The photoset id passed was not the id of avalid photoset owned by the calling user."
  5334. },
  5335. {
  5336. "code": "2",
  5337. "message": "Photo not found",
  5338. "_content": "The photo id passed was not the id of a valid photo owned by the calling user."
  5339. }
  5340. ],
  5341. "security": {
  5342. "needslogin": 1,
  5343. "needssigning": 1,
  5344. "requiredperms": 2
  5345. },
  5346. "name": "flickr.photosets.setPrimaryPhoto",
  5347. "url": "https://www.flickr.com/services/api/flickr.photosets.setPrimaryPhoto.html"
  5348. },
  5349. "flickr.places.find": {
  5350. "required": [
  5351. {
  5352. "name": "query",
  5353. "_content": "The query string to use for place ID lookups"
  5354. }
  5355. ],
  5356. "optional": [
  5357. {
  5358. "name": "bbox",
  5359. "_content": "A bounding box for limiting the area to query."
  5360. },
  5361. {
  5362. "name": "extras",
  5363. "_content": "Secret sauce."
  5364. },
  5365. {
  5366. "name": "safe",
  5367. "_content": "Do we want sexy time words in our venue results?"
  5368. }
  5369. ],
  5370. "errors": [
  5371. {
  5372. "code": "1",
  5373. "message": "Required parameter missing",
  5374. "_content": "One or more required parameters was not included with the API call."
  5375. }
  5376. ],
  5377. "security": {
  5378. "needslogin": 0,
  5379. "needssigning": 0,
  5380. "requiredperms": 0
  5381. },
  5382. "name": "flickr.places.find",
  5383. "url": "https://www.flickr.com/services/api/flickr.places.find.html"
  5384. },
  5385. "flickr.places.findByLatLon": {
  5386. "required": [
  5387. {
  5388. "name": "lat",
  5389. "_content": "The latitude whose valid range is -90 to 90. Anything more than 4 decimal places will be truncated."
  5390. },
  5391. {
  5392. "name": "lon",
  5393. "_content": "The longitude whose valid range is -180 to 180. Anything more than 4 decimal places will be truncated."
  5394. }
  5395. ],
  5396. "optional": [
  5397. {
  5398. "name": "accuracy",
  5399. "_content": "Recorded accuracy level of the location information. World level is 1, Country is ~3, Region ~6, City ~11, Street ~16. Current range is 1-16. The default is 16."
  5400. }
  5401. ],
  5402. "errors": [
  5403. {
  5404. "code": "1",
  5405. "message": "Required arguments missing",
  5406. "_content": "One or more required parameters was not included with the API request."
  5407. },
  5408. {
  5409. "code": "2",
  5410. "message": "Not a valid latitude",
  5411. "_content": "The latitude argument failed validation."
  5412. },
  5413. {
  5414. "code": "3",
  5415. "message": "Not a valid longitude",
  5416. "_content": "The longitude argument failed validation."
  5417. },
  5418. {
  5419. "code": "4",
  5420. "message": "Not a valid accuracy",
  5421. "_content": "The accuracy argument failed validation."
  5422. }
  5423. ],
  5424. "security": {
  5425. "needslogin": 0,
  5426. "needssigning": 0,
  5427. "requiredperms": 0
  5428. },
  5429. "name": "flickr.places.findByLatLon",
  5430. "url": "https://www.flickr.com/services/api/flickr.places.findByLatLon.html"
  5431. },
  5432. "flickr.places.getChildrenWithPhotosPublic": {
  5433. "optional": [
  5434. {
  5435. "name": "place_id",
  5436. "_content": "A Flickr Places ID. (While optional, you must pass either a valid Places ID or a WOE ID.)"
  5437. },
  5438. {
  5439. "name": "woe_id",
  5440. "_content": "A Where On Earth (WOE) ID. (While optional, you must pass either a valid Places ID or a WOE ID.)"
  5441. }
  5442. ],
  5443. "errors": [
  5444. {
  5445. "code": "1",
  5446. "message": "Required parameter missing",
  5447. "_content": "One or more required parameter is missing from the API call."
  5448. },
  5449. {
  5450. "code": "2",
  5451. "message": "Not a valid Places ID",
  5452. "_content": "An invalid Places (or WOE) ID was passed with the API call."
  5453. },
  5454. {
  5455. "code": "3",
  5456. "message": "Place not found",
  5457. "_content": "No place could be found for the Places (or WOE) ID passed to the API call."
  5458. }
  5459. ],
  5460. "security": {
  5461. "needslogin": 0,
  5462. "needssigning": 0,
  5463. "requiredperms": 0
  5464. },
  5465. "name": "flickr.places.getChildrenWithPhotosPublic",
  5466. "url": "https://www.flickr.com/services/api/flickr.places.getChildrenWithPhotosPublic.html"
  5467. },
  5468. "flickr.places.getInfo": {
  5469. "optional": [
  5470. {
  5471. "name": "place_id",
  5472. "_content": "A Flickr Places ID. <span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5473. },
  5474. {
  5475. "name": "woe_id",
  5476. "_content": "A Where On Earth (WOE) ID. <span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5477. }
  5478. ],
  5479. "errors": [
  5480. {
  5481. "code": "1",
  5482. "message": "Required parameter missing",
  5483. "_content": "One or more required parameter is missing from the API call."
  5484. },
  5485. {
  5486. "code": "2",
  5487. "message": "Not a valid Places ID",
  5488. "_content": "An invalid Places (or WOE) ID was passed with the API call."
  5489. },
  5490. {
  5491. "code": "3",
  5492. "message": "Place not found",
  5493. "_content": "No place could be found for the Places (or WOE) ID passed to the API call."
  5494. }
  5495. ],
  5496. "security": {
  5497. "needslogin": 0,
  5498. "needssigning": 0,
  5499. "requiredperms": 0
  5500. },
  5501. "name": "flickr.places.getInfo",
  5502. "url": "https://www.flickr.com/services/api/flickr.places.getInfo.html"
  5503. },
  5504. "flickr.places.getInfoByUrl": {
  5505. "required": [
  5506. {
  5507. "name": "url",
  5508. "_content": "A flickr.com/places URL in the form of /country/region/city. For example: /Canada/Quebec/Montreal"
  5509. }
  5510. ],
  5511. "errors": [
  5512. {
  5513. "code": "2",
  5514. "message": "Place URL required.",
  5515. "_content": "The flickr.com/places URL was not passed with the API method."
  5516. },
  5517. {
  5518. "code": "3",
  5519. "message": "Place not found.",
  5520. "_content": "Unable to find a valid place for the places URL."
  5521. }
  5522. ],
  5523. "security": {
  5524. "needslogin": 0,
  5525. "needssigning": 0,
  5526. "requiredperms": 0
  5527. },
  5528. "name": "flickr.places.getInfoByUrl",
  5529. "url": "https://www.flickr.com/services/api/flickr.places.getInfoByUrl.html"
  5530. },
  5531. "flickr.places.getPlaceTypes": {
  5532. "security": {
  5533. "needslogin": 0,
  5534. "needssigning": 0,
  5535. "requiredperms": 0
  5536. },
  5537. "name": "flickr.places.getPlaceTypes",
  5538. "url": "https://www.flickr.com/services/api/flickr.places.getPlaceTypes.html"
  5539. },
  5540. "flickr.places.getShapeHistory": {
  5541. "optional": [
  5542. {
  5543. "name": "place_id",
  5544. "_content": "A Flickr Places ID. <span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5545. },
  5546. {
  5547. "name": "woe_id",
  5548. "_content": "A Where On Earth (WOE) ID. <span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5549. }
  5550. ],
  5551. "errors": [
  5552. {
  5553. "code": "1",
  5554. "message": "Required parameter missing",
  5555. "_content": "One or more required parameter is missing from the API call."
  5556. },
  5557. {
  5558. "code": "2",
  5559. "message": "Not a valid Places ID",
  5560. "_content": "An invalid Places (or WOE) ID was passed with the API call."
  5561. },
  5562. {
  5563. "code": "3",
  5564. "message": "Place not found",
  5565. "_content": "No place could be found for the Places (or WOE) ID passed to the API call."
  5566. }
  5567. ],
  5568. "security": {
  5569. "needslogin": 0,
  5570. "needssigning": 0,
  5571. "requiredperms": 0
  5572. },
  5573. "name": "flickr.places.getShapeHistory",
  5574. "url": "https://www.flickr.com/services/api/flickr.places.getShapeHistory.html"
  5575. },
  5576. "flickr.places.getTopPlacesList": {
  5577. "required": [
  5578. {
  5579. "name": "place_type_id",
  5580. "_content": "The numeric ID for a specific place type to cluster photos by. <br /><br />\r\n\r\nValid place type IDs are :\r\n\r\n<ul>\r\n<li><strong>22</strong>: neighbourhood</li>\r\n<li><strong>7</strong>: locality</li>\r\n<li><strong>8</strong>: region</li>\r\n<li><strong>12</strong>: country</li>\r\n<li><strong>29</strong>: continent</li>\r\n</ul>"
  5581. }
  5582. ],
  5583. "optional": [
  5584. {
  5585. "name": "date",
  5586. "_content": "A valid date in YYYY-MM-DD format. The default is yesterday."
  5587. },
  5588. {
  5589. "name": "woe_id",
  5590. "_content": "Limit your query to only those top places belonging to a specific Where on Earth (WOE) identifier."
  5591. },
  5592. {
  5593. "name": "place_id",
  5594. "_content": "Limit your query to only those top places belonging to a specific Flickr Places identifier."
  5595. }
  5596. ],
  5597. "errors": [
  5598. {
  5599. "code": "1",
  5600. "message": "Required parameter missing",
  5601. "_content": "One or more required parameters with missing from your request."
  5602. },
  5603. {
  5604. "code": "2",
  5605. "message": "Not a valid place type.",
  5606. "_content": "An unknown or unsupported place type ID was passed with your request."
  5607. },
  5608. {
  5609. "code": "3",
  5610. "message": "Not a valid date.",
  5611. "_content": "The date argument passed with your request is invalid."
  5612. },
  5613. {
  5614. "code": "4",
  5615. "message": "Not a valid Place ID",
  5616. "_content": "An invalid Places (or WOE) identifier was included with your request."
  5617. }
  5618. ],
  5619. "security": {
  5620. "needslogin": 0,
  5621. "needssigning": 0,
  5622. "requiredperms": 0
  5623. },
  5624. "name": "flickr.places.getTopPlacesList",
  5625. "url": "https://www.flickr.com/services/api/flickr.places.getTopPlacesList.html"
  5626. },
  5627. "flickr.places.placesForBoundingBox": {
  5628. "required": [
  5629. {
  5630. "name": "bbox",
  5631. "_content": "A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched. The 4 values represent the bottom-left corner of the box and the top-right corner, minimum_longitude, minimum_latitude, maximum_longitude, maximum_latitude."
  5632. }
  5633. ],
  5634. "optional": [
  5635. {
  5636. "name": "place_type",
  5637. "_content": "The name of place type to using as the starting point to search for places in a bounding box. Valid placetypes are:\r\n\r\n<ul>\r\n<li>neighbourhood</li>\r\n<li>locality</li>\r\n<li>county</li>\r\n<li>region</li>\r\n<li>country</li>\r\n<li>continent</li>\r\n</ul>\r\n<br />\r\n<span style=\"font-style:italic;\">The \"place_type\" argument has been deprecated in favor of the \"place_type_id\" argument. It won't go away but it will not be added to new methods. A complete list of place type IDs is available using the <a href=\"http://www.flickr.com/services/api/flickr.places.getPlaceTypes.html\">flickr.places.getPlaceTypes</a> method. (While optional, you must pass either a valid place type or place type ID.)</span>"
  5638. },
  5639. {
  5640. "name": "place_type_id",
  5641. "_content": "The numeric ID for a specific place type to cluster photos by. <br /><br />\r\n\r\nValid place type IDs are :\r\n\r\n<ul>\r\n<li><strong>22</strong>: neighbourhood</li>\r\n<li><strong>7</strong>: locality</li>\r\n<li><strong>8</strong>: region</li>\r\n<li><strong>12</strong>: country</li>\r\n<li><strong>29</strong>: continent</li>\r\n</ul>\r\n<br /><span style=\"font-style:italic;\">(While optional, you must pass either a valid place type or place type ID.)</span>\r\n"
  5642. },
  5643. {
  5644. "name": "recursive",
  5645. "_content": "Perform a recursive place type search. For example, if you search for neighbourhoods in a given bounding box but there are no results the method will also query for localities and so on until one or more valid places are found.<br /<br /> \r\nRecursive searches do not change the bounding box size restrictions for the initial place type passed to the method."
  5646. }
  5647. ],
  5648. "errors": [
  5649. {
  5650. "code": "1",
  5651. "message": "Required parameters missing",
  5652. "_content": "One or more required parameter is missing from the API call."
  5653. },
  5654. {
  5655. "code": "2",
  5656. "message": "Not a valid bbox",
  5657. "_content": "The bbox argument was incomplete or incorrectly formatted"
  5658. },
  5659. {
  5660. "code": "3",
  5661. "message": "Not a valid place type",
  5662. "_content": "An invalid place type was included with your request."
  5663. },
  5664. {
  5665. "code": "4",
  5666. "message": "Bounding box exceeds maximum allowable size for place type",
  5667. "_content": "The bounding box passed along with your request was too large for the request place type."
  5668. }
  5669. ],
  5670. "security": {
  5671. "needslogin": 0,
  5672. "needssigning": 0,
  5673. "requiredperms": 0
  5674. },
  5675. "name": "flickr.places.placesForBoundingBox",
  5676. "url": "https://www.flickr.com/services/api/flickr.places.placesForBoundingBox.html"
  5677. },
  5678. "flickr.places.placesForContacts": {
  5679. "optional": [
  5680. {
  5681. "name": "place_type",
  5682. "_content": "A specific place type to cluster photos by. <br /><br />\r\n\r\nValid place types are :\r\n\r\n<ul>\r\n<li><strong>neighbourhood</strong> (and neighborhood)</li>\r\n<li><strong>locality</strong></li>\r\n<li><strong>region</strong></li>\r\n<li><strong>country</strong></li>\r\n<li><strong>continent</strong></li>\r\n</ul>\r\n<br />\r\n<span style=\"font-style:italic;\">The \"place_type\" argument has been deprecated in favor of the \"place_type_id\" argument. It won't go away but it will not be added to new methods. A complete list of place type IDs is available using the <a href=\"http://www.flickr.com/services/api/flickr.places.getPlaceTypes.html\">flickr.places.getPlaceTypes</a> method. (While optional, you must pass either a valid place type or place type ID.)</span>"
  5683. },
  5684. {
  5685. "name": "place_type_id",
  5686. "_content": "The numeric ID for a specific place type to cluster photos by. <br /><br />\r\n\r\nValid place type IDs are :\r\n\r\n<ul>\r\n<li><strong>22</strong>: neighbourhood</li>\r\n<li><strong>7</strong>: locality</li>\r\n<li><strong>8</strong>: region</li>\r\n<li><strong>12</strong>: country</li>\r\n<li><strong>29</strong>: continent</li>\r\n</ul>\r\n<br /><span style=\"font-style:italic;\">(While optional, you must pass either a valid place type or place type ID.)</span>"
  5687. },
  5688. {
  5689. "name": "woe_id",
  5690. "_content": "A Where on Earth identifier to use to filter photo clusters. For example all the photos clustered by <strong>locality</strong> in the United States (WOE ID <strong>23424977</strong>).<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5691. },
  5692. {
  5693. "name": "place_id",
  5694. "_content": "A Flickr Places identifier to use to filter photo clusters. For example all the photos clustered by <strong>locality</strong> in the United States (Place ID <strong>4KO02SibApitvSBieQ</strong>).\r\n<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5695. },
  5696. {
  5697. "name": "threshold",
  5698. "_content": "The minimum number of photos that a place type must have to be included. If the number of photos is lowered then the parent place type for that place will be used.<br /><br />\r\n\r\nFor example if your contacts only have <strong>3</strong> photos taken in the locality of Montreal</strong> (WOE ID 3534) but your threshold is set to <strong>5</strong> then those photos will be \"rolled up\" and included instead with a place record for the region of Quebec (WOE ID 2344924)."
  5699. },
  5700. {
  5701. "name": "contacts",
  5702. "_content": "Search your contacts. Either 'all' or 'ff' for just friends and family. (Default is all)"
  5703. },
  5704. {
  5705. "name": "min_upload_date",
  5706. "_content": "Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5707. },
  5708. {
  5709. "name": "max_upload_date",
  5710. "_content": "Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5711. },
  5712. {
  5713. "name": "min_taken_date",
  5714. "_content": "Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5715. },
  5716. {
  5717. "name": "max_taken_date",
  5718. "_content": "Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5719. }
  5720. ],
  5721. "errors": [
  5722. {
  5723. "code": "1",
  5724. "message": "Places for contacts are not available at this time",
  5725. "_content": "Places for contacts have been disabled or are otherwise not available."
  5726. },
  5727. {
  5728. "code": "2",
  5729. "message": "Required parameter missing",
  5730. "_content": "One or more of the required parameters was not included with your request."
  5731. },
  5732. {
  5733. "code": "3",
  5734. "message": "Not a valid place type.",
  5735. "_content": "An invalid place type was included with your request."
  5736. },
  5737. {
  5738. "code": "4",
  5739. "message": "Not a valid Place ID",
  5740. "_content": "An invalid Places (or WOE) identifier was included with your request."
  5741. },
  5742. {
  5743. "code": "5",
  5744. "message": "Not a valid threshold",
  5745. "_content": "The threshold passed was invalid. "
  5746. },
  5747. {
  5748. "code": "6",
  5749. "message": "Not a valid contacts type",
  5750. "_content": "Contacts must be either \"all\" or \"ff\" (friends and family)."
  5751. }
  5752. ],
  5753. "security": {
  5754. "needslogin": 1,
  5755. "needssigning": 1,
  5756. "requiredperms": 1
  5757. },
  5758. "name": "flickr.places.placesForContacts",
  5759. "url": "https://www.flickr.com/services/api/flickr.places.placesForContacts.html"
  5760. },
  5761. "flickr.places.placesForTags": {
  5762. "required": [
  5763. {
  5764. "name": "place_type_id",
  5765. "_content": "The numeric ID for a specific place type to cluster photos by. <br /><br />\r\n\r\nValid place type IDs are :\r\n\r\n<ul>\r\n<li><strong>22</strong>: neighbourhood</li>\r\n<li><strong>7</strong>: locality</li>\r\n<li><strong>8</strong>: region</li>\r\n<li><strong>12</strong>: country</li>\r\n<li><strong>29</strong>: continent</li>\r\n</ul>"
  5766. }
  5767. ],
  5768. "optional": [
  5769. {
  5770. "name": "woe_id",
  5771. "_content": "A Where on Earth identifier to use to filter photo clusters. For example all the photos clustered by <strong>locality</strong> in the United States (WOE ID <strong>23424977</strong>).\r\n<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5772. },
  5773. {
  5774. "name": "place_id",
  5775. "_content": "A Flickr Places identifier to use to filter photo clusters. For example all the photos clustered by <strong>locality</strong> in the United States (Place ID <strong>4KO02SibApitvSBieQ</strong>).\r\n<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5776. },
  5777. {
  5778. "name": "threshold",
  5779. "_content": "The minimum number of photos that a place type must have to be included. If the number of photos is lowered then the parent place type for that place will be used.<br /><br />\r\n\r\nFor example if you only have <strong>3</strong> photos taken in the locality of Montreal</strong> (WOE ID 3534) but your threshold is set to <strong>5</strong> then those photos will be \"rolled up\" and included instead with a place record for the region of Quebec (WOE ID 2344924)."
  5780. },
  5781. {
  5782. "name": "tags",
  5783. "_content": "A comma-delimited list of tags. Photos with one or more of the tags listed will be returned."
  5784. },
  5785. {
  5786. "name": "tag_mode",
  5787. "_content": "Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified."
  5788. },
  5789. {
  5790. "name": "machine_tags",
  5791. "_content": "Aside from passing in a fully formed machine tag, there is a special syntax for searching on specific properties :\r\n\r\n<ul>\r\n <li>Find photos using the 'dc' namespace : <code>\"machine_tags\" => \"dc:\"</code></li>\r\n\r\n <li> Find photos with a title in the 'dc' namespace : <code>\"machine_tags\" => \"dc:title=\"</code></li>\r\n\r\n <li>Find photos titled \"mr. camera\" in the 'dc' namespace : <code>\"machine_tags\" => \"dc:title=\\\"mr. camera\\\"</code></li>\r\n\r\n <li>Find photos whose value is \"mr. camera\" : <code>\"machine_tags\" => \"*:*=\\\"mr. camera\\\"\"</code></li>\r\n\r\n <li>Find photos that have a title, in any namespace : <code>\"machine_tags\" => \"*:title=\"</code></li>\r\n\r\n <li>Find photos that have a title, in any namespace, whose value is \"mr. camera\" : <code>\"machine_tags\" => \"*:title=\\\"mr. camera\\\"\"</code></li>\r\n\r\n <li>Find photos, in the 'dc' namespace whose value is \"mr. camera\" : <code>\"machine_tags\" => \"dc:*=\\\"mr. camera\\\"\"</code></li>\r\n\r\n </ul>\r\n\r\nMultiple 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\r\nto (8)."
  5792. },
  5793. {
  5794. "name": "machine_tag_mode",
  5795. "_content": "Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified."
  5796. },
  5797. {
  5798. "name": "min_upload_date",
  5799. "_content": "Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5800. },
  5801. {
  5802. "name": "max_upload_date",
  5803. "_content": "Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5804. },
  5805. {
  5806. "name": "min_taken_date",
  5807. "_content": "Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5808. },
  5809. {
  5810. "name": "max_taken_date",
  5811. "_content": "Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5812. }
  5813. ],
  5814. "security": {
  5815. "needslogin": 0,
  5816. "needssigning": 0,
  5817. "requiredperms": 0
  5818. },
  5819. "name": "flickr.places.placesForTags",
  5820. "url": "https://www.flickr.com/services/api/flickr.places.placesForTags.html"
  5821. },
  5822. "flickr.places.placesForUser": {
  5823. "optional": [
  5824. {
  5825. "name": "place_type_id",
  5826. "_content": "The numeric ID for a specific place type to cluster photos by. <br /><br />\r\n\r\nValid place type IDs are :\r\n\r\n<ul>\r\n<li><strong>22</strong>: neighbourhood</li>\r\n<li><strong>7</strong>: locality</li>\r\n<li><strong>8</strong>: region</li>\r\n<li><strong>12</strong>: country</li>\r\n<li><strong>29</strong>: continent</li>\r\n</ul>\r\n<br />\r\n<span style=\"font-style:italic;\">The \"place_type\" argument has been deprecated in favor of the \"place_type_id\" argument. It won't go away but it will not be added to new methods. A complete list of place type IDs is available using the <a href=\"http://www.flickr.com/services/api/flickr.places.getPlaceTypes.html\">flickr.places.getPlaceTypes</a> method. (While optional, you must pass either a valid place type or place type ID.)</span>"
  5827. },
  5828. {
  5829. "name": "place_type",
  5830. "_content": "A specific place type to cluster photos by. <br /><br />\r\n\r\nValid place types are :\r\n\r\n<ul>\r\n<li><strong>neighbourhood</strong> (and neighborhood)</li>\r\n<li><strong>locality</strong></li>\r\n<li><strong>region</strong></li>\r\n<li><strong>country</strong></li>\r\n<li><strong>continent</strong></li>\r\n</ul>\r\n<br /><span style=\"font-style:italic;\">(While optional, you must pass either a valid place type or place type ID.)</span>"
  5831. },
  5832. {
  5833. "name": "woe_id",
  5834. "_content": "A Where on Earth identifier to use to filter photo clusters. For example all the photos clustered by <strong>locality</strong> in the United States (WOE ID <strong>23424977</strong>).<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5835. },
  5836. {
  5837. "name": "place_id",
  5838. "_content": "A Flickr Places identifier to use to filter photo clusters. For example all the photos clustered by <strong>locality</strong> in the United States (Place ID <strong>4KO02SibApitvSBieQ</strong>).<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5839. },
  5840. {
  5841. "name": "threshold",
  5842. "_content": "The minimum number of photos that a place type must have to be included. If the number of photos is lowered then the parent place type for that place will be used.<br /><br />\r\n\r\nFor example if you only have <strong>3</strong> photos taken in the locality of Montreal</strong> (WOE ID 3534) but your threshold is set to <strong>5</strong> then those photos will be \"rolled up\" and included instead with a place record for the region of Quebec (WOE ID 2344924)."
  5843. },
  5844. {
  5845. "name": "min_upload_date",
  5846. "_content": "Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5847. },
  5848. {
  5849. "name": "max_upload_date",
  5850. "_content": "Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5851. },
  5852. {
  5853. "name": "min_taken_date",
  5854. "_content": "Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5855. },
  5856. {
  5857. "name": "max_taken_date",
  5858. "_content": "Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5859. }
  5860. ],
  5861. "errors": [
  5862. {
  5863. "code": "1",
  5864. "message": "Places for user are not available at this time",
  5865. "_content": "Places for user have been disabled or are otherwise not available."
  5866. },
  5867. {
  5868. "code": "2",
  5869. "message": "Required parameter missing",
  5870. "_content": "One or more of the required parameters was not included with your request."
  5871. },
  5872. {
  5873. "code": "3",
  5874. "message": "Not a valid place type",
  5875. "_content": "An invalid place type was included with your request."
  5876. },
  5877. {
  5878. "code": "4",
  5879. "message": "Not a valid Place ID",
  5880. "_content": "An invalid Places (or WOE) identifier was included with your request."
  5881. },
  5882. {
  5883. "code": "5",
  5884. "message": "Not a valid threshold",
  5885. "_content": "The threshold passed was invalid. "
  5886. }
  5887. ],
  5888. "security": {
  5889. "needslogin": 1,
  5890. "needssigning": 1,
  5891. "requiredperms": 1
  5892. },
  5893. "name": "flickr.places.placesForUser",
  5894. "url": "https://www.flickr.com/services/api/flickr.places.placesForUser.html"
  5895. },
  5896. "flickr.places.resolvePlaceId": {
  5897. "required": [
  5898. {
  5899. "name": "place_id",
  5900. "_content": "A Flickr Places ID"
  5901. }
  5902. ],
  5903. "errors": [
  5904. {
  5905. "code": "2",
  5906. "message": "Place ID required.",
  5907. "_content": ""
  5908. },
  5909. {
  5910. "code": "3",
  5911. "message": "Place not found.",
  5912. "_content": ""
  5913. }
  5914. ],
  5915. "security": {
  5916. "needslogin": 0,
  5917. "needssigning": 0,
  5918. "requiredperms": 0
  5919. },
  5920. "name": "flickr.places.resolvePlaceId",
  5921. "url": "https://www.flickr.com/services/api/flickr.places.resolvePlaceId.html"
  5922. },
  5923. "flickr.places.resolvePlaceURL": {
  5924. "required": [
  5925. {
  5926. "name": "url",
  5927. "_content": "A Flickr Places URL. \r\n<br /><br />\r\nFlickr Place URLs are of the form /country/region/city"
  5928. }
  5929. ],
  5930. "errors": [
  5931. {
  5932. "code": "2",
  5933. "message": "Place URL required.",
  5934. "_content": ""
  5935. },
  5936. {
  5937. "code": "3",
  5938. "message": "Place not found.",
  5939. "_content": ""
  5940. }
  5941. ],
  5942. "security": {
  5943. "needslogin": 0,
  5944. "needssigning": 0,
  5945. "requiredperms": 0
  5946. },
  5947. "name": "flickr.places.resolvePlaceURL",
  5948. "url": "https://www.flickr.com/services/api/flickr.places.resolvePlaceURL.html"
  5949. },
  5950. "flickr.places.tagsForPlace": {
  5951. "optional": [
  5952. {
  5953. "name": "woe_id",
  5954. "_content": "A Where on Earth identifier to use to filter photo clusters.<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5955. },
  5956. {
  5957. "name": "place_id",
  5958. "_content": "A Flickr Places identifier to use to filter photo clusters.<br /><br />\r\n<span style=\"font-style:italic;\">(While optional, you must pass either a valid Places ID or a WOE ID.)</span>"
  5959. },
  5960. {
  5961. "name": "min_upload_date",
  5962. "_content": "Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5963. },
  5964. {
  5965. "name": "max_upload_date",
  5966. "_content": "Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp."
  5967. },
  5968. {
  5969. "name": "min_taken_date",
  5970. "_content": "Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5971. },
  5972. {
  5973. "name": "max_taken_date",
  5974. "_content": "Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime."
  5975. }
  5976. ],
  5977. "errors": [
  5978. {
  5979. "code": "1",
  5980. "message": "Required parameter missing",
  5981. "_content": "One or more parameters was not included with the API request"
  5982. },
  5983. {
  5984. "code": "2",
  5985. "message": "Not a valid Places ID",
  5986. "_content": "An invalid Places (or WOE) identifier was included with your request."
  5987. },
  5988. {
  5989. "code": "3",
  5990. "message": "Place not found",
  5991. "_content": "An invalid Places (or WOE) identifier was included with your request."
  5992. }
  5993. ],
  5994. "security": {
  5995. "needslogin": 0,
  5996. "needssigning": 0,
  5997. "requiredperms": 0
  5998. },
  5999. "name": "flickr.places.tagsForPlace",
  6000. "url": "https://www.flickr.com/services/api/flickr.places.tagsForPlace.html"
  6001. },
  6002. "flickr.prefs.getContentType": {
  6003. "security": {
  6004. "needslogin": 1,
  6005. "needssigning": 1,
  6006. "requiredperms": 1
  6007. },
  6008. "name": "flickr.prefs.getContentType",
  6009. "url": "https://www.flickr.com/services/api/flickr.prefs.getContentType.html"
  6010. },
  6011. "flickr.prefs.getGeoPerms": {
  6012. "security": {
  6013. "needslogin": 1,
  6014. "needssigning": 1,
  6015. "requiredperms": 1
  6016. },
  6017. "name": "flickr.prefs.getGeoPerms",
  6018. "url": "https://www.flickr.com/services/api/flickr.prefs.getGeoPerms.html"
  6019. },
  6020. "flickr.prefs.getHidden": {
  6021. "security": {
  6022. "needslogin": 1,
  6023. "needssigning": 1,
  6024. "requiredperms": 1
  6025. },
  6026. "name": "flickr.prefs.getHidden",
  6027. "url": "https://www.flickr.com/services/api/flickr.prefs.getHidden.html"
  6028. },
  6029. "flickr.prefs.getPrivacy": {
  6030. "security": {
  6031. "needslogin": 1,
  6032. "needssigning": 1,
  6033. "requiredperms": 1
  6034. },
  6035. "name": "flickr.prefs.getPrivacy",
  6036. "url": "https://www.flickr.com/services/api/flickr.prefs.getPrivacy.html"
  6037. },
  6038. "flickr.prefs.getSafetyLevel": {
  6039. "security": {
  6040. "needslogin": 1,
  6041. "needssigning": 1,
  6042. "requiredperms": 1
  6043. },
  6044. "name": "flickr.prefs.getSafetyLevel",
  6045. "url": "https://www.flickr.com/services/api/flickr.prefs.getSafetyLevel.html"
  6046. },
  6047. "flickr.push.getSubscriptions": {
  6048. "errors": [
  6049. {
  6050. "code": "5",
  6051. "message": "Service currently available only to pro accounts",
  6052. "_content": "PuSH subscriptions are currently restricted to Pro account holders."
  6053. }
  6054. ],
  6055. "security": {
  6056. "needslogin": 1,
  6057. "needssigning": 1,
  6058. "requiredperms": 1
  6059. },
  6060. "name": "flickr.push.getSubscriptions",
  6061. "url": "https://www.flickr.com/services/api/flickr.push.getSubscriptions.html"
  6062. },
  6063. "flickr.push.getTopics": {
  6064. "security": {
  6065. "needslogin": 0,
  6066. "needssigning": 0,
  6067. "requiredperms": 0
  6068. },
  6069. "name": "flickr.push.getTopics",
  6070. "url": "https://www.flickr.com/services/api/flickr.push.getTopics.html"
  6071. },
  6072. "flickr.push.subscribe": {
  6073. "required": [
  6074. {
  6075. "name": "topic",
  6076. "_content": "The type of subscription. See <a href=\"http://www.flickr.com/services/api/flickr.push.getTopics.htm\">flickr.push.getTopics</a>."
  6077. },
  6078. {
  6079. "name": "callback",
  6080. "_content": "The url for the subscription endpoint. Limited to 255 bytes, and must be unique for this user, i.e. no two subscriptions for a given user may use the same callback url."
  6081. },
  6082. {
  6083. "name": "verify",
  6084. "_content": "The verification mode, either <code>sync</code> or <code>async</code>. See the <a href=\"http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html#subscribingl\">Google PubSubHubbub spec</a> for details."
  6085. }
  6086. ],
  6087. "optional": [
  6088. {
  6089. "name": "verify_token",
  6090. "_content": "The verification token to be echoed back to the subscriber during the verification callback, as per the <a href=\"http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html#subscribing\">Google PubSubHubbub spec</a>. Limited to 200 bytes."
  6091. },
  6092. {
  6093. "name": "lease_seconds",
  6094. "_content": "Number of seconds for which the subscription will be valid. Legal values are 60 to 86400 (1 minute to 1 day). If not present, the subscription will be auto-renewing."
  6095. },
  6096. {
  6097. "name": "woe_ids",
  6098. "_content": "A 32-bit integer for a <a href=\"http://developer.yahoo.com/geo/geoplanet/\">Where on Earth ID</a>. Only valid if <code>topic</code> is <code>geo</code>.\r\n<br/><br/>\r\nThe order of precedence for geo subscriptions is : woe ids, place ids, radial i.e. the <code>lat, lon</code> parameters will be ignored if <code>place_ids</code> is present, which will be ignored if <code>woe_ids</code> is present."
  6099. },
  6100. {
  6101. "name": "place_ids",
  6102. "_content": "A comma-separated list of Flickr place IDs. Only valid if <code>topic</code> is <code>geo</code>.\r\n<br/><br/>\r\nThe order of precedence for geo subscriptions is : woe ids, place ids, radial i.e. the <code>lat, lon</code> parameters will be ignored if <code>place_ids</code> is present, which will be ignored if <code>woe_ids</code> is present."
  6103. },
  6104. {
  6105. "name": "lat",
  6106. "_content": "A latitude value, in decimal format. Only valid if <code>topic</code> is <code>geo</code>. Defines the latitude for a radial query centered around (lat, lon).\r\n<br/><br/>\r\nThe order of precedence for geo subscriptions is : woe ids, place ids, radial i.e. the <code>lat, lon</code> parameters will be ignored if <code>place_ids</code> is present, which will be ignored if <code>woe_ids</code> is present."
  6107. },
  6108. {
  6109. "name": "lon",
  6110. "_content": "A longitude value, in decimal format. Only valid if <code>topic</code> is <code>geo</code>. Defines the longitude for a radial query centered around (lat, lon).\r\n<br/><br/>\r\nThe order of precedence for geo subscriptions is : woe ids, place ids, radial i.e. the <code>lat, lon</code> parameters will be ignored if <code>place_ids</code> is present, which will be ignored if <code>woe_ids</code> is present."
  6111. },
  6112. {
  6113. "name": "radius",
  6114. "_content": "A radius value, in the units defined by radius_units. Only valid if <code>topic</code> is <code>geo</code>. Defines the radius of a circle for a radial query centered around (lat, lon). Default is 5 km.\r\n<br/><br/>\r\nThe order of precedence for geo subscriptions is : woe ids, place ids, radial i.e. the <code>lat, lon</code> parameters will be ignored if <code>place_ids</code> is present, which will be ignored if <code>woe_ids</code> is present."
  6115. },
  6116. {
  6117. "name": "radius_units",
  6118. "_content": "Defines the units for the radius parameter. Only valid if <code>topic</code> is <code>geo</code>. Options are <code>mi</code> and <code>km</code>. Default is <code>km</code>.\r\n<br/><br/>\r\nThe order of precedence for geo subscriptions is : woe ids, place ids, radial i.e. the <code>lat, lon</code> parameters will be ignored if <code>place_ids</code> is present, which will be ignored if <code>woe_ids</code> is present."
  6119. },
  6120. {
  6121. "name": "accuracy",
  6122. "_content": "Defines the minimum accuracy required for photos to be included in a subscription. Only valid if <code>topic</code> is <code>geo</code> Legal values are 1-16, default is 1 (i.e. any accuracy level).\r\n<ul>\r\n<li>World level is 1</li>\r\n<li>Country is ~3</li>\r\n<li>Region is ~6</li>\r\n<li>City is ~11</li>\r\n<li>Street is ~16</li>\r\n</ul>"
  6123. },
  6124. {
  6125. "name": "nsids",
  6126. "_content": "A comma-separated list of nsids representing Flickr Commons institutions (see <a href=\"http://www.flickr.com/services/api/flickr.commons.getInstitutions.html\">flickr.commons.getInstitutions</a>). Only valid if <code>topic</code> is <code>commons</code>. If not present this argument defaults to all Flickr Commons institutions."
  6127. },
  6128. {
  6129. "name": "tags",
  6130. "_content": "A comma-separated list of strings to be used for tag subscriptions. Photos with one or more of the tags listed will be included in the subscription. Only valid if the <code>topic</code> is <code>tags</code>."
  6131. },
  6132. {
  6133. "name": "machine_tags",
  6134. "_content": "A comma-separated list of strings to be used for machine tag subscriptions. Photos with one or more of the machine tags listed will be included in the subscription. Currently the format must be <code>namespace:tag_name=value</code> Only valid if the <code>topic</code> is <code>tags</code>."
  6135. },
  6136. {
  6137. "name": "update_type",
  6138. "_content": ""
  6139. },
  6140. {
  6141. "name": "output_format",
  6142. "_content": ""
  6143. },
  6144. {
  6145. "name": "mailto",
  6146. "_content": ""
  6147. }
  6148. ],
  6149. "errors": [
  6150. {
  6151. "code": "1",
  6152. "message": "Required parameter missing",
  6153. "_content": "One of the required arguments for the method was not provided."
  6154. },
  6155. {
  6156. "code": "2",
  6157. "message": "Invalid parameter value",
  6158. "_content": "One of the arguments was specified with an illegal value."
  6159. },
  6160. {
  6161. "code": "3",
  6162. "message": "Callback URL already in use for a different subscription",
  6163. "_content": "A different subscription already exists that uses the same callback URL."
  6164. },
  6165. {
  6166. "code": "4",
  6167. "message": "Callback failed or invalid response",
  6168. "_content": "The verification callback failed, or failed to return the expected response to confirm the subscription."
  6169. },
  6170. {
  6171. "code": "5",
  6172. "message": "Service currently available only to pro accounts",
  6173. "_content": "PuSH subscriptions are currently restricted to Pro account holders."
  6174. },
  6175. {
  6176. "code": "6",
  6177. "message": "Subscription awaiting verification callback response - try again later",
  6178. "_content": "A subscription with those details exists already, but it is in a pending (non-verified) state. Please wait a bit for the verification callback to complete before attempting to update the subscription."
  6179. }
  6180. ],
  6181. "security": {
  6182. "needslogin": 1,
  6183. "needssigning": 1,
  6184. "requiredperms": 1
  6185. },
  6186. "name": "flickr.push.subscribe",
  6187. "url": "https://www.flickr.com/services/api/flickr.push.subscribe.html"
  6188. },
  6189. "flickr.push.unsubscribe": {
  6190. "required": [
  6191. {
  6192. "name": "topic",
  6193. "_content": "The type of subscription. See <a href=\"http://www.flickr.com/services/api/flickr.push.getTopics.htm\">flickr.push.getTopics</a>."
  6194. },
  6195. {
  6196. "name": "callback",
  6197. "_content": "The url for the subscription endpoint (must be the same url as was used when creating the subscription)."
  6198. },
  6199. {
  6200. "name": "verify",
  6201. "_content": "The verification mode, either 'sync' or 'async'. See the <a href=\"http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html#subscribingl\">Google PubSubHubbub spec</a> for details."
  6202. }
  6203. ],
  6204. "optional": [
  6205. {
  6206. "name": "verify_token",
  6207. "_content": "The verification token to be echoed back to the subscriber during the verification callback, as per the <a href=\"http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html#subscribing\">Google PubSubHubbub spec</a>. Limited to 200 bytes."
  6208. }
  6209. ],
  6210. "errors": [
  6211. {
  6212. "code": "1",
  6213. "message": "Required parameter missing",
  6214. "_content": "One of the required arguments for the method was not provided."
  6215. },
  6216. {
  6217. "code": "2",
  6218. "message": "Invalid parameter value",
  6219. "_content": "One of the arguments was specified with an illegal value."
  6220. },
  6221. {
  6222. "code": "4",
  6223. "message": "Callback failed or invalid response",
  6224. "_content": "The verification callback failed, or failed to return the expected response to confirm the un-subscription."
  6225. },
  6226. {
  6227. "code": "6",
  6228. "message": "Subscription awaiting verification callback response - try again later",
  6229. "_content": "A subscription with those details exists already, but it is in a pending (non-verified) state. Please wait a bit for the verification callback to complete before attempting to update the subscription."
  6230. },
  6231. {
  6232. "code": "7",
  6233. "message": "Subscription not found",
  6234. "_content": "No subscription matching the provided details for this user could be found."
  6235. }
  6236. ],
  6237. "security": {
  6238. "needslogin": 1,
  6239. "needssigning": 1,
  6240. "requiredperms": 1
  6241. },
  6242. "name": "flickr.push.unsubscribe",
  6243. "url": "https://www.flickr.com/services/api/flickr.push.unsubscribe.html"
  6244. },
  6245. "flickr.reflection.getMethodInfo": {
  6246. "required": [
  6247. {
  6248. "name": "method_name",
  6249. "_content": "The name of the method to fetch information for."
  6250. }
  6251. ],
  6252. "errors": [
  6253. {
  6254. "code": "1",
  6255. "message": "Method not found",
  6256. "_content": "The requested method was not found."
  6257. }
  6258. ],
  6259. "security": {
  6260. "needslogin": 0,
  6261. "needssigning": 0,
  6262. "requiredperms": 0
  6263. },
  6264. "name": "flickr.reflection.getMethodInfo",
  6265. "url": "https://www.flickr.com/services/api/flickr.reflection.getMethodInfo.html"
  6266. },
  6267. "flickr.reflection.getMethods": {
  6268. "security": {
  6269. "needslogin": 0,
  6270. "needssigning": 0,
  6271. "requiredperms": 0
  6272. },
  6273. "name": "flickr.reflection.getMethods",
  6274. "url": "https://www.flickr.com/services/api/flickr.reflection.getMethods.html"
  6275. },
  6276. "flickr.stats.getCollectionDomains": {
  6277. "required": [
  6278. {
  6279. "name": "date",
  6280. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6281. }
  6282. ],
  6283. "optional": [
  6284. {
  6285. "name": "collection_id",
  6286. "_content": "The id of the collection to get stats for. If not provided, stats for all collections will be returned."
  6287. },
  6288. {
  6289. "name": "per_page",
  6290. "_content": "Number of domains to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6291. },
  6292. {
  6293. "name": "page",
  6294. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6295. }
  6296. ],
  6297. "errors": [
  6298. {
  6299. "code": "1",
  6300. "message": "User does not have stats",
  6301. "_content": "The user you have requested stats has not enabled stats on their account."
  6302. },
  6303. {
  6304. "code": "2",
  6305. "message": "No stats for that date",
  6306. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6307. },
  6308. {
  6309. "code": "3",
  6310. "message": "Invalid date",
  6311. "_content": "The date provided could not be parsed"
  6312. },
  6313. {
  6314. "code": "4",
  6315. "message": "Collection not found",
  6316. "_content": "The collection id was either invalid or was for a collection not owned by the calling user."
  6317. }
  6318. ],
  6319. "security": {
  6320. "needslogin": 1,
  6321. "needssigning": 1,
  6322. "requiredperms": 1
  6323. },
  6324. "name": "flickr.stats.getCollectionDomains",
  6325. "url": "https://www.flickr.com/services/api/flickr.stats.getCollectionDomains.html"
  6326. },
  6327. "flickr.stats.getCollectionReferrers": {
  6328. "required": [
  6329. {
  6330. "name": "date",
  6331. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format. \r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6332. },
  6333. {
  6334. "name": "domain",
  6335. "_content": "The domain to return referrers for. This should be a hostname (eg: \"flickr.com\") with no protocol or pathname."
  6336. }
  6337. ],
  6338. "optional": [
  6339. {
  6340. "name": "collection_id",
  6341. "_content": "The id of the collection to get stats for. If not provided, stats for all collections will be returned."
  6342. },
  6343. {
  6344. "name": "per_page",
  6345. "_content": "Number of referrers to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6346. },
  6347. {
  6348. "name": "page",
  6349. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6350. }
  6351. ],
  6352. "errors": [
  6353. {
  6354. "code": "1",
  6355. "message": "User does not have stats",
  6356. "_content": "The user you have requested stats has not enabled stats on their account."
  6357. },
  6358. {
  6359. "code": "2",
  6360. "message": "No stats for that date",
  6361. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6362. },
  6363. {
  6364. "code": "3",
  6365. "message": "Invalid date",
  6366. "_content": "The date provided could not be parsed"
  6367. },
  6368. {
  6369. "code": "4",
  6370. "message": "Collection not found",
  6371. "_content": "The collection id was either invalid or was for a collection not owned by the calling user."
  6372. },
  6373. {
  6374. "code": "5",
  6375. "message": "Invalid domain",
  6376. "_content": "The domain provided is not in the expected format."
  6377. }
  6378. ],
  6379. "security": {
  6380. "needslogin": 1,
  6381. "needssigning": 1,
  6382. "requiredperms": 1
  6383. },
  6384. "name": "flickr.stats.getCollectionReferrers",
  6385. "url": "https://www.flickr.com/services/api/flickr.stats.getCollectionReferrers.html"
  6386. },
  6387. "flickr.stats.getCollectionStats": {
  6388. "required": [
  6389. {
  6390. "name": "date",
  6391. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6392. },
  6393. {
  6394. "name": "collection_id",
  6395. "_content": "The id of the collection to get stats for."
  6396. }
  6397. ],
  6398. "errors": [
  6399. {
  6400. "code": "1",
  6401. "message": "User does not have stats",
  6402. "_content": "The user you have requested stats has not enabled stats on their account."
  6403. },
  6404. {
  6405. "code": "2",
  6406. "message": "No stats for that date",
  6407. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6408. },
  6409. {
  6410. "code": "3",
  6411. "message": "Invalid date",
  6412. "_content": "The date provided could not be parsed"
  6413. },
  6414. {
  6415. "code": "4",
  6416. "message": "Collection not found",
  6417. "_content": "The collection id was either invalid or was for a collection not owned by the calling user."
  6418. }
  6419. ],
  6420. "security": {
  6421. "needslogin": 1,
  6422. "needssigning": 1,
  6423. "requiredperms": 1
  6424. },
  6425. "name": "flickr.stats.getCollectionStats",
  6426. "url": "https://www.flickr.com/services/api/flickr.stats.getCollectionStats.html"
  6427. },
  6428. "flickr.stats.getCSVFiles": {
  6429. "security": {
  6430. "needslogin": 1,
  6431. "needssigning": 1,
  6432. "requiredperms": 1
  6433. },
  6434. "name": "flickr.stats.getCSVFiles",
  6435. "url": "https://www.flickr.com/services/api/flickr.stats.getCSVFiles.html"
  6436. },
  6437. "flickr.stats.getPhotoDomains": {
  6438. "required": [
  6439. {
  6440. "name": "date",
  6441. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6442. }
  6443. ],
  6444. "optional": [
  6445. {
  6446. "name": "photo_id",
  6447. "_content": "The id of the photo to get stats for. If not provided, stats for all photos will be returned."
  6448. },
  6449. {
  6450. "name": "per_page",
  6451. "_content": "Number of domains to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6452. },
  6453. {
  6454. "name": "page",
  6455. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6456. }
  6457. ],
  6458. "errors": [
  6459. {
  6460. "code": "1",
  6461. "message": "User does not have stats",
  6462. "_content": "The user you have requested stats has not enabled stats on their account."
  6463. },
  6464. {
  6465. "code": "2",
  6466. "message": "No stats for that date",
  6467. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6468. },
  6469. {
  6470. "code": "3",
  6471. "message": "Invalid date",
  6472. "_content": "The date provided could not be parsed"
  6473. },
  6474. {
  6475. "code": "4",
  6476. "message": "Photo not found",
  6477. "_content": "The photo id was either invalid or was for a photo not owned by the calling user."
  6478. }
  6479. ],
  6480. "security": {
  6481. "needslogin": 1,
  6482. "needssigning": 1,
  6483. "requiredperms": 1
  6484. },
  6485. "name": "flickr.stats.getPhotoDomains",
  6486. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotoDomains.html"
  6487. },
  6488. "flickr.stats.getPhotoReferrers": {
  6489. "required": [
  6490. {
  6491. "name": "date",
  6492. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6493. },
  6494. {
  6495. "name": "domain",
  6496. "_content": "The domain to return referrers for. This should be a hostname (eg: \"flickr.com\") with no protocol or pathname."
  6497. }
  6498. ],
  6499. "optional": [
  6500. {
  6501. "name": "photo_id",
  6502. "_content": "The id of the photo to get stats for. If not provided, stats for all photos will be returned."
  6503. },
  6504. {
  6505. "name": "per_page",
  6506. "_content": "Number of referrers to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6507. },
  6508. {
  6509. "name": "page",
  6510. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6511. }
  6512. ],
  6513. "errors": [
  6514. {
  6515. "code": "1",
  6516. "message": "User does not have stats",
  6517. "_content": "The user you have requested stats has not enabled stats on their account."
  6518. },
  6519. {
  6520. "code": "2",
  6521. "message": "No stats for that date",
  6522. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6523. },
  6524. {
  6525. "code": "3",
  6526. "message": "Invalid date",
  6527. "_content": "The date provided could not be parsed"
  6528. },
  6529. {
  6530. "code": "4",
  6531. "message": "Photo not found",
  6532. "_content": "The photo id was either invalid or was for a photo not owned by the calling user."
  6533. },
  6534. {
  6535. "code": "5",
  6536. "message": "Invalid domain",
  6537. "_content": "The domain provided is not in the expected format."
  6538. }
  6539. ],
  6540. "security": {
  6541. "needslogin": 1,
  6542. "needssigning": 1,
  6543. "requiredperms": 1
  6544. },
  6545. "name": "flickr.stats.getPhotoReferrers",
  6546. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotoReferrers.html"
  6547. },
  6548. "flickr.stats.getPhotosetDomains": {
  6549. "required": [
  6550. {
  6551. "name": "date",
  6552. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6553. }
  6554. ],
  6555. "optional": [
  6556. {
  6557. "name": "photoset_id",
  6558. "_content": "The id of the photoset to get stats for. If not provided, stats for all sets will be returned."
  6559. },
  6560. {
  6561. "name": "per_page",
  6562. "_content": "Number of domains to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6563. },
  6564. {
  6565. "name": "page",
  6566. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6567. }
  6568. ],
  6569. "errors": [
  6570. {
  6571. "code": "1",
  6572. "message": "User does not have stats",
  6573. "_content": "The user you have requested stats has not enabled stats on their account."
  6574. },
  6575. {
  6576. "code": "2",
  6577. "message": "No stats for that date",
  6578. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6579. },
  6580. {
  6581. "code": "3",
  6582. "message": "Invalid date",
  6583. "_content": "The date provided could not be parsed"
  6584. },
  6585. {
  6586. "code": "4",
  6587. "message": "Photoset not found",
  6588. "_content": "The photoset id was either invalid or was for a set not owned by the calling user."
  6589. }
  6590. ],
  6591. "security": {
  6592. "needslogin": 1,
  6593. "needssigning": 1,
  6594. "requiredperms": 1
  6595. },
  6596. "name": "flickr.stats.getPhotosetDomains",
  6597. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotosetDomains.html"
  6598. },
  6599. "flickr.stats.getPhotosetReferrers": {
  6600. "required": [
  6601. {
  6602. "name": "date",
  6603. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format. \r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6604. },
  6605. {
  6606. "name": "domain",
  6607. "_content": "The domain to return referrers for. This should be a hostname (eg: \"flickr.com\") with no protocol or pathname."
  6608. }
  6609. ],
  6610. "optional": [
  6611. {
  6612. "name": "photoset_id",
  6613. "_content": "The id of the photoset to get stats for. If not provided, stats for all sets will be returned."
  6614. },
  6615. {
  6616. "name": "per_page",
  6617. "_content": "Number of referrers to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6618. },
  6619. {
  6620. "name": "page",
  6621. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6622. }
  6623. ],
  6624. "errors": [
  6625. {
  6626. "code": "1",
  6627. "message": "User does not have stats",
  6628. "_content": "The user you have requested stats has not enabled stats on their account."
  6629. },
  6630. {
  6631. "code": "2",
  6632. "message": "No stats for that date",
  6633. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6634. },
  6635. {
  6636. "code": "3",
  6637. "message": "Invalid date",
  6638. "_content": "The date provided could not be parsed"
  6639. },
  6640. {
  6641. "code": "4",
  6642. "message": "Photoset not found",
  6643. "_content": "The photoset id was either invalid or was for a set not owned by the calling user."
  6644. },
  6645. {
  6646. "code": "5",
  6647. "message": "Invalid domain",
  6648. "_content": "The domain provided is not in the expected format."
  6649. }
  6650. ],
  6651. "security": {
  6652. "needslogin": 1,
  6653. "needssigning": 1,
  6654. "requiredperms": 1
  6655. },
  6656. "name": "flickr.stats.getPhotosetReferrers",
  6657. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotosetReferrers.html"
  6658. },
  6659. "flickr.stats.getPhotosetStats": {
  6660. "required": [
  6661. {
  6662. "name": "date",
  6663. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6664. },
  6665. {
  6666. "name": "photoset_id",
  6667. "_content": "The id of the photoset to get stats for."
  6668. }
  6669. ],
  6670. "errors": [
  6671. {
  6672. "code": "1",
  6673. "message": "User does not have stats",
  6674. "_content": "The user you have requested stats has not enabled stats on their account."
  6675. },
  6676. {
  6677. "code": "2",
  6678. "message": "No stats for that date",
  6679. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6680. },
  6681. {
  6682. "code": "3",
  6683. "message": "Invalid date",
  6684. "_content": "The date provided could not be parsed"
  6685. },
  6686. {
  6687. "code": "4",
  6688. "message": "Photoset not found",
  6689. "_content": "The photoset id was either invalid or was for a set not owned by the calling user."
  6690. }
  6691. ],
  6692. "security": {
  6693. "needslogin": 1,
  6694. "needssigning": 1,
  6695. "requiredperms": 1
  6696. },
  6697. "name": "flickr.stats.getPhotosetStats",
  6698. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotosetStats.html"
  6699. },
  6700. "flickr.stats.getPhotoStats": {
  6701. "required": [
  6702. {
  6703. "name": "date",
  6704. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6705. },
  6706. {
  6707. "name": "photo_id",
  6708. "_content": "The id of the photo to get stats for."
  6709. }
  6710. ],
  6711. "errors": [
  6712. {
  6713. "code": "1",
  6714. "message": "User does not have stats",
  6715. "_content": "The user you have requested stats has not enabled stats on their account."
  6716. },
  6717. {
  6718. "code": "2",
  6719. "message": "No stats for that date",
  6720. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6721. },
  6722. {
  6723. "code": "3",
  6724. "message": "Invalid date",
  6725. "_content": "The date provided could not be parsed"
  6726. },
  6727. {
  6728. "code": "4",
  6729. "message": "Photo not found",
  6730. "_content": "The photo id was either invalid or was for a photo not owned by the calling user."
  6731. }
  6732. ],
  6733. "security": {
  6734. "needslogin": 1,
  6735. "needssigning": 1,
  6736. "requiredperms": 1
  6737. },
  6738. "name": "flickr.stats.getPhotoStats",
  6739. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotoStats.html"
  6740. },
  6741. "flickr.stats.getPhotostreamDomains": {
  6742. "required": [
  6743. {
  6744. "name": "date",
  6745. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6746. }
  6747. ],
  6748. "optional": [
  6749. {
  6750. "name": "per_page",
  6751. "_content": "Number of domains to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100"
  6752. },
  6753. {
  6754. "name": "page",
  6755. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6756. }
  6757. ],
  6758. "errors": [
  6759. {
  6760. "code": "1",
  6761. "message": "User does not have stats",
  6762. "_content": "The user you have requested stats has not enabled stats on their account."
  6763. },
  6764. {
  6765. "code": "2",
  6766. "message": "No stats for that date",
  6767. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6768. },
  6769. {
  6770. "code": "3",
  6771. "message": "Invalid date",
  6772. "_content": "The date provided could not be parsed"
  6773. }
  6774. ],
  6775. "security": {
  6776. "needslogin": 1,
  6777. "needssigning": 1,
  6778. "requiredperms": 1
  6779. },
  6780. "name": "flickr.stats.getPhotostreamDomains",
  6781. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotostreamDomains.html"
  6782. },
  6783. "flickr.stats.getPhotostreamReferrers": {
  6784. "required": [
  6785. {
  6786. "name": "date",
  6787. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format. \r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6788. },
  6789. {
  6790. "name": "domain",
  6791. "_content": "The domain to return referrers for. This should be a hostname (eg: \"flickr.com\") with no protocol or pathname."
  6792. }
  6793. ],
  6794. "optional": [
  6795. {
  6796. "name": "per_page",
  6797. "_content": "Number of referrers to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6798. },
  6799. {
  6800. "name": "page",
  6801. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6802. }
  6803. ],
  6804. "errors": [
  6805. {
  6806. "code": "1",
  6807. "message": "User does not have stats",
  6808. "_content": "The user you have requested stats has not enabled stats on their account."
  6809. },
  6810. {
  6811. "code": "2",
  6812. "message": "No stats for that date",
  6813. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6814. },
  6815. {
  6816. "code": "3",
  6817. "message": "Invalid date",
  6818. "_content": "The date provided could not be parsed"
  6819. },
  6820. {
  6821. "code": "5",
  6822. "message": "Invalid domain",
  6823. "_content": "The domain provided is not in the expected format."
  6824. }
  6825. ],
  6826. "security": {
  6827. "needslogin": 1,
  6828. "needssigning": 1,
  6829. "requiredperms": 1
  6830. },
  6831. "name": "flickr.stats.getPhotostreamReferrers",
  6832. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotostreamReferrers.html"
  6833. },
  6834. "flickr.stats.getPhotostreamStats": {
  6835. "required": [
  6836. {
  6837. "name": "date",
  6838. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day."
  6839. }
  6840. ],
  6841. "errors": [
  6842. {
  6843. "code": "1",
  6844. "message": "User does not have stats",
  6845. "_content": "The user you have requested stats has not enabled stats on their account."
  6846. },
  6847. {
  6848. "code": "2",
  6849. "message": "No stats for that date",
  6850. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6851. },
  6852. {
  6853. "code": "3",
  6854. "message": "Invalid date",
  6855. "_content": "The date provided could not be parsed"
  6856. }
  6857. ],
  6858. "security": {
  6859. "needslogin": 1,
  6860. "needssigning": 1,
  6861. "requiredperms": 1
  6862. },
  6863. "name": "flickr.stats.getPhotostreamStats",
  6864. "url": "https://www.flickr.com/services/api/flickr.stats.getPhotostreamStats.html"
  6865. },
  6866. "flickr.stats.getPopularPhotos": {
  6867. "optional": [
  6868. {
  6869. "name": "date",
  6870. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format. \r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day.\r\n\r\nIf no date is provided, all time view counts will be returned."
  6871. },
  6872. {
  6873. "name": "sort",
  6874. "_content": "The order in which to sort returned photos. Defaults to views. The possible values are views, comments and favorites. \r\n\r\nOther sort options are available through <a href=\"/services/api/flickr.photos.search.html\">flickr.photos.search</a>."
  6875. },
  6876. {
  6877. "name": "per_page",
  6878. "_content": "Number of referrers to return per page. If this argument is omitted, it defaults to 25. The maximum allowed value is 100."
  6879. },
  6880. {
  6881. "name": "page",
  6882. "_content": "The page of results to return. If this argument is omitted, it defaults to 1."
  6883. }
  6884. ],
  6885. "errors": [
  6886. {
  6887. "code": "1",
  6888. "message": "User does not have stats",
  6889. "_content": "The user you have requested stats has not enabled stats on their account."
  6890. },
  6891. {
  6892. "code": "2",
  6893. "message": "No stats for that date",
  6894. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6895. },
  6896. {
  6897. "code": "3",
  6898. "message": "Invalid date",
  6899. "_content": "The date provided could not be parsed"
  6900. },
  6901. {
  6902. "code": "5",
  6903. "message": "Invalid sort",
  6904. "_content": "The sort provided is not valid"
  6905. }
  6906. ],
  6907. "security": {
  6908. "needslogin": 1,
  6909. "needssigning": 1,
  6910. "requiredperms": 1
  6911. },
  6912. "name": "flickr.stats.getPopularPhotos",
  6913. "url": "https://www.flickr.com/services/api/flickr.stats.getPopularPhotos.html"
  6914. },
  6915. "flickr.stats.getTotalViews": {
  6916. "optional": [
  6917. {
  6918. "name": "date",
  6919. "_content": "Stats will be returned for this date. This should be in either be in YYYY-MM-DD or unix timestamp format.\r\n\r\nA day according to Flickr Stats starts at midnight GMT for all users, and timestamps will automatically be rounded down to the start of the day.\r\n\r\nIf no date is provided, all time view counts will be returned."
  6920. }
  6921. ],
  6922. "errors": [
  6923. {
  6924. "code": "1",
  6925. "message": "User does not have stats",
  6926. "_content": "The user you have requested stats has not enabled stats on their account."
  6927. },
  6928. {
  6929. "code": "2",
  6930. "message": "No stats for that date",
  6931. "_content": "No stats are available for the date requested. Flickr only keeps stats data for the last 28 days."
  6932. },
  6933. {
  6934. "code": "3",
  6935. "message": "Invalid date",
  6936. "_content": "The date provided could not be parsed"
  6937. }
  6938. ],
  6939. "security": {
  6940. "needslogin": 1,
  6941. "needssigning": 1,
  6942. "requiredperms": 1
  6943. },
  6944. "name": "flickr.stats.getTotalViews",
  6945. "url": "https://www.flickr.com/services/api/flickr.stats.getTotalViews.html"
  6946. },
  6947. "flickr.tags.getClusterPhotos": {
  6948. "required": [
  6949. {
  6950. "name": "tag",
  6951. "_content": "The tag that this cluster belongs to."
  6952. },
  6953. {
  6954. "name": "cluster_id",
  6955. "_content": "The top three tags for the cluster, separated by dashes (just like the url)."
  6956. }
  6957. ],
  6958. "security": {
  6959. "needslogin": 0,
  6960. "needssigning": 0,
  6961. "requiredperms": 0
  6962. },
  6963. "name": "flickr.tags.getClusterPhotos",
  6964. "url": "https://www.flickr.com/services/api/flickr.tags.getClusterPhotos.html"
  6965. },
  6966. "flickr.tags.getClusters": {
  6967. "required": [
  6968. {
  6969. "name": "tag",
  6970. "_content": "The tag to fetch clusters for."
  6971. }
  6972. ],
  6973. "errors": [
  6974. {
  6975. "code": "1",
  6976. "message": "Tag cluster not found",
  6977. "_content": "The tag was invalid or no cluster exists for that tag."
  6978. }
  6979. ],
  6980. "security": {
  6981. "needslogin": 0,
  6982. "needssigning": 0,
  6983. "requiredperms": 0
  6984. },
  6985. "name": "flickr.tags.getClusters",
  6986. "url": "https://www.flickr.com/services/api/flickr.tags.getClusters.html"
  6987. },
  6988. "flickr.tags.getHotList": {
  6989. "optional": [
  6990. {
  6991. "name": "period",
  6992. "_content": "The period for which to fetch hot tags. Valid values are <code>day</code> and <code>week</code> (defaults to <code>day</code>)."
  6993. },
  6994. {
  6995. "name": "count",
  6996. "_content": "The number of tags to return. Defaults to 20. Maximum allowed value is 200."
  6997. }
  6998. ],
  6999. "errors": [
  7000. {
  7001. "code": "1",
  7002. "message": "Invalid period",
  7003. "_content": "The specified period was not understood."
  7004. }
  7005. ],
  7006. "security": {
  7007. "needslogin": 0,
  7008. "needssigning": 0,
  7009. "requiredperms": 0
  7010. },
  7011. "name": "flickr.tags.getHotList",
  7012. "url": "https://www.flickr.com/services/api/flickr.tags.getHotList.html"
  7013. },
  7014. "flickr.tags.getListPhoto": {
  7015. "required": [
  7016. {
  7017. "name": "photo_id",
  7018. "_content": "The id of the photo to return tags for."
  7019. }
  7020. ],
  7021. "errors": [
  7022. {
  7023. "code": "1",
  7024. "message": "Photo not found",
  7025. "_content": "The photo id passed was not a valid photo id."
  7026. }
  7027. ],
  7028. "security": {
  7029. "needslogin": 0,
  7030. "needssigning": 0,
  7031. "requiredperms": 0
  7032. },
  7033. "name": "flickr.tags.getListPhoto",
  7034. "url": "https://www.flickr.com/services/api/flickr.tags.getListPhoto.html"
  7035. },
  7036. "flickr.tags.getListUser": {
  7037. "optional": [
  7038. {
  7039. "name": "user_id",
  7040. "_content": "The NSID of the user to fetch the tag list for. If this argument is not specified, the currently logged in user (if any) is assumed."
  7041. }
  7042. ],
  7043. "errors": [
  7044. {
  7045. "code": "1",
  7046. "message": "User not found",
  7047. "_content": "The user NSID passed was not a valid user NSID and the calling user was not logged in.\r\n"
  7048. }
  7049. ],
  7050. "security": {
  7051. "needslogin": 0,
  7052. "needssigning": 0,
  7053. "requiredperms": 0
  7054. },
  7055. "name": "flickr.tags.getListUser",
  7056. "url": "https://www.flickr.com/services/api/flickr.tags.getListUser.html"
  7057. },
  7058. "flickr.tags.getListUserPopular": {
  7059. "optional": [
  7060. {
  7061. "name": "user_id",
  7062. "_content": "The NSID of the user to fetch the tag list for. If this argument is not specified, the currently logged in user (if any) is assumed."
  7063. },
  7064. {
  7065. "name": "count",
  7066. "_content": "Number of popular tags to return. defaults to 10 when this argument is not present."
  7067. }
  7068. ],
  7069. "errors": [
  7070. {
  7071. "code": "1",
  7072. "message": "User not found",
  7073. "_content": "The user NSID passed was not a valid user NSID and the calling user was not logged in.\r\n"
  7074. }
  7075. ],
  7076. "security": {
  7077. "needslogin": 0,
  7078. "needssigning": 0,
  7079. "requiredperms": 0
  7080. },
  7081. "name": "flickr.tags.getListUserPopular",
  7082. "url": "https://www.flickr.com/services/api/flickr.tags.getListUserPopular.html"
  7083. },
  7084. "flickr.tags.getListUserRaw": {
  7085. "optional": [
  7086. {
  7087. "name": "tag",
  7088. "_content": "The tag you want to retrieve all raw versions for."
  7089. }
  7090. ],
  7091. "errors": [
  7092. {
  7093. "code": "1",
  7094. "message": "User not found",
  7095. "_content": "The calling user was not logged in."
  7096. }
  7097. ],
  7098. "security": {
  7099. "needslogin": 0,
  7100. "needssigning": 0,
  7101. "requiredperms": 0
  7102. },
  7103. "name": "flickr.tags.getListUserRaw",
  7104. "url": "https://www.flickr.com/services/api/flickr.tags.getListUserRaw.html"
  7105. },
  7106. "flickr.tags.getMostFrequentlyUsed": {
  7107. "security": {
  7108. "needslogin": 1,
  7109. "needssigning": 1,
  7110. "requiredperms": 1
  7111. },
  7112. "name": "flickr.tags.getMostFrequentlyUsed",
  7113. "url": "https://www.flickr.com/services/api/flickr.tags.getMostFrequentlyUsed.html"
  7114. },
  7115. "flickr.tags.getRelated": {
  7116. "required": [
  7117. {
  7118. "name": "tag",
  7119. "_content": "The tag to fetch related tags for."
  7120. }
  7121. ],
  7122. "errors": [
  7123. {
  7124. "code": "1",
  7125. "message": "Tag not found",
  7126. "_content": "The tag argument was missing."
  7127. }
  7128. ],
  7129. "security": {
  7130. "needslogin": 0,
  7131. "needssigning": 0,
  7132. "requiredperms": 0
  7133. },
  7134. "name": "flickr.tags.getRelated",
  7135. "url": "https://www.flickr.com/services/api/flickr.tags.getRelated.html"
  7136. },
  7137. "flickr.test.echo": {
  7138. "security": {
  7139. "needslogin": 0,
  7140. "needssigning": 0,
  7141. "requiredperms": 0
  7142. },
  7143. "name": "flickr.test.echo",
  7144. "url": "https://www.flickr.com/services/api/flickr.test.echo.html"
  7145. },
  7146. "flickr.test.login": {
  7147. "security": {
  7148. "needslogin": 1,
  7149. "needssigning": 1,
  7150. "requiredperms": 1
  7151. },
  7152. "name": "flickr.test.login",
  7153. "url": "https://www.flickr.com/services/api/flickr.test.login.html"
  7154. },
  7155. "flickr.test.null": {
  7156. "security": {
  7157. "needslogin": 1,
  7158. "needssigning": 1,
  7159. "requiredperms": 1
  7160. },
  7161. "name": "flickr.test.null",
  7162. "url": "https://www.flickr.com/services/api/flickr.test.null.html"
  7163. },
  7164. "flickr.urls.getGroup": {
  7165. "required": [
  7166. {
  7167. "name": "group_id",
  7168. "_content": "The NSID of the group to fetch the url for."
  7169. }
  7170. ],
  7171. "errors": [
  7172. {
  7173. "code": "1",
  7174. "message": "Group not found",
  7175. "_content": "The NSID specified was not a valid group."
  7176. }
  7177. ],
  7178. "security": {
  7179. "needslogin": 0,
  7180. "needssigning": 0,
  7181. "requiredperms": 0
  7182. },
  7183. "name": "flickr.urls.getGroup",
  7184. "url": "https://www.flickr.com/services/api/flickr.urls.getGroup.html"
  7185. },
  7186. "flickr.urls.getUserPhotos": {
  7187. "optional": [
  7188. {
  7189. "name": "user_id",
  7190. "_content": "The NSID of the user to fetch the url for. If omitted, the calling user is assumed."
  7191. }
  7192. ],
  7193. "errors": [
  7194. {
  7195. "code": "1",
  7196. "message": "User not found",
  7197. "_content": "The NSID specified was not a valid user."
  7198. },
  7199. {
  7200. "code": "2",
  7201. "message": "No user specified",
  7202. "_content": "No user_id was passed and the calling user was not logged in."
  7203. }
  7204. ],
  7205. "security": {
  7206. "needslogin": 0,
  7207. "needssigning": 0,
  7208. "requiredperms": 0
  7209. },
  7210. "name": "flickr.urls.getUserPhotos",
  7211. "url": "https://www.flickr.com/services/api/flickr.urls.getUserPhotos.html"
  7212. },
  7213. "flickr.urls.getUserProfile": {
  7214. "optional": [
  7215. {
  7216. "name": "user_id",
  7217. "_content": "The NSID of the user to fetch the url for. If omitted, the calling user is assumed."
  7218. }
  7219. ],
  7220. "errors": [
  7221. {
  7222. "code": "1",
  7223. "message": "User not found",
  7224. "_content": "The NSID specified was not a valid user."
  7225. },
  7226. {
  7227. "code": "2",
  7228. "message": "No user specified",
  7229. "_content": "No user_id was passed and the calling user was not logged in."
  7230. }
  7231. ],
  7232. "security": {
  7233. "needslogin": 0,
  7234. "needssigning": 0,
  7235. "requiredperms": 0
  7236. },
  7237. "name": "flickr.urls.getUserProfile",
  7238. "url": "https://www.flickr.com/services/api/flickr.urls.getUserProfile.html"
  7239. },
  7240. "flickr.urls.lookupGallery": {
  7241. "required": [
  7242. {
  7243. "name": "url",
  7244. "_content": "The gallery's URL."
  7245. }
  7246. ],
  7247. "security": {
  7248. "needslogin": 0,
  7249. "needssigning": 0,
  7250. "requiredperms": 0
  7251. },
  7252. "name": "flickr.urls.lookupGallery",
  7253. "url": "https://www.flickr.com/services/api/flickr.urls.lookupGallery.html"
  7254. },
  7255. "flickr.urls.lookupGroup": {
  7256. "required": [
  7257. {
  7258. "name": "url",
  7259. "_content": "The url to the group's page or photo pool."
  7260. }
  7261. ],
  7262. "errors": [
  7263. {
  7264. "code": "1",
  7265. "message": "Group not found",
  7266. "_content": "The passed URL was not a valid group page or photo pool url."
  7267. }
  7268. ],
  7269. "security": {
  7270. "needslogin": 0,
  7271. "needssigning": 0,
  7272. "requiredperms": 0
  7273. },
  7274. "name": "flickr.urls.lookupGroup",
  7275. "url": "https://www.flickr.com/services/api/flickr.urls.lookupGroup.html"
  7276. },
  7277. "flickr.urls.lookupUser": {
  7278. "required": [
  7279. {
  7280. "name": "url",
  7281. "_content": "The url to the user's profile or photos page."
  7282. }
  7283. ],
  7284. "errors": [
  7285. {
  7286. "code": "1",
  7287. "message": "User not found",
  7288. "_content": "The passed URL was not a valid user profile or photos url."
  7289. }
  7290. ],
  7291. "security": {
  7292. "needslogin": 0,
  7293. "needssigning": 0,
  7294. "requiredperms": 0
  7295. },
  7296. "name": "flickr.urls.lookupUser",
  7297. "url": "https://www.flickr.com/services/api/flickr.urls.lookupUser.html"
  7298. }
  7299. };
  7300. (function () {
  7301. Object.keys(Flickr.methods).forEach(function(method) {
  7302. var level = method.split(".").slice(1);
  7303. var e = Flickr.prototype, key;
  7304. while(level.length > 1) {
  7305. key = level.splice(0,1)[0];
  7306. if(!e[key]) { e[key] = {}; }
  7307. e = e[key];
  7308. }
  7309. e[level] = Utils.generateAPIDevFunction(Flickr.methods[method]);
  7310. });
  7311. }());
  7312. Flickr.prototype.bindOptions = function (flickrOptions) {
  7313. this.flickrOptions = flickrOptions;
  7314. (function bindOptions(obj, props) {
  7315. Object.keys(props).forEach(function(key) {
  7316. if (key === "flickrOptions") return;
  7317. if (typeof obj[key] === "object") {
  7318. bindOptions(obj[key], props[key]);
  7319. obj[key].flickrOptions = flickrOptions;
  7320. }
  7321. });
  7322. }(this, Flickr.prototype));
  7323. };
  7324. window.Flickr = Flickr;
  7325. }());
  7326. (function() {
  7327. namespace('Pictures');
  7328. Pictures.Controller = (function() {
  7329. function Controller() {}
  7330. Controller.setupWidgetIn = function(settings) {
  7331. return new Pictures.Widgets.Controller(settings).initialize();
  7332. };
  7333. return Controller;
  7334. })();
  7335. }).call(this);
  7336. (function() {
  7337. namespace('Pictures');
  7338. Pictures.Display = (function() {
  7339. function Display() {}
  7340. Display.generateLogo = function(config) {
  7341. return "<i class=\"fa fa-camera " + config["class"] + "\" data-id=\"" + config.dataId + "\"></i>";
  7342. };
  7343. return Display;
  7344. })();
  7345. }).call(this);
  7346. (function() {
  7347. namespace("Pictures.Widgets");
  7348. Pictures.Widgets.API = (function() {
  7349. function API() {}
  7350. API.search = function(data, displayer) {
  7351. var apiKey, flickr;
  7352. apiKey = data.key;
  7353. flickr = new Flickr({
  7354. api_key: apiKey
  7355. });
  7356. return flickr.photos.search({
  7357. text: data.searchString,
  7358. per_page: 6,
  7359. thumbnail_size: 'Medium',
  7360. extras: "url_n"
  7361. }, function(err, response) {
  7362. if (err) {
  7363. throw new Error(err);
  7364. }
  7365. return displayer.showImages(response.photos.photo);
  7366. });
  7367. };
  7368. return API;
  7369. })();
  7370. }).call(this);
  7371. (function() {
  7372. namespace('Pictures.Widgets');
  7373. Pictures.Widgets.Controller = (function() {
  7374. var apiKey;
  7375. apiKey = void 0;
  7376. function Controller(settings) {
  7377. apiKey = settings.key;
  7378. this.container = settings.container;
  7379. this.display = new Pictures.Widgets.Display(this.container, settings.animationSpeed, settings.slideSpeed);
  7380. this.activeStatus = false;
  7381. this.defaultValue = settings.defaultValue;
  7382. this.refreshRate = settings.refreshRate;
  7383. }
  7384. Controller.prototype.initialize = function() {
  7385. this.display.setupWidget();
  7386. this.bind();
  7387. this.displayDefault();
  7388. return this.setAsActive();
  7389. };
  7390. Controller.prototype.displayDefault = function() {
  7391. if (this.defaultValue) {
  7392. return this.loadImages(this.defaultValue);
  7393. }
  7394. };
  7395. Controller.prototype.setAsActive = function() {
  7396. return this.activeStatus = true;
  7397. };
  7398. Controller.prototype.setAsInactive = function() {
  7399. return this.activeStatus = false;
  7400. };
  7401. Controller.prototype.isActive = function() {
  7402. return this.activeStatus;
  7403. };
  7404. Controller.prototype.getContainer = function() {
  7405. return this.container;
  7406. };
  7407. Controller.prototype.bind = function() {
  7408. $("" + this.container + " [data-name=widget-form]").on('submit', (function(_this) {
  7409. return function(e) {
  7410. e.preventDefault();
  7411. return _this.processClickedButton();
  7412. };
  7413. })(this));
  7414. return $("" + this.container + " [data-name=widget-close]").on('click', (function(_this) {
  7415. return function() {
  7416. return _this.closeWidget();
  7417. };
  7418. })(this));
  7419. };
  7420. Controller.prototype.processClickedButton = function() {
  7421. var input;
  7422. input = this.display.getInput();
  7423. return this.processInput(input);
  7424. };
  7425. Controller.prototype.processInput = function(input) {
  7426. if (this.isValidInput(input)) {
  7427. return this.loadImages(input);
  7428. } else {
  7429. return this.showInvalidInput();
  7430. }
  7431. };
  7432. Controller.prototype.loadImages = function(searchStr) {
  7433. var data;
  7434. data = {
  7435. key: apiKey,
  7436. searchString: searchStr
  7437. };
  7438. Pictures.Widgets.API.search(data, this.display);
  7439. if (this.refreshRate) {
  7440. this.clearActiveTimeout();
  7441. return this.refreshImages(searchStr);
  7442. }
  7443. };
  7444. Controller.prototype.clearActiveTimeout = function() {
  7445. if (this.timeout) {
  7446. return clearTimeout(this.timeout);
  7447. }
  7448. };
  7449. Controller.prototype.refreshImages = function(searchStr) {
  7450. return this.timeout = setTimeout((function(_this) {
  7451. return function() {
  7452. if (_this.isActive()) {
  7453. return _this.loadImages(searchStr);
  7454. }
  7455. };
  7456. })(this), this.refreshRate * 1000);
  7457. };
  7458. Controller.prototype.showInvalidInput = function() {};
  7459. Controller.prototype.isValidInput = function(input) {
  7460. return this.isNotEmpty(input) && this.hasOnlyValidCharacters(input);
  7461. };
  7462. Controller.prototype.isNotEmpty = function(string) {
  7463. return string.length !== 0;
  7464. };
  7465. Controller.prototype.hasOnlyValidCharacters = function(string) {
  7466. return !string.match(/[^\w\s]/);
  7467. };
  7468. Controller.prototype.closeWidget = function() {
  7469. this.unbind();
  7470. this.removeContent();
  7471. return this.setAsInactive();
  7472. };
  7473. Controller.prototype.removeContent = function() {
  7474. return this.display.removeWidget();
  7475. };
  7476. Controller.prototype.unbind = function() {
  7477. $("" + this.container + " [data-name=widget-form]").unbind('submit');
  7478. return $("" + this.container + " [data-name=widget-close]").unbind('click');
  7479. };
  7480. Controller.prototype.exitEditMode = function() {
  7481. return this.display.exitEditMode();
  7482. };
  7483. Controller.prototype.enterEditMode = function() {
  7484. return this.display.enterEditMode();
  7485. };
  7486. return Controller;
  7487. })();
  7488. }).call(this);
  7489. (function() {
  7490. namespace("Pictures.Widget");
  7491. Pictures.Widgets.Display = (function() {
  7492. function Display(container, animationSpeed, slideSpeed) {
  7493. this.container = container;
  7494. this.animationSpeed = animationSpeed;
  7495. this.slider = new Pictures.Widgets.Slider(this.container, slideSpeed || 3000);
  7496. }
  7497. Display.prototype.setupWidget = function() {
  7498. var widgetHtml;
  7499. widgetHtml = Pictures.Widgets.Templates.renderForm();
  7500. return $(this.container).append(widgetHtml);
  7501. };
  7502. Display.prototype.getInput = function() {
  7503. return $("" + this.container + " [name=widget-input]").val();
  7504. };
  7505. Display.prototype.removeWidget = function() {
  7506. return $(this.container).remove();
  7507. };
  7508. Display.prototype.showImages = function(images) {
  7509. var imagesHtml;
  7510. imagesHtml = Pictures.Widgets.Templates.renderImagesHtml(images);
  7511. $("" + this.container + " [data-name=widget-output]").html(imagesHtml);
  7512. return this.slider.startSliding();
  7513. };
  7514. return Display;
  7515. })();
  7516. }).call(this);
  7517. (function() {
  7518. namespace('Pictures.Widgets');
  7519. Pictures.Widgets.Slider = (function() {
  7520. function Slider(container, slideInterval) {
  7521. this.container = container;
  7522. this.slideInterval = slideInterval;
  7523. }
  7524. Slider.prototype.startSliding = function() {
  7525. var images;
  7526. images = $("" + this.container + " [data-name=widget-output] img");
  7527. images.hide();
  7528. $(images[0]).show();
  7529. return this.slideImages(images);
  7530. };
  7531. Slider.prototype.slideImages = function(images) {
  7532. var currentNumber;
  7533. if (this.slide) {
  7534. this.stopSliding();
  7535. }
  7536. currentNumber = 0;
  7537. return this.slide = setInterval((function(_this) {
  7538. return function() {
  7539. currentNumber = _this.getNextImageNumber(images.length, currentNumber);
  7540. images.hide();
  7541. return $(images[currentNumber]).show();
  7542. };
  7543. })(this), this.slideInterval);
  7544. };
  7545. Slider.prototype.stopSliding = function() {
  7546. return clearInterval(this.slide);
  7547. };
  7548. Slider.prototype.getNextImageNumber = function(length, currentNumber) {
  7549. if ((currentNumber + 1) >= length) {
  7550. return 0;
  7551. } else {
  7552. return currentNumber + 1;
  7553. }
  7554. };
  7555. return Slider;
  7556. })();
  7557. }).call(this);
  7558. (function() {
  7559. namespace("Pictures.Widgets");
  7560. Pictures.Widgets.Templates = (function() {
  7561. function Templates() {}
  7562. Templates.renderImagesHtml = function(images) {
  7563. return _.template("<div data-id=\"images\" id=\"flickr-images\">\n <% for(var i = 0; i < images.length; i++){ %>\n <img src=\"<%= images[i].url_n %>\" alt=\"<%= images[i].title %>\">\n <% } %>\n</div>", {
  7564. images: images
  7565. });
  7566. };
  7567. Templates.renderForm = function() {
  7568. return _.template("<div class='widget' data-name='widget-wrapper'>\n <div class='widget-header' data-name='sortable-handle'>\n <h2 class=\"widget-title\">Pictures</h2>\n <span class='widget-close' data-name='widget-close'>×</span>\n <form class='widget-form' data-name='widget-form'>\n <input name='widget-input' type='text' autofocus='true'>\n <button data-name=\"form-button\">Get pictures</button><br>\n </form>\n </div>\n <div class=\"widget-body\" data-name=\"widget-output\"></div>\n</div>", {});
  7569. };
  7570. return Templates;
  7571. })();
  7572. }).call(this);