The Chute API enables you to add media capture, management, metadata and publishing to any app or site.

For simple endpoint listing see http://api.getchute.com/v2

Client Libraries

To help you get started quickly, Chute provides client libraries for a number of favorite languages. If you don’t see your language, you’re welcome to write a library and let us know, we’ll put it on the list!

Some older libraries support the deprecated version (V1) of the API. We’re working on updating them to V2.

Next 

Overview 

All API access is at https://api.getchute.com/v2. All data is sent and received as JSON.

Requests

All API methods are described by a HTTP method (e.g. GET, POST, PUT, DELETE) and a URL endpoint. For example:

GET /albums/{album}/assets

Parameters in the url are enclosed by {} and are required. The above URL requires you to specify an {album}.

If additional data is required - e.g. to create an album - it must be supplied in the request body as a JSON object and the Content-Type: application/json header needs to be set.

curl -XPOST 'http://api.getchute.com/v2/albums?oauth_token=XYZ' -d '{"album": {"name": "My new album"}}' -H 'Content-Type: application/json'

Responses

Responses are returned in JSON format; every response will have the Content-Type: application/json header set.

All timestamps are returned in ISO 8601 format, YYYY-MM-DDTHH:MM:SSZ.

Response Status

All responses from the API use a standard HTTP status code. Common status codes you will see while using the API are:

  • 200 OK - the request completed successfully (POST calls return 201 instead)
  • 201 Created - the request was successful and a resource was created
  • 204 Co Content - the request was successful but there is no representation to return (i.e. the response is empty)
  • 400 Bad Request - the request could not be understood or was missing required parameters
  • 401 Unauthorized - authentication failed or user doesn’t have permissions for requested operation
  • 403 Forbidden - access denied, currently authorized user doesn’t have access to the resource
  • 404 Not Found - resource was not found
  • 405 Method Not Allowed - requested method is not supported for resource
  • 5XX Server Error - something went wrong serverside. Likely a transient issue, but if you get repeated 5XX errors, please contact support.

Response Body

All responses will include a JSON object in the body. The JSON contains two or three keys depending on if the resource you are working with supports pagination.

{
	"response": { ... },
	"data": { ... },  // or "data": [ ... ] if data is an array
	"pagination": { ... }  // only if supports pagination
}
  • response - included in every response, this is a JSON object containing response headers. It includes the title of the API endpoint, the version of the api, the response status code, the href of the url requested, and the current api_limits for your application.

      "response": {
    		"title": "Album Listing",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums"
    	}
  • data - included in every response, this is the data requested or updated by the response. This could be an object (e.g. a single album) or an array (e.g. a list of assets in an album). Blank fields are included as null instead of being omitted.

  • pagination- included only if resource supports pagination, contains information necessary to request pages of results. If you implement paging, use the next_page/previous_page URLs instead of trying to construct the URL yourself — some paginations use filters instead of page param, which performs much faster on subsequent pages and guarantees to always return distinct set of assets.

      "pagination": {
    		"current_page": 1,
    		"next_page": "http://api.getchute.com/v2/albums?page=2",
    		"previous_page": null,
    		"per_page": 5
    	}

    or

      "pagination": {
    		"current_page": 1,
    		"next_page": "http://api.getchute.com/v2/albums/abcqsrlx/assets?max_id=736340668",
    		"previous_page": "http://api.getchute.com/v2/albums/abcqsrlx/assets?since_id=1021762798",
    		"per_page": 5
    	}

    The pagination object includes:

    • current_page - current page number
    • next_page - URL to retrieve next page (if null, no more pages available)
    • previous_page - URL to retrieve previous page (if null, you are at the beginning already)
    • per_page - items returned per page, defaults to 5
Next  Previous

Authentication 

OAuth2 Overview

The Chute API uses OAuth2 for authentication. OAuth2 is a protocol that lets external apps request authorization to private details in a user’s Chute account without getting their password. This is preferred over Basic Authentication because tokens can be limited to specific types of data, and can be revoked by users at any time.

All developers need to register their application before getting started. A registered OAuth application is assigned a unique Client ID and Client Secret, which are used to acquire access tokens for users.

Once you have acquired an access token for a user, you should include that token in each request a user makes.

Authentication Flow

This is a description of the OAuth flow from 3rd party clients in case you want to enable user creation and sign on via Chute.

0. Register your application

If you haven’t yet, go to http://apps.getchute.com to get your client_id and client_secret.

1. Redirect users to request Chute access

Redirect users to https://getchute.com/auth/:account_type?client_id=:client_id.

  • :account_type should be one of the following:

    • chute
    • facebook
    • twitter
    • google
    • trendabl
    • flickr
    • instagram
    • foursquare
  • :client_id is the client ID you received from Chute when you registered.

From here, Chute will walk the user through authenticating with the method you have requested.

2. Chute redirects back to your site

After completing authentication, Chute will redirect the user to the REDIRECT_URL you configured for your Chute app. This URL will include a CODE parameter that you will need.

3. Exchange the CODE for an Access Token

Finally, your app must exchange the CODE parameter for an Access Token by making a GET to the following URL:

https://getchute.com/oauth/access_token

This GET request must include the following query string parameters:

  • client_id - The client ID you received from Chute
  • client_secret - the client secret you received from Chute
  • code - the code your retrieved from the url in step #2

4. Make authenticated requests

You can pass the authorization token into a request in one of three ways (replace XYZ with your user’s access token):

  • OAuth2 Token sent in the header:

    • Header: Authorization: Bearer XYZ
    • Header: Authorization: OAuth XYZ
  • OAuth Token sent as a parameter in the URL:

    • https://api.getchute.com/v2/...?bearer_token=XYZ
    • https://api.getchute.com/v2/...?oauth_token=XYZ
  • OAuth Token sent as a key in the payload JSON:

    • {“bearer_token: XYZ}
    • {“oauth_token”: XYZ}

Use the newer variant with bearer whenever possible.

Note: When you are logged in with Chute account (e.g. to the admin), the API is able to authorize requests using information in your session. You are therefore able to e.g. fetch a list of albums without specifying the token by any of the methods above. However, you should not depend on this functionality in your production apps.

Public vs Private access

Because you very often need to show albums and assets in public displays, the shortcut gives your users restricted (read-only with some exceptions like voting) access to the data. You can therefore retrieve details of an album with shortcut anGkclym publicly using http://api.getchute.com/v2/albums/anGkclym. However, to update the album, you’d need to use its id and fully authorize the request https://api.getchute.com/v2/albums/2474316?oauth_token=XYZ.

More Information

It can be a little tricky to get started with OAuth. Here are a few links that might be of help:

Next  Previous

Album 

An Album is a collection of assets.

The old name for an album is chute. Some older docs may still use this term.

Album attributes:

  • id integer - unique ID of the album in the system
  • shortcut string - public unique identifier of the album, can be used to retrieve album data without authentication, see Public vs Private access for details.
  • name string - album name
  • description text - longer text about the album
  • user object - owner of the album
  • moderate_media boolean - flag which marks if the media have to be moderated by an admin before being displayed. Assets to be moderated are available from the Assets#Inbox endpoint.
  • moderate_comments boolean - flag which marks if the comments need to be moderated by an admin before beign displayed.
  • parent_id integer - albums can be nested similarly to folders on your file system. parent_id gives you the id of the parent album. Child albums can be fetched using Album#albums.

Create album 

Create albumPOST /albums{?oauth_token}
  • Parameters
  • oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  create albumsToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ",
    	"album": {
    		"name": "Name-33",
    		"permission_view": "2",
    		"parent_id": "3204"
    	}
    }
    
  • Response  201Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Album Details",
    		"version": 2,
    		"code": 201,
    		"href": "http://api.getchute.com/v2/albums"
    	},
    	"data": {
    		"id": 3207,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/albums/3207?oauth_token=XYZ",
    				"title": "Album Details"
    			},
    			"assets": {
    				"href": "http://api.getchute.com/v2/albums/3207/assets?oauth_token=XYZ",
    				"title": "Asset Listing"
    			},
    			"parcels": {
    				"href": "http://api.getchute.com/v2/albums/3207/parcels?oauth_token=XYZ",
    				"title": "Parcel Listing"
    			}
    		},
    		"created_at": "2014-02-05T23:30:45Z",
    		"updated_at": "2014-02-05T23:30:45Z",
    		"shortcut": "PJhmcg",
    		"name": "Name-33",
    		"description": null,
    		"user": {
    			"id": 14903,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/users/14903?oauth_token=XYZ",
    					"title": "User Details"
    				}
    			},
    			"created_at": "2014-02-05T23:30:45Z",
    			"updated_at": "2014-02-05T23:30:45Z",
    			"name": null,
    			"username": null,
    			"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    			"profile": null
    		},
    		"moderate_media": false,
    		"moderate_comments": false,
    		"parent_id": 3204
    	}
    }
    

List your albums 

List your albumsGET /albums{?include,oauth_token}
  • Parameters
  • include
    string (optional) Example: asset

    related objects to be included in the response, currently only asset is available

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Album Listing",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums?oauth_token=XYZ"
    	},
    	"data": [
    		{
    			"id": 3220,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/albums/3220?oauth_token=XYZ",
    					"title": "Album Details"
    				},
    				"assets": {
    					"href": "http://api.getchute.com/v2/albums/3220/assets?oauth_token=XYZ",
    					"title": "Asset Listing"
    				},
    				"parcels": {
    					"href": "http://api.getchute.com/v2/albums/3220/parcels?oauth_token=XYZ",
    					"title": "Parcel Listing"
    				}
    			},
    			"created_at": "2014-02-05T23:30:46Z",
    			"updated_at": "2014-02-05T23:30:46Z",
    			"shortcut": "PWfjst",
    			"name": "Name-46",
    			"description": null,
    			"user": {
    				"id": 14907,
    				"links": {
    					"self": {
    						"href": "http://api.getchute.com/v2/users/14907?oauth_token=XYZ",
    						"title": "User Details"
    					}
    				},
    				"created_at": "2014-02-05T23:30:45Z",
    				"updated_at": "2014-02-05T23:30:45Z",
    				"name": null,
    				"username": null,
    				"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    				"profile": null
    			},
    			"moderate_media": false,
    			"moderate_comments": false,
    			"parent_id": 3219,
    			"custom_id": "52f2c9a65014697759000021_Custom-id-44"
    		},
    		{
    			"id": 3219,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/albums/3219?oauth_token=XYZ",
    					"title": "Album Details"
    				},
    				"assets": {
    					"href": "http://api.getchute.com/v2/albums/3219/assets?oauth_token=XYZ",
    					"title": "Asset Listing"
    				},
    				"parcels": {
    					"href": "http://api.getchute.com/v2/albums/3219/parcels?oauth_token=XYZ",
    					"title": "Parcel Listing"
    				}
    			},
    			"created_at": "2014-02-05T23:30:46Z",
    			"updated_at": "2014-02-05T23:30:46Z",
    			"shortcut": "PVkets",
    			"name": "Name-45",
    			"description": null,
    			"user": {
    				"id": 14907,
    				"links": {
    					"self": {
    						"href": "http://api.getchute.com/v2/users/14907?oauth_token=XYZ",
    						"title": "User Details"
    					}
    				},
    				"created_at": "2014-02-05T23:30:45Z",
    				"updated_at": "2014-02-05T23:30:45Z",
    				"name": null,
    				"username": null,
    				"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    				"profile": null
    			},
    			"moderate_media": false,
    			"moderate_comments": false,
    			"parent_id": null,
    			"custom_id": "52f2c9a65014697759000021_Custom-id-43",
    			"images_count": 0
    		}
    	],
    	"pagination": {
    		"current_page": 1,
    		"next_page": null,
    		"previous_page": null,
    		"first_page": "http://api.getchute.com/v2/albums?oauth_token=XYZ",
    		"per_page": 5
    	}
    }
    

Fetch album details 

Fetch album detailsGET /albums/{album}{?include}
  • Parameters
  • album
    string (required) Example: 1abc

    album id or shortcut

    include
    string (optional) Example: asset

    related objects to be included in the response, currently only asset is available

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Album Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Qmyoqg?oauth_token=XYZ"
    	},
    	"data": {
    		"id": 3246,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/albums/Qmyoqg?oauth_token=XYZ",
    				"title": "Album Details"
    			},
    			"assets": {
    				"href": "http://api.getchute.com/v2/albums/Qmyoqg/assets?oauth_token=XYZ",
    				"title": "Asset Listing"
    			},
    			"parcels": {
    				"href": "http://api.getchute.com/v2/albums/Qmyoqg/parcels?oauth_token=XYZ",
    				"title": "Parcel Listing"
    			}
    		},
    		"created_at": "2014-02-05T23:30:46Z",
    		"updated_at": "2014-02-05T23:30:46Z",
    		"shortcut": "Qmyoqg",
    		"name": "Name-73",
    		"description": null,
    		"user": {
    			"id": 14919,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/users/14919?oauth_token=XYZ",
    					"title": "User Details"
    				}
    			},
    			"created_at": "2014-02-05T23:30:46Z",
    			"updated_at": "2014-02-05T23:30:46Z",
    			"name": null,
    			"username": null,
    			"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    			"profile": null
    		},
    		"moderate_media": false,
    		"moderate_comments": false,
    		"parent_id": null,
    		"custom_id": "52f2c9a65014697759000033_Custom-id-70",
    		"images_count": 0
    	}
    }
    

Fetch child albums 

Fetch child albumsGET /albums/{album}/albums{?oauth_token}

Albums can be organized as nested similarly to folders in file system.

  • Parameters
  • album
    string (required) Example: 1abc

    parent album id or shortcut

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Album Listing",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/3294/albums?oauth_token=XYZ"
    	},
    	"data": [
    		{
    			"id": 3295,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/albums/3295?oauth_token=XYZ",
    					"title": "Album Details"
    				},
    				"assets": {
    					"href": "http://api.getchute.com/v2/albums/3295/assets?oauth_token=XYZ",
    					"title": "Asset Listing"
    				},
    				"parcels": {
    					"href": "http://api.getchute.com/v2/albums/3295/parcels?oauth_token=XYZ",
    					"title": "Parcel Listing"
    				}
    			},
    			"created_at": "2014-02-05T23:30:48Z",
    			"updated_at": "2014-02-05T23:30:48Z",
    			"shortcut": "R9dtes",
    			"name": "Name-125",
    			"description": null,
    			"user": {
    				"id": 14944,
    				"links": {
    					"self": {
    						"href": "http://api.getchute.com/v2/users/14944?oauth_token=XYZ",
    						"title": "User Details"
    					}
    				},
    				"created_at": "2014-02-05T23:30:48Z",
    				"updated_at": "2014-02-05T23:30:48Z",
    				"name": null,
    				"username": null,
    				"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    				"profile": null
    			},
    			"moderate_media": false,
    			"moderate_comments": false,
    			"parent_id": 3294,
    			"custom_id": "52f2c9a85014697759000056_Custom-id-119"
    		}
    	],
    	"pagination": {
    		"current_page": 1,
    		"next_page": null,
    		"previous_page": null,
    		"first_page": "http://api.getchute.com/v2/albums/3294/albums?oauth_token=XYZ",
    		"per_page": 5
    	}
    }
    

Update album details 

Update album detailsPUT /albums/{album}{?oauth_token}
  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  updating albumToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ",
    	"album": {
    		"name": "diff"
    	}
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Album Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/3315"
    	},
    	"data": {
    		"id": 3315,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/albums/3315?oauth_token=XYZ",
    				"title": "Album Details"
    			},
    			"assets": {
    				"href": "http://api.getchute.com/v2/albums/3315/assets?oauth_token=XYZ",
    				"title": "Asset Listing"
    			},
    			"parcels": {
    				"href": "http://api.getchute.com/v2/albums/3315/parcels?oauth_token=XYZ",
    				"title": "Parcel Listing"
    			}
    		},
    		"created_at": "2014-02-05T23:30:49Z",
    		"updated_at": "2014-02-05T23:30:49Z",
    		"shortcut": "Rtatzg",
    		"name": "diff",
    		"description": null,
    		"user": {
    			"id": 14951,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/users/14951?oauth_token=XYZ",
    					"title": "User Details"
    				}
    			},
    			"created_at": "2014-02-05T23:30:49Z",
    			"updated_at": "2014-02-05T23:30:49Z",
    			"name": null,
    			"username": null,
    			"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    			"profile": null
    		},
    		"moderate_media": false,
    		"moderate_comments": false,
    		"parent_id": null,
    		"custom_id": "52f2c9a95014697759000064_Custom-id-139",
    		"images_count": 0
    	}
    }
    

Add assets to album 

Add assets to albumPOST /albums/{album}/add_assets{?asset_ids,oauth_token}

Deprecated: Use asset import or asset move/copy instead.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset_ids
    list of integers (required) Example: 123423,125343

    list of asset ids; can be as a URL param or in the request body

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  add assetsToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ",
    	"asset_ids": [
    		"6571"
    	]
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: text/html; charset=utf-8

Remove assets from album 

Remove assets from albumPOST /albums/{album}/remove_assets{?asset_ids,oauth_token}
  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset_ids
    list of integers (required) Example: 123423,125343

    list of asset ids; can be as a URL param or in the request body

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  remove assetsToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ",
    	"asset_ids": [
    		"6572"
    	]
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: text/html; charset=utf-8

Delete album 

Delete albumDELETE /albums/{album}{?oauth_token}
  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  deleting albumToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ"
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Album Deleted",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/3411"
    	}
    }
    
Next  Previous

Asset 

An Asset is any photo or video file you’d like to manage with Chute.

Assets are always accessed through album to which they belong.

Asset attributes:

  • id {Integer} - unique ID of the asset in the system
  • shortcut {String} - public unique identifier of the asset, can be used to retrieve asset data without authentication, see Public vs Private access for details.
  • url {URI} - original image URL
  • thumbnail {URI} - thumbnail image (100x100)
  • type - asset type, either image or video
  • caption {String} - as provided by the user
  • dimensions {Object} - size of the original image
    • width {Integer}
    • height {Integer}
  • location {Object} - geolocation data where the photo was taken, if available
    • latitude {Float}
    • longitude {Float}
  • source {Object} - where does the asset come from

Fetch album assets 

Fetch album assetsGET /albums/{album}/assets{?asset_ids,type,from_time,to_time,username,tags,source,service,lat,lng,radius,sort,page,per_page}

You can filter the assets by various parameters. All filters are applied together (AND).

  • Parameters
  • album
    string (required) Example: 1abc

    album id or shortcut

    asset_ids
    list of integers/strings (optional) Example: 12345,23456

    list of asset ids or shortcuts to be returned. Example: ?asset_ids=12345,23456 or ?asset_ids=abcde,fghij.

    type
    string (optional) Example: image

    only return image or video assets

    from_time
    integer (optional) Example: 1377357058

    Only return assets that were created since given time (exclusive). from_time and to_time can be combined in one query. When sort=time, then from_time/to_time are automatically used for continuous search.

    Examples:

    • ?from_time=1377357058 returns assets created_at > Sat, 24 Aug 2013 15:10:58 UTC
    • ?to_time=1379430721 returns assets created_at <= Tue, 17 Sep 2013 15:12:01 UTC
    • ?from_time=1377357058&to_time=1379430721 returns assets created between the two times
    to_time
    integer (optional) Example: 1379430721

    Only return assets that were created before given time (inclusive). See from_time.

    username
    string (optional) Example: getchute

    Only return assets by given user.

    tags
    list of strings (required) Example: holiday,photochallenge

    List of tags associated with the asset, can be hashtags or arbitrary Tags. # is not required and is stripped automatically.

    source
    string (optional) Example: upload

    how the asset got into the system, can be either upload (uploaded via Media Chooser) or import (imported from social network)

    service
    string (optional) Example: instagram

    one of instagram, facebook, flickr, google, twitter, rss, uploaded, trendabl, skydrive, googledrive, dropbox

    lat
    float (optional) Example: 37.40

    Find assets that have location near the given lat/lng. When used, both lat and lng are required.

    lng
    float (optional) Example: 122.20

    see lat

    radius
    integer (optional) Example: 1000

    Max distance from lat and lng in meters. Defaults to 5000.

    sort
    string (optional) Example: id

    Sort assets by:

    • default sort - if sort param is not given, assets are sorted by id, or, if the album is sorted manually, by position
    • id - by asset id. Note that this id is generated when a relationship between asset and album is created, so if you are copying an asset, then a new id would be created, placing the asset at the beginning of the album, regardless of the the original asset’s id.
    • time - by time of creation
    • position - if assets in the album are sorted manually
    • votes - by votes
    • hearts - by hearts
    • hot - uses Reddit ranking algorithm, new and hearted assets are first in the results
    page
    integer (optional) Example: 1

    Paging using offset. You should never set this manually and instead use next_page/previous_page from the Pagination object.

    per_page
    integer (optional) Example: 5

    Number of assets returned per page. Defaults to 5.

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Asset Listing",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Xtgojy/assets"
    	},
    	"data": [
    		{
    			"id": 6851,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mveviu",
    					"title": "Asset Details"
    				},
    				"exif": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mveviu/exif",
    					"title": "Exif Details"
    				},
    				"geo": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mveviu/geo",
    					"title": "Geo Details"
    				},
    				"heart": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mveviu/hearts",
    					"title": "Hearts"
    				},
    				"vote": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mveviu/votes",
    					"title": "Votes"
    				}
    			},
    			"created_at": "2014-02-13T16:47:26Z",
    			"updated_at": "2014-02-13T16:47:26Z",
    			"shortcut": "1Mveviu",
    			"type": "image",
    			"caption": "Name-50",
    			"location": null,
    			"source": {
    				"source": "chute",
    				"source_id": null,
    				"service": null,
    				"import_id": null,
    				"import_url": null,
    				"source_url": null
    			},
    			"service": "uploaded",
    			"username": "ctide.",
    			"thumbnail": "http://getchute.com/m/1Mveviu/c/3687/75x75",
    			"url": "http://getchute.com/m/1Mveviu/c/3687",
    			"dimensions": {
    				"width": null,
    				"height": null
    			},
    			"user": {
    				"id": 15627,
    				"links": {
    					"self": {
    						"href": "http://api.getchute.com/v2/users/15627",
    						"title": "User Details"
    					}
    				},
    				"created_at": "2014-02-13T16:47:26Z",
    				"updated_at": "2014-02-13T16:47:26Z",
    				"name": null,
    				"username": null,
    				"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    				"profile": null
    			},
    			"votes": 0,
    			"hearts": 584,
    			"tags": [
    				"tagged"
    			],
    			"chute_asset_id": "4876"
    		},
    		{
    			"id": 6848,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mshroe",
    					"title": "Asset Details"
    				},
    				"exif": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mshroe/exif",
    					"title": "Exif Details"
    				},
    				"geo": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mshroe/geo",
    					"title": "Geo Details"
    				},
    				"heart": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mshroe/hearts",
    					"title": "Hearts"
    				},
    				"vote": {
    					"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mshroe/votes",
    					"title": "Votes"
    				}
    			},
    			"created_at": "2014-02-13T16:47:26Z",
    			"updated_at": "2014-02-13T16:47:26Z",
    			"shortcut": "1Mshroe",
    			"type": "image",
    			"caption": "Name-49",
    			"location": {
    				"latitude": "-36.88155833",
    				"longitude": "174.70791111"
    			},
    			"source": {
    				"source": "chute",
    				"source_id": null,
    				"service": null,
    				"import_id": null,
    				"import_url": null,
    				"source_url": null
    			},
    			"service": "uploaded",
    			"username": null,
    			"thumbnail": "http://getchute.com/m/1Mshroe/c/3687/75x75",
    			"url": "http://getchute.com/m/1Mshroe/c/3687",
    			"dimensions": {
    				"width": null,
    				"height": null
    			},
    			"user": {
    				"id": 15619,
    				"links": {
    					"self": {
    						"href": "http://api.getchute.com/v2/users/15619",
    						"title": "User Details"
    					}
    				},
    				"created_at": "2014-02-13T16:47:26Z",
    				"updated_at": "2014-02-13T16:47:26Z",
    				"name": null,
    				"username": null,
    				"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    				"profile": null
    			},
    			"votes": 0,
    			"hearts": 0,
    			"tags": [
    
    	],
    	"chute_asset_id": "4875",
    	"video_url": "http://video.com/url",
    	"iframe_url": "http://iframe.com/url"
    },
    {
    	"id": 6850,
    	"links": {
    		"self": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mupojn",
    			"title": "Asset Details"
    		},
    		"exif": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mupojn/exif",
    			"title": "Exif Details"
    		},
    		"geo": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mupojn/geo",
    			"title": "Geo Details"
    		},
    		"heart": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mupojn/hearts",
    			"title": "Hearts"
    		},
    		"vote": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mupojn/votes",
    			"title": "Votes"
    		}
    	},
    	"created_at": "2014-02-13T16:47:26Z",
    	"updated_at": "2014-02-13T16:47:26Z",
    	"shortcut": "1Mupojn",
    	"type": "image",
    	"caption": "Name-48",
    	"location": null,
    	"source": {
    		"source": "chute",
    		"source_id": null,
    		"service": null,
    		"import_id": null,
    		"import_url": null,
    		"source_url": null
    	},
    	"service": "uploaded",
    	"username": "ctide.",
    	"thumbnail": "http://getchute.com/m/1Mupojn/c/3687/75x75",
    	"url": "http://getchute.com/m/1Mupojn/c/3687",
    	"dimensions": {
    		"width": null,
    		"height": null
    	},
    	"user": {
    		"id": 15623,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/users/15623",
    				"title": "User Details"
    			}
    		},
    		"created_at": "2014-02-13T16:47:26Z",
    		"updated_at": "2014-02-13T16:47:26Z",
    		"name": null,
    		"username": null,
    		"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    		"profile": null
    	},
    	"votes": 0,
    	"hearts": 0,
    	"tags": [
    
    	],
    	"chute_asset_id": "4874"
    },
    {
    	"id": 6849,
    	"links": {
    		"self": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mtmltr",
    			"title": "Asset Details"
    		},
    		"exif": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mtmltr/exif",
    			"title": "Exif Details"
    		},
    		"geo": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mtmltr/geo",
    			"title": "Geo Details"
    		},
    		"heart": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mtmltr/hearts",
    			"title": "Hearts"
    		},
    		"vote": {
    			"href": "http://api.getchute.com/v2/albums/Xtgojy/assets/1Mtmltr/votes",
    			"title": "Votes"
    		}
    	},
    	"created_at": "2014-02-13T16:47:26Z",
    	"updated_at": "2014-02-13T16:47:26Z",
    	"shortcut": "1Mtmltr",
    	"type": "image",
    	"caption": "Name-47",
    	"location": null,
    	"source": {
    		"source": "chute",
    		"source_id": null,
    		"service": null,
    		"import_id": null,
    		"import_url": null,
    		"source_url": null
    	},
    	"service": "uploaded",
    	"username": null,
    	"thumbnail": "http://getchute.com/m/1Mtmltr/c/3687/75x75",
    	"url": "http://getchute.com/m/1Mtmltr/c/3687",
    	"dimensions": {
    		"width": null,
    		"height": null
    	},
    	"user": {
    		"id": 15620,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/users/15620",
    				"title": "User Details"
    			}
    		},
    		"created_at": "2014-02-13T16:47:26Z",
    		"updated_at": "2014-02-13T16:47:26Z",
    		"name": null,
    		"username": null,
    		"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    		"profile": null
    	},
    	"votes": 0,
    	"hearts": 794,
    	"tags": [
    		"tagged"
    	],
    	"chute_asset_id": "4873"
    }
    	],
    	"pagination": {
    		"current_page": 1,
    		"next_page": null,
    		"previous_page": "http://api.getchute.com/v2/albums/Xtgojy/assets?since_id=4876",
    		"per_page": 5
    	}
    }
    

EXIF data of a photo asset 

EXIF data of a photo assetGET /albums/{album}/assets/{asset}/exif

data object is only present when there is exif info available, you need to check for its existence before parsing it out. The EXIF data will vary based on the original photo.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Exif Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/XKvzdu/assets/1Nyqwob/exif?oauth_token=XYZ"
    	},
    	"data": {
    		"Camera": "Nokia N95",
    		"Altitude": "61",
    		"GPS Date": "0000:01:01",
    		"Latitude": "S 36° 52' 53.61\"",
    		"Longitude": "E 174° 42' 28.48\"",
    		"GPS Time (atomic clock)": "0/1, 0/1, 0/1"
    	}
    }
    

Import assets 

Import assetsPOST /albums/{album}/assets/import{?urls,shortcuts,instagram_ids,oauth_token}

Import from urls, from instagram, or by copying using a shortcut.

  • Parameters
  • album
    integer (required) Example: 1

    album id or shortcut

    urls
    string (optional) Example: http%3A%2F%2Ffarm5.static.flickr.com%2F4138%2F4758470218_b0f3cf0d44.jpg

    import assets from given list of urls. Can be passed in the request body or query param.

    shortcuts
    string (optional) Example: 123abc,456uio

    list of existing asset shortcuts. Deprecated: Use urls or instagram_ids, or move/copy endpoint instead.

    instagram_ids
    string (optional) Example: 123456789,112233445

    list of instagram ids. Can be passed in the request body or query param.

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  import new assets using urls and attach custom user and infoToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"urls": [
    		"http://getchute.com/media/1O2hkbp"
    	],
    	"user_info": {
    		"name": "name",
    		"username": "username",
    		"profile": {
    			"First Name": "UserFirstName"
    		}
    	}
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Imported Assets",
    		"warning": "Deprecated route: This will be disabled soon. Please include an album in the route to access an asset.",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/assets/import?oauth_token=XYZ"
    	},
    	"data": [
    		{
    			"id": 6950,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/assets/6950?oauth_token=XYZ",
    					"title": "Asset Details"
    				},
    				"exif": {
    					"href": "http://api.getchute.com/v2/assets/6950/exif?oauth_token=XYZ",
    					"title": "Exif Details"
    				},
    				"geo": {
    					"href": "http://api.getchute.com/v2/assets/6950/geo?oauth_token=XYZ",
    					"title": "Geo Details"
    				}
    			},
    			"created_at": "2014-02-13T16:47:31Z",
    			"updated_at": "2014-02-13T16:47:31Z",
    			"shortcut": "1O6zwsj",
    			"type": "image",
    			"caption": null,
    			"location": null,
    			"source": {
    				"source": "import",
    				"source_id": null,
    				"service": null,
    				"import_id": null,
    				"import_url": null,
    				"source_url": "http://getchute.com/media/1O2hkbp"
    			},
    			"service": "uploaded",
    			"username": null,
    			"thumbnail": "http://getchute.com/media/1O6zwsj/75x75",
    			"url": "http://getchute.com/media/1O6zwsj",
    			"dimensions": {
    				"width": null,
    				"height": null
    			},
    			"user": {
    				"id": 15896,
    				"links": {
    					"self": {
    						"href": "http://api.getchute.com/v2/users/15896?oauth_token=XYZ",
    						"title": "User Details"
    					}
    				},
    				"created_at": "2014-02-13T16:47:31Z",
    				"updated_at": "2014-02-13T16:47:31Z",
    				"name": "name",
    				"username": "username",
    				"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    				"profile": null,
    				"custom_profile": {
    					"profile": {
    						"firstname": "UserFirstName"
    					},
    					"raw_profile": {
    						"First Name": "UserFirstName"
    					}
    				}
    			}
    		}
    	]
    }
    

Move asset 

Move assetPOST /albums/{from_album_id}/assets/{asset_id}/move/{to_album_id}{?oauth_token}

Move an asset to another album.

  • Parameters
  • from_album_id
    string (required) Example: 1

    album id where the asset is currently

    asset_id
    string (required) Example: 3223423

    asset id

    to_album_id
    string (required) Example: 2

    destination album id

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  move album assetToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ"
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Asset Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/3712/assets/6951/move/3713"
    	},
    	"data": {
    		"id": 6951,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/assets/6951?oauth_token=XYZ",
    				"title": "Asset Details"
    			},
    			"exif": {
    				"href": "http://api.getchute.com/v2/assets/6951/exif?oauth_token=XYZ",
    				"title": "Exif Details"
    			},
    			"geo": {
    				"href": "http://api.getchute.com/v2/assets/6951/geo?oauth_token=XYZ",
    				"title": "Geo Details"
    			}
    		},
    		"created_at": "2014-02-13T16:47:32Z",
    		"updated_at": "2014-02-13T16:47:32Z",
    		"shortcut": "1O7pcoq",
    		"type": "image",
    		"caption": null,
    		"location": {
    			"latitude": "-36.88155833",
    			"longitude": "174.70791111"
    		},
    		"source": {
    			"source": "chute",
    			"source_id": null,
    			"service": null,
    			"import_id": null,
    			"import_url": null,
    			"source_url": null
    		},
    		"service": "uploaded",
    		"username": null,
    		"thumbnail": "http://getchute.com/media/1O7pcoq/75x75",
    		"url": "http://getchute.com/media/1O7pcoq",
    		"dimensions": {
    			"width": null,
    			"height": null
    		}
    	}
    }
    

Remove asset 

Remove assetDELETE /albums/{album_id}/assets/{asset_id}{?oauth_token}
  • Parameters
  • album_id
    integer (required) Example: 1

    album id

    asset_id
    integer (required) Example: 2524334

    asset id

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  delete an assetToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ"
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Asset Deleted",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/3716/assets/6959"
    	}
    }
    

Update asset 

Update assetPUT /albums/{album}/assets/{asset}{?oauth_token}
  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  update assetToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"asset": {
    		"tags": [
    			"some_new_tag",
    			"some_tag"
    		]
    	}
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Asset Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/3718/assets/6970?oauth_token=XYZ"
    	},
    	"data": {
    		"id": 6970,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/assets/6970?oauth_token=XYZ",
    				"title": "Asset Details"
    			},
    			"exif": {
    				"href": "http://api.getchute.com/v2/assets/6970/exif?oauth_token=XYZ",
    				"title": "Exif Details"
    			},
    			"geo": {
    				"href": "http://api.getchute.com/v2/assets/6970/geo?oauth_token=XYZ",
    				"title": "Geo Details"
    			}
    		},
    		"created_at": "2014-02-13T16:47:33Z",
    		"updated_at": "2014-02-13T16:47:33Z",
    		"shortcut": "1Oqtesu",
    		"type": "image",
    		"caption": "Name-197",
    		"location": null,
    		"source": {
    			"source": "chute",
    			"source_id": null,
    			"service": null,
    			"import_id": null,
    			"import_url": null,
    			"source_url": null
    		},
    		"service": "uploaded",
    		"username": "ctide.",
    		"thumbnail": "http://getchute.com/m/1Oqtesu/c/3718/75x75",
    		"url": "http://getchute.com/m/1Oqtesu/c/3718",
    		"dimensions": {
    			"width": null,
    			"height": null
    		},
    		"user": {
    			"id": 15950,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/users/15950?oauth_token=XYZ",
    					"title": "User Details"
    				}
    			},
    			"created_at": "2014-02-13T16:47:33Z",
    			"updated_at": "2014-02-13T16:47:33Z",
    			"name": null,
    			"username": null,
    			"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    			"profile": null
    		},
    		"votes": 0,
    		"hearts": 584,
    		"tags": [
    			"some_new_tag",
    			"some_tag"
    		],
    		"chute_asset_id": "4992"
    	}
    }
    

Geo data of an asset 

Geo data of an assetGET /albums/{album}/assets/{asset}/geo

data object is only present when there is geo info available, you need to check for its existence before parsing it out.

If you want to filter assets by location, see Asset#index.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Geo Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Y2qgzu/assets/1ODwhpz/geo?oauth_token=XYZ"
    	},
    	"data": {
    		"latitude": "-36.88155833",
    		"longitude": "174.70791111"
    	}
    }
    

Fetch asset 

Fetch assetGET /albums/{album}/assets/{asset}
  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Asset Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Y9vudy/assets/1P5fdlg?oauth_token=XYZ"
    	},
    	"data": {
    		"id": 7011,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/albums/Y9vudy/assets/1P5fdlg?oauth_token=XYZ",
    				"title": "Asset Details"
    			},
    			"exif": {
    				"href": "http://api.getchute.com/v2/albums/Y9vudy/assets/1P5fdlg/exif?oauth_token=XYZ",
    				"title": "Exif Details"
    			},
    			"geo": {
    				"href": "http://api.getchute.com/v2/albums/Y9vudy/assets/1P5fdlg/geo?oauth_token=XYZ",
    				"title": "Geo Details"
    			},
    			"heart": {
    				"href": "http://api.getchute.com/v2/albums/Y9vudy/assets/1P5fdlg/hearts?oauth_token=XYZ",
    				"title": "Hearts"
    			},
    			"vote": {
    				"href": "http://api.getchute.com/v2/albums/Y9vudy/assets/1P5fdlg/votes?oauth_token=XYZ",
    				"title": "Votes"
    			}
    		},
    		"created_at": "2014-02-13T16:47:35Z",
    		"updated_at": "2014-02-13T16:47:35Z",
    		"shortcut": "1P5fdlg",
    		"type": "image",
    		"caption": "Name-251",
    		"location": {
    			"latitude": "-36.88155833",
    			"longitude": "174.70791111"
    		},
    		"source": {
    			"source": "chute",
    			"source_id": null,
    			"service": null,
    			"import_id": null,
    			"import_url": null,
    			"source_url": null
    		},
    		"service": "uploaded",
    		"username": null,
    		"thumbnail": "http://getchute.com/m/1P5fdlg/c/3729/75x75",
    		"url": "http://getchute.com/m/1P5fdlg/c/3729",
    		"dimensions": {
    			"width": null,
    			"height": null
    		},
    		"user": {
    			"id": 16063,
    			"links": {
    				"self": {
    					"href": "http://api.getchute.com/v2/users/16063?oauth_token=XYZ",
    					"title": "User Details"
    				}
    			},
    			"created_at": "2014-02-13T16:47:35Z",
    			"updated_at": "2014-02-13T16:47:35Z",
    			"name": null,
    			"username": null,
    			"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    			"profile": null
    		},
    		"votes": 0,
    		"hearts": 0,
    		"tags": [
    
    ],
    "chute_asset_id": "5035",
    "video_url": "http://video.com/url",
    "iframe_url": "http://iframe.com/url"
    	}
    }
    

Copy asset 

Copy assetPOST /albums/{from_album_id}/assets/{asset_id}/copy/{to_album_id}{?oauth_token}

Create a duplicate copy of the asset in another album.

  • Parameters
  • from_album_id
    string (required) Example: 1

    album id where the asset is currently

    asset_id
    string (required) Example: 3223423

    asset id

    to_album_id
    string (required) Example: 2

    destination album id

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Request  copy album assetToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"oauth_token": "XYZ"
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Asset Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/3734/assets/7031/copy/3735"
    	},
    	"data": {
    		"id": 7031,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/assets/7031?oauth_token=XYZ",
    				"title": "Asset Details"
    			},
    			"exif": {
    				"href": "http://api.getchute.com/v2/assets/7031/exif?oauth_token=XYZ",
    				"title": "Exif Details"
    			},
    			"geo": {
    				"href": "http://api.getchute.com/v2/assets/7031/geo?oauth_token=XYZ",
    				"title": "Geo Details"
    			}
    		},
    		"created_at": "2014-02-13T16:47:36Z",
    		"updated_at": "2014-02-13T16:47:36Z",
    		"shortcut": "1Ppbfrv",
    		"type": "image",
    		"caption": null,
    		"location": {
    			"latitude": "-36.88155833",
    			"longitude": "174.70791111"
    		},
    		"source": {
    			"source": "chute",
    			"source_id": null,
    			"service": null,
    			"import_id": null,
    			"import_url": null,
    			"source_url": null
    		},
    		"service": "uploaded",
    		"username": null,
    		"thumbnail": "http://getchute.com/media/1Ppbfrv/75x75",
    		"url": "http://getchute.com/media/1Ppbfrv",
    		"dimensions": {
    			"width": null,
    			"height": null
    		}
    	}
    }
    
Next  Previous

Heart 

Hearts allow your users to like assets contained in an album.

There is no limit to the number of assets a user can heart, even within one album. There can also be any number of anonymous hearts (i.e. not associated with any user).

Get heart count 

Get heart countGET /albums/{album}/assets/{asset}/hearts

Number of hearts of an asset. The hearts count is also returned in the asset detail in the hearts attribute.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Heart Count",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Vrtbxo/assets/1Jtmbpg/hearts"
    	},
    	"data": {
    		"count": 5
    	}
    }
    

Heart asset 

Heart assetPOST /albums/{album}/assets/{asset}/hearts{?oauth_token}

The heart will be associated with the user making the request. If the request does not include a user (token), then an anonymous heart will be created.

Keep in mind that Chute does not provide a way to retrieve the heart identifier after a heart is created. If you create an anynomous heart, you’ll need to store the identifier returned by this method if you wish to delete it later.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

    oauth_token
    string (optional) Example: XYZ

    authentication token, can be passed in the request body or as query param. If not set then the heart will be anonymous.

  • Response  201Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Heart Details",
    		"version": 2,
    		"code": 201,
    		"href": "http://api.getchute.com/v2/albums/Vssrvo/assets/1Juipew/hearts"
    	},
    	"data": {
    		"id": 21,
    		"links": {
    			"href": "http://api.getchute.com/v2/hearts/hhyfudayoeatfuomqvsl1391722602",
    			"title": "Heart Details"
    		},
    		"created_at": "2014-02-06T21:36:42Z",
    		"updated_at": "2014-02-06T21:36:42Z",
    		"identifier": "hhyfudayoeatfuomqvsl1391722602",
    		"album_id": 3562,
    		"asset_id": 6664
    	}
    }
    

Un-Heart asset 

Un-Heart assetDELETE /albums/{album}/assets/{asset}/hearts{/identifier}{?oauth_token}

You need to provide either a heart identifier (if you want to remove an anonymous heart), or a user token.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

    identifier
    string (optional) Example: abcdef123456

    heart identifier

    oauth_token
    string (optional) Example: XYZ

    authentication token, can be passed in the request body or as query param

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Heart Deleted",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Vtqjzm/assets/1Jvulsq/hearts/ymtgoiporvlzwymbmqzn1391722602"
    	}
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Heart Deleted",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Vuoefm/assets/1Jwnvfo/hearts?oauth_token=XYZ"
    	}
    }
    
Next  Previous

Vote 

Votes allow your users to like assets contained in an album.

Contrary to hearts, a user can only vote for a single asset inside an album, and anonymous votes are not allowed.

Get vote count 

Get vote countGET /albums/{album}/assets/{asset}/votes

Number of votes of an asset. The votes count is also returned in the asset detail in the votes attribute.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Vote Count",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Vmgosr/assets/1Jogjyu/votes"
    	},
    	"data": {
    		"count": 5
    	}
    }
    

Vote asset 

Vote assetPOST /albums/{album}/assets/{asset}/votes{?oauth_token}

The vote will be associated with the user making the request.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

    oauth_token
    string (required) Example: XYZ

    authentication token, can be passed in the request body or as query param

  • Response  201Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Vote Details",
    		"version": 2,
    		"code": 201,
    		"href": "http://api.getchute.com/v2/albums/Vnsixm/assets/1Jplfxu/votes?oauth_token=XYZ"
    	},
    	"data": {
    		"id": 25,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/votes/25?oauth_token=XYZ",
    				"title": "Vote Details"
    			}
    		},
    		"created_at": "2014-02-06T21:36:08Z",
    		"updated_at": "2014-02-06T21:36:08Z",
    		"identifier": "pdwvkhxuakzbpuysbiel1391722568",
    		"album_id": 3557,
    		"asset_id": 6659
    	}
    }
    

Un-Vote asset 

Un-Vote assetDELETE /albums/{album}/assets/{asset}/votes{?oauth_token}

You need to provide user token.

  • Parameters
  • album
    integer/string (required) Example: 1

    album id or shortcut

    asset
    integer/string (required) Example: 2524334

    asset id or shortcut

    oauth_token
    string (required) Example: XYZ

    authentication token, can be passed in the request body or as query param

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Vote Deleted",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/Vpwjfg/assets/1Jrlvbu/votes?oauth_token=XYZ"
    	}
    }
    
Next  Previous

Tag 

Tags can be added to assets for additional classification.

Asset’s #hashtags from the original network will be stored as the tags by default.

Fetch asset tags 

Fetch asset tagsGET /albums/{album}/assets/{asset}/tags

List of tags associated with an asset. Same as returned by the assets endpoint.

  • Parameters
  • album
    integer (required) Example: 1

    album id or shortcut

    asset
    integer (required) Example: 123

    asset id or shortcut

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Tags List",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/YLmyxq/assets/1SBthau/tags"
    	},
    	"data": [
    		"chute",
    		"fashion",
    		"beauty"
    	]
    }
    

Tag asset 

Tag assetPOST /albums/{album}/assets/{asset}/tags{?tags,oauth_token}

Add tags to an asset. If the asset already has the tag(s), it is ignored.

  • Parameters
  • album
    integer (required) Example: 1

    album id or shortcut

    asset
    integer (required) Example: 123

    asset id or shortcut

    tags
    list of strings (required) Example: olympics,sochi

    tags to add to the asset. Can be passed in the request body or query param.

    oauth_token
    string (required) Example: XYZ

    authentication token. Can be passed in the request body or query param.

  • Request  add tagsToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"tags": [
    		"olympics",
    		"sochi"
    	]
    }
    
  • Response  201Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Tags Added",
    		"version": 2,
    		"code": 201,
    		"href": "http://api.getchute.com/v2/albums/YMpbvt/assets/1SCkofv/tags?oauth_token=XYZ"
    	},
    	"data": [
    		"olympics",
    		"sochi",
    		"chute",
    		"fashion",
    		"beauty"
    	]
    }
    

Update asset tags 

Update asset tagsPUT /albums/{album}/assets/{asset}/tags{?tags,oauth_token}

Replace existing tags on an asset with the ones sent in the list.

  • Parameters
  • album
    integer (required) Example: 1

    album id or shortcut

    asset
    integer (required) Example: 123

    asset id or shortcut

    tags
    list of strings (required) Example: olympics,sochi

    tags to set on the asset. Can be passed in the request body or query param.

    oauth_token
    string (required) Example: XYZ

    authentication token. Can be passed in the request body or query param.

  • Request  update tagsToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"tags": [
    		"olympics",
    		"sochi"
    	]
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Tags Updated",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/YOfcou/assets/1SEtfrv/tags?oauth_token=XYZ"
    	},
    	"data": [
    		"olympics",
    		"sochi"
    	]
    }
    

Remove asset tags 

Remove asset tagsDELETE /albums/{album}/assets/{asset}/tags/{tags}{?oauth_token}

Remove specified tag(s) from an asset.

  • Parameters
  • album
    integer (required) Example: 1

    album id or shortcut

    asset
    integer (required) Example: 123

    asset id or shortcut

    tags
    list of string (required) Example: fashion,beauty

    tags to remove from the asset

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "Tags Removed",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/albums/YQnzma/assets/1SGuojg/tags/fashion,beauty?oauth_token=XYZ"
    	},
    	"data": [
    		"chute"
    	]
    }
    
Next  Previous

User 

User is anyone who can log in with Chute credentials.

When a new user authenticates with a third-party account (Facebook login), a User entity is created, too.

All operations with the users need to be authenticated.

Create user 

Create userPOST /users{?oauth_token}
  • Parameters
  • oauth_token
    string (required) Example: XYZ

    authentication token. Can be passed in the request body or query param.

  • Request  create userToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"user": {
    		"email": "test@test.com",
    		"password": "test",
    		"password_confirmation": "test"
    	},
    	"oauth_token": "XYZ"
    }
    
  • Response  201Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "User Details",
    		"version": 2,
    		"code": 201,
    		"href": "http://api.getchute.com/v2/users"
    	},
    	"data": {
    		"id": 16677,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/users/16677?oauth_token=XYZ",
    				"title": "User Details"
    			}
    		},
    		"created_at": "2014-02-13T18:35:14Z",
    		"updated_at": "2014-02-13T18:35:14Z",
    		"name": null,
    		"username": null,
    		"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    		"profile": null,
    		"oauth_token": "XYZ"
    	}
    }
    

Get user 

Get userGET /users/{user,oauth_token}
  • Parameters
  • user
    integer (required) Example: 987

    user id

    oauth_token
    string (required) Example: XYZ

    authentication token

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "User Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/users/16680?oauth_token=XYZ"
    	},
    	"data": {
    		"id": 16680,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/users/16680?oauth_token=XYZ",
    				"title": "User Details"
    			}
    		},
    		"created_at": "2014-02-13T18:35:14Z",
    		"updated_at": "2014-02-13T18:35:14Z",
    		"name": null,
    		"username": null,
    		"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    		"profile": null
    	}
    }
    

Get my information 

Get my informationGET /me{?oauth_token}
  • Parameters
  • oauth_token
    string (required) Example: XYZ

    authentication token

  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "User Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/me?oauth_token=XYZ"
    	},
    	"data": {
    		"id": 16684,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/users/16684?oauth_token=XYZ",
    				"title": "User Details"
    			}
    		},
    		"created_at": "2014-02-13T18:35:14Z",
    		"updated_at": "2014-02-13T18:35:14Z",
    		"name": null,
    		"username": null,
    		"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    		"profile": null,
    		"email": "user-8@test.com",
    		"oauth_token": "XYZ"
    	}
    }
    

Update user 

Update userPUT /users/{user,oauth_token}

You can also use PUT /me to update current user.

  • Parameters
  • user
    integer (required) Example: 987

    user id (or me)

    oauth_token
    string (required) Example: XYZ

    authentication token. Can be passed in the request body or query param.

  • Request  update user informationToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"user": {
    		"profile": {
    			"title": "Quarterback",
    			"company": "San Francisco 49ers"
    		},
    		"email": "joe@test.com",
    		"name": "Joe Montana"
    	},
    	"oauth_token": "XYZ"
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "User Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/users/16691"
    	},
    	"data": {
    		"id": 16691,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/users/16691?oauth_token=XYZ",
    				"title": "User Details"
    			}
    		},
    		"created_at": "2014-02-13T18:35:15Z",
    		"updated_at": "2014-02-13T18:35:15Z",
    		"name": "Joe Montana",
    		"username": null,
    		"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    		"profile": {
    			"title": "Quarterback",
    			"company": "San Francisco 49ers"
    		},
    		"email": "joe@test.com",
    		"oauth_token": "XYZ"
    	}
    }
    

Update my information 

Update my informationPUT /me{?oauth_token}
  • Parameters
  • oauth_token
    string (required) Example: XYZ

    authentication token. Can be passed in the request body or query param.

  • Request  update my informationToggle
  • Headers
    Content-Type: application/json
    Body
    {
    	"user": {
    		"profile": {
    			"title": "Quarterback",
    			"company": "San Francisco 49ers"
    		},
    		"email": "joe@test.com",
    		"name": "Joe Montana"
    	},
    	"oauth_token": "XYZ"
    }
    
  • Response  200Toggle
  • Headers
    Content-Type: application/json; charset=utf-8
    Body
    {
    	"response": {
    		"title": "User Details",
    		"version": 2,
    		"code": 200,
    		"href": "http://api.getchute.com/v2/me"
    	},
    	"data": {
    		"id": 16696,
    		"links": {
    			"self": {
    				"href": "http://api.getchute.com/v2/users/16696?oauth_token=XYZ",
    				"title": "User Details"
    			}
    		},
    		"created_at": "2014-02-13T18:35:15Z",
    		"updated_at": "2014-02-13T18:35:15Z",
    		"name": "Joe Montana",
    		"username": null,
    		"avatar": "http://static.getchute.com/v1/images/avatar-100x100.png",
    		"profile": {
    			"title": "Quarterback",
    			"company": "San Francisco 49ers"
    		},
    		"email": "joe@test.com",
    		"oauth_token": "XYZ"
    	}
    }
    
Previous