summaryrefslogtreecommitdiff
path: root/source/receivingresponses/receivingresponses.rst
diff options
context:
space:
mode:
Diffstat (limited to 'source/receivingresponses/receivingresponses.rst')
-rw-r--r--source/receivingresponses/receivingresponses.rst76
1 files changed, 76 insertions, 0 deletions
diff --git a/source/receivingresponses/receivingresponses.rst b/source/receivingresponses/receivingresponses.rst
new file mode 100644
index 0000000..cf190a8
--- /dev/null
+++ b/source/receivingresponses/receivingresponses.rst
@@ -0,0 +1,76 @@
+.. _receivingresponses:
+
+Receiving Responses
+====================
+
+Payload
+--------
+
+All Server responses contain a root JSON object.
+
+A response will contain at least one of the following top-level members:
+
+* ``data`` : The response's “primary data”
+* ``errors`` : An array of error objects
+
+A response may contain any of these top-level members:
+
+* ``links``: A links object related to the primary data.
+* ``included``: An array of resource objects that are related to the primary data and/or each other (“included resources”).
+
+If a document does not contain a top-level data key, the included member will not be present either.
+
+Primary data will be either:
+
+* a single [resource object][resource objects], a single [resource identifier object], or ``null``
+* an array of [resource objects], an array of [resource identifier objects][resource identifier object], or an empty array ``([])``
+
+For example, the following primary data is a single resource object. It's primary data is a single [resource identifier object] that references the same resource. A logical collection of resources will always be represented as an array, even if it only contains one item or is empty.
+
+**Javascript:**
+
+.. code-block:: javascript
+
+ {
+ "data": {
+ "type": "match",
+ "id": "skarn",
+ "attributes": {
+ // ... this matches attributes
+ },
+ "relationships": {
+ // ... this matches relationships
+ }
+ }
+ }
+ {
+ "data": {
+ "type": "match",
+ "id": "1"
+ }
+ }
+
+
+
+Rate Limits
+---------------------------
+
+Be nice. If you're sending too many requests too quickly, we'll send back a ``429`` error code (server unavailable).
+
+**Please note: Free for non-commercial use for up to 10 requests per minute! To increase your rate limit, log into your admin dashboard, find the app you would like a higher rate limit for, and click "request a higher rate limit"**
+
+**Shell:**
+
+.. code-block:: shell
+
+ The rate limit headers are defined as follows:
+
+ X-RateLimit-Limit - Request limit per day / per minute
+ X-RateLimit-Remaining - The number of requests left for the time window
+ X-RateLimit-Reset - The remaining window before the rate limit is refilled in UTC epoch nanoseconds.
+
+ * Limit tokens are incrementally filled by 60(sec)/ rate limit. ex: 60(sec)/10(rate) gets rate token every 6 seconds up to max rate limit.
+
+
+.. toctree::
+ :maxdepth: 2