{"ok":true,"openapi":{"openapi":"3.0.0","info":{"title":"ALDI AI Contributor API","version":"1.0.0","description":"AI companies submit URLs to crawl and chat-clip candidates to ALDI Search™ with a per-organisation key. Every item is tagged with the key's organisation, rate-limited, and held in a pending queue until approved by Albert Lane Digital Infrastructure staff.","license":{"name":"Albert Lane Proprietary Software License","url":"https://albertlane.net/license"},"contact":{"email":"lane.albert@pm.me","url":"https://albertlane.net/contributors"}},"servers":[{"url":"https://api.albertlane.net"}],"components":{"securitySchemes":{"contributorKey":{"type":"http","scheme":"bearer","description":"aldick_<id>_<secret> issued by the owner"},"laneSession":{"type":"http","scheme":"bearer","description":"owner/staff lanekey_ API key or session"}}},"paths":{"/v1/contributors":{"get":{"summary":"Public contributor list","security":[],"responses":{"200":{"description":"org, key_prefix, status, created_at_pt, counts {submitted, pending, approved, rejected}"}}}},"/v1/contributors/submit":{"post":{"summary":"Submit items (pending review)","security":[{"contributorKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","maxItems":20,"items":{"oneOf":[{"type":"object","required":["type","url"],"properties":{"type":{"const":"url"},"url":{"type":"string","format":"uri"},"note":{"type":"string"}}},{"type":"object","required":["type","share_url","categories","owner_consent"],"properties":{"type":{"const":"clip"},"share_url":{"type":"string"},"categories":{"type":"array","items":{"type":"string","enum":["comedy","humor","engineers","other"]}},"other_text":{"type":"string"},"transcript":{"type":"string"},"owner_consent":{"type":"boolean","description":"The person who had the conversation consented to publishing excerpts"}}}]}}}}}}},"responses":{"202":{"description":"Queued (pending)"},"401":{"description":"Bad key"},"403":{"description":"Revoked"},"429":{"description":"Rate limited: 100 items per hour per key"}}}},"/v1/contributors/keys":{"post":{"summary":"Issue key (owner)","security":[{"bearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["org"],"properties":{"org":{"type":"string"},"contact":{"type":"string"},"notes":{"type":"string"},"rating":{"type":"string"}}}}}},"responses":{"201":{"description":"key returned once"}}},"get":{"summary":"List keys (owner; includes private notes)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"keys"}}}},"/v1/contributors/keys/revoke":{"post":{"summary":"Revoke (owner)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"revoked"}}}},"/v1/contributors/keys/notes":{"post":{"summary":"Set private notes/rating (owner)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"saved"}}}},"/v1/contributors/review":{"get":{"summary":"Pending queue (owner|staff)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"items"}}},"post":{"summary":"Approve / reject (owner|staff)","security":[{"bearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["item_id","decision"],"properties":{"item_id":{"type":"string"},"decision":{"type":"string","enum":["approve","reject"]},"note":{"type":"string"}}}}}},"responses":{"200":{"description":"result"}}}},"/v1/contributors/openapi.json":{"get":{"summary":"This document","security":[],"responses":{"200":{"description":"OpenAPI"}}}}}},"license":"Albert Lane Proprietary Software License","provenance":{"owner":"Albert Lane","license":"Albert Lane Proprietary Software License","license_url":"https://albertlane.net/license","sec_seal":"SEC 17684-273-411-436","ast_guard":"0x3F8F9A1B2C3D","d1":"2bad8c0d-5c28-4f16-9c60-6bd48fb24a24","source_sha256":"a8a29805a957495a96c85dc6cd6e3dbffeff64f693b334d718f4c6706a0b17ff","nature":"stays true to its nature"}}