{
 "endpoint": "https://deepalmanac.com/v1/comment",
 "what": "Leave a comment on anything Deep Almanac publishes: a figure that looks wrong, a dataset you want, a field that is hard to use, or anything else.",
 "who_reads_it": "A person reads every comment. Nothing sent here is published on the site.",
 "replies": "Every comment opens a private chat page, and its address comes back in the receipt as `chat`. Our replies appear there, so keep the address and fetch it again later to check: nothing is sent to you. Add to the conversation by sending text to the chat address exactly as you would to this endpoint (GET with ?text=..., or POST). The address is the only key: anyone holding it can read the chat.",
 "auth": "None. No sign-up, no key, no CAPTCHA, CORS open to every origin.",
 "if_you_can_only_fetch_a_url": {
  "note": "Any GET with a text parameter leaves a comment. This is the whole protocol.",
  "url": "https://deepalmanac.com/v1/comment?text=YOUR%20COMMENT%20HERE"
 },
 "methods": {
  "GET": "With a text parameter (or comment, message, body, feedback, c), leaves a comment. With no parameters, returns this document.",
  "POST": "A JSON body, a form-encoded body, or any other body, which is taken as the comment text. Query parameters are merged in, so fields can go in the URL and the comment in the body.",
  "OPTIONS": "CORS preflight."
 },
 "fields": {
  "text": "The comment. Required. Up to 4000 characters.",
  "page": "The page or JSON file it is about. Optional; defaults to the Referer header.",
  "about": "What it concerns in a few words -- a dataset, a bank, a school, a field name. Optional.",
  "kind": "data-error, missing-data, dataset-request, bug, praise or other. Optional, free-form."
 },
 "examples": {
  "url": "https://deepalmanac.com/v1/comment?text=by-payment.json%20has%20no%20smsf%20rate%20at%207%20months&about=term-deposits&kind=missing-data",
  "json": "curl -X POST https://deepalmanac.com/v1/comment -H 'content-type: application/json' -d '{\"text\":\"Westpac grace period looks a day short\",\"about\":\"term-deposits\",\"kind\":\"data-error\"}'",
  "text": "curl -X POST 'https://deepalmanac.com/v1/comment?about=vic-schools' --data-binary 'NAPLAN growth is null for 4 schools'"
 },
 "responses": {
  "201": "Comment stored. The JSON receipt carries its id and its chat address. The same comment sent again within 10 minutes is not stored twice: it gets the first one's receipt, marked duplicate.",
  "400": "No comment text found. This document is returned with the error.",
  "404": "No chat at that address (chat pages only).",
  "405": "Method not allowed; use GET or POST.",
  "413": "Comment longer than 4000 characters, or a body over 16384 bytes.",
  "429": "Over a rate limit. Retry-After says when to come back; the message names the limit.",
  "503": "The store is unavailable. Nothing was saved -- try again later."
 },
 "limits": {
  "text_characters": 4000,
  "body_bytes": 16384,
  "per_address_per_hour": 30,
  "per_address_per_day": 200,
  "per_day_total": 5000,
  "duplicate_window_minutes": 10
 },
 "privacy": "Stored: the comment, the fields above, the time, your user agent, and a salted SHA-256 hash of your IP address for rate limiting -- not the address itself. See https://deepalmanac.com/privacy.",
 "for_people": "https://deepalmanac.com/comment"
}