Skip to content

Instantly share code, notes, and snippets.

@atymic
Created February 4, 2020 23:37
Show Gist options
  • Save atymic/a481a5b28d501b6b0abc398821efe312 to your computer and use it in GitHub Desktop.
Save atymic/a481a5b28d501b6b0abc398821efe312 to your computer and use it in GitHub Desktop.
Twitter Openapi / Swagger Spec
{
"swagger": "2.0",
"schemes": [
"https"
],
"host": "api.twitter.com",
"basePath": "/1.1",
"info": {
"contact": {
"email": "support@twitter.com",
"name": "Twitter support",
"url": "https://dev.twitter.com",
"x-twitter": "twitter"
},
"title": "Twitter",
"version": "1.1",
"x-preferred": true,
"x-providerName": "twitter.com",
"x-serviceName": "legacy",
"x-unofficialSpec": true
},
"paths": {
"/account/settings.json": {
"get": {
"description": "Returns settings (including\ncurrent trend, geo and sleep time information) for the authenticating user.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/account/settings"
},
"operationId": "account.settings.get",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The Yahoo! Where On Earth ID to use as the user's default trend location. Global information is\navailable by using 1 as the WOEID. The woeid must be one of the locations returned by GET\ntrends/available.\n\nExample Values: 1",
"in": "query",
"name": "trend_location_woeid",
"required": false,
"type": "string"
},
{
"description": "When set to true, t or 1, will enable sleep time for the user. Sleep time is the time when push or\nSMS notifications should not be sent to the user.\n\nExample Values: true",
"in": "query",
"name": "sleep_time_enabled",
"required": false,
"type": "string"
},
{
"description": "The hour that sleep time should begin if it is enabled. The value for this parameter should be\nprovided in ISO8601 format (i.e. 00-23). The time is considered to be in the same timezone as the\nuser's time_zone setting.\n\nExample Values: 13",
"in": "query",
"name": "start_sleep_time",
"required": false,
"type": "string"
},
{
"description": "The hour that sleep time should end if it is enabled. The value for this parameter should be\nprovided in ISO8601 format (i.e. 00-23). The time is considered to be in the same timezone as the\nuser's time_zone setting.\n\nExample Values: 13",
"in": "query",
"name": "end_sleep_time",
"required": false,
"type": "string"
},
{
"description": "The timezone dates and times should be displayed in for the user. The timezone must be one of the\nRails TimeZone names.\n\nExample Values: Europe/Copenhagen, Pacific/Tongatapu",
"in": "query",
"name": "time_zone",
"required": false,
"type": "string"
},
{
"description": "The language which Twitter should render in for this user. The language must be specified by the\nappropriate two letter ISO 639-1 representation. Currently supported languages are provided by GET\nhelp/languages.\n\nExample Values: it, en, es",
"in": "query",
"name": "lang",
"required": false,
"type": "string"
}
],
"post": {
"description": "Updates the\nauthenticating user's settings.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/account/settings"
},
"operationId": "account.settings.post",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/account/update_delivery_device.json": {
"parameters": [
{
"description": "Must be one of: sms, none.\n\nExample Values: sms",
"in": "query",
"name": "device",
"required": true,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet will include a node called \"entities,\". This node\noffers a variety of metadata about the tweet in a discreet structure, including: user_mentions,\nurls, and hashtags. While entities are opt-in on timelines at present, they will be made a default\ncomponent of output in the future. See Tweet Entities for more detail on entities.\n\nExample Values: true",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
],
"post": {
"description": "Sets which\ndevice Twitter delivers updates to for the authenticating user. Sending none as the device parameter\nwill disable SMS updates.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/account/update_delivery_device"
},
"operationId": "account.update_delivery_device",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/account/update_profile.json": {
"parameters": [
{
"description": "Full name associated with the profile. Maximum of 20 characters.\n\nExample Values: Marcel Molina",
"in": "query",
"name": "name",
"required": false,
"type": "string"
},
{
"description": "URL associated with the profile. Will be prepended with \"http://\" if not present. Maximum of 100\ncharacters.\n\nExample Values: http://project.ioni.st",
"in": "query",
"name": "url",
"required": false,
"type": "string"
},
{
"description": "The city or country describing where the user of the account is located. The contents are not\nnormalized or geocoded in any way. Maximum of 30 characters.\n\nExample Values: San Francisco, CA",
"in": "query",
"name": "location",
"required": false,
"type": "string"
},
{
"description": "A description of the user owning the account. Maximum of 160 characters.\n\nExample Values: Flipped my wig at age 22 and it never grew back. Also: I work at Twitter.",
"in": "query",
"name": "description",
"required": false,
"type": "string"
},
{
"description": "The entities node will not be included when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
],
"post": {
"description": "Sets values that\nusers are able to set under the Account tab of their settings page. Only the parameters specified\nwill be updated.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/account/update_profile"
},
"operationId": "account.update_profile",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/account/update_profile_background_image.json": {
"parameters": [
{
"default": "multipart/form-data",
"description": "Content type header",
"in": "header",
"name": "Content-Type",
"required": true,
"type": "string"
},
{
"description": "Whether or not to tile the background image. If set to true, t or 1 the background image will\nbe displayed tiled. The image will not be tiled otherwise.",
"in": "query",
"name": "tile",
"required": false,
"type": "string"
},
{
"description": "Determines whether to display the profile background image or not. When set to true, t or 1 the\nbackground image will be displayed if an image is being uploaded with the request, or has been\nuploaded previously. An error will be returned if you try to use a background image when one is\nnot being uploaded or does not exist. If this parameter is defined but set to anything other\nthan true, t or 1, the background image will stop being used.",
"in": "query",
"name": "use",
"required": false,
"type": "string"
},
{
"description": "The entities node will not be included when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
],
"post": {
"description": "Updates the authenticating user's profile background image. This method can also be used to enable\nor disable the profile background image. Although each parameter is marked as optional, at least one\nof image, tile or use must be provided when making this request.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/account/update_profile_background_image"
},
"operationId": "accounts.update_profile_background_image",
"parameters": [],
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/account/update_profile_colors.json": {
"parameters": [
{
"description": "Profile background color. Example Values: 3D3D3D",
"in": "query",
"name": "profile_background_color",
"required": false,
"type": "string"
},
{
"description": "Profile link color.Example Values: 0000FF",
"in": "query",
"name": "profile_link_color",
"required": false,
"type": "string"
},
{
"description": "Profile sidebar's border color. Example Values: 0F0F0F",
"in": "query",
"name": "profile_sidebar_border_color",
"required": false,
"type": "string"
},
{
"description": "Profile sidebar's background color. Example Values: 00FF00",
"in": "query",
"name": "profile_sidebar_fill_color",
"required": false,
"type": "string"
},
{
"description": "Profile text color. Example Values: 000000",
"in": "query",
"name": "profile_text_color",
"required": false,
"type": "string"
},
{
"description": "The entities node will not be included when set to false. Example Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
],
"post": {
"description": "Sets one or\nmore hex values that control the color scheme of the authenticating user's profile page on\ntwitter.com.\nEach parameter's value must be a valid hexidecimal value, and may be either three or six characters\n(ex: #fff or #ffffff).",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/account/update_profile_colors"
},
"operationId": "accounts.update_profile_colors",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/account/update_profile_image.json": {
"parameters": [
{
"default": "multipart/form-data",
"description": "Content type header",
"in": "header",
"name": "Content-Type",
"required": true,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
],
"post": {
"description": "Updates the\nauthenticating user's profile image. Note that this method expects raw multipart data, not a URL to\nan image. This method asynchronously processes the uploaded file before updating the user's profile\nimage URL. You can either update your local cache the next time you request the user's information,\nor, at least 5 seconds after uploading the image, ask for the updated URL using GET\nusers/profile_image/:screen_name\n(https://dev.twitter.com/docs/api/1/get/users/profile_image/:screen_name).",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/account/update_profile_image"
},
"operationId": "accounts.update_profile_image",
"parameters": [],
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/application/rate_limit_status.json": {
"get": {
"description": "Returns the\ncurrent rate limits for\nmethods belonging to the specified resource families.\n\nEach 1.1 API resource belongs to a \"resource family\" which is indicated in its method documentation.\nYou can typically determine a method's resource family from the first component of the path after\nthe resource version.\n\nThis method responds with a map of methods belonging to the families specified by the resources\nparameter, the current remaining uses for each of those resources within the current rate limiting\nwindow, and its expiration time in epoch time. It also includes a rate_limit_context field that\nindicates the current access token context.\n\nYou may also issue requests to this method without any parameters to receive a map of all rate\nlimited GET methods. If your application only uses a few of methods, please explicitly provide a\nresources parameter with the specified resource families you work with.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/application/rate_limit_status"
},
"operationId": "application.rate_limit_status",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "A comma-separated list of resource families you want to know the current rate limit disposition\nfor. For best performance, only specify the resource families pertinent to your application.Example\nValues: statuses,friends,trends,help",
"in": "query",
"name": "resources",
"required": false,
"type": "string"
}
]
},
"/blocks/create.json": {
"parameters": [
{
"description": "The entities node will not be included when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
],
"post": {
"description": "Blocks the specified user from\nfollowing the authenticating user. In addition the blocked user will not show in the authenticating\nusers mentions or timeline (unless retweeted by another user). If a follow or friend relationship\nexists it is destroyed.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/blocks/create"
},
"operationId": "blocks.create",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/blocks/destroy.json": {
"parameters": [
{
"description": "The entities node will not be included when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
],
"post": {
"description": "Un-blocks the user specified\nin the ID parameter for the authenticating user. Returns the un-blocked user in the requested format\nwhen successful. If relationships existed before the block was instated, they will not be restored.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/blocks/destroy"
},
"operationId": "blocks.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/blocks/ids.json": {
"get": {
"description": "Returns an array of numeric user\nids the authenticating user is blocking.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/blocks/ids"
},
"operationId": "blocks.ids",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Many programming environments will not consume our ids due to their size. Provide this option to\nhave ids returned as strings instead. Read more about Twitter IDs, JSON and Snowflake.\n\nExample Values: true",
"in": "query",
"name": "stringify_ids",
"required": false,
"type": "string"
},
{
"description": "Causes the list of blocked users to be broken into pages of no more than 5000 IDs at a time. The\nnumber of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after\nconnections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first\n\"page.\"\n\nThe response from the API will include a previous_cursor and next_cursor to allow paging back and\nforth. See Using cursors to navigate collections for more information.\n\nExample Values: 12893764510938",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/blocks/list.json": {
"get": {
"description": "Allows one to enable or\ndisable retweets and device notifications from the specified user.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/blocks/list"
},
"operationId": "blocks.list",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The entities node will not be included when set to false. Example Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
},
{
"description": "Causes the list of blocked users to be broken into pages of no more than 5000 IDs at a time. The\nnumber of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after\nconnections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first\n\"page.\"\n\nThe response from the API will include a previous_cursor and next_cursor to allow paging back and\nforth. See Using cursors to navigate collections for more information.\n\nExample Values: 12893764510938",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/direct_messages.json": {
"get": {
"description": "Returns the 20 most recent\ndirect messages sent to the authenticating user. Includes detailed information about the sender and\nrecipient user. You can request up to 200 direct messages per call, up to a maximum of 800 incoming\nDMs.\n\nImportant: This method requires an access token with RWD (read, write and direct message)\npermissions.\nConsult The Application Permission Model for more information.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/direct_messages"
},
"operationId": "direct_messages",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Specifies the number of direct messages to try and retrieve, up to a maximum of 200. The value of\ncount is best thought of as a limit to the number of Tweets to return because suspended or deleted\ncontent is removed after the count has been applied.\n\nExample Values: 5",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available.\nExample Values: 12345",
"in": "query",
"name": "since_id",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID.\n\nExample Values: 54321",
"in": "query",
"name": "max_id",
"required": false,
"type": "string"
},
{
"description": "The entities node will not be included when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "Specifies the page of results to retrieve.\n\nExample Values: 3",
"in": "query",
"name": "page",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
]
},
"/direct_messages/destroy.json": {
"parameters": [
{
"description": "The ID of the direct message to delete.\n\nExample Values: 1270516771",
"in": "query",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "The entities node will not be included when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
],
"post": {
"description": "Destroys the direct\nmessage specified in the required ID parameter. The authenticating user must be the recipient of the\nspecified direct message.\n\nImportant: This method requires an access token with RWD (read, write and direct message)\npermissions.\nConsult The Application Permission Model for more information.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/direct_messages/destroy"
},
"operationId": "direct_messages.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/direct_messages/new.json": {
"parameters": [
{
"description": "The text of your direct message. Be sure to URL encode as necessary, and keep the message under 140\ncharacters.\n\nExample Values: Meet me behind the cafeteria after school",
"in": "query",
"name": "text",
"required": true,
"type": "string"
}
],
"post": {
"description": "Sends a new direct\nmessage to the specified user from the authenticating user. Requires both the user and text\nparameters and must be a POST. Returns the sent message in the requested format if successful.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/direct_messages/new"
},
"operationId": "direct_messages.new",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/direct_messages/sent.json": {
"get": {
"description": "Returns the 20 most\nrecent direct messages sent by the authenticating user. Includes detailed information about the\nsender and recipient user. You can request up to 200 direct messages per call, up to a maximum of\n800 outgoing DMs.\n\nImportant: This method requires an access token with RWD (read, write and direct message)\npermissions. Consult The Application Permission Model for more information.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/direct_messages/sent"
},
"operationId": "direct_messages.sent",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Specifies the number of direct messages to try and retrieve, up to a maximum of 200. The value of\ncount is best thought of as a limit to the number of Tweets to return because suspended or deleted\ncontent is removed after the count has been applied.\n\nExample Values: 5",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available.\n\nExample Values: 12345",
"in": "query",
"name": "since_id",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID.\n\nExample Values: 54321",
"in": "query",
"name": "max_id",
"required": false,
"type": "string"
},
{
"description": "The entities node will not be included when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "Specifies the page of results to retrieve.\n\nExample Values: 3",
"in": "query",
"name": "page",
"required": false,
"type": "string"
}
]
},
"/direct_messages/show.json": {
"get": {
"description": "Returns a single direct\nmessage, specified by an id parameter. Like the /1.1/direct_messages.format request, this method\nwill include the user objects of the sender and recipient.\n\nImportant: This method requires an access token with RWD (read, write and direct message)\npermissions.\nConsult The Application Permission Model for more information.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/direct_messages/show"
},
"operationId": "direct_messages.show",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The ID of the direct message.\n\nExample Values: 587424932",
"in": "query",
"name": "id",
"required": true,
"type": "string"
}
]
},
"/favorites/create.json": {
"parameters": [
{
"description": "The numerical ID of the desired status.\n\nExample Values: 123",
"in": "query",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "The entities node will be omitted when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
],
"post": {
"description": "Favorites the status\nspecified in the ID parameter as the authenticating user. Returns the favorite status when\nsuccessful.\n\nThis process invoked by this method is asynchronous. The immediately returned status may not\nindicate the resultant favorited status of the tweet. A 200 OK response from this method will\nindicate whether the intended action was successful or not.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/favorites/create"
},
"operationId": "favorites.create",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/favorites/destroy.json": {
"parameters": [
{
"description": "The numerical ID of the desired status.\n\nExample Values: 123",
"in": "query",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "The entities node will be omitted when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
],
"post": {
"description": "Un-favorites the status\nspecified in the ID parameter as the authenticating user. Returns the un-favorited status in the\nrequested format when successful.\n\nThis process invoked by this method is asynchronous. The immediately returned status may not\nindicate the resultant favorited status of the tweet. A 200 OK response from this method will\nindicate whether the intended action was successful or not.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/favorites/destroy"
},
"operationId": "favorites.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/favorites/list.json": {
"get": {
"description": "Returns the 20 most recent\nTweets favorited by the authenticating or specified user.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/favorites/list"
},
"operationId": "favorites.list",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Specifies the number of records to retrieve. Must be less than or equal to 200. Defaults to 20.\n\nExample Values: 5",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available.\n\nExample Values: 12345",
"in": "query",
"name": "since_id",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID.\n\nExample Values: 54321",
"in": "query",
"name": "max_id",
"required": false,
"type": "string"
},
{
"description": "The entities node will be omitted when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
]
},
"/followers/ids.json": {
"get": {
"description": "Returns a cursored collection\nof user IDs for every user following the specified user.\n\nAt this time, results are ordered with the most recent following first — however, this ordering is\nsubject to unannounced change and eventual consistency issues. Results are given in groups of 5,000\nuser IDs and multiple \"pages\" of results can be navigated through using the next_cursor value in\nsubsequent requests. See Using cursors to navigate collections for more information.\n\nThis method is especially powerful when used in conjunction with GET users/lookup, a method that\nallows you to convert user IDs into full user objects in bulk.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/followers/ids"
},
"operationId": "followers.ids",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Many programming environments will not consume our Tweet ids due to their size. Provide this option\nto have ids returned as strings instead. Example Values: true",
"in": "query",
"name": "stringify_ids",
"required": false,
"type": "string"
},
{
"description": "Causes the list of connections to be broken into pages of no more than 5000 IDs at a time. The\nnumber of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after\nconnections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first\n\"page.\"\n\nThe response from the API will include a previous_cursor and next_cursor to allow paging back and\nforth.Example Values: 12893764510938",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/friends/ids.json": {
"get": {
"description": "Returns a cursored collection of\nuser IDs for every user the specified user is following (otherwise known as their \"friends\").\n\nAt this time, results are ordered with the most recent following first — however, this ordering is\nsubject to unannounced change and eventual consistency issues. Results are given in groups of 5,000\nuser IDs and multiple \"pages\" of results can be navigated through using the next_cursor value in\nsubsequent requests. See Using cursors to navigate collections for more information.\n\nThis method is especially powerful when used in conjunction with GET users/lookup, a method that\nallows you to convert user IDs into full user objects in bulk.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/friends/ids"
},
"operationId": "friends.ids",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Many programming environments will not consume our Tweet ids due to their size. Provide this option\nto have ids returned as strings instead. Example Values: true",
"in": "query",
"name": "stringify_ids",
"required": false,
"type": "string"
},
{
"description": "Causes the list of connections to be broken into pages of no more than 5000 IDs at a time. The\nnumber of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after\nconnections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first\n\"page.\"\n\nThe response from the API will include a previous_cursor and next_cursor to allow paging back and\nforth.Example Values: 12893764510938",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/friendships/create.json": {
"parameters": [
{
"description": "Enable notifications for the target user. Example Values: true",
"in": "query",
"name": "follow",
"required": false,
"type": "string"
}
],
"post": {
"description": "Allows the authenticating\nusers to follow the user specified in the ID parameter.\n\nReturns the befriended user in the requested format when successful. Returns a string describing the\nfailure condition when unsuccessful. If you are already friends with the user a HTTP 403 may be\nreturned, though for performance reasons you may get a 200 OK message even if the friendship already\nexists.\n\nActions taken in this method are asynchronous and changes will be eventually consistent.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/friendships/create"
},
"operationId": "friendships.create",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/friendships/destroy.json": {
"parameters": [],
"post": {
"description": "Allows the\nauthenticating\nuser to unfollow the user specified in the ID parameter.\n\nReturns the unfollowed user in the requested format when successful. Returns a string describing the\nfailure condition when unsuccessful.\n\nActions taken in this method are asynchronous and changes will be eventually consistent.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/friendships/destroy"
},
"operationId": "friendships.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/friendships/incoming.json": {
"get": {
"description": "Returns the\nrelationships\nof the authenticating user to the comma-separated list of up to 100 screen_names or user_ids\nprovided. Values for connections can be: following, following_requested, followed_by, none.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/friendships/incoming"
},
"operationId": "friendships.incoming",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Many programming environments will not consume our Tweet ids due to their size. Provide this option\nto have ids returned as strings instead. Example Values: true",
"in": "query",
"name": "stringify_ids",
"required": false,
"type": "string"
},
{
"description": "Causes the list of connections to be broken into pages of no more than 5000 IDs at a time. The\nnumber of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after\nconnections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first\n\"page.\"\n\nThe response from the API will include a previous_cursor and next_cursor to allow paging back and\nforth.Example Values: 12893764510938",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/friendships/lookup.json": {
"get": {
"description": "Returns the relationships\nof the authenticating user to the comma-separated list of up to 100 screen_names or user_ids\nprovided. Values for connections can be: following, following_requested, followed_by, none.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/friendships/lookup"
},
"operationId": "friendships.lookup",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": []
},
"/friendships/outgoing.json": {
"get": {
"description": "Returns a collection of\nnumeric IDs for every protected user for whom the authenticating user has a pending follow request.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/friendships/outgoing"
},
"operationId": "friendships.outgoing",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Many programming environments will not consume our Tweet ids due to their size. Provide this option\nto have ids returned as strings instead. Example Values: true",
"in": "query",
"name": "stringify_ids",
"required": false,
"type": "string"
},
{
"description": "Causes the list of connections to be broken into pages of no more than 5000 IDs at a time. The\nnumber of IDs returned is not guaranteed to be 5000 as suspended users are filtered out after\nconnections are queried. If no cursor is provided, a value of -1 will be assumed, which is the first\n\"page.\"\n\nThe response from the API will include a previous_cursor and next_cursor to allow paging back and\nforth.Example Values: 12893764510938",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/friendships/show.json": {
"get": {
"description": "Returns detailed information\nabout the relationship between two arbitrary users.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/friendships/show"
},
"operationId": "friendships.show",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The user_id of the subject user.\n\nExample Values: 3191321",
"in": "query",
"name": "source_id",
"required": false,
"type": "string"
},
{
"description": "The screen_name of the subject user.\n\nExample Values: raffi",
"in": "query",
"name": "source_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user_id of the target user.\n\nExample Values: 20",
"in": "query",
"name": "target_id",
"required": true,
"type": "string"
},
{
"description": "The screen_name of the target user.\n\nExample Values: noradio",
"in": "query",
"name": "target_screen_name",
"required": true,
"type": "string"
}
]
},
"/friendships/update.json": {
"parameters": [
{
"description": "Enable/disable device notifications from the target user. Example Values: true, false",
"in": "query",
"name": "device",
"required": true,
"type": "string"
},
{
"description": "Enable/disable retweets from the target user. Example Values: true, false",
"in": "query",
"name": "retweets",
"required": true,
"type": "string"
}
],
"post": {
"description": "Allows one to enable or\ndisable retweets and device notifications from the specified user.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/friendships/update"
},
"operationId": "friendships.update",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/geo/id/{place_id}.json": {
"get": {
"description": "Returns all the\ninformation about a known place.Example Values: df51dec6f4ee2b2c",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/geo/id/%3Aplace_id"
},
"operationId": "geo.place_id",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "A place in the world. These IDs can be retrieved from geo/reverse_geocode.\n\nExample Values: df51dec6f4ee2b2c",
"in": "path",
"name": "place_id",
"required": true,
"type": "string"
}
]
},
"/geo/places.json": {
"parameters": [
{
"description": "This parameter searches for places which have this given street address. There are other\nwell-known, and application specific attributes available. Custom attributes are also permitted.\nLearn more about Place Attributes.\n\nExample Values: 795%20Folsom%20St",
"in": "query",
"name": "attribute:street_address",
"required": false,
"type": "string"
},
{
"description": "If supplied, the response will use the JSONP format with a callback of the given name.",
"in": "query",
"name": "callback",
"required": false,
"type": "string"
}
],
"post": {
"description": "Creates a new place object at the\ngiven latitude and longitude.\n\nBefore creating a place you need to query GET geo/similar_places with the latitude, longitude and\nname of the place you wish to create. The query will return an array of places which are similar to\nthe one you wish to create, and a token. If the place you wish to create isn't in the returned array\nyou can use the token with this method to create a new one.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/geo/place"
},
"operationId": "geo.places",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/geo/reverse_geocode.json": {
"get": {
"description": "Given a latitude and a\nlongitude, searches for up to 20 places that can be used as a place_id when updating a status.\n\nThis request is an informative call and will deliver generalized results about geography",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/geo/reverse_geocode"
},
"operationId": "geo.reverse_geocode",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The latitude to search around. This parameter will be ignored unless it is inside the range -90.0\nto +90.0 (North is positive) inclusive. It will also be ignored if there isn't a corresponding long\nparameter.\n\nExample Values: 37.7821120598956",
"in": "query",
"name": "lat",
"required": true,
"type": "string"
},
{
"description": "The longitude to search around. The valid ranges for longitude is -180.0 to +180.0 (East is\npositive) inclusive. This parameter will be ignored if outside that range, if it is not a number, if\ngeo_enabled is disabled, or if there not a corresponding lat parameter.\n\nExample Values: -122.400612831116",
"in": "query",
"name": "long",
"required": true,
"type": "string"
},
{
"description": "A hint on the \"region\" in which to search. If a number, then this is a radius in meters, but it can\nalso take a string that is suffixed with ft to specify feet. If this is not passed in, then it is\nassumed to be 0m. If coming from a device, in practice, this value is whatever accuracy the device\nhas measuring its location (whether it be coming from a GPS, WiFi triangulation, etc.).\n\nExample Values: 5ft",
"in": "query",
"name": "accuracy",
"required": false,
"type": "string"
},
{
"description": "This is the minimal granularity of place types to return and must be one of: poi, neighborhood,\ncity, admin or country. If no granularity is provided for the request neighborhood is assumed.\nSetting this to city, for example, will find places which have a type of city, admin or country.\n\nExample Values: city",
"in": "query",
"name": "granularity",
"required": false,
"type": "string"
},
{
"description": "A hint as to the number of results to return. This does not guarantee that the number of results\nreturned will equal max_results, but instead informs how many \"nearby\" results to return. Ideally,\nonly pass in the number of places you intend to display to the user here.\n\nExample Values: 3",
"in": "query",
"name": "max_results",
"required": false,
"type": "string"
},
{
"description": "If supplied, the response will use the JSONP format with a callback of the given name.",
"in": "query",
"name": "callback",
"required": false,
"type": "string"
}
]
},
"/geo/search.json": {
"get": {
"description": "Search for places that can be\nattached to a statuses/update. Given a latitude and a longitude pair, an IP address, or a name, this\nrequest will return a list of all the valid places that can be used as the place_id when updating a\nstatus.\n\nConceptually, a query can be made from the user's location, retrieve a list of places, have the user\nvalidate the location he or she is at, and then send the ID of this location with a call to POST\nstatuses/update.\n\nThis is the recommended method to use find places that can be attached to statuses/update. Unlike\nGET geo/reverse_geocode which provides raw data access, this endpoint can potentially re-order\nplaces with regards to the user who is authenticated. This approach is also preferred for\ninteractive place matching with the user.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/geo/search"
},
"operationId": "geo.search",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "A hint on the \"region\" in which to search. If a number, then this is a radius in meters, but it can\nalso take a string that is suffixed with ft to specify feet. If this is not passed in, then it is\nassumed to be 0m. If coming from a device, in practice, this value is whatever accuracy the device\nhas measuring its location (whether it be coming from a GPS, WiFi triangulation, etc.).\n\nExample Values: 5ft",
"in": "query",
"name": "accuracy",
"required": false,
"type": "string"
},
{
"description": "This is the minimal granularity of place types to return and must be one of: poi, neighborhood,\ncity, admin or country. If no granularity is provided for the request neighborhood is assumed.\nSetting this to city, for example, will find places which have a type of city, admin or country.\n\nExample Values: city",
"in": "query",
"name": "granularity",
"required": false,
"type": "string"
},
{
"description": "This is the place_id which you would like to restrict the search results to. Setting this value\nmeans only places within the given place_id will be found.\n\nSpecify a place_id. For example, to scope all results to places within \"San Francisco, CA USA\", you\nwould specify a place_id of \"5a110d312052166f\"\n\nExample Values: 247f43d441defc03",
"in": "query",
"name": "contained_within",
"required": false,
"type": "string"
},
{
"description": "This parameter searches for places which have this given street address. There are other\nwell-known, and application specific attributes available. Custom attributes are also permitted.\nLearn more about Place Attributes.\n\nExample Values: 795%20Folsom%20St",
"in": "query",
"name": "attribute:street_address",
"required": false,
"type": "string"
},
{
"description": "If supplied, the response will use the JSONP format with a callback of the given name.",
"in": "query",
"name": "callback",
"required": false,
"type": "string"
}
]
},
"/geo/similar_places.json": {
"get": {
"description": "Locates places near the\ngiven coordinates which are similar in name.\n\nConceptually you would use this method to get a list of known places to choose from first. Then, if\nthe desired place doesn't exist, make a request to POST geo/place to create a new one.\n\nThe token contained in the response is the token needed to be able to create a new place.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/geo/similar_places"
},
"operationId": "geo.similar_places",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "This is the place_id which you would like to restrict the search results to. Setting this value\nmeans only places within the given place_id will be found.\n\nSpecify a place_id. For example, to scope all results to places within \"San Francisco, CA USA\", you\nwould specify a place_id of \"5a110d312052166f\"\n\nExample Values: 247f43d441defc03",
"in": "query",
"name": "contained_within",
"required": false,
"type": "string"
},
{
"description": "This parameter searches for places which have this given street address. There are other\nwell-known, and application specific attributes available. Custom attributes are also permitted.\nLearn more about Place Attributes.\n\nExample Values: 795%20Folsom%20St",
"in": "query",
"name": "attribute:street_address",
"required": false,
"type": "string"
},
{
"description": "If supplied, the response will use the JSONP format with a callback of the given name.",
"in": "query",
"name": "callback",
"required": false,
"type": "string"
}
]
},
"/help/configuration.json": {
"get": {
"description": "Returns the current\nconfiguration used by Twitter including twitter.com slugs which are not usernames, maximum photo\nresolutions, and t.co URL lengths.\n\nIt is recommended applications request this endpoint when they are loaded, but no more than once a\nday.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/help/configuration"
},
"operationId": "help.configurations",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": []
},
"/help/languages.json": {
"get": {
"description": "Returns the list of languages\nsupported by Twitter along with their ISO 639-1 code. The ISO 639-1 code is the two letter value to\nuse if you include lang with any of your requests.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/help/languages"
},
"operationId": "help.languages",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": []
},
"/help/privacy.json": {
"get": {
"description": "Returns Twitter's Privacy Policy",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/help/privacy"
},
"operationId": "help.privacy",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": []
},
"/help/tos.json": {
"get": {
"description": "Returns the Twitter Terms of Service\nin the requested format. These are not the same as the Developer Rules of the Road.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/help/tos"
},
"operationId": "help.tos",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": []
},
"/lists/create.json": {
"parameters": [
{
"description": "The name for the list.A list's name must start with a letter and can consist only of 25 or fewer\nletters, numbers, \"-\", or \"_\" characters.",
"in": "query",
"name": "name",
"required": true,
"type": "string"
},
{
"description": "Whether your list is public or private. Values can be public or private. If no mode is specified\nthe list will be public.",
"in": "query",
"name": "mode",
"required": false,
"type": "string"
},
{
"description": "The description to give the list.",
"in": "query",
"name": "description",
"required": false,
"type": "string"
}
],
"post": {
"description": "Creates a new list for the\nauthenticated user. Note that you can't create more than 20 lists per account.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/create"
},
"operationId": "lists.create",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/destroy.json": {
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
}
],
"post": {
"description": "Deletes the specified list.\nThe authenticated user must own the list to be able to destroy it.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/destroy"
},
"operationId": "lists.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/list.json": {
"get": {
"description": "Returns all lists the\nauthenticating or specified user subscribes to, including their own. The user is specified using the\nuser_id or screen_name parameters. If no user is given, the authenticating user is used.\n\nThis method used to be GET lists in version 1.0 of the API and has been renamed for consistency with\nother call.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/list"
},
"operationId": "lists.list",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user for whom to return results for. Helpful for disambiguating when a valid\nscreen name is also a user ID.\n\nExample Values: noradio",
"in": "query",
"name": "screen_name",
"required": true,
"type": "string"
},
{
"description": "The ID of the user for whom to return results for. Helpful for disambiguating when a valid user ID\nis also a valid screen name.\n\nExample Values: 12345\n\nNote:: Specifies the ID of the user to get lists from. Helpful for disambiguating when a valid user\nID is also a valid screen name.",
"in": "query",
"name": "user_id",
"required": true,
"type": "string"
}
]
},
"/lists/members.json": {
"get": {
"description": "Returns the members of the\nspecified list. Private list members will only be shown if the authenticated user owns the specified\nlist.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/members"
},
"operationId": "lists.members",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "The entities node will be disincluded when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
},
{
"description": "Causes the collection of list members to be broken into \"pages\" of somewhat consistent size. If no\ncursor is provided, a value of -1 will be assumed, which is the first \"page.\"\n\nThe response from the API will include a previous_cursor and next_cursor to allow paging back and\nforth. See Using cursors to navigate collections for more information.\n\nExample Values: 12893764510938",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/lists/members/create.json": {
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
}
],
"post": {
"description": "Add a member to a list.\nThe authenticated user must own the list to be able to add members to it. Note that lists can't have\nmore than 500 members.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/members/create"
},
"operationId": "lists.members.create",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/members/create_all.json": {
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "A comma separated list of user IDs, up to 100 are allowed in a single request.",
"in": "query",
"name": "user_id",
"required": false,
"type": "string"
},
{
"description": "A comma separated list of screen names, up to 100 are allowed in a single request.",
"in": "query",
"name": "screen_name",
"required": false,
"type": "string"
}
],
"post": {
"description": "Adds multiple\nmembers to a list, by specifying a comma-separated list of member ids or screen names. The\nauthenticated user must own the list to be able to add members to it. Note that lists can't have\nmore than 500 members, and you are limited to adding up to 100 members to a list at a time with this\nmethod.\n\nPlease note that there can be issues with lists that rapidly remove and add memberships. Take care\nwhen using these methods such that you are not too rapidly switching between removals and adds on\nthe same list.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/members/create_all"
},
"operationId": "lists.members.create_all",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/members/destroy.json": {
"parameters": [
{
"description": "The numerical id of the list.",
"in": "query",
"name": "list_id",
"required": true,
"type": "string"
},
{
"description": "You can identify a list by its slug instead of its numerical id. If you decide to do so, note\nthat you'll also have to specify the list owner using the owner_id or owner_screen_name\nparameters.",
"in": "query",
"name": "slug",
"required": true,
"type": "string"
},
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "The ID of the user to remove from the list. Helpful for disambiguating when a valid user ID is also\na valid screen name.",
"in": "query",
"name": "user_id",
"required": false,
"type": "string"
},
{
"description": "The screen name of the user for whom to remove from the list. Helpful for disambiguating when a\nvalid screen name is also a user ID.",
"in": "query",
"name": "screen_name",
"required": false,
"type": "string"
}
],
"post": {
"description": "Removes the specified\nmember from the list. The authenticated user must be the list's owner to remove members from the\nlist.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/members/destroy"
},
"operationId": "lists.members.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/members/destroy_all.json": {
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "A comma separated list of screen names, up to 100 are allowed in a single request.",
"in": "query",
"name": "screen_name",
"required": false,
"type": "string"
},
{
"description": "A comma separated list of user IDs, up to 100 are allowed in a single request.",
"in": "query",
"name": "user_id",
"required": false,
"type": "string"
}
],
"post": {
"description": "Removes multiple\nmembers from a list, by specifying a comma-separated list of member ids or screen names. The\nauthenticated user must own the list to be able to remove members from it. Note that lists can't\nhave more than 500 members, and you are limited to removing up to 100 members to a list at a time\nwith this method.\n\nPlease note that there can be issues with lists that rapidly remove and add memberships. Take care\nwhen using these methods such that you are not too rapidly switching between removals and adds on\nthe same list.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/members/destroy_all"
},
"operationId": "lists.members.destroy_all",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/members/show.json": {
"get": {
"description": "Check if the specified\nuser is a member of the specified list.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/members/show"
},
"operationId": "lists.members.show",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet will include a node called \"entities\". This node offers\na variety of metadata about the tweet in a discreet structure, including: user_mentions, urls, and\nhashtags. While entities are opt-in on timelines at present, they will be made a default component\nof output in the future.",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
]
},
"/lists/memberships.json": {
"get": {
"description": "Returns the lists the\nspecified user has been added to. If user_id or screen_name are not provided the memberships for the\nauthenticating user are returned.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/memberships"
},
"operationId": "lists.memberships",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The ID of the user for whom to return results for. Helpful for disambiguating when a valid user ID\nis also a valid screen name.",
"in": "query",
"name": "user_id",
"required": false,
"type": "string"
},
{
"description": "The screen name of the user for whom to return results for. Helpful for disambiguating when a valid\nscreen name is also a user ID.",
"in": "query",
"name": "screen_name",
"required": false,
"type": "string"
},
{
"description": "Breaks the results into pages. A single page contains 20 lists. Provide a value of -1 to begin\npaging. Provide values as returned in the response body's next_cursor and previous_cursor attributes\nto page back and forth in the list.",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
},
{
"description": "When set to true, t or 1, will return just lists the authenticating user owns, and the user\nrepresented by user_id or screen_name is a member of.",
"in": "query",
"name": "filter_to_owned_lists",
"required": false,
"type": "string"
}
]
},
"/lists/show.json": {
"get": {
"description": "Returns the specified list.\nPrivate lists will only be shown if the authenticated user owns the specified list.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/show"
},
"operationId": "lists.show",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
}
]
},
"/lists/statuses.json": {
"get": {
"description": "Returns tweet timeline for\nmembers of the specified list. Retweets are included by default. You can use the include_rts=false\nparameter to omit retweet objects.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/statuses"
},
"operationId": "lists.statuses",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available.",
"in": "query",
"name": "since_id",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID.",
"in": "query",
"name": "max_id",
"required": false,
"type": "string"
},
{
"description": "Specifies the number of results to retrieve per \"page.",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "Entities are ON by default in API 1.1, each tweet includes a node called \"entities\". This node\noffers a variety of metadata about the tweet in a discreet structure, including: user_mentions,\nurls, and hashtags. You can omit entities from the result by using include_entities=false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1, the list timeline will contain native retweets (if they exist) in\naddition to the standard stream of tweets. The output format of retweeted tweets is identical to the\nrepresentation you see in home_timeline.",
"in": "query",
"name": "include_rts",
"required": true,
"type": "string"
}
]
},
"/lists/subscribers.json": {
"get": {
"description": "Returns the subscribers of\nthe specified list. Private list subscribers will only be shown if the authenticated user owns the\nspecified list.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/subscribers"
},
"operationId": "lists.subscribers",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "Breaks the results into pages. A single page contains 20 lists. Provide a value of -1 to begin\npaging. Provide values as returned in the response body's next_cursor and previous_cursor attributes\nto page back and forth in the list.",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet will include a node called \"entities\". This node offers\na variety of metadata about the tweet in a discreet structure, including: user_mentions, urls, and\nhashtags. While entities are opt-in on timelines at present, they will be made a default component\nof output in the future. See Tweet Entities for more details.",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
]
},
"/lists/subscribers/create.json": {
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
}
],
"post": {
"description": "Subscribes the\nauthenticated user to the specified list.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/subscribers/create"
},
"operationId": "lists.subscribers.create",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/subscribers/destroy.json": {
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
}
],
"post": {
"description": "Unsubscribes the\nauthenticated user from the specified list.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/subscribers/destroy"
},
"operationId": "lists.subscribers.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/lists/subscribers/show.json": {
"get": {
"description": "Check if the specified\nuser is a subscriber of the specified list. Returns the user if they are subscriber.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/subscribers/show"
},
"operationId": "lists.subscribers.show",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet will include a node called \"entities\". This node offers\na variety of metadata about the tweet in a discreet structure, including: user_mentions, urls, and\nhashtags. While entities are opt-in on timelines at present, they will be made a default component\nof output in the future. See Tweet Entities for more details.",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
]
},
"/lists/subscriptions.json": {
"get": {
"description": "Obtain a collection of\nthe lists the specified user is subscribed to, 20 lists per page by default. Does not include the\nuser's own lists.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/lists/subscriptions"
},
"operationId": "lists.subscriptions",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The amount of results to return per page. Defaults to 20. Maximum of 1,000 when using cursors.",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "Breaks the results into pages. A single page contains 20 lists. Provide a value of -1 to begin\npaging. Provide values as returned in the response body's next_cursor and previous_cursor attributes\nto page back and forth in the list. It is recommended to always use cursors when the method supports\nthem.",
"in": "query",
"name": "cursor",
"required": false,
"type": "string"
}
]
},
"/lists/update.json": {
"parameters": [
{
"description": "The screen name of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_screen_name",
"required": false,
"type": "string"
},
{
"description": "The user ID of the user who owns the list being requested by a slug.",
"in": "query",
"name": "owner_id",
"required": false,
"type": "string"
},
{
"description": "The name for the list.",
"in": "query",
"name": "name",
"required": false,
"type": "string"
},
{
"description": "Whether your list is public or private. Values can be public or private. If no mode is specified\nthe list will be public.",
"in": "query",
"name": "mode",
"required": false,
"type": "string"
},
{
"description": "The description to give the list.",
"in": "query",
"name": "description",
"required": false,
"type": "string"
}
],
"post": {
"description": "Updates the specified list. The\nauthenticated user must own the list to be able to update it.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/lists/update"
},
"operationId": "lists.update",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/saved_searches/create.json": {
"parameters": [
{
"description": "The query of the search the user would like to save.",
"in": "query",
"name": "query",
"required": true,
"type": "string"
}
],
"post": {
"description": "Create a new saved\nsearch for the authenticated user. A user may only have 25 saved searches.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/saved_searches/create"
},
"operationId": "saved_searches.create",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/saved_searches/destroy/{id}.json": {
"parameters": [
{
"description": "The ID of the saved search.\n\nExample Values: 313006",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"post": {
"description": "Destroys a\nsaved\nsearch for the authenticating user. The authenticating user must be the owner of saved search id\nbeing destroyed.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/saved_searches/destroy/%3Aid"
},
"operationId": "saved_searches.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/saved_searches/list.json": {
"get": {
"description": "Returns the authenticated\nuser's saved search queries.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/saved_searches/list"
},
"operationId": "saved_searches.list",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": []
},
"/saved_searches/show/{id}.json": {
"get": {
"description": "Returns the\nauthenticated user's saved search queries.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/saved_searches/show/%3Aid"
},
"operationId": "savedsearchesid",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The ID of the saved search.\n\nExample Values: 313006",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
]
},
"/search/tweets.json": {
"get": {
"description": "Returns a collection of\nrelevant Tweets matching a specified query.\n\nPlease note that Twitter's search service and, by extension, the Search API is not meant to be an\nexhaustive source of Tweets. Not all Tweets will be indexed or made available via the search\ninterface.\n\nIn API v1.1, the response format of the Search API has been improved to return Tweet objects more\nsimilar to the objects you'll find across the REST API and platform. You may need to tolerate some\ninconsistencies and variance in perspectival values (fields that pertain to the perspective of the\nauthenticating user) and embedded user objects.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/search/tweets"
},
"operationId": "search.tweets",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "A UTF-8, URL-encoded search query of 1,000 characters maximum, including operators. Queries may\nadditionally be limited by complexity.Example: @noradio.",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"description": "Returns tweets by users located within a given radius of the given latitude/longitude. The location\nis preferentially taking from the Geotagging API, but will fall back to their Twitter profile. The\nparameter value is specified by \"latitude,longitude,radius\", where radius units must be specified as\neither \"mi\" (miles) or \"km\" (kilometers). Note that you cannot use the near operator via the API to\ngeocode arbitrary locations; however you can use this geocode parameter to search near geocodes\ndirectly. A maximum of 1,000 distinct \"sub-regions\" will be considered when using the radius\nmodifier.",
"in": "query",
"name": "geocode",
"required": false,
"type": "string"
},
{
"description": "Restricts tweets to the given language, given by an ISO 639-1 code. Language detection is\nbest-effort.Example Values: eu",
"in": "query",
"name": "lang",
"required": false,
"type": "string"
},
{
"description": "Specify the language of the query you are sending (only ja is currently effective). This is\nintended for language-specific consumers and the default should work in the majority of\ncases.Example Values: ja",
"in": "query",
"name": "locale",
"required": false,
"type": "string"
},
{
"description": "Optional. Specifies what type of search results you would prefer to receive. The current default is\n\"mixed.\" Valid values include:\n* mixed: Include both popular and real time results in the response.\n* recent: return only the most recent results in the response\n* popular: return only the most popular results in the response. Example Values: mixed, recent,\npopular",
"in": "query",
"name": "result_type",
"required": false,
"type": "string"
},
{
"description": "The number of tweets to return per page, up to a maximum of 100. Defaults to 15. This was formerly\nthe \"rpp\" parameter in the old Search API. Example Values: 100",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "Returns tweets generated before the given date. Date should be formatted as YYYY-MM-DD. Keep in\nmind that the search index may not go back as far as the date you specify here. Example Values:\n2012-09-01",
"in": "query",
"name": "until",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available. Example Values:\n12345",
"in": "query",
"name": "since_id",
"required": false,
"type": "string"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID. Example\nValues: 12345",
"in": "query",
"name": "max_id",
"required": false,
"type": "string"
},
{
"description": "The entities node will be disincluded when set to false. Example Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "If supplied, the response will use the JSONP format with a callback of the given name. The\nusefulness of this parameter is somewhat diminished by the requirement of authentication for\nrequests to this endpoint. Example Values: processTweets",
"in": "query",
"name": "callback",
"required": false,
"type": "string"
}
]
},
"/statuses/destroy/{id}.json": {
"parameters": [
{
"description": "The numerical ID of the desired status.",
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
}
],
"post": {
"description": "Destroys the status\nspecified by the required ID parameter. The authenticating user must be the author of the specified\nstatus. Returns the destroyed status if successful.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/statuses/destroy/:id"
},
"operationId": "statuses.destroy",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/statuses/home_timeline.json": {
"get": {
"description": "Returns a collection\nof the most recent Tweets and retweets posted by the authenticating user and the users they follow.\nThe home timeline is central to how most users interact with the Twitter service.\n\nUp to 800 Tweets are obtainable on the home timeline. It is more volatile for users that follow many\nusers or follow users who tweet frequently.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/statuses/home_timeline"
},
"operationId": "statuses.home_timeline",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Specifies the number of records to retrieve. Must be less than or equal to 200.",
"in": "query",
"name": "count",
"required": false,
"type": "integer"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID.",
"format": "int64",
"in": "query",
"name": "max_id",
"required": false,
"type": "integer"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available.",
"format": "int64",
"in": "query",
"name": "since_id",
"required": false,
"type": "integer"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
},
{
"description": "This parameter will prevent replies from appearing in the returned timeline. Using exclude_replies\nwith the count parameter will mean you will receive up-to count tweets — this is because the count\nparameter retrieves that many tweets before filtering out retweets and replies.",
"in": "query",
"name": "exclude_replies",
"required": false,
"type": "string"
},
{
"description": "This parameter enhances the contributors element of the status response to include the screen_name\nof the contributor. By default only the user_id of the contributor is included.",
"in": "query",
"name": "contributor_details",
"required": false,
"type": "string"
}
]
},
"/statuses/mentions_timeline.json": {
"get": {
"description": "Returns the 20\nmost recent mentions (tweets containing a users's @screen_name) for the authenticating user.The\ntimeline returned is the equivalent of the one seen when you view your mentions on twitter.com.This\nmethod can only return up to 800 statuses.This method will include retweets in the JSON response\nregardless of whether the include_rts parameter is set.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/statuses/mentions_timeline"
},
"operationId": "statuses.mentions.timeline",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is\nbest thought of as a limit to the number of tweets to return because suspended or deleted content is\nremoved after the count has been applied. We include retweets in the count, even if include_rts is\nnot supplied. It is recommended you always send include_rts=1 when using this API method.",
"in": "query",
"name": "count",
"required": false,
"type": "integer"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available.",
"format": "int64",
"in": "query",
"name": "since_id",
"required": false,
"type": "integer"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID.",
"format": "int64",
"in": "query",
"name": "max_id",
"required": false,
"type": "integer"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
},
{
"description": "This parameter enhances the contributors element of the status response to include the screen_name\nof the contributor. By default only the user_id of the contributor is included.",
"in": "query",
"name": "contributor_details",
"required": false,
"type": "string"
},
{
"description": "The entities node will be disincluded when set to false.",
"in": "query",
"name": "include_entities",
"required": false,
"type": "boolean"
}
]
},
"/statuses/oembed.json": {
"get": {
"description": "Returns information allowing\nthe creation of an embedded representation of a Tweet on third party sites. See the oEmbed\nspecification (http://oembed.com) for information about the response format. Either the id or url\nparameters must be specified in a request, it is not necessary to include both. While this endpoint\nallows a bit of customization for the final appearance of the embedded Tweet, be aware that the\nappearance of the rendered Tweet may change over time to be consistent with Twitter's Display\nGuidelines (https://dev.twitter.com/terms/display-guidelines). Do not rely on any class or id\nparameters to stay constant in the returned markup.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/statuses/oembed"
},
"operationId": "statuses.oembed",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The maximum width in pixels that the embed should be rendered at. This value is constrained to be\nbetween 250 and 550 pixels. Note that Twitter does not support the oEmbed maxheight parameter.\nTweets are fundamentally text, and are therefore of unpredictable height that cannot be scaled like\nan image or video. Relatedly, the oEmbed response will not provide a value for height.\nImplementations that need consistent heights for Tweets should refer to the hide_thread and\nhide_media parameters below.",
"in": "query",
"name": "maxwidth",
"required": false,
"type": "integer"
},
{
"description": "Specifies whether the embedded Tweet should automatically expand images which were uploaded via\nPOST statuses/update_with_media. When set to either true, t or\n1 images will not be expanded. Defaults to false.",
"in": "query",
"name": "hide_media",
"required": false,
"type": "string"
},
{
"description": "Specifies whether the embedded Tweet should automatically show the original message in the case\nthat the embedded Tweet is a reply. When set to either true, t or 1 the original Tweet will not be\nshown. Defaults to false.",
"in": "query",
"name": "hide_thread",
"required": false,
"type": "string"
},
{
"description": "Specifies whether the embedded Tweet HTML should include a\n'script' element pointing to widgets.js. In cases where a page already includes widgets.js, setting\nthis\nvalue to true will prevent a redundant script element from being included. When set to either true,\nt or 1 the 'script'element will not be included in the embed HTML, meaning that pages must include a\nreference to\nwidgets.js manually. Defaults to false.",
"in": "query",
"name": "omit_script",
"required": false,
"type": "string"
},
{
"description": "Specifies whether the embedded Tweet should be left aligned, right aligned, or centered in the\npage. Valid values are left, right, center, and none. Defaults to none, meaning no alignment styles\nare specified for the Tweet.",
"enum": [
"left",
"right",
"center",
"none"
],
"in": "query",
"name": "align",
"required": false,
"type": "string"
},
{
"description": "A value for the TWT related parameter, as described in Web Intents\n(https://dev.twitter.com/docs/intents). This value will be forwarded to all Web Intents calls.\nExample values: twitterapi, twittermedia, twitter.",
"in": "query",
"name": "related",
"required": false,
"type": "string"
},
{
"description": "Language code for the rendered embed. This will affect the text and localization of the rendered\nHTML. Example value: fr",
"in": "query",
"name": "lang",
"required": false,
"type": "string"
}
]
},
"/statuses/retweet/{id}.json": {
"parameters": [
{
"description": "The numerical ID of the desired status.",
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
}
],
"post": {
"description": "Retweets a tweet.\nReturns\nthe original tweet with retweet details embedded.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/statuses/retweet/:id"
},
"operationId": "statusesretweetid",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/statuses/retweets/{id}.json": {
"get": {
"description": "Returns up to 100 of\nthe\nfirst retweets of a given tweet.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/statuses/retweets/:id"
},
"operationId": "statuses.retweets",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The numerical ID of the desired status.",
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "Specifies the number of records to retrieve. Must be less than or equal to 100.",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
}
]
},
"/statuses/show/{id}.json": {
"get": {
"description": "Returns a single status,\nspecified by the id parameter below. The status's author will be returned inline.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/statuses/show/:id"
},
"operationId": "statuses.show",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The numerical ID of the desired status.",
"in": "query",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1, any Tweets returned that have been retweeted by the authenticating\nuser will include an additional current_user_retweet node, containing the ID of the source status\nfor the retweet.",
"in": "query",
"name": "include_my_retweet",
"required": false,
"type": "string"
},
{
"description": "The entities node will be disincluded when set to false.",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
]
},
"/statuses/update.json": {
"parameters": [
{
"default": "Posting from @apigee's API test console. It's like a command line for the Twitter API! #apitools",
"description": "The text of your status update, typically up to 140 characters. URL encode as necessary. t.co link\nshort-url wrapping (https://dev.twitter.com/docs/tco-link-wrapper/faq) may effect character counts.",
"in": "query",
"name": "status",
"required": true,
"type": "string"
},
{
"description": "The ID of an existing status that the update is in reply to. Note: This parameter will be ignored\nunless the author of the tweet this parameter references is mentioned within the status text.\nTherefore, you must include @username, where username is the author of the referenced tweet, within\nthe update.",
"in": "query",
"name": "in_reply_to_status_id",
"required": false,
"type": "string"
},
{
"default": "37.426363",
"description": "The latitude of the location this tweet refers to. This parameter will be ignored unless it is\ninside the range -90.0 to +90.0 (North is positive) inclusive. It will also be ignored if there\nisn't a corresponding long parameter.",
"in": "query",
"name": "lat",
"required": false,
"type": "string"
},
{
"default": "-122.141114",
"description": "The longitude of the location this tweet refers to. The valid ranges for longitude is -180.0 to\n+180.0 (East is positive) inclusive. This parameter will be ignored if outside that range, if it is\nnot a number, if geo_enabled is disabled, or if there not a corresponding lat parameter.",
"in": "query",
"name": "long",
"required": false,
"type": "string"
},
{
"description": "A place in the world. These IDs can be retrieved from GET geo/reverse_geocode\n(https://dev.twitter.com/docs/api/1/get/geo/reverse_geocode).",
"in": "query",
"name": "place_id",
"required": false,
"type": "string"
},
{
"default": "false",
"description": "Whether or not to put a pin on the exact coordinates a tweet has been sent from.",
"enum": [
"false",
"true",
""
],
"in": "query",
"name": "display_coordinates",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
}
],
"post": {
"description": "Updates the authenticating\nuser's status, also known as tweeting. To upload an image to accompany the tweet, use POST\nstatuses/update_with_media (https://dev.twitter.com/docs/api/1/post/statuses/update_with_media). For\neach update attempt, the update text is compared with the authenticating user's recent tweets. Any\nattempt that would result in duplication will be blocked, resulting in a 403 error. Therefore, a\nuser cannot submit the same status twice in a row. While not rate limited by the API a user is\nlimited in the number of tweets they can create at a time. If the number of updates posted by the\nuser reaches the current allowed limit this method will return an HTTP 403 error.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/statuses/update"
},
"operationId": "statuses.update",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/statuses/update_with_media.json": {
"parameters": [
{
"description": "The text of your status update. URL encode as necessary. t.co link wrapping\n(https://dev.twitter.com/docs/tco-link-wrapper/faq) may affect character counts if the post contains\nURLs. You must additionally account for the characters_reserved_per_media per uploaded media,\nadditionally accounting for space characters in between finalized URLs. Note: Request the GET\nhelp/configuration (https://dev.twitter.com/docs/api/1.1/get/help/configuration) endpoint to get the\ncurrent characters_reserved_per_media and max_media_per_upload values.",
"in": "query",
"name": "status",
"required": true,
"type": "string"
},
{
"description": "Up to max_media_per_upload files may be specified in the request, each named media[]. Supported\nimage formats are PNG, JPG and GIF. Animated GIFs are not supported. Note: Request the GET\nhelp/configuration (https://dev.twitter.com/docs/api/1.1/get/help/configuration) endpoint to get the\ncurrent max_media_per_upload and photo_size_limit values.",
"in": "query",
"name": "media",
"required": true,
"type": "string"
},
{
"description": "Set to true for content which may not be suitable for every audience.",
"in": "query",
"name": "possibly_sensitive",
"required": false,
"type": "string"
},
{
"description": "The ID of an existing status that the update is in reply to. Note: This parameter will be ignored\nunless the author of the tweet this parameter references is mentioned within the status text.\nTherefore, you must include @username, where username is the author of the referenced tweet, within\nthe update.",
"in": "query",
"name": "in_reply_to_status_id",
"required": false,
"type": "string"
},
{
"description": "The latitude of the location this tweet refers to. This parameter will be ignored unless it is\ninside the range -90.0 to +90.0 (North is positive) inclusive. It will also be ignored if there\nisn't a corresponding long parameter. Example value: 37.7821120598956.",
"in": "query",
"name": "lat",
"required": false,
"type": "string"
},
{
"description": "The longitude of the location this tweet refers to. The valid ranges for longitude is -180.0 to\n+180.0 (East is positive) inclusive. This parameter will be ignored if outside that range, not a\nnumber, geo_enabled is disabled, or if there not a corresponding lat parameter. Example value:\n-122.400612831116.",
"in": "query",
"name": "long",
"required": false,
"type": "string"
},
{
"description": "A place in the world identified by a Twitter place ID. Place IDs can be retrieved from\ngeo/reverse_geocode.",
"in": "query",
"name": "place_id",
"required": false,
"type": "string"
},
{
"description": "Whether or not to put a pin on the exact coordinates a tweet has been sent from.",
"in": "query",
"name": "display_coordinates",
"required": false,
"type": "string"
}
],
"post": {
"description": "Updates the\nauthenticating user's status and attaches media for upload. Unlike POST statuses/update\n(https://dev.twitter.com/docs/api/1.1/post/statuses/update), this method expects raw multipart data.\nYour POST request's Content-Type should be set to multipart/form-data with the media[] parameter.\nThe Tweet text will be rewritten to include the media URL(s), which will reduce the number of\ncharacters allowed in the Tweet text. If the URL(s) cannot be appended without text truncation, the\ntweet will be rejected and this method will return an HTTP 403 error. Important: Make sure that\nyou're using upload.twitter.com as your host while posting statuses with media. It is strongly\nrecommended to use SSL with this method.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/statuses/update_with_media"
},
"operationId": "statuses.update_with_media",
"parameters": [
{
"default": "multipart/form-data",
"description": "Content type.",
"in": "header",
"name": "Content-Type",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/statuses/user_timeline.json": {
"get": {
"description": "Returns the 20 most\nrecent statuses posted by the authenticating user. It is also possible to request another user's\ntimeline by using the screen_name or user_id parameter. The other users timeline will only be\nvisible if they are not protected, or if the authenticating user's follow request was accepted by\nthe protected user. The timeline returned is the equivalent of the one seen when you view a user's\nprofile on twitter.com. This method can only return up to 3,200 of a user's most recent statuses.\nNative retweets of other statuses by the user is included in this total, regardless of whether\ninclude_rts is specified when requesting this resource. This method will not include retweets in the\nXML and JSON responses unless the include_rts parameter is set. The RSS and Atom responses will\nalways include retweets as statuses prefixed with RT, regardless of provided parameters. Always\nspecify either an user_id or screen_name when requesting a user timeline.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline"
},
"operationId": "statuses.user_timeline",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is\nbest thought of as a limit to the number of tweets to return because suspended or deleted content is\nremoved after the count has been applied. We include retweets in the count, even if include_rts is\nnot supplied. It is recommended you always send include_rts=1 when using this API method.",
"in": "query",
"name": "count",
"required": false,
"type": "integer"
},
{
"description": "Returns results with an ID greater than (that is, more recent than) the specified ID. There are\nlimits to the number of Tweets which can be accessed through the API. If the limit of Tweets has\noccured since the since_id, the since_id will be forced to the oldest ID available.",
"format": "int64",
"in": "query",
"name": "since_id",
"required": false,
"type": "integer"
},
{
"description": "Returns results with an ID less than (that is, older than) or equal to the specified ID.",
"format": "int64",
"in": "query",
"name": "max_id",
"required": false,
"type": "integer"
},
{
"description": "When set to either true, t or 1, each tweet returned in a timeline will include a user object\nincluding only the status authors numerical ID. Omit this parameter to receive the complete user\nobject.",
"in": "query",
"name": "trim_user",
"required": false,
"type": "string"
},
{
"description": "This parameter will prevent replies from appearing in the returned timeline. Using exclude_replies\nwith the count parameter will mean you will receive up-to count tweets — this is because the count\nparameter retrieves that many tweets before filtering out retweets and replies. This parameter is\nonly supported for JSON and XML responses.",
"in": "query",
"name": "exclude_replies",
"required": false,
"type": "boolean"
},
{
"description": "This parameter enhances the contributors element of the status response to include the screen_name\nof the contributor. By default only the user_id of the contributor is included.",
"in": "query",
"name": "contributor_details",
"required": false,
"type": "boolean"
},
{
"description": "When set to false, the timeline will strip any native retweets (though they will still count toward\nboth the maximal length of the timeline and the slice selected by the count parameter). Note: If\nyou're using the trim_user parameter in conjunction with include_rts, the retweets will still\ncontain a full user object.",
"in": "query",
"name": "include_rts",
"required": false,
"type": "boolean"
}
]
},
"/trends/available.json": {
"get": {
"description": "Returns the locations that\nTwitter has trending topic information for.\n\nThe response is an array of \"locations\" that encode the location's WOEID and some other\nhuman-readable information such as a canonical name and country the location belongs in.\n\nA WOEID is a Yahoo! Where On Earth ID.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/trends/available"
},
"operationId": "trends.available",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": []
},
"/trends/closest.json": {
"get": {
"description": "Returns the locations that\nTwitter has trending topic information for, closest to a specified location.\n\nThe response is an array of \"locations\" that encode the location's WOEID and some other\nhuman-readable information such as a canonical name and country the location belongs in.\n\nA WOEID is a Yahoo! Where On Earth ID.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/trends/closest"
},
"operationId": "trends.closest",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "If provided with a long parameter the available trend locations will be sorted by distance, nearest\nto furthest, to the co-ordinate pair. The valid ranges for longitude is -180.0 to +180.0 (West is\nnegative, East is positive) inclusive.\n\nExample Values: 37.781157",
"in": "query",
"name": "lat",
"required": false,
"type": "string"
},
{
"description": "If provided with a lat parameter the available trend locations will be sorted by distance, nearest\nto furthest, to the co-ordinate pair. The valid ranges for longitude is -180.0 to +180.0 (West is\nnegative, East is positive) inclusive.\n\nExample Values: -122.400612831116",
"in": "query",
"name": "long",
"required": false,
"type": "string"
}
]
},
"/trends/place.json": {
"get": {
"description": "Returns the top 10 trending\ntopics for a specific WOEID, if trending information is available for it.\n\nThe response is an array of \"trend\" objects that encode the name of the trending topic, the query\nparameter that can be used to search for the topic on Twitter Search, and the Twitter Search URL.\n\nThis information is cached for 5 minutes. Requesting more frequently than that will not return any\nmore data, and will count against your rate limit usage.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/trends/place"
},
"operationId": "trends.place",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The Yahoo! Where On Earth ID of the location to return trending information for. Global information\nis available by using 1 as the WOEID.",
"in": "query",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "Setting this equal to hashtags will remove all hashtags from the trends list.",
"in": "query",
"name": "exclude",
"required": false,
"type": "string"
}
]
},
"/users/contributees.json": {
"get": {
"description": "Returns a collection of\nusers that the specified user can contribute to.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/contributees"
},
"operationId": "users.contributees",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The entities node will be disincluded when set to false. Example Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
]
},
"/users/contributors.json": {
"get": {
"description": "Returns a collection of\nusers who can contribute to the specified account.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/contributors"
},
"operationId": "users.contributors",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The entities node will be disincluded when set to false. Example Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
},
{
"description": "When set to either true, t or 1 statuses will not be included in the returned user objects.",
"in": "query",
"name": "skip_status",
"required": false,
"type": "string"
}
]
},
"/users/lookup.json": {
"get": {
"description": "Returns fully-hydrated user\nobjects for up to 100 users per request, as specified by comma-separated values passed to the\nuser_id and/or screen_name parameters.\n\nThis method is especially useful when used in conjunction with collections of user IDs returned from\nGET friends/ids and GET followers/ids.\n\nGET users/show is used to retrieve a single user object.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/lookup"
},
"operationId": "users.lookup",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "A comma separated list of screen names, up to 100 are allowed in a single request. You are strongly\nencouraged to use a POST for larger (up to 100 screen names) requests.\n\nExample Values: twitterapi,twitter",
"in": "query",
"name": "screen_name",
"required": false,
"type": "string"
},
{
"description": "A comma separated list of user IDs, up to 100 are allowed in a single request. You are strongly\nencouraged to use a POST for larger requests.\n\nExample Values: 783214,6253282",
"in": "query",
"name": "user_id",
"required": false,
"type": "string"
},
{
"description": "The entities node that may appear within embedded statuses will be disincluded when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
]
},
"/users/report_spam.json": {
"parameters": [],
"post": {
"description": "The user\nspecified in the id is blocked by the authenticated user and reported as a spammer.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/post/report_spam"
},
"operationId": "users.report_spam",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/users/search.json": {
"get": {
"description": "Provides a simple,\nrelevance-based search interface to public user accounts on Twitter. Try querying by topical\ninterest, full name, company name, location, or other criteria. Exact match searches are not\nsupported.\n\nOnly the first 1,000 matching results are available.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/search"
},
"operationId": "users.search",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The search query to run against people search.\n\nExample Values: Twitter%20API",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"description": "Specifies the page of results to retrieve.\n\nExample Values: 3",
"in": "query",
"name": "page",
"required": false,
"type": "string"
},
{
"description": "The number of potential user results to retrieve per page. This value has a maximum of 20.\n\nExample Values: 5",
"in": "query",
"name": "count",
"required": false,
"type": "string"
},
{
"description": "The entities node will be disincluded when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
]
},
"/users/show.json": {
"get": {
"description": "Returns a variety of information\nabout the user specified by the required user_id or screen_name parameter. The author's most recent\nTweet will be returned inline when possible.\n\nGET users/lookup is used to retrieve a bulk collection of user objects.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/show"
},
"operationId": "users.show",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The screen name of the user for whom to return results for. Either a id or screen_name is required\nfor this method.\n\nExample Values: noradio",
"in": "query",
"name": "screen_name",
"required": true,
"type": "string"
},
{
"description": "The ID of the user for whom to return results for. Either an id or screen_name is required for this\nmethod.\n\nExample Values: 12345",
"in": "query",
"name": "user_id",
"required": true,
"type": "string"
},
{
"description": "The entities node will be disincluded when set to false.\n\nExample Values: false",
"in": "query",
"name": "include_entities",
"required": false,
"type": "string"
}
]
},
"/users/suggestions.json": {
"get": {
"description": "Access to Twitter's\nsuggested user list. This returns the list of suggested user categories. The category can be used in\nGET users/suggestions/:slug to get the users in that category.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/suggestions"
},
"operationId": "users.suggestions",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "Restricts the suggested categories to the requested language. The language must be specified by the\nappropriate two letter ISO 639-1 representation. Currently supported languages are provided by the\nGET help/languages API request. Unsupported language codes will receive English (en) results. If you\nuse lang in this request, ensure you also include it when requesting the GET users/suggestions/:slug\nlist.",
"in": "query",
"name": "lang",
"required": false,
"type": "string"
}
]
},
"/users/suggestions/{slug}.json": {
"get": {
"description": "Access the users in\na given category of the Twitter suggested user list. It is recommended that applications cache this\ndata for no more than one hour.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/suggestions/%3Aslug"
},
"operationId": "users.suggestions.slug",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The short name of list or a category\n\nExample Values: twitter",
"in": "path",
"name": "slug",
"required": true,
"type": "string"
},
{
"description": "Restricts the suggested categories to the requested language. The language must be specified by the\nappropriate two letter ISO 639-1 representation. Currently supported languages are provided by the\nGET help/languages API request. Unsupported language codes will receive English (en) results. If you\nuse lang in this request, ensure you also include it when requesting the GET users/suggestions/:slug\nlist.",
"in": "query",
"name": "lang",
"required": false,
"type": "string"
}
]
},
"/users/suggestions/{slug}/members.json": {
"get": {
"description": "Access the\nusers in a given category of the Twitter suggested user list and return their most recent status if\nthey are not a protected user.",
"externalDocs": {
"url": "https://dev.twitter.com/docs/api/1.1/get/users/suggestions/%3Aslug/members"
},
"operationId": "users.suggestionsslugmembers",
"responses": {
"200": {
"description": "Successful Response"
}
}
},
"parameters": [
{
"description": "The short name of list or a category\n\nExample Values: twitter",
"in": "path",
"name": "slug",
"required": true,
"type": "string"
}
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment