X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=doc%2Fapi.md;h=08fca74fa443e1bff940f2b745dc19a109e9ad9c;hb=379f35d2d9ac3537bf99fd3da45c16dc7d13db14;hp=222ac89e6444a73d2228e07a64ef7a969e80bea5;hpb=86c4ac80c5dc0356f1e51ca40cdb558064467ac1;p=friendica.git diff --git a/doc/api.md b/doc/api.md index 222ac89e64..08fca74fa4 100644 --- a/doc/api.md +++ b/doc/api.md @@ -1,5 +1,6 @@ -Friendica API -=== +# Friendica API + + * [Home](help) @@ -10,6 +11,7 @@ Please refer to the linked documentation for further information. ## Implemented API calls ### General + #### HTTP Method API endpoints can restrict the method used to request them. @@ -26,6 +28,7 @@ OAuth settings can be added by the user in web UI under /settings/oauth/ In this document, endpoints which requires auth are marked with "AUTH" after endpoint name #### Unsupported parameters + * cursor: Not implemented in GNU Social * trim_user: Not implemented in GNU Social * contributor_details: Not implemented in GNU Social @@ -35,26 +38,31 @@ In this document, endpoints which requires auth are marked with "AUTH" after end * include_my_retweet: Retweets in Friendica are implemented in a different way #### Different behaviour + * 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. * include_entities: Default is "false". If set to "true" then the plain text is formatted so that links are having descriptions. #### Return values + * cid: Contact id of the user (important for "contact_allow" and "contact_deny") * network: network of the user #### Errors + When an error occurs in API call, an HTTP error code is returned, with an error message Usually: -- 400 Bad Request: if parameters are missing or items can't be found -- 403 Forbidden: if the authenticated user is missing -- 405 Method Not Allowed: if API was called with an invalid method, eg. GET when API require POST -- 501 Not Implemented: if the requested API doesn't exist -- 500 Internal Server Error: on other error conditions + +* 400 Bad Request: if parameters are missing or items can't be found +* 403 Forbidden: if the authenticated user is missing +* 405 Method Not Allowed: if API was called with an invalid method, eg. GET when API require POST +* 501 Not Implemented: if the requested API doesn't exist +* 500 Internal Server Error: on other error conditions Error body is json: -``` + +```json { "error": "Specific error message", "request": "API path requested", @@ -63,7 +71,8 @@ json: ``` xml: -``` + +```xml Specific error message API path requested @@ -72,20 +81,26 @@ xml: ``` --- + ### account/rate_limit_status (*; AUTH) --- + ### account/verify_credentials (*; AUTH) + #### Parameters * skip_status: Don't show the "status" field. (Default: false) * include_entities: "true" shows entities for pictures and links (Default: false) --- + ### conversation/show (*; AUTH) + Unofficial Twitter command. It shows all direct answers (excluding the original post) to a given id. #### Parameter + * id: id of the post * count: Items per page (default: 20) * page: page number @@ -94,13 +109,17 @@ Unofficial Twitter command. It shows all direct answers (excluding the original * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * include_rts * trim_user * contributor_details --- + ### direct_messages (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -110,11 +129,15 @@ Unofficial Twitter command. It shows all direct answers (excluding the original * friendica_verbose: "true" enables different error returns (default: "false") #### Unsupported parameters + * skip_status --- + ### direct_messages/all (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -123,9 +146,13 @@ Unofficial Twitter command. It shows all direct answers (excluding the original * friendica_verbose: "true" enables different error returns (default: "false") --- + ### direct_messages/conversation (*; AUTH) + Shows all direct messages of a conversation + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -135,8 +162,11 @@ Shows all direct messages of a conversation * friendica_verbose: "true" enables different error returns (default: "false") --- + ### direct_messages/sent (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -146,8 +176,11 @@ Shows all direct messages of a conversation * friendica_verbose: "true" enables different error returns (default: "false") --- + ### direct_messages/new (POST,PUT; AUTH) + #### Parameters + * user_id: id of the user * screen_name: screen name (for technical reasons, this value is not unique!) * text: The message @@ -155,8 +188,11 @@ Shows all direct messages of a conversation * title: Title of the direct message --- + ### direct_messages/destroy (POST,DELETE; AUTH) + #### Parameters + * id: id of the message to be deleted * include_entities: optional, currently not yet implemented * friendica_parenturi: optional, can be used for increased safety to delete only intended messages @@ -165,21 +201,29 @@ Shows all direct messages of a conversation #### Return values On success: + * JSON return as defined for Twitter API not yet implemented * on friendica_verbose=true: JSON return {"result":"ok","message":"message deleted"} On error: HTTP 400 BadRequest + * on friendica_verbose=true: different JSON returns {"result":"error","message":"xyz"} --- + ### externalprofile/show (*) + #### Parameters + * profileurl: profile url --- + ### favorites (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -187,6 +231,7 @@ HTTP 400 BadRequest * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * user_id * screen_name @@ -194,23 +239,33 @@ Favorites aren't displayed to other users, so "user_id" and "screen_name" are un Set this values will result in an empty array. --- + ### favorites/create (POST,PUT; AUTH) + #### Parameters + * id * include_entities: "true" shows entities for pictures and links (Default: false) --- + ### favorites/destroy (POST,DELETE; AUTH) + #### Parameters + * id * include_entities: "true" shows entities for pictures and links (Default: false) --- + ### followers/ids (*; AUTH) + #### Parameters + * stringify_ids: Send id numbers as text (true) or integers (false)? (default: false) #### Unsupported parameters + * user_id * screen_name * cursor @@ -218,11 +273,15 @@ Set this values will result in an empty array. Friendica doesn't allow showing the followers of other users. --- + ### friends/ids (*; AUTH) + #### Parameters + * stringify_ids: Send the id numbers as text (true) or integers (false)? (default: false) #### Unsupported parameters + * user_id * screen_name * cursor @@ -230,41 +289,137 @@ Friendica doesn't allow showing the followers of other users. Friendica doesn't allow showing the friends of other users. --- + ### help/test (*) --- + +### lists/ownerships (*; AUTH) + +#### Parameters + +* list_id: ID of the list +* count: Items per page +* page: Page number +* since_id: Minimum ID +* max_id: Maximum ID + +#### Unsupported parameters + +* slug +* owner_screen_name +* owner_id +* include_entities +* include_rts + +--- + +### lists/destroy (POST; AUTH) + +#### Parameters + +* list_id: ID of the list + +#### Unsupported parameters + +* owner_screen_name +* owner_id +* slug + +--- + +### lists/create (POST; AUTH) + +#### Parameters + +* name: name of the list + +#### Unsupported parameters + +* mode +* description + +--- + +### lists/update (POST; AUTH) + +#### Parameters + +* list_id: ID of the list +* name: name of the list + +#### Unsupported parameters + +* slug +* name +* mode +* description +* owner_screen_name +* owner_id + +--- + +### lists/statuses (*; AUTH) + +#### Parameters + +* user_id: ID of the user for whom to return results. + +#### Unsupported parameters + +* screen_name +* count +* cursor + +--- + ### media/upload (POST,PUT; AUTH) + #### Parameters + * media: image data --- + ### oauth/request_token (*) + #### Parameters + * oauth_callback #### Unsupported parameters + * x_auth_access_type --- + ### oauth/access_token (*) + #### Parameters + * oauth_verifier #### Unsupported parameters + * x_auth_password * x_auth_username * x_auth_mode --- + ### statuses/destroy (POST,DELETE; AUTH) + #### Parameters + * id: message number * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * trim_user --- + ### statuses/followers (*; AUTH) #### Parameters @@ -272,15 +427,35 @@ Friendica doesn't allow showing the friends of other users. * include_entities: "true" shows entities for pictures and links (Default: false) --- + ### statuses/friends (*; AUTH) #### Parameters * include_entities: "true" shows entities for pictures and links (Default: false) +* count: how many items should be shown (Default: 20) --- + +### blocks/list (*; AUTH) + +#### Parameters + +* include_entities: "true" shows entities for pictures and links (Default: false) +* count: Items per page (default: 20). +* page: page number + +#### Unsupported parameters + +* cursor +* skip_status + +--- + ### statuses/friends_timeline (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -290,13 +465,17 @@ Friendica doesn't allow showing the friends of other users. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * include_rts * trim_user * contributor_details --- + ### statuses/home_timeline (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -306,13 +485,17 @@ Friendica doesn't allow showing the friends of other users. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * include_rts * trim_user * contributor_details --- + ### statuses/mentions (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -320,13 +503,17 @@ Friendica doesn't allow showing the friends of other users. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * include_rts * trim_user * contributor_details --- + ### statuses/public_timeline (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -336,11 +523,27 @@ Friendica doesn't allow showing the friends of other users. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * trim_user --- + +### statuses/networkpublic_timeline (*; AUTH) + +#### Parameters + +* count: Items per page (default: 20) +* page: page number +* since_id: minimum id +* max_id: maximum id +* include_entities: "true" shows entities for pictures and links (Default: false) + +--- + ### statuses/replies (*; AUTH) + #### Parameters + * count: Items per page (default: 20) * page: page number * since_id: minimum id @@ -348,33 +551,45 @@ Friendica doesn't allow showing the friends of other users. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * include_rts * trim_user * contributor_details --- + ### statuses/retweet (POST,PUT; AUTH) + #### Parameters + * id: message number * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * trim_user --- + ### statuses/show (*; AUTH) + #### Parameters + * id: message number * conversation: if set to "1" show all messages of the conversation with the given id * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * include_my_retweet * trim_user --- + ### statuses/update, statuses/update_with_media + #### Parameters + * title: Title of the status * status: Status in text format * htmlstatus: Status in HTML format @@ -392,13 +607,17 @@ Friendica doesn't allow showing the friends of other users. * media_ids: (By now only a single value, no array) #### Unsupported parameters + * trim_user * place_id * display_coordinates --- + ### statuses/user_timeline (*; AUTH) + #### Parameters + * user_id: id of the user * screen_name: screen name (for technical reasons, this value is not unique!) * count: Items per page (default: 20) @@ -416,13 +635,17 @@ Friendica doesn't allow showing the friends of other users. * contributor_details --- + ### statusnet/config (*) --- + ### statusnet/conversation (*; AUTH) + It shows all direct answers (excluding the original post) to a given id. #### Parameter + * id: id of the post * count: Items per page (default: 20) * page: page number @@ -431,9 +654,11 @@ It shows all direct answers (excluding the original post) to a given id. * include_entities: "true" shows entities for pictures and links (Default: false) --- + ### statusnet/version (*) #### Unsupported parameters + * user_id * screen_name * cursor @@ -441,33 +666,90 @@ It shows all direct answers (excluding the original post) to a given id. Friendica doesn't allow showing followers of other users. --- + +### search (*; AUTH) + +#### Parameters + +* q: search query +* page: the page number (starting at 1) to return +* rpp: the number of statuses to return per page +* count: alias for the rpp parameter +* since_id: returns statuses with ids greater than the given id +* max_id: returns statuses with ids lower or equal to the given id + +#### Unsupported parameters + +* geocode +* lang +* locale +* result_type +* until +* include_entities + +--- + +### search/tweets (*; AUTH) + +This is an alias for `search`. + +--- + +### saved_searches/list (*; AUTH) + +This call does not have any parameter. + +--- + ### users/search (*) + #### Parameters + * q: name of the user #### Unsupported parameters + * page * count * include_entities --- + ### users/show (*) + #### Parameters + * user_id: id of the user * screen_name: screen name (for technical reasons, this value is not unique!) * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters + * user_id * screen_name * cursor Friendica doesn't allow showing friends of other users. +--- + +### users/lookup (*; AUTH) + +#### Parameters + +* user_id: list of ids to lookup + +#### Unsupported parameters + +* screen_name +* include_entities --- + ### account/update_profile_image (POST; AUTH) + #### Parameters + * image: image data as base64 (Twitter has a limit of 700kb, Friendica allows more) * profile_id (optional): id of the profile for which the image should be used, default is changing the default profile @@ -476,9 +758,11 @@ uploads a new profile image (scales 4-6) to database, changes default or specifi #### Return values On success: + * JSON return: returns the updated user details (see account/verify_credentials) On error: + * 403 FORBIDDEN: if not authenticated * 400 BADREQUEST: "no media data submitted", "profile_id not available" * 500 INTERNALSERVERERROR: "image size exceeds PHP config settings, file was rejected by server", @@ -486,23 +770,50 @@ On error: "unable to process image data", "image upload failed" +--- -## Implemented API calls (not compatible with other APIs) +### account/update_profile (POST; AUTH) + +#### Parameters + +* name (optional): full name of the user +* description (optional): a description of the user +#### Unsupported parameters + +* url +* location +* profile_link_color +* include_entities +* skip_status --- -### friendica/activity/ + +### friendships/incoming (*; AUTH) + +#### Unsupported parameters + +* cursor +* stringify_ids + +## Implemented API calls (not compatible with other APIs) + +--- + +### friendica/activity/[verb] + #### parameters + * id: item id Add or remove an activity from an item. 'verb' can be one of: -- like -- dislike -- attendyes -- attendno -- attendmaybe +* like +* dislike +* attendyes +* attendno +* attendmaybe To remove an activity, prepend the verb with "un", eg. "unlike" or "undislike" Attend verbs disable eachother: that means that if "attendyes" was added to an item, adding "attendno" remove previous "attendyes". @@ -511,39 +822,48 @@ Attend verbs should be used only with event-related items (there is no check at #### Return values On success: -json +json: + ```"ok"``` -xml +xml: + ```true``` On error: HTTP 400 BadRequest --- + ### friendica/group_show (*; AUTH) + Return all or a specified group of the user with the containing contacts as array. #### Parameters + * gid: optional, if not given, API returns all groups of the user #### Return values + Array of: * name: name of the group * gid: id of the group * user: array of group members (return from api_get_user() function for each member) - --- + ### friendica/group_delete (POST,DELETE; AUTH) + delete the specified group of contacts; API call need to include the correct gid AND name of the group to be deleted. #### Parameters + * gid: id of the group to be deleted * name: name of the group to be deleted #### Return values + Array of: * success: true if successfully deleted @@ -552,15 +872,18 @@ Array of: * status: „deleted“ if successfully deleted * wrong users: empty array - --- + ### friendica/group_create (POST,PUT; AUTH) + Create the group with the posted array of contacts as members. #### Parameters + * name: name of the group to be created #### POST data + JSON data as Array like the result of "users/group_show": * gid @@ -568,6 +891,7 @@ JSON data as Array like the result of "users/group_show": * array of users #### Return values + Array of: * success: true if successfully created or reactivated @@ -576,16 +900,19 @@ Array of: * status: „missing user“ | „reactivated“ | „ok“ * wrong users: array of users, which were not available in the contact table - --- + ### friendica/group_update (POST) + Update the group with the posted array of contacts as members (post all members of the group to the call; function will remove members not posted). #### Parameters + * gid: id of the group to be changed * name: name of the group to be changed #### POST data + JSON data as array like the result of „users/group_show“: * gid @@ -593,6 +920,7 @@ JSON data as array like the result of „users/group_show“: * array of users #### Return values + Array of: * success: true if successfully updated @@ -601,16 +929,18 @@ Array of: * status: „missing user“ | „ok“ * wrong users: array of users, which were not available in the contact table - - --- + ### friendica/notifications (GET) + Return last 50 notification for current user, ordered by date with unseen item on top #### Parameters + none #### Return values + Array of: * id: id of the note @@ -627,25 +957,30 @@ Array of: * link: link to note * seen: seen state: 0 or 1 - --- + ### friendica/notifications/seen (POST) + Set note as seen, returns item object if possible #### Parameters + id: id of the note to set seen #### Return values + If the note is linked to an item, the item is returned, just like one of the "statuses/*_timeline" api. If the note is not linked to an item, a success status is returned: -* "success" (json) | success;" (xml) - +* `success` (json) | `success` (xml) --- + ### friendica/photo (*; AUTH) + #### Parameters + * photo_id: Resource id of a photo. * scale: (optional) scale value of the photo @@ -667,8 +1002,9 @@ An image used as profile image has only scale 4-6, other images only 0-3 #### Return values -json -``` +json: + +```json { "id": "photo id" "created": "date(YYYY-MM-DD HH:MM:SS)", @@ -691,8 +1027,9 @@ json } ``` -xml -``` +xml: + +```xml photo id date(YYYY-MM-DD HH:MM:SS) @@ -713,14 +1050,16 @@ xml ``` --- + ### friendica/photos/list (*; AUTH) Returns a list of all photo resources of the logged in user. #### Return values -json -``` +json: + +```json [ { id: "resource_id", @@ -733,8 +1072,9 @@ json ] ``` -xml -``` +xml: + +```xml ensure that client is asking user for being sure to do this @@ -756,17 +1099,21 @@ deletes all images with the specified album name, is not reversible -> ensure th #### Return values On success: + * JSON return {"result":"deleted","message":"album 'xyz' with all containing photos has been deleted."} On error: + * 403 FORBIDDEN: if not authenticated * 400 BADREQUEST: "no albumname specified", "album not available" * 500 INTERNALSERVERERROR: "problem with deleting item occured", "unknown error - deleting from database failed" - --- + ### friendica/photoalbum/update (POST,PUT; AUTH) + #### Parameters + * album: name of the album to be updated * album_new: new name of the album @@ -775,18 +1122,23 @@ changes the album name to album_new for all photos in album #### Return values On success: + * JSON return {"result":"updated","message":"album 'abc' with all containing photos has been renamed to 'xyz'."} On error: + * 403 FORBIDDEN: if not authenticated * 400 BADREQUEST: "no albumname specified", "no new albumname specified", "album not available" * 500 INTERNALSERVERERROR: "unknown error - updating in database failed" - --- + ### friendica/photo/create (POST; AUTH) + ### friendica/photo/update (POST; AUTH) + #### Parameters + * photo_id (optional): if specified the photo with this id will be updated * media (optional): image data as base64, only optional if photo_id is specified (new upload must have media) * desc (optional): description for the photo, updated when photo_id is specified @@ -804,12 +1156,14 @@ Currently it is best to inform user that updating rights is not the right way to #### Return values On success: + * new photo uploaded: JSON return with photo data (see friendica/photo) * photo updated - changed photo data: JSON return with photo data (see friendica/photo) * photo updated - changed info: JSON return {"result":"updated","message":"Image id 'xyz' has been updated."} * photo updated - nothing changed: JSON return {"result":"cancelled","message":"Nothing to update for image id 'xyz'."} On error: + * 403 FORBIDDEN: if not authenticated * 400 BADREQUEST: "no albumname specified", "no media data submitted", "photo not available", "acl data invalid" * 500 INTERNALSERVERERROR: "image size exceeds PHP config settings, file was rejected by server", @@ -820,10 +1174,12 @@ On error: "unknown error - update photo entry in database failed", "unknown error - this error on uploading or updating a photo should never happen" - --- + ### friendica/photo/delete (DELETE; AUTH) + #### Parameters + * photo_id: id of the photo to be deleted deletes a single image with the specified id, is not reversible -> ensure that client is asking user for being sure to do this @@ -832,50 +1188,66 @@ Sets item table entries for this photo to deleted = 1 #### Return values On success: + * JSON return {"result":"deleted","message":"photo with id 'xyz' has been deleted from server."} On error: + * 403 FORBIDDEN: if not authenticated * 400 BADREQUEST: "no photo_id specified", "photo not available" * 500 INTERNALSERVERERROR: "unknown error on deleting photo", "problem with deleting items occurred" - --- + ### friendica/direct_messages_setseen (GET; AUTH) + #### Parameters + * id: id of the message to be updated as seen #### Return values On success: + * JSON return {"result":"ok","message":"message set to seen"} On error: + * different JSON returns {"result":"error","message":"xyz"} --- + ### friendica/direct_messages_search (GET; AUTH) + #### Parameters + * searchstring: string for which the API call should search as '%searchstring%' in field 'body' of all messages of the authenticated user (caption ignored) #### Return values + Returns only tested with JSON, XML might work as well. On success: + * JSON return {"success":"true","search_results": array of found messages} * JSOn return {"success":"false","search_results":"nothing found"} On error: + * different JSON returns {"result":"error","message":"searchstring not specified"} --- + ### friendica/profile/show (GET; AUTH) + show data of all profiles or a single profile of the authenticated user #### Parameters + * profile_id: id of the profile to be returned (optional, if omitted all profiles are returned by default) #### Return values + On success: Array of: * multi_profiles: true if user has activated multi_profiles @@ -888,6 +1260,7 @@ HTTP 403 Forbidden: when no authentication was provided HTTP 400 Bad Request: if given profile_id is not in the database or is not assigned to the authenticated user General description of profile data in API returns: + * profile_id * profile_name * is_default: true if this is the public profile @@ -899,9 +1272,10 @@ General description of profile data in API returns: * description ... homepage: different data fields from 'profile' table in database * users: array with the users allowed to view this profile (empty if is_default=true) - --- + ## Not Implemented API calls + The following API calls are implemented in GNU Social but not in Friendica: (incomplete) * statuses/retweets_of_me @@ -921,20 +1295,14 @@ The following API calls from the Twitter API are not implemented in either Frien * statuses/retweeters/ids * statuses/lookup * direct_messages/show -* search/tweets * friendships/no_retweets/ids -* friendships/incoming * friendships/outgoing * friendships/update * friends/list * friendships/lookup * account/settings * account/update_delivery_device -* account/update_profile -* account/update_profile_background_image -* blocks/list * blocks/ids -* users/lookup * users/show * users/search * account/remove_profile_banner @@ -949,7 +1317,6 @@ The following API calls from the Twitter API are not implemented in either Frien * users/suggestions/:slug/members * favorites/list * lists/list -* lists/statuses * lists/members/destroy * lists/memberships * lists/subscribers @@ -960,14 +1327,9 @@ The following API calls from the Twitter API are not implemented in either Frien * lists/members/show * lists/members * lists/members/create -* lists/destroy -* lists/update -* lists/create * lists/show * lists/subscriptions * lists/members/destroy_all -* lists/ownerships -* saved_searches/list * saved_searches/show/:id * saved_searches/create * saved_searches/destroy/:id @@ -989,12 +1351,17 @@ The following API calls from the Twitter API are not implemented in either Frien --- ## Usage Examples + ### BASH / cURL +```bash /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" +``` ### Python -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. + +The [RSStoFriendika](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. def tweet(server, message, group_allow=None): url = server + '/api/statuses/update'