]> git.mxchange.org Git - friendica.git/blobdiff - doc/api.md
Merge remote-tracking branch 'upstream/develop' into 1512-contact-rework
[friendica.git] / doc / api.md
index f36a79a5eb3712629156681ee28aca0a2f09a2af..147c8b7513c8c980619b1dd13e3c2491979c90c0 100644 (file)
@@ -1,4 +1,6 @@
-The friendica API aims to be compatible to the [StatusNet API](http://status.net/wiki/Twitter-compatible_API) which aims to be compatible to the [Twitter API 1.0](https://dev.twitter.com/docs/api/1). \r
+Implemented API calls\r
+===\r
+The Friendica API aims to be compatible to the [GNU Social API](http://skilledtests.com/wiki/Twitter-compatible_API) and the [Twitter API](https://dev.twitter.com/rest/public). \r
 \r
 Please refer to the linked documentation for further information.\r
 \r
@@ -6,13 +8,13 @@ Please refer to the linked documentation for further information.
 \r
 ### General\r
 #### Unsupported parameters\r
-* cursor: Not implemented in StatusNet\r
-* trim_user: Not implemented in StatusNet\r
-* contributor_details: Not implemented in StatusNet\r
-* place_id: Not implemented in StatusNet\r
-* display_coordinates: Not implemented in StatusNet\r
+* cursor: Not implemented in GNU Social\r
+* trim_user: Not implemented in GNU Social\r
+* contributor_details: Not implemented in GNU Social\r
+* place_id: Not implemented in GNU Social\r
+* display_coordinates: Not implemented in GNU Social\r
 * include_rts: To-Do\r
-* include_my_retweet: Retweets in friendica are implemented in a different way\r
+* include_my_retweet: Retweets in Friendica are implemented in a different way\r
 \r
 #### Different behaviour\r
 * screen_name: The nick name in friendica is only unique in each network but not for all networks. The users are searched in the following priority: Friendica, StatusNet/GNU Social, Diaspora, pump.io, Twitter. If no contact was found by this way, then the first contact is taken.\r
@@ -22,108 +24,153 @@ Please refer to the linked documentation for further information.
 * cid: Contact id of the user (important for "contact_allow" and "contact_deny")\r
 * network: network of the user\r
 \r
+### account/rate_limit_status\r
+\r
 ### account/verify_credentials\r
 #### Parameters\r
 * skip_status: Don't show the "status" field. (Default: false)\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
-### statuses/update, statuses/update_with_media\r
+### conversation/show\r
+Unofficial Twitter command. It shows all direct answers (excluding the original post) to a given id.\r
+\r
 #### Parameters\r
-* title: Title of the status\r
-* status: Status in text format\r
-* htmlstatus: Status in HTML format\r
-* in_reply_to_status_id\r
-* lat: latitude\r
-* long: longitude\r
-* media: image data\r
-* source: Application name\r
-* group_allow\r
-* contact_allow\r
-* group_deny\r
-* contact_deny\r
-* network\r
+* id: id of the post\r
+* count: Items per page (default: 20)\r
+* page: page number\r
+* since_id: minimal id\r
+* max_id: maximum id\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* trim_user\r
-* place_id\r
-* display_coordinates\r
+* include_rts \r
+* trim_user \r
+* contributor_details \r
 \r
-### users/search\r
+### direct_messages\r
 #### Parameters\r
-* q: name of the user \r
+* count: Items per page (default: 20)\r
+* page: page number\r
+* since_id: minimal id\r
+* max_id: maximum id\r
+* getText: Defines the format of the status field. Can be "html" or "plain"\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* page\r
-* count\r
-* include_entities\r
+* skip_status \r
 \r
-### users/show\r
+### direct_messages/all\r
 #### Parameters\r
-* user_id: id of the user \r
-* screen_name: screen name (for technical reasons, this value is not unique!)\r
-* include_entities: "true" shows entities for pictures and links (Default: false)\r
+* count: Items per page (default: 20)\r
+* page: page number\r
+* since_id: minimal id\r
+* max_id: maximum id\r
+* getText: Defines the format of the status field. Can be "html" or "plain"\r
 \r
-### statuses/home_timeline\r
+### direct_messages/conversation\r
+Shows all direct messages of a conversation\r
 #### Parameters\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
-* exclude_replies: don't show replies (default: false)\r
-* conversation_id: Shows all statuses of a given conversation.\r
-* include_entities: "true" shows entities for pictures and links (Default: false)\r
+* getText: Defines the format of the status field. Can be "html" or "plain"\r
+* uri: URI of the conversation\r
 \r
-#### Unsupported parameters\r
-* include_rts \r
-* trim_user \r
-* contributor_details \r
+### direct_messages/new\r
+#### Parameters\r
+* user_id: id of the user \r
+* screen_name: screen name (for technical reasons, this value is not unique!)\r
+* text: The message\r
+* replyto: ID of the replied direct message\r
+* title: Title of the direct message\r
 \r
-### statuses/friends_timeline\r
+### direct_messages/sent\r
 #### Parameters\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
-* exclude_replies: don't show replies (default: false)\r
-* conversation_id: Shows all statuses of a given conversation.\r
+* getText: Defines the format of the status field. Can be "html" or "plain"\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
-#### Unsupported parameters\r
-* include_rts \r
-* trim_user \r
-* contributor_details \r
-\r
-### statuses/public_timeline\r
+### favorites\r
 #### Parameters\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
-* exclude_replies: don't show replies (default: false)\r
-* conversation_id: Shows all statuses of a given conversation.\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* trim_user \r
+* user_id\r
+* screen_name\r
 \r
-### statuses/show\r
+Favorites aren't displayed to other users, so "user_id" and "screen_name". So setting this value will result in an empty array.\r
+\r
+### favorites/create\r
 #### Parameters\r
-* id: message number\r
-* conversation: if set to "1" show all messages of the conversation with the given id\r
+* id\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
+\r
+### favorites/destroy\r
+#### Parameters\r
+* id\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
+### followers/ids\r
+#### Parameters\r
+* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false)\r
+\r
 #### Unsupported parameters\r
-* include_my_retweet \r
-* trim_user \r
+* user_id\r
+* screen_name\r
+* cursor \r
 \r
-### statuses/retweet\r
+Friendica doesn't allow showing followers of other users.\r
+\r
+### friendica/photo\r
 #### Parameters\r
-* id: message number\r
-* include_entities: "true" shows entities for pictures and links (Default: false)\r
+* photo_id: Resource id of a photo.\r
+\r
+Returns data of a picture with the given resource.\r
+\r
+### friendica/photos/list\r
+\r
+Returns a list of all photo resources of the logged in user.\r
+\r
+### friends/ids\r
+#### Parameters\r
+* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false)\r
 \r
 #### Unsupported parameters\r
-* trim_user \r
+* user_id\r
+* screen_name\r
+* cursor \r
+\r
+Friendica doesn't allow showing friends of other users.\r
+\r
+### help/test\r
+\r
+### media/upload\r
+#### Parameters\r
+* media: image data\r
+\r
+### oauth/request_token\r
+#### Parameters\r
+* oauth_callback \r
+\r
+#### Unsupported parameters\r
+* x_auth_access_type \r
+\r
+### oauth/access_token\r
+#### Parameters\r
+* oauth_verifier \r
+\r
+#### Unsupported parameters\r
+* x_auth_password \r
+* x_auth_username \r
+* x_auth_mode \r
 \r
 ### statuses/destroy\r
 #### Parameters\r
@@ -133,12 +180,20 @@ Please refer to the linked documentation for further information.
 #### Unsupported parameters\r
 * trim_user \r
 \r
-### statuses/mentions\r
+### statuses/followers\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
+\r
+### statuses/friends\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
+\r
+### statuses/friends_timeline\r
 #### Parameters\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
+* exclude_replies: don't show replies (default: false)\r
+* conversation_id: Shows all statuses of a given conversation.\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
@@ -146,12 +201,14 @@ Please refer to the linked documentation for further information.
 * trim_user \r
 * contributor_details \r
 \r
-### statuses/replies\r
+### statuses/home_timeline\r
 #### Parameters\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
+* exclude_replies: don't show replies (default: false)\r
+* conversation_id: Shows all statuses of a given conversation.\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
@@ -159,16 +216,12 @@ Please refer to the linked documentation for further information.
 * trim_user \r
 * contributor_details \r
 \r
-### statuses/user_timeline\r
+### statuses/mentions\r
 #### Parameters\r
-* user_id: id of the user \r
-* screen_name: screen name (for technical reasons, this value is not unique!)\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
-* exclude_replies: don't show replies (default: false)\r
-* conversation_id: Shows all statuses of a given conversation.\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
@@ -176,23 +229,20 @@ Please refer to the linked documentation for further information.
 * trim_user \r
 * contributor_details \r
 \r
-### conversation/show\r
-Unofficial Twitter command. It shows all direct answers (excluding the original post) to a given id.\r
-\r
+### statuses/public_timeline\r
 #### Parameters\r
-* id: id of the post\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
+* exclude_replies: don't show replies (default: false)\r
+* conversation_id: Shows all statuses of a given conversation.\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* include_rts \r
 * trim_user \r
-* contributor_details \r
 \r
-### favorites\r
+### statuses/replies\r
 #### Parameters\r
 * count: Items per page (default: 20)\r
 * page: page number\r
@@ -201,150 +251,186 @@ Unofficial Twitter command. It shows all direct answers (excluding the original
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* user_id\r
-* screen_name\r
-\r
-Favorites aren't displayed to other users, so "user_id" and "screen_name". So setting this value will result in an empty array.\r
-\r
-### account/rate_limit_status\r
-\r
-### help/test\r
-\r
-### statuses/friends\r
-* include_entities: "true" shows entities for pictures and links (Default: false)\r
-\r
-#### Unsupported parameters\r
-* user_id\r
-* screen_name\r
-* cursor \r
-\r
-Friendica doesn't allow showing friends of other users.\r
+* include_rts \r
+* trim_user \r
+* contributor_details \r
 \r
-### statuses/followers\r
+### statuses/retweet\r
+#### Parameters\r
+* id: message number\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* user_id\r
-* screen_name\r
-* cursor \r
-\r
-Friendica doesn't allow showing followers of other users.\r
-\r
-### statusnet/config\r
-\r
-### statusnet/version\r
+* trim_user \r
 \r
-### friends/ids\r
+### statuses/show\r
 #### Parameters\r
-* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false)\r
+* id: message number\r
+* conversation: if set to "1" show all messages of the conversation with the given id\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* user_id\r
-* screen_name\r
-* cursor \r
-\r
-Friendica doesn't allow showing friends of other users.\r
+* include_my_retweet \r
+* trim_user \r
 \r
-### followers/ids\r
+### statuses/update, statuses/update_with_media\r
 #### Parameters\r
-* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false)\r
+* title: Title of the status\r
+* status: Status in text format\r
+* htmlstatus: Status in HTML format\r
+* in_reply_to_status_id\r
+* lat: latitude\r
+* long: longitude\r
+* media: image data\r
+* source: Application name\r
+* group_allow\r
+* contact_allow\r
+* group_deny\r
+* contact_deny\r
+* network\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
+* media_ids: (By now only a single value, no array) \r
 \r
 #### Unsupported parameters\r
-* user_id\r
-* screen_name\r
-* cursor \r
-\r
-Friendica doesn't allow showing followers of other users.\r
+* trim_user\r
+* place_id\r
+* display_coordinates\r
 \r
-### direct_messages/new\r
+### statuses/user_timeline\r
 #### Parameters\r
 * user_id: id of the user \r
 * screen_name: screen name (for technical reasons, this value is not unique!)\r
-* text: The message\r
-* replyto: ID of the replied direct message\r
-* title: Title of the direct message\r
-\r
-### direct_messages/conversation\r
-Shows all direct messages of a conversation\r
-#### Parameters\r
 * count: Items per page (default: 20)\r
 * page: page number\r
 * since_id: minimal id\r
 * max_id: maximum id\r
-* getText: Defines the format of the status field. Can be "html" or "plain"\r
-* uri: URI of the conversation\r
+* exclude_replies: don't show replies (default: false)\r
+* conversation_id: Shows all statuses of a given conversation.\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
-### direct_messages/all\r
-#### Parameters\r
-* count: Items per page (default: 20)\r
-* page: page number\r
-* since_id: minimal id\r
-* max_id: maximum id\r
-* getText: Defines the format of the status field. Can be "html" or "plain"\r
+#### Unsupported parameters\r
+* include_rts \r
+* trim_user \r
+* contributor_details \r
 \r
-### direct_messages/sent\r
-#### Parameters\r
-* count: Items per page (default: 20)\r
-* page: page number\r
-* since_id: minimal id\r
-* max_id: maximum id\r
-* getText: Defines the format of the status field. Can be "html" or "plain"\r
-* include_entities: "true" shows entities for pictures and links (Default: false)\r
+### statusnet/config\r
 \r
-### direct_messages\r
-#### Parameters\r
-* count: Items per page (default: 20)\r
-* page: page number\r
-* since_id: minimal id\r
-* max_id: maximum id\r
-* getText: Defines the format of the status field. Can be "html" or "plain"\r
-* include_entities: "true" shows entities for pictures and links (Default: false)\r
+### statusnet/version\r
 \r
 #### Unsupported parameters\r
-* skip_status \r
+* user_id\r
+* screen_name\r
+* cursor \r
 \r
-### oauth/request_token\r
+Friendica doesn't allow showing followers of other users.\r
+\r
+### users/search\r
 #### Parameters\r
-* oauth_callback \r
+* q: name of the user \r
 \r
 #### Unsupported parameters\r
-* x_auth_access_type \r
+* page\r
+* count\r
+* include_entities\r
 \r
-### oauth/access_token\r
+### users/show\r
 #### Parameters\r
-* oauth_verifier \r
+* user_id: id of the user \r
+* screen_name: screen name (for technical reasons, this value is not unique!)\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
 #### Unsupported parameters\r
-* x_auth_password \r
-* x_auth_username \r
-* x_auth_mode \r
+* user_id\r
+* screen_name\r
+* cursor \r
+\r
+Friendica doesn't allow showing friends of other users.\r
 \r
 ## Not Implemented API calls\r
-The following list is extracted from the [API source file](https://github.com/friendica/friendica/blob/master/include/api.php) (at the very bottom):\r
-* favorites/create\r
-* favorites/destroy\r
+The following API calls are implemented in GNU Social but not in Friendica: (incomplete)\r
+\r
 * statuses/retweets_of_me\r
 * friendships/create\r
 * friendships/destroy\r
 * friendships/exists\r
 * friendships/show\r
-* account/update_location\r
 * account/update_profile_background_image\r
 * account/update_profile_image\r
 * blocks/create\r
 * blocks/destroy\r
 \r
-The following are things from the Twitter API also not implemented in StatusNet:\r
-* statuses/retweeted_to_me\r
-* statuses/retweeted_by_me\r
+The following API calls from the Twitter API aren't implemented neither in Friendica nor in GNU Social:\r
+\r
+* statuses/mentions_timeline\r
+* statuses/retweets/:id\r
+* statuses/oembed\r
+* statuses/retweeters/ids\r
+* statuses/lookup\r
+* direct_messages/show\r
+* search/tweets\r
 * direct_messages/destroy\r
-* account/end_session\r
+* friendships/no_retweets/ids\r
+* friendships/incoming\r
+* friendships/outgoing\r
+* friendships/update\r
+* friends/list\r
+* friendships/lookup\r
+* account/settings\r
 * account/update_delivery_device\r
-* notifications/follow\r
-* notifications/leave\r
-* blocks/exists\r
-* blocks/blocking\r
-* lists\r
+* account/update_profile\r
+* account/update_profile_background_image\r
+* account/update_profile_image\r
+* blocks/list\r
+* blocks/ids\r
+* users/lookup\r
+* users/show\r
+* users/search\r
+* account/remove_profile_banner\r
+* account/update_profile_banner\r
+* users/profile_banner\r
+* mutes/users/create\r
+* mutes/users/destroy\r
+* mutes/users/ids\r
+* mutes/users/list\r
+* users/suggestions/:slug\r
+* users/suggestions\r
+* users/suggestions/:slug/members\r
+* favorites/list\r
+* lists/list\r
+* lists/statuses\r
+* lists/members/destroy\r
+* lists/memberships\r
+* lists/subscribers\r
+* lists/subscribers/create\r
+* lists/subscribers/show\r
+* lists/subscribers/destroy\r
+* lists/members/create_all\r
+* lists/members/show\r
+* lists/members\r
+* lists/members/create\r
+* lists/destroy\r
+* lists/update\r
+* lists/create\r
+* lists/show\r
+* lists/subscriptions\r
+* lists/members/destroy_all\r
+* lists/ownerships\r
+* saved_searches/list\r
+* saved_searches/show/:id\r
+* saved_searches/create\r
+* saved_searches/destroy/:id\r
+* geo/id/:place_id\r
+* geo/reverse_geocode\r
+* geo/search\r
+* geo/place\r
+* trends/place\r
+* trends/available\r
+* help/configuration\r
+* help/languages\r
+* help/privacy\r
+* help/tos\r
+* trends/closest\r
+* users/report_spam\r
 \r
 ## Usage Examples\r
 ### BASH / cURL\r
@@ -359,4 +445,4 @@ The [RSStoFriedika](https://github.com/pafcu/RSStoFriendika) code can be used as
         url = server + '/api/statuses/update'\r
         urllib2.urlopen(url, urllib.urlencode({'status': message,'group_allow[]':group_allow}, doseq=True))\r
 \r
-There is also a [module for python 3](https://bitbucket.org/tobiasd/python-friendica) for using the API.
\ No newline at end of file
+There is also a [module for python 3](https://bitbucket.org/tobiasd/python-friendica) for using the API.\r