{"info":{"_postman_id":"9601f146-73d7-7912-0436-4e100162afb6","name":"DreamCoin API","description":"<html><head></head><body><h1 id=\"introduction\">Introduction</h1>\n<p>The DreamCoin API allows front-end clients to retrieve data about the user accounts, trades, and portfolios, as well as public coin data.</p>\n<h1 id=\"overview\">Overview</h1>\n<p>This API is under development. </p>\n<h1 id=\"authentication\">Authentication</h1>\n<p>We use JSON Web Tokens to authenticate users.</p>\n<h1 id=\"error-codes\">Error Codes</h1>\n<p>TBD. You can expect HTTP status codes with error messages for some cases. </p>\n<h1 id=\"rate-limit\">Rate limit</h1>\n<p>We're likely to host this on a free tier. Please be gentle.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Introduction","slug":"introduction"},{"content":"Overview","slug":"overview"},{"content":"Authentication","slug":"authentication"},{"content":"Error Codes","slug":"error-codes"},{"content":"Rate limit","slug":"rate-limit"}],"owner":"2759449","collectionId":"9601f146-73d7-7912-0436-4e100162afb6","publishedId":"RVnZfx7D","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2018-04-06T18:25:33.000Z"},"item":[{"name":"/coin-index","id":"c7baf0dd-20bf-7d80-3b1a-b08ec5ae8451","request":{"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"/coin-index","description":"<h2 id=\"coin-index\">Coin Index</h2>\n<p>This endpoint delivers a sorted list of all available coins.</p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<p>None</p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<p>None</p>\n<h2 id=\"response-fields\">Response Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>sortOrder</em></td>\n<td>The order in which coins are listed by default.</td>\n</tr>\n<tr>\n<td><em>symbol</em></td>\n<td>The abbreviation that serves as the coin's symbol. Example: Bitcoin's symbol is BTC.</td>\n</tr>\n<tr>\n<td><em>coinName</em></td>\n<td>The name of the coin.</td>\n</tr>\n<tr>\n<td><em>imageUrl</em></td>\n<td>The URL slug where this coin's logo file resides. The API provides only the slug, not the root URL, which is: <a href=\"https://min-api.cryptocompare.com/data/all/coinlist\">https://min-api.cryptocompare.com/data/all/coinlist</a></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["coin-index"],"query":[],"variable":[]}},"response":[],"_postman_id":"c7baf0dd-20bf-7d80-3b1a-b08ec5ae8451"},{"name":"/coins/","id":"16eb025b-63ee-a6e0-a850-84233c64b25b","request":{"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"/coins/?fsyms=ETH,DOGE&tsyms=BTC,USD","description":"<h2 id=\"coins-info\">Coins Info</h2>\n<p>This endpoint delivers current listing data for the requested coins  </p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<p>None  </p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>fsyms</em></td>\n<td>\"from symbols\" - a comma-separated list of coin symbols for which you want data</td>\n</tr>\n<tr>\n<td><em>tsyms</em></td>\n<td>\"to symbols\" - a comma-separated list of coin or currency symbols in which you want to see pricing data.</td>\n</tr>\n<tr>\n<td>Example: for the query string <code>?fsyms=ETH,DOGE&amp;tsyms=BTC,USD</code> you'll see data on ETH and DOGE, expressed as prices in BTC and USD.</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-fields\">Response Fields</h2>\n<p><em>each <code>fsym</code> will have these entries for each <code>tsym</code></em>  </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n<th>CC API Endpoint</th>\n<th>CC API Variable</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>marketCap</em></td>\n<td>The order in which coins are listed by default.</td>\n<td>/pricemultifull</td>\n<td>MKTCAP</td>\n</tr>\n<tr>\n<td><em>supply</em></td>\n<td>Total coins in circulation.</td>\n<td>/pricemultifull</td>\n<td>SUPPLY</td>\n</tr>\n<tr>\n<td><em>24HrVolume</em></td>\n<td>Total 24-hour volume, expressed in the current <code>tsym</code>.</td>\n<td>/pricemultifull</td>\n<td>TOTALVOLUME24HTO</td>\n</tr>\n<tr>\n<td><em>24HrPctPrice</em></td>\n<td>24-hour % price change against the current <code>tsym</code>.</td>\n<td>/pricemultifull</td>\n<td>CHANGEPCT24HOUR</td>\n</tr>\n<tr>\n<td><em>price</em></td>\n<td>The CCCAGG (CryptoCompare Combined Aggregate) price expressed in the current <code>tsym</code>.</td>\n<td>/pricemultifull</td>\n<td>PRICE</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["coins",""],"query":[{"key":"fsyms","value":"ETH,DOGE"},{"key":"tsyms","value":"BTC,USD"}],"variable":[]}},"response":[],"_postman_id":"16eb025b-63ee-a6e0-a850-84233c64b25b"},{"name":"/coin-pair-detail/","id":"4d08357c-9b1f-bdc2-b1ab-a0fd89b175ff","request":{"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"/coin-pair-detail//?fsym=ETH&tsym=USD","description":"<h2 id=\"coin-pair-detail\">Coin Pair Detail</h2>\n<p>Provides current and historical data</p>\n<ul>\n<li>for a specified coin-pair </li>\n<li>on a specified exchange</li>\n<li>across a specified date range.</li>\n</ul>\n<p>The endpoint retrieves and parses its data from the CryptoCompare <code>histoday</code> API. </p>\n<h2 id=\"example\">Example</h2>\n<p>A call to this URI <code>//coin-pair-detail/?fsym=ETH&amp;tsym=BTC&amp;exchange=LocalBitcoins</code> would parse and format the response from <code>https://min-api.cryptocompare.com/data/histoday?fsym=ETH&amp;tsym=BTC&amp;e=LocalBitcoins</code>\nwhich is a request for a daily data history for trading from Bitcoin to Ethereum on the LocalBitcoins exchange. </p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<p>None  </p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<p><em>Note:</em> Coin-pairs have two halves, and an implied direction: the coin \"from\" which trades are made, \"to\" another coin that is the result of the trade. </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>fsym</em></td>\n<td>\"from symbol\" - the coin symbol \"from\" which trades are made. This is the starting point of the coin-pair.</td>\n</tr>\n<tr>\n<td><em>tsym</em></td>\n<td>\"to symbol\" - the coin symbol \"to\" which trades are made. This is the ending point of the coin-pair.</td>\n</tr>\n<tr>\n<td><em>fdate</em></td>\n<td>\"from date\" - the date you want historical data to start  (<code>fdate</code> must be before <code>tdate</code>)</td>\n</tr>\n<tr>\n<td><em>tdate</em></td>\n<td>\"to date\" - the date you want data to stop</td>\n</tr>\n<tr>\n<td><em>exchange</em></td>\n<td>\"to date\" - the date you want data to stop</td>\n</tr>\n</tbody>\n</table>\n</div><p>Example: for the query string <code>?fsym=ETH&amp;tsym=BTC&amp;fdate=2018-01-01&amp;tdate=2018-02-01&amp;exchange=LocalBitcoins</code> \nyou'll see data on ETH, expressed as prices in BTC, from Jan 1 - Feb 2, 2018, on the LocalBitcoins exchange.</p>\n<h2 id=\"response-fields\">Response Fields</h2>\n<p>The response object will be structured as follows: </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>responseObject = {\n    [exchange]: ... ,\n    [tsym]: {\n        [time]: {\n            time: ... ,\n            close: ... ,\n            high: ... ,\n            low: ... ,\n            open: ... ,\n            volumefrom: ... ,\n            volumeto: ... ,\n        }, \n        //more daily data objects\n   }    \n}\n</code></pre><p>[tsym] is the to-symbol from the initial request\n[time] is the Unix timestamp for that day</p>\n<p>The values of each daily data object are defined as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>time</td>\n<td>Unix timestamp</td>\n</tr>\n<tr>\n<td>close</td>\n<td>closing price</td>\n</tr>\n<tr>\n<td>high</td>\n<td>highest price</td>\n</tr>\n<tr>\n<td>low</td>\n<td>lowest price</td>\n</tr>\n<tr>\n<td>open</td>\n<td>opening price</td>\n</tr>\n<tr>\n<td>volumeto</td>\n<td>volume for the day</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each of these values is taken from CryptoCompare's 24-hour data values, not their daily values.</p>\n","urlObject":{"path":["coin-pair-detail","",""],"query":[{"key":"fsym","value":"ETH"},{"key":"tsym","value":"USD"}],"variable":[]}},"response":[],"_postman_id":"4d08357c-9b1f-bdc2-b1ab-a0fd89b175ff"},{"name":"/exchanges","id":"18ae34a1-fcf7-d778-b975-3e0d5d7d5a78","request":{"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":"/exchanges/?fsym=ETH&tsym=USD","description":"<h2 id=\"exchanges-data\">Exchanges Data</h2>\n<p>Provides today's average trading data on a specific coin-pair:</p>\n<ul>\n<li>aggregated across all exchanges trading that coin-pair</li>\n<li>for each of the top 10 exchanges trading that coin-pair</li>\n</ul>\n<p>The endpoint retrieves and parses its data from the CryptoCompare <code>top/exchanges/full</code> API. </p>\n<h2 id=\"example\">Example</h2>\n<p>A call to this URI <code>/exchanges/?fsym=ETH&amp;tsym=BTC</code> would parse and format the response from <code>https://min-api.cryptocompare.com/data/top/exchanges/full?fsym=BTC&amp;tsym=ETH&amp;limit=10</code>\nwhich is a request for aggregated and per-exchange data for the top 10 exchanges trading the Bitcoin to Ethereum coin-pair. </p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<p>None  </p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<p><em>Note:</em> Coin-pairs have two halves, and an implied direction: the coin \"from\" which trades are made, \"to\" another coin that is the result of the trade. </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>fsym</em></td>\n<td>\"from symbol\" - the coin symbol \"from\" which trades are made. This is the starting point of the coin-pair.</td>\n</tr>\n<tr>\n<td><em>tsym</em></td>\n<td>\"to symbol\" - the coin symbol \"to\" which trades are made. This is the ending point of the coin-pair.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-fields\">Response Fields</h2>\n<p>The response object will be structured as follows: </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>responseObject = {\n    fsym: [fsym],\n    tsym: [tsym],\n    aggregated: {\n        exchange: \"aggregated\",\n        lastUpdated: [last updated],\n        closing: ... ,\n        high: ... ,\n        low: ... ,\n        open: ... ,\n        volumefrom: ... ,\n    },\n    exchanges: {\n        [exchange]: {\n            exchange: [exchange], //exchange name is a string\n            lastUpdated: [last updated],\n            closing: ... ,\n            high: ... ,\n            low: ... ,\n            open: ... ,\n            volumefrom: ... ,\n        }, \n        //more data objects for each exchange\n   }    \n}\n</code></pre><p>[tsym] is the to-symbol from the initial request<br />[time] is the Unix timestamp for that day  </p>\n<p>The values of each daily data object are defined as follows:    </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>exchange</td>\n<td>name of the exchange</td>\n</tr>\n<tr>\n<td>lastUpdated</td>\n<td>Unix timestamp for when this data object was last updated</td>\n</tr>\n<tr>\n<td>closing</td>\n<td>closing price</td>\n</tr>\n<tr>\n<td>high</td>\n<td>highest price</td>\n</tr>\n<tr>\n<td>low</td>\n<td>lowest price</td>\n</tr>\n<tr>\n<td>open</td>\n<td>opening price</td>\n</tr>\n<tr>\n<td>volumeto</td>\n<td>volume for the day</td>\n</tr>\n</tbody>\n</table>\n</div><p>Where there's a choice, each of these values is taken from CryptoCompare's 24-hour data values, not their daily values.</p>\n","urlObject":{"path":["exchanges",""],"query":[{"key":"fsym","value":"ETH"},{"key":"tsym","value":"USD"}],"variable":[]}},"response":[],"_postman_id":"18ae34a1-fcf7-d778-b975-3e0d5d7d5a78"},{"name":"/user/:userId","id":"94d5ae46-3d59-4e69-ced7-5adde09dd273","request":{"method":"GET","header":[],"url":"/user/:userId","description":"<p>Retrieves basic user info for a user ID</p>\n","urlObject":{"path":["user",":userId"],"query":[],"variable":[{"type":"any","key":"userId"}]}},"response":[],"_postman_id":"94d5ae46-3d59-4e69-ced7-5adde09dd273"},{"name":"/user/","id":"cf9fd5f7-43e7-936a-f9f4-a2764e710093","request":{"method":"POST","header":[],"url":"/user/","description":"<p>Creates a new user with basic information</p>\n<p><strong>Work in Progress, subject to change</strong></p>\n<p>Receives POST requests to create new users with basic information and responds with the newly-saved user data object, or with a failure code.</p>\n<h2 id=\"request-body\">Request Body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>email</em></td>\n<td>email address</td>\n</tr>\n<tr>\n<td><em>passwordHash</em></td>\n<td>hashed password</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-body\">Response Body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>email</em></td>\n<td>email address</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["user",""],"query":[],"variable":[]}},"response":[],"_postman_id":"cf9fd5f7-43e7-936a-f9f4-a2764e710093"},{"name":"/user/","id":"a7207975-f6a6-beb5-2666-2b80b23e852e","request":{"method":"PUT","header":[],"url":"/user/","description":"<p>Updates a user's basic information</p>\n","urlObject":{"path":["user",""],"query":[],"variable":[]}},"response":[],"_postman_id":"a7207975-f6a6-beb5-2666-2b80b23e852e"},{"name":"/portfolio/:userId","id":"ff3123c6-0413-4dca-9916-6b6e5b355926","request":{"method":"GET","header":[],"url":"/portfolio/:userId","description":"<h2 id=\"portfolio-data\">Portfolio Data</h2>\n<p>Provides the complete portfolio of coins that a user currenctly owns. </p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<p><em>userId</em> - the ID for the user of interest. </p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<p>None  </p>\n<h2 id=\"response-fields\">Response Fields</h2>\n<p>The response object will be structured as follows: </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>responseObject = {\n    userId: [userId],\n    cash: [cash on hand],\n    invested: [amount of cash invested],\n    portfolio:  {\n        coin: [coin symbol],\n        quantity: [quantity of coin owned],\n        },  \n        //more data objects for each coin type the user owns\n   }    \n}\n</code></pre>","urlObject":{"path":["portfolio",":userId"],"query":[],"variable":[{"type":"any","key":"userId"}]}},"response":[],"_postman_id":"ff3123c6-0413-4dca-9916-6b6e5b355926"},{"name":"/history/:userId","id":"228420a4-9288-93f7-3106-65cf2e5a59b7","request":{"method":"GET","header":[],"url":"/history/:userId","description":"<h2 id=\"trade-history-data\">Trade History Data</h2>\n<p>Provides the complete history of trades that a user has executed. </p>\n<h2 id=\"path-parameters\">Path Parameters</h2>\n<p><em>userId</em> - the ID for the user of interest. </p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<p>None  </p>\n<h2 id=\"response-fields\">Response Fields</h2>\n<p>The response object will be structured as follows: </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>responseObject = {\n    userId: [userId],\n    trades: {\n        [time]: {\n           time: [time],\n            fsym:'ETH',\n            fquantity: 1,\n            tsym: 'USD',\n            tquantity: 1000`,\n        },  \n        //more data objects for each trade the user has executed. \n   }    \n}\n</code></pre><p>[time] is the Unix timestamp for when the trade was saved.</p>\n","urlObject":{"path":["history",":userId"],"query":[],"variable":[{"type":"any","key":"userId"}]}},"response":[],"_postman_id":"228420a4-9288-93f7-3106-65cf2e5a59b7"},{"name":"/trade","id":"9ec4c3fa-fd56-128a-1203-806881691338","request":{"method":"POST","header":[],"url":"/trade","description":"<h2 id=\"make-a-trade\">Make a Trade</h2>\n<p>This endpoint receives POST requests containing a trade to be executed, stores the information, and responds with the newly-saved transaction data object, or with a failure code.</p>\n<h2 id=\"request-body\">Request Body</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Definition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>fsym</em></td>\n<td>\"from symbol\" - the coin symbol or currency to be given/sold in the exchange</td>\n</tr>\n<tr>\n<td><em>fquantity</em></td>\n<td>\"from quantity\" - the quantity of the coin or currency being given/sold</td>\n</tr>\n<tr>\n<td><em>tsym</em></td>\n<td>\"to symbol\" - the coin symbol or currency to be received/bought in the exchange</td>\n</tr>\n<tr>\n<td><em>tquantity</em></td>\n<td>\"to quantity\" - the quantity of the coin or currency being received/bought</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example\">Example</h2>\n<p>A POST to this URI <code>/trade/</code> with the body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>trade: {\n    fsym:'ETH',\n    fquantity: 1,\n    tsym: 'USD',\n    tquantity: 1000,\n}\n</code></pre><p>would represent a trade where 1 ETH was sold in exchange for USD$1000.</p>\n<h2 id=\"response-fields\">Response Fields</h2>\n<p>The response object will be structured as follows: </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>[time]: {\n    time: [time],\n    fsym:'ETH',\n    fquantity: 1,\n    tsym: 'USD',\n    tquantity: 1000,\n}\n</code></pre><p>[time] is the Unix timestamp for when the trade was saved.</p>\n","urlObject":{"path":["trade"],"query":[],"variable":[]}},"response":[],"_postman_id":"9ec4c3fa-fd56-128a-1203-806881691338"},{"name":"/invest/","id":"12c82b0d-a3be-bd4e-fe0b-540de171ac8e","request":{"method":"POST","header":[],"url":"/invest/","description":"<h2 id=\"invest-more-money\">Invest More Money</h2>\n<p>Allows a user to deposit more cash into their account.</p>\n<p><strong>Work In Progress - Subject to Change</strong></p>\n","urlObject":{"path":["invest",""],"query":[],"variable":[]}},"response":[],"_postman_id":"12c82b0d-a3be-bd4e-fe0b-540de171ac8e"},{"name":"/leaderboard","id":"5c518ac2-d03a-331e-b2a3-47054cf8603a","request":{"method":"GET","header":[],"url":"/leaderboard","description":"<h2 id=\"leaderboard\">Leaderboard</h2>\n<p>View the standings of all players, and your own against those players close to you, based on profits generated in the last week. </p>\n<p><strong>Work in Progress - Subject to Change</strong></p>\n","urlObject":{"path":["leaderboard"],"query":[],"variable":[]}},"response":[],"_postman_id":"5c518ac2-d03a-331e-b2a3-47054cf8603a"}]}