]> git.mxchange.org Git - friendica.git/blobdiff - doc/api.md
Merge pull request #2190 from annando/1512-getload
[friendica.git] / doc / api.md
index fa9df1245eedacf55bec7104ec081fc17ad0438f..147c8b7513c8c980619b1dd13e3c2491979c90c0 100644 (file)
 Implemented API calls\r
 ===\r
-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
+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
-General\r
----\r
+## Implemented API calls\r
 \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
+### General\r
+#### Unsupported parameters\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
+#### 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
 * include_entities: Default is "false". If set to "true" then the plain text is formatted so that links are having descriptions.\r
 \r
-### Return values\r
+#### Return values\r
 * cid: Contact id of the user (important for "contact_allow" and "contact_deny")\r
 * network: network of the user\r
 \r
-account/verify_credentials\r
----\r
+### account/rate_limit_status\r
 \r
-### Parameters\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
----\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
+#### 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
 * 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
-\r
-users/search\r
----\r
-\r
-### Parameters\r
-* q: name of the user \r
-\r
-### Unsupported parameters\r
-* page\r
-* count\r
-* include_entities\r
-\r
-users/show\r
----\r
+#### Unsupported parameters\r
+* include_rts \r
+* trim_user \r
+* contributor_details \r
 \r
-### Parameters\r
-* user_id: id of the user \r
-* screen_name: screen name (for technical reasons, this value is not unique!)\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
 \r
-statuses/home_timeline\r
----\r
+#### Unsupported parameters\r
+* skip_status \r
 \r
-### Parameters\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
-* 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
 \r
-### Unsupported parameters\r
-* include_rts \r
-* trim_user \r
-* contributor_details \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
 \r
-statuses/friends_timeline\r
----\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
-### Parameters\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
----\r
-\r
-### Parameters\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
+#### Unsupported parameters\r
+* user_id\r
+* screen_name\r
 \r
-statuses/show\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
-### Parameters\r
-* id: message number\r
-* conversation: if set to "1" show all messages of the conversation with the given id\r
+### favorites/create\r
+#### Parameters\r
+* id\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
-### Unsupported parameters\r
-* include_my_retweet \r
-* trim_user \r
+### favorites/destroy\r
+#### Parameters\r
+* id\r
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
-statuses/retweet\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
-### Parameters\r
-* id: message number\r
-* include_entities: "true" shows entities for pictures and links (Default: false)\r
+#### Unsupported parameters\r
+* user_id\r
+* screen_name\r
+* cursor \r
 \r
-### Unsupported parameters\r
-* trim_user \r
+Friendica doesn't allow showing followers of other users.\r
+\r
+### friendica/photo\r
+#### Parameters\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
+* user_id\r
+* screen_name\r
+* cursor \r
+\r
+Friendica doesn't allow showing friends of other users.\r
 \r
-statuses/destroy\r
----\r
+### help/test\r
 \r
-### Parameters\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
 * id: message number\r
 * include_entities: "true" shows entities for pictures and links (Default: false)\r
 \r
-### Unsupported parameters\r
+#### Unsupported parameters\r
 * trim_user \r
 \r
-statuses/mentions\r
----\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
-### Parameters\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
+#### Unsupported parameters\r
 * include_rts \r
 * trim_user \r
 * contributor_details \r
 \r
-statuses/replies\r
----\r
-\r
-### Parameters\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
+#### Unsupported parameters\r
 * include_rts \r
 * trim_user \r
 * contributor_details \r
 \r
-statuses/user_timeline\r
----\r
-\r
-### Parameters\r
-* user_id: id of the user \r
-* screen_name: screen name (for technical reasons, this value is not unique!)\r
+### statuses/mentions\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
+#### Unsupported parameters\r
 * include_rts \r
 * trim_user \r
 * contributor_details \r
 \r
-conversation/show\r
----\r
-\r
-Unofficial Twitter command. It shows all direct answers (excluding the original post) to a given id.\r
-\r
-### Parameters\r
-* id: id of the post\r
+### statuses/public_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
-* include_rts \r
+#### Unsupported parameters\r
 * trim_user \r
-* contributor_details \r
-\r
-favorites\r
----\r
 \r
-### Parameters\r
+### statuses/replies\r
+#### Parameters\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
-* 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
-\r
-help/test\r
----\r
+#### Unsupported parameters\r
+* include_rts \r
+* trim_user \r
+* contributor_details \r
 \r
-statuses/friends\r
----\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 friends of other users.\r
-\r
-statuses/followers\r
----\r
+#### Unsupported parameters\r
+* trim_user \r
 \r
+### statuses/show\r
+#### Parameters\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 followers of other users.\r
-\r
-statusnet/config\r
----\r
-\r
-statusnet/version\r
----\r
-\r
-friends/ids\r
----\r
-\r
-### Parameters\r
-* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (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
-\r
-followers/ids\r
----\r
-\r
-Parameters\r
----\r
-\r
-* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false)\r
-\r
-### Unsupported parameters\r
-* user_id\r
-* screen_name\r
-* cursor \r
+#### Unsupported parameters\r
+* include_my_retweet \r
+* trim_user \r
 \r
-Friendica doesn't allow showing followers of other users.\r
+### statuses/update, statuses/update_with_media\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
+* include_entities: "true" shows entities for pictures and links (Default: false)\r
+* media_ids: (By now only a single value, no array) \r
 \r
-direct_messages/new\r
----\r
+#### Unsupported parameters\r
+* trim_user\r
+* place_id\r
+* display_coordinates\r
 \r
-### Parameters\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
----\r
-\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
-\r
-direct_messages/all\r
----\r
-\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
-\r
-direct_messages/sent\r
----\r
-\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
+* 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\r
----\r
+#### Unsupported parameters\r
+* include_rts \r
+* trim_user \r
+* contributor_details \r
 \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
-### Unsupported parameters\r
-* skip_status \r
+### statusnet/version\r
 \r
-oauth/request_token\r
----\r
+#### Unsupported parameters\r
+* user_id\r
+* screen_name\r
+* cursor \r
 \r
-### Parameters\r
-* oauth_callback \r
+Friendica doesn't allow showing followers of other users.\r
 \r
-### Unsupported parameters\r
-* x_auth_access_type \r
+### users/search\r
+#### Parameters\r
+* q: name of the user \r
 \r
-oauth/access_token\r
----\r
+#### Unsupported parameters\r
+* page\r
+* count\r
+* include_entities\r
 \r
-### Parameters\r
-* oauth_verifier \r
+### users/show\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
 \r
-### Unsupported parameters\r
-* x_auth_password \r
-* x_auth_username \r
-* x_auth_mode \r
+#### Unsupported parameters\r
+* user_id\r
+* screen_name\r
+* cursor \r
 \r
-Not Implemented API calls\r
-===\r
+Friendica doesn't allow showing friends of other users.\r
+\r
+## Not Implemented API calls\r
+The following API calls are implemented in GNU Social but not in Friendica: (incomplete)\r
 \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
 * 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
-\r
-Usage Examples\r
-===\r
-\r
-BASH / cURL\r
----\r
-\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
 Betamax has documentated some example API usage from a [bash script](https://en.wikipedia.org/wiki/Bash_(Unix_shell) employing [curl](https://en.wikipedia.org/wiki/CURL) (see [his posting](https://betamax65.de/display/betamax65/43539)).\r
 \r
     /usr/bin/curl -u USER:PASS https://YOUR.FRIENDICA.TLD/api/statuses/update.xml -d source="some source id" -d status="the status you want to post"\r
 \r
-Python\r
----\r
-\r
-The [RSStoFriedika](https://github.com/pafcu/RSStoFriendika) code can be used as an example of how to use the API with python.\r
-The lines for posting are located at [line 21](https://github.com/pafcu/RSStoFriendika/blob/master/RSStoFriendika.py#L21) and following.\r
+### Python\r
+The [RSStoFriedika](https://github.com/pafcu/RSStoFriendika) code can be used as an example of how to use the API with python. The lines for posting are located at [line 21](https://github.com/pafcu/RSStoFriendika/blob/master/RSStoFriendika.py#L21) and following.\r
 \r
     def tweet(server, message, group_allow=None):\r
         url = server + '/api/statuses/update'\r