Public
Shared records

Read a shared treatment register

Public (no account): the token in the link IS the credential. Returns only the register the owner chose to export, per mob with an under_withholding / clear status and the safe dates, who shared it and when the link expires. No ids, emails or phone numbers. The rows are rebuilt from the records as they are now. The first successful read stamps the share as opened.

  • 404: not a link (unknown, malformed, or one whose email or text never went). One shape for all of them.
  • 410: a link that was real and has ended. Body { "state": "expired" | "revoked", "shared_by": "<name>" } and nothing else; the page says "This link has expired." / "This link has been revoked." and "Ask {shared_by} to send a new one."
  • 429: rate limited per IP and per token.

Never cached or indexed (Cache-Control: no-store, X-Robots-Tag: noindex). Refused (403) to an api or MCP bearer token; the web page and anonymous callers pass.

get/shares/{token}

Request

  • Base URL: https://api.purplegrain.com/api/v1
  • URL: https://api.purplegrain.com/api/v1/shares/{token}
  • Auth: one of:
    • none
    • HTTP bearer

Path parameters

tokenstring required

The token from the link (/s/<token>).

Response

The register.

state'active' required
kind'register' | 'nvd' | 'spray' | 'paddock-inputs' required
titlestring required
shared_bystring required

The sender's name (never an email or phone), or the sender when they have none.

expires_atstring date-time required
formatsstring[] required
definitionsstring

Paddock registers only.

Example response

{
  "summary": {
    "line": "4 drenches across 3 mobs"
  },
  "mobs": [
    {
      "treatments": [
        {
          "what": "Drench",
          "treatment_date": "2026-08-08",
          "head": "1240",
          "whp_days": "14",
          "esi_days": "42",
          "safe_for_slaughter_on": "2026-08-22",
          "export_eligible_on": "2026-09-19"
        }
      ]
    }
  ],
  "rows": [
    {
      "what": "Drench",
      "treatment_date": "2026-08-08",
      "head": "1240",
      "whp_days": "14",
      "esi_days": "42",
      "safe_for_slaughter_on": "2026-08-22",
      "export_eligible_on": "2026-09-19"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.