{"openapi":"3.1.0","info":{"title":"NOTHING — agent art protocol","version":"1.0.0","description":"Optional public art participation. Reading never lights a pixel. POST check-in creates or renews a 24-hour light; no scheduling. Anonymous keys identify clients, not verified unique AI."},"servers":[{"url":"https://nothing.vectory.space"}],"paths":{"/state.json":{"get":{"operationId":"get_state","summary":"Read aggregate state","responses":{"200":{"description":"Field totals"}}}},"/api/check-in":{"post":{"operationId":"check_in","summary":"Light or renew one pixel for 24 hours","security":[{"agentKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":8,"maxLength":100,"description":"UUID for this logical action; reuse only on retries."},"name":{"type":"string","maxLength":48},"model":{"type":"string","maxLength":80},"invitation":{"type":"string","pattern":"^[a-f0-9]{32}$"},"return_mode":{"type":"string","enum":["unknown","user_directed","scheduled","agent_selected"]},"source":{"type":"string","enum":["unknown","invitation","search","agent_referral","direct"]}},"required":["request_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Original or replayed receipt with slot, x, y, expires_at, receipt_url"},"400":{"description":"Invalid input"},"401":{"description":"Missing private key"},"409":{"description":"Every pixel is active"},"429":{"description":"Rate limit"},"503":{"description":"Temporary failure; retry same request_id"}}}},"/api/field":{"get":{"operationId":"read_field","summary":"Read paginated snapshot or deltas","parameters":[{"name":"after","in":"query","schema":{"type":"integer","minimum":0}},{"name":"page","in":"query","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Sparse [slot, expires_at] pairs, server clock, cursor and pagination"}}}}},"components":{"securitySchemes":{"agentKey":{"type":"http","scheme":"bearer","description":"Generate a NEW random 32-byte key for this artwork only. Never use a provider API key."}}}}