[twitter-dev] Re: Draft of List API documentation
Any update on possibly supporting bulk add / remove actions for list memberships? What about the request to fetch all list member IDs in a single call? On Nov 5, 2:01 pm, Marcel Molina mar...@twitter.com wrote: We will support specifying alistby bothidand slug indefinitely. Though we recognize the short comings of finding by slug since they are prone to changing, there are use cases where finding by slug is a lot more convenient. So we'll be supporting both. You never *have* to search by slug :-) On Thu, Nov 5, 2009 at 7:05 AM, Milen mi...@thecosmicmachine.com wrote: I think that all methods which refer to lists should use theid, not the slug. As people have mentioned, the slug can change, so in order to reliably delete alist, you will have to fetch its slug and then issue a delete (or you risk getting an error as the slug might have changed in the meantime). I also tried to page through the statuses in alistbut it seemed that: - next_cursor / previous_cursor had no effect on what was returned - cursor=-1 or anything else didn't have an effect Can anyone shed some light on how we're supposed to do paging? Thanks, M On Oct 16, 7:04 am, Marcel Molina mar...@twitter.com wrote: GET'/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specifiedlist. Parameters: * list_slug: the slug of thelistyou want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml -- Marcel Molina Twitter Platform Teamhttp://twitter.com/noradio
[twitter-dev] Re: Draft of List API documentation
I think it should work for any request. Not sure though. Give it a try ;-) On Thu, Nov 5, 2009 at 5:48 AM, Paul Kinlan paul.kin...@gmail.com wrote: Can you confirm that _method=DELETE only works on POST's and not GET's? Paul 2009/11/3 Marcel Molina mar...@twitter.com A work around for environments that don't support the DELETE request method is, I believe, to pass a parameter called _method with the value DELETE. In other words _method=DELETE. On Mon, Nov 2, 2009 at 11:26 PM, wilfred yau wld991...@gmail.com wrote: It there any method to delete user from list other then using DELETE method? Since I am using Flex (but not Air) to develop third party Twitter Client, There are no way to call DELETE (which only GET and POST). So, will twitter provide POST or GET method API to delete? Thanks On Oct 16, 3:04 pm, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for alist: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a newlistfor the authenticated user. Parameters: * name: the name of thelist. (required) * mode: whether yourlistis public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create thelist Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specifiedlist. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format'Listthe lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specifiedlistowned by the authenticated user. Parameters: * list_slug: the slug of thelistyou want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specifiedlist. Parameters: * list_slug: the slug of thelistyou want the member tweet timeline of. (required) * next/previous_cursor: used to page through results
[twitter-dev] Re: Draft of List API documentation
Status timelines paginate with the page parameters. Social graph resources such as the members in a list use the cursor parameters. We're looking to rationalize all this as we move to new systems but for now there are different interfaces. You use the same mechanisms for the list statuses timeline as you do for all other status timelines. On Thu, Nov 5, 2009 at 7:05 AM, Milen mi...@thecosmicmachine.com wrote: I think that all methods which refer to lists should use the id, not the slug. As people have mentioned, the slug can change, so in order to reliably delete a list, you will have to fetch its slug and then issue a delete (or you risk getting an error as the slug might have changed in the meantime). I also tried to page through the statuses in a list but it seemed that: - next_cursor / previous_cursor had no effect on what was returned - cursor=-1 or anything else didn't have an effect Can anyone shed some light on how we're supposed to do paging? Thanks, M On Oct 16, 7:04 am, Marcel Molina mar...@twitter.com wrote: GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml -- Marcel Molina Twitter Platform Team http://twitter.com/noradio
[twitter-dev] Re: Draft of List API documentation
We will support specifying a list by both id and slug indefinitely. Though we recognize the short comings of finding by slug since they are prone to changing, there are use cases where finding by slug is a lot more convenient. So we'll be supporting both. You never *have* to search by slug :-) On Thu, Nov 5, 2009 at 7:05 AM, Milen mi...@thecosmicmachine.com wrote: I think that all methods which refer to lists should use the id, not the slug. As people have mentioned, the slug can change, so in order to reliably delete a list, you will have to fetch its slug and then issue a delete (or you risk getting an error as the slug might have changed in the meantime). I also tried to page through the statuses in a list but it seemed that: - next_cursor / previous_cursor had no effect on what was returned - cursor=-1 or anything else didn't have an effect Can anyone shed some light on how we're supposed to do paging? Thanks, M On Oct 16, 7:04 am, Marcel Molina mar...@twitter.com wrote: GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml -- Marcel Molina Twitter Platform Team http://twitter.com/noradio
[twitter-dev] Re: Draft of List API documentation
We plan to support this. It's on the todo list. Thanks for the suggestion. On Tue, Nov 3, 2009 at 8:38 PM, Damon Clinkscales sca...@pobox.com wrote: On Fri, Oct 16, 2009 at 1:04 AM, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. Marcel, It would be nice if we could pass in either the user_id or the screen_name, wherever you are currently requiring a Twitter user id. This would be consistent with the rest of the REST API (and quite useful, saving an extra call). Thanks, -damon -- http://twitter.com/damon -- Marcel Molina Twitter Platform Team http://twitter.com/noradio
[twitter-dev] Re: Draft of List API documentation
It there any method to delete user from list other then using DELETE method? Since I am using Flex (but not Air) to develop third party Twitter Client, There are no way to call DELETE (which only GET and POST). So, will twitter provide POST or GET method API to delete? Thanks On Oct 16, 3:04 pm, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for alist: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a newlistfor the authenticated user. Parameters: * name: the name of thelist. (required) * mode: whether yourlistis public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create thelist Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specifiedlist. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format'Listthe lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specifiedlistowned by the authenticated user. Parameters: * list_slug: the slug of thelistyou want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specifiedlist. Parameters: * list_slug: the slug of thelistyou want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specificlistyou can use the new resource. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people.xml ===Listmembers === POST '/:user/:list_slug/members.:format' Add a member to alist. Parameters: * id: the id of the user you want to add as a member to thelist. (required) Usage notes: The :list_slug portion of the request path should be the slug of thelistyou want to add a member to. Supported formats: xml,
[twitter-dev] Re: Draft of List API documentation
It there any method to delete user from list other then using DELETE method? Since I am using Flex (but not Air) to develop third party Twitter Client, There are no way to call DELETE (which only GET and POST). So, will twitter provide POST or GET method API to delete? Thanks I'd like to second this (I asked for it a while back, but never heard anything). There are other environments where DELETE may not be possible to issue as a method. Since the other API deletion methods offer POST as a stub to delete, I think it would be orthogonal to offer it here too. -- personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckai...@floodgap.com -- People are weird. -- Law Order SVU ---
[twitter-dev] Re: Draft of List API documentation
Does Air not support REST properly? For an application to be RESTful it should support GET, POST, PUT and DELETE On Nov 3, 2:14 pm, Cameron Kaiser spec...@floodgap.com wrote: It there any method to delete user from list other then using DELETE method? Since I am using Flex (but not Air) to develop third party Twitter Client, There are no way to call DELETE (which only GET and POST). So, will twitter provide POST or GET method API to delete? Thanks I'd like to second this (I asked for it a while back, but never heard anything). There are other environments where DELETE may not be possible to issue as a method. Since the other API deletion methods offer POST as a stub to delete, I think it would be orthogonal to offer it here too. -- personal:http://www.cameronkaiser.com/-- Cameron Kaiser * Floodgap Systems *www.floodgap.com* ckai...@floodgap.com -- People are weird. -- Law Order SVU ---
[twitter-dev] Re: Draft of List API documentation
A work around for environments that don't support the DELETE request method is, I believe, to pass a parameter called _method with the value DELETE. In other words _method=DELETE. On Mon, Nov 2, 2009 at 11:26 PM, wilfred yau wld991...@gmail.com wrote: It there any method to delete user from list other then using DELETE method? Since I am using Flex (but not Air) to develop third party Twitter Client, There are no way to call DELETE (which only GET and POST). So, will twitter provide POST or GET method API to delete? Thanks On Oct 16, 3:04 pm, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for alist: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a newlistfor the authenticated user. Parameters: * name: the name of thelist. (required) * mode: whether yourlistis public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create thelist Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specifiedlist. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format'Listthe lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specifiedlistowned by the authenticated user. Parameters: * list_slug: the slug of thelistyou want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specifiedlist. Parameters: * list_slug: the slug of thelistyou want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specificlistyou can use the new resource. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people.xml ===Listmembers === POST '/:user/:list_slug/members.:format'
[twitter-dev] Re: Draft of List API documentation
A work around for environments that don't support the DELETE request method is, I believe, to pass a parameter called _method with the value DELETE. In other words _method=DELETE. I'll take a look at that. -- personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckai...@floodgap.com -- If it weren't for Carbon-14, I wouldn't date at all. -- Diesel Sweeties --
[twitter-dev] Re: Draft of List API documentation
I have try this and It's work, thank you =] On Nov 4, 7:16 am, Marcel Molina mar...@twitter.com wrote: A work around for environments that don't support theDELETErequest method is, I believe, to pass a parameter called _method with the value DELETE. In other words _method=DELETE. On Mon, Nov 2, 2009 at 11:26 PM, wilfred yau wld991...@gmail.com wrote: It there any method todeleteuser from list other then usingDELETE method? Since I am using Flex (but not Air) to develop third party Twitter Client, There are no way to call DELETE (which only GET and POST). So, will twitter provide POST or GET method API to delete? Thanks On Oct 16, 3:04 pm, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for alist: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a newlistfor the authenticated user. Parameters: * name: the name of thelist. (required) * mode: whether yourlistis public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create thelist Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specifiedlist. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format'Listthe lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE'/:user/lists/:list_slug.:format' Deletethe specifiedlistowned by the authenticated user. Parameters: * list_slug: the slug of thelistyou want todelete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -XDELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specifiedlist. Parameters: * list_slug: the slug of thelistyou want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a
[twitter-dev] Re: Draft of List API documentation
On Fri, Oct 16, 2009 at 1:04 AM, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. Marcel, It would be nice if we could pass in either the user_id or the screen_name, wherever you are currently requiring a Twitter user id. This would be consistent with the rest of the REST API (and quite useful, saving an extra call). Thanks, -damon -- http://twitter.com/damon
[twitter-dev] Re: Draft of List API documentation
Seconding... In our app, whenever someone enters a screen name they want to add to a list, we have to do two API calls, to first get the id before adding the user to the list. Lee On Tue, Nov 3, 2009 at 11:38 PM, Damon Clinkscales sca...@pobox.com wrote: On Fri, Oct 16, 2009 at 1:04 AM, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. Marcel, It would be nice if we could pass in either the user_id or the screen_name, wherever you are currently requiring a Twitter user id. This would be consistent with the rest of the REST API (and quite useful, saving an extra call). Thanks, -damon -- http://twitter.com/damon
[twitter-dev] Re: Draft of List API documentation
Bulk Add would be huge. Likewise, Bulk Delete. ~ yoni On Oct 20, 4:40 am, Tim Haines tmhai...@gmail.com wrote: Hey Marcel, Another 2 methods I'd like to see added to the list api - a way to get the id's of all current members (all 500), and a way to get the id's of all current subscribers - cursor based with as many per 'page' as possible. Cheers, Tim. On Fri, Oct 16, 2009 at 8:04 PM, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for a list: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_url http://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no... /profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_url http://a1.twimg.com/profile_background_images/18156348/jessica_tiled /profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a new list for the authenticated user. Parameters: * name: the name of the list. (required) * mode: whether your list is public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create the list Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=private http://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specified list. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=public http://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format' List the lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD http://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETE http://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD http://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specific list you can use the new resource. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD http://twitter.com/noradio/lists/tall-people.xml === List members === POST '/:user/:list_slug/members.:format' Add a member to a list. Parameters: * id: the id
[twitter-dev] Re: Draft of List API documentation
By the way, I changed this code to do ten or fifteen of these at a time, using multiple threads, and it’s much, much faster.
[twitter-dev] Re: Draft of List API documentation
Hey Marcel, I expect there were many things cut in Lists v1,... but, that said, I am surprised that Title is essentially the only attribute on the List object that informs the consumer what a Public List is intended to actually represent. There's no bio analog. IMO, this lack of explicit descriptive attributes hamstrings Lists discovery. How about tags, description, list type, etc.? Also,... I understand your need to test out the API right now, but you've created inequity with the private API access. How can folks like us, who have an app that's closely related to Lists, get access to the Lists API (ie create a level playing field)? Thanks, Nipun @nipj @tweeppacks
[twitter-dev] Re: Draft of List API documentation
There are plans to expose a description field eventually. On Wed, Oct 21, 2009 at 9:59 AM, nipunj nip...@gmail.com wrote: Hey Marcel, I expect there were many things cut in Lists v1,... but, that said, I am surprised that Title is essentially the only attribute on the List object that informs the consumer what a Public List is intended to actually represent. There's no bio analog. IMO, this lack of explicit descriptive attributes hamstrings Lists discovery. How about tags, description, list type, etc.? Also,... I understand your need to test out the API right now, but you've created inequity with the private API access. How can folks like us, who have an app that's closely related to Lists, get access to the Lists API (ie create a level playing field)? Thanks, Nipun @nipj @tweeppacks -- Marcel Molina Twitter Platform Team http://twitter.com/noradio
[twitter-dev] Re: Draft of List API documentation
I'll +1 the requests for using the list id instead of the slug (and user id instead of screen name), and for a bulk add feature - I've already asked for a bulk remove feature... Tim. On Sun, Oct 18, 2009 at 5:34 PM, Beier beier...@gmail.com wrote: I'm just wondering why can't we use list 'id' to call API functions such as update, delete, timelines? I found out that list_slug can change when you update list name. This will give 3rd party apps lots of headaches. For example, right now my app has group features and I'm planning to migrate it to list. But if a user changes the list name on twitter.com or another app, then I'll have no idea and the list url I stored in database won't be valid anymore. On Oct 16, 12:04 am, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for a list: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_url http://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.. ./profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_url http://a1.twimg.com/profile_background_images/18156348/jessica_tiled... ./profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a new list for the authenticated user. Parameters: * name: the name of the list. (required) * mode: whether your list is public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create the list Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=private http://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specified list. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=public http://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format' List the lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp:// twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp:// twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u
[twitter-dev] Re: Draft of List API documentation
Bulk add would be great. Here’s a log from doing individual adds. Notice there were many over capacity errors. And that it took about a minute 42 to add about 60 users. If I could do all in one request, perhaps that would help reduce the over capacity errors. I’m enjoying lists. Thanks for the feature. 00:19:04,692 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=52061552 00:19:05,291 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=19757713 ... 00:19:28,647 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=31206658 00:19:28,802 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=7401782 00:19:37,686 TwitterException - Code: 503, Title: Twitter / Over capacity 00:19:37,687 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=12173192 00:19:43,698 TwitterException - Code: 503, Title: Twitter / Over capacity 00:19:43,699 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=6562002 00:19:44,803 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=45456164 ... 00:19:49,219 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=17334287 00:19:56,129 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=45966787 00:20:01,698 TwitterException - Code: 503, Title: Twitter / Over capacity 00:20:01,698 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=17779075 00:20:02,341 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=8858812 ... 00:20:17,320 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=19044984 00:20:17,734 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=648533 00:20:23,526 TwitterException - Code: 503, Title: Twitter / Over capacity 00:20:23,526 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=19142351 00:20:24,144 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=10759032 ... 00:20:42,440 dcbriccetti POST http://api.twitter.com/1/dcbriccetti/scala/members.xml id=19418890
[twitter-dev] Re: Draft of List API documentation
Multiple identical list create requests result in multiple lists, differing in slug/url/full name. Perhaps it should ignore, or return an error? $ curl -u dcbriccetti -d name=Scala http://twitter.com/dcbriccetti/lists.xml ?xml version=1.0 encoding=UTF-8? list id29926/id nameScala/name full_name@dcbriccetti/scala-2/full_name slugscala-2/slug ... $ curl -u dcbriccetti -d name=Scala http://twitter.com/dcbriccetti/lists.xml ?xml version=1.0 encoding=UTF-8? list id29927/id nameScala/name full_name@dcbriccetti/scala-3/full_name slugscala-3/slug ...
[twitter-dev] Re: Draft of List API documentation
Once Twitter posted details of the API in this public forum, that opened the door to our discussing lists publicly (if it wasn’t open already). And I’ve been doing so. I even made a video showing TalkingPuffin all of Robert Scoble’s lists at once on a big screen: http://twitter.com/dcbriccetti/scala Simply enabling the Lists feature for many users and putting a little message on the Web page saying, “please don’t blog about it” is not a good approach. I’m not complaining, just explaining why I feel fine about talking about it. If I enter into an agreement with someone, I honor it, of course.
[twitter-dev] Re: Draft of List API documentation
Sorry, that video is here: http://www.youtube.com/watch?v=NUVDP5sX2rA Copy/paste error.
[twitter-dev] Re: Draft of List API documentation
I just want to say thank you for looping us in early, much appreciated!
[twitter-dev] Re: Draft of List API documentation
Some questions on lists that came from a quick hack I made this morning ( http://github.com/rodbegbie/emulate-with_friends): 1) Are there any restrictions on list sizes? 2) Are there any limits to the number of lists one user can have? 3) Does each add user to list call count towards the API Limit? If so, are there any plans to add an Add in bulk method where multiple IDs can be passed with one call? Cheers, Rod. -- :: Rod Begbie :: http://groovymother.com/ ::
[twitter-dev] Re: Draft of List API documentation
When adding a user to a list, only the numeric id appears to work, eg: curl -k --user epc:pass -d id=7758742 --url https://twitter.com/epc/defrag/members.xml works, but curl -k --user epc:pass -d id=enorlin --url https://twitter.com/epc/defrag/members.xml results in a 500 Internal Server error. I tried swapping userid and screen_name for id and get a 400 Bad Request back: curl -k --user epc:pass -d user_id=enorlin --url https://twitter.com/epc/defrag/members.xml curl -k --user epc:pass -d screen_name=enorlin --url https://twitter.com/epc/defrag/members.xml returns: errorYou must specify a member/error (which is what I'd expect for id=enorlin instead of the 500). Also, if you pass in the authenticating user's numeric ID you get back either a 503 or 502 (bad gateway) error, eg: curl -k --user epc:pass -d id=420363 --url https://twitter.com/epc/defrag/members.xml however it does appear to add the user to the list. Note that once added, the user can't be removed from the list via the current lists UI. If you try to add a user who has blocked the authenticating user, you get a 403 errorYou aren't allowed to add members to this list/ error which is slightly misleading, you're not allowed to add THIS user to the list. If user A has added user B to a list, and user B blocks A, that appears to remove B from A's list permanently, even if the block is removed. Is that working as designed? What are the rules for converting a list's name into the slug/URI? Just a conversion to safe URL characters? Couple of ideas: - allow mass additions of userids/screen names to lists, or maybe 10-20 at a time - allow lists to have a tweet-like tag line (the intent being to describe the list) - don't groan, but allow geotagging of lists. Ok, groan. -- -ed costello
[twitter-dev] Re: Draft of List API documentation
So far, I've observed the limits to be 20 lists per user, 500 users per list. Lee On Oct 17, 5:57 pm, Rod Begbie rodbeg...@gmail.com wrote: Some questions on lists that came from a quick hack I made this morning (http://github.com/rodbegbie/emulate-with_friends): 1) Are there any restrictions on list sizes? 2) Are there any limits to the number of lists one user can have? 3) Does each add user to list call count towards the API Limit? If so, are there any plans to add an Add in bulk method where multiple IDs can be passed with one call? Cheers, Rod. -- :: Rod Begbie ::http://groovymother.com/::
[twitter-dev] Re: Draft of List API documentation
I'm just wondering why can't we use list 'id' to call API functions such as update, delete, timelines? I found out that list_slug can change when you update list name. This will give 3rd party apps lots of headaches. For example, right now my app has group features and I'm planning to migrate it to list. But if a user changes the list name on twitter.com or another app, then I'll have no idea and the list url I stored in database won't be valid anymore. On Oct 16, 12:04 am, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for a list: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a new list for the authenticated user. Parameters: * name: the name of the list. (required) * mode: whether your list is public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create the list Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specified list. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format' List the lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specific list you can use the new resource. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people.xml === List members === POST '/:user/:list_slug/members.:format' Add a member to a list. Parameters: * id: the id of
[twitter-dev] Re: Draft of List API documentation
This is fantastic, I hope to start working on it soon. Do you guys have and idea of possible timespans, only because it takes us two weeks to get things past Apple's appoval process! On Oct 16, 8:04 am, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for a list: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a new list for the authenticated user. Parameters: * name: the name of the list. (required) * mode: whether your list is public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create the list Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specified list. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format' List the lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specific list you can use the new resource. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people.xml === List members === POST '/:user/:list_slug/members.:format' Add a member to a list. Parameters: * id: the id of the user you want to add as a member to the list. (required) Usage notes: The :list_slug portion of the request path should be the slug of the list you want to add a member to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d
[twitter-dev] Re: Draft of List API documentation
Depending on how our performance tests, bug fixes and all the other myriad things go we could be public with the feature as early as a week or two from now. We shall see... On Fri, Oct 16, 2009 at 1:06 AM, Rich rhyl...@gmail.com wrote: This is fantastic, I hope to start working on it soon. Do you guys have and idea of possible timespans, only because it takes us two weeks to get things past Apple's appoval process! On Oct 16, 8:04 am, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for a list: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a new list for the authenticated user. Parameters: * name: the name of the list. (required) * mode: whether your list is public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create the list Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specified list. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format' List the lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specific list you can use the new resource. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people.xml === List members === POST '/:user/:list_slug/members.:format' Add a member to a list. Parameters: * id: the id of the user you want to add as a member
[twitter-dev] Re: Draft of List API documentation
Any chance to get on the private beta testing for adding the feature to my Twitter client or is the API coming later? Ole ;-) On Oct 16, 10:11 am, Marcel Molina mar...@twitter.com wrote: Depending on how our performance tests, bug fixes and all the other myriad things go we could be public with the feature as early as a week or two from now. We shall see... On Fri, Oct 16, 2009 at 1:06 AM, Rich rhyl...@gmail.com wrote: This is fantastic, I hope to start working on it soon. Do you guys have and idea of possible timespans, only because it takes us two weeks to get things past Apple's appoval process! On Oct 16, 8:04 am, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for a list: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a new list for the authenticated user. Parameters: * name: the name of the list. (required) * mode: whether your list is public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create the list Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=privatehttp://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specified list. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=publichttp://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format' List the lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETEhttp://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specific
[twitter-dev] Re: Draft of List API documentation
Thanks, Marcel. I’ve started playing with this and it is working nicely so far. It would be nice to have a list count included in the user object so one doesn’t have to make a separate call for each user to see if that user has lists. Or something else that solves the same problem.
[twitter-dev] Re: Draft of List API documentation
Yeah I'm holding off committing to code until we have the formal API docs and I can see how this works on the live site. On Oct 16, 10:02 am, Andrew Badera and...@badera.us wrote: Any chance of massive UI changes? Unless I'm missing something, the List features is totally unmanageable via the GUI for anyone with more than a couple dozen followers. ∞ Andy Badera ∞ +1 518-641-1280 ∞ This email is: [ ] bloggable [x] ask first [ ] private ∞ Google me:http://www.google.com/search?q=andrew%20badera On Fri, Oct 16, 2009 at 3:04 AM, Marcel Molina mar...@twitter.com wrote: Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. There are a handful of things on our todo lists so don't consider this signed and sealed just yet. You may notice this API is a bit of a departure from the rest of the API. It's a bit more, errr, REST than the rest. First off, here's the current payload for a list: ?xml version=1.0 encoding=UTF-8? list id1416/id nametall people/name full_name@noradio/tall-people/full_name slugtall-people/slug subscriber_count0/subscriber_count member_count3/member_count uri/noradio/tall-people/uri modepublic/mode user id3191321/id nameMarcel Molina/name screen_namenoradio/screen_name locationSan Francisco, CA/location descriptionEngineer at Twitter on the @twitterapi team, obsessed with rock climbing amp; running. In a past life I was a member of the Rails Core team./description profile_image_urlhttp://a3.twimg.com/profile_images/53473799/marcel-euro-rails-conf_no.../profile_image_url urlhttp://project.ioni.st/url protectedfalse/protected followers_count40059/followers_count profile_background_color9AE4E8/profile_background_color profile_text_color33/profile_text_color profile_link_color0084B4/profile_link_color profile_sidebar_fill_colorDDFFCC/profile_sidebar_fill_color profile_sidebar_border_colorBDDCAD/profile_sidebar_border_color friends_count354/friends_count created_atMon Apr 02 07:47:28 + 2007/created_at favourites_count131/favourites_count utc_offset-28800/utc_offset time_zonePacific Time (US amp; Canada)/time_zone profile_background_image_urlhttp://a1.twimg.com/profile_background_images/18156348/jessica_tiled/profile_background_image_url profile_background_tiletrue/profile_background_tile statuses_count3472/statuses_count notificationsfalse/notifications geo_enabledtrue/geo_enabled verifiedfalse/verified followingfalse/following /user /list === Lists === POST '/:user/lists.:format' Creates a new list for the authenticated user. Parameters: * name: the name of the list. (required) * mode: whether your list is public of private. Values can be 'public' or 'private'. Public by default if not specified. (optional) Usage notes: :user in the url should be the screen name of the user making the request to create the list Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=tall peoplemode=private http://twitter.com/noradio/lists.xml POST/PUT '/:user/lists/:list_slug.:format' Updates the specified list. Takes the same parameters as the create resource at POST '/:user/lists.:format' (:name and :mode). Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -d name=giantsmode=public http://twitter.com/noradio/lists/tall-people.xml GET '/:user/lists.:format' Lists your lists. Supported format: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists.xml GET '/:user/lists/memberships.:format' List the lists the specified user has been added to. Supported formats: xml, json e.g. curl -u USERNAME:PASSWORDhttp://twitter.com/noradio/lists/memberships.xml DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETE http://twitter.com/noradio/lists/tall-people.xml GET '/:users/lists/:list_slug/statuses.:format' Show tweet timeline for members of the specified list. Parameters: * list_slug: the slug of the list you want the member tweet timeline of. (required) * next/previous_cursor: used to page through results (optional) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD http://twitter.com/noradio/lists/tall-people/statuses.xml GET '/:users/lists/:list_slug.:format' Show a specific list you can use the new resource. Supported formats: xml, json e.g. curl -u
[twitter-dev] Re: Draft of List API documentation
If anyone’s interested, here’s the commit for TalkingPuffin for preliminary support for displaying lists: http://github.com/dcbriccetti/talking-puffin/commit/ea86bfb523d7aea98df6ebae52893c16f53fa542 A picture of the feature: http://www.flickr.com/photos/dcbriccetti/4015781495/
[twitter-dev] Re: Draft of List API documentation
Hey folks. As some of you have likely read we're starting to do some private beta testing of our new lists feature. We're not quite ready to open it up to everyone but we've made some headway on the API and wanted to share some details of what we've got so far. Thanks for the list API description. I like the general appearance. One request: DELETE '/:user/lists/:list_slug.:format' Delete the specified list owned by the authenticated user. Parameters: * list_slug: the slug of the list you want to delete. (required) Supported formats: xml, json e.g. curl -u USERNAME:PASSWORD -X DELETE http://twitter.com/noradio/lists/tall-people.xml This is slightly pedantic but currently the entirety of the API can be accessed with GET and POST methods, even tweet and DM deletion (DELETE is supported facultatively but not obligatorily), which happily allows old clients like Lynx to still be used for API access. Could a delete stub method via POST be added to the API to maintain consistency? It would make sense to mandate a full and proper REST implementation using the full breadth of HTTP methods in API v2, but I think for consistency there should be a POST-accessible delete method at least in this implementation unless Lists API is going to be an API v2 feature only. Otherwise, I am very much looking forward to supporting lists in TTYtter (and, when you get around to the next wave, trying it out on the Web). -- personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckai...@floodgap.com -- When in doubt, use brute force. -- Ken Thompson
[twitter-dev] Re: Draft of List API documentation
This is great. Will there be some mechanism to keep track on new and changed lists coming from the Twitter community, like a public timeline for list creation? Or is the only way to become aware of lists through the API to start checking users for their list creation/inclusion?
[twitter-dev] Re: Draft of List API documentation
Hi Marcel - First, thanks for the preview, this is very helpful. Second, a question: When retrieving an existing timeline such as / statuses/friends_timeline, or a list of friends from /statuses/ friends, will there be any indication in the output as to which list (s) the authenticated user is subscribed to that each friend is on? The use case I'm thinking of is list management from the timeline interface, where an end user might be able to see right there which list(s) a friend is on, or (more interestingly) which friends aren't on any of their lists yet. Thanks...