{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/reddit/profile.json","title":"reddit/profile data fields","description":"Required core structure for successful data, with optional source fields. Additional fields are allowed. This is not a completeness guarantee.","type":"object","properties":{"author":{"type":["object","null"],"properties":{"id":{"type":["string","null"],"description":"id"},"username":{"type":["string","null"],"description":"username"},"display_name":{"type":["string","null"],"description":"display name"},"avatar_url":{"type":["string","null"],"description":"avatar url"},"bio":{"type":["string","null"],"description":"bio"},"url":{"type":["string","null"],"description":"url"},"joined_at":{"type":["string","null"],"description":"joined at"},"followers":{"type":["number","null"],"description":"followers; null is unknown."},"following":{"type":["number","null"],"description":"following; null is unknown."},"posts_count":{"type":["number","null"],"description":"posts count; null is unknown."},"verified":{"type":["boolean","null"],"description":"Source verification flag."},"private":{"type":["boolean","null"],"description":"Source privacy flag."}},"additionalProperties":true},"computed":{"type":["object","null"],"properties":{"engagement_rate":{"type":["number","null"],"description":"Computed only where supported."},"language":{"type":["string","null"],"description":"language"},"content_category":{"type":["string","null"],"description":"content category"},"estimated_reach":{"type":["number","null"],"description":"Unknown when null."}},"additionalProperties":true},"_warnings":{"type":"array","items":{"type":["string","null"],"description":"Source text."}},"id":{"type":["string","null"],"description":"Exact source identifier; preserve it as a string."},"handle":{"type":["string","null"],"description":"handle"},"name":{"type":["string","null"],"description":"name"},"url":{"type":["string","null"],"description":"url"},"bio":{"type":["string","null"],"description":"bio"},"avatar_url":{"type":["string","null"],"description":"avatar url"},"created_at":{"type":["string","null"],"description":"created at"},"link_karma":{"type":["number","null"],"description":"link karma; null is unknown."},"comment_karma":{"type":["number","null"],"description":"comment karma; null is unknown."},"total_karma":{"type":["number","null"],"description":"total karma; null is unknown."},"verified":{"type":["boolean","null"],"description":"Source verification flag."}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["author"],"properties":{"author":{"type":["object"],"properties":{"id":{"type":["string","null"],"description":"id"},"username":{"type":["string","null"],"description":"username"},"display_name":{"type":["string","null"],"description":"display name"},"avatar_url":{"type":["string","null"],"description":"avatar url"},"bio":{"type":["string","null"],"description":"bio"},"url":{"type":["string","null"],"description":"url"},"joined_at":{"type":["string","null"],"description":"joined at"},"followers":{"type":["number","null"],"description":"followers; null is unknown."},"following":{"type":["number","null"],"description":"following; null is unknown."},"posts_count":{"type":["number","null"],"description":"posts count; null is unknown."},"verified":{"type":["boolean","null"],"description":"Source verification flag."},"private":{"type":["boolean","null"],"description":"Source privacy flag."}},"additionalProperties":true}}},{"required":["computed"],"properties":{"computed":{"type":["object"],"properties":{"engagement_rate":{"type":["number","null"],"description":"Computed only where supported."},"language":{"type":["string","null"],"description":"language"},"content_category":{"type":["string","null"],"description":"content category"},"estimated_reach":{"type":["number","null"],"description":"Unknown when null."}},"additionalProperties":true}}},{"required":["id"],"properties":{"id":{"type":["string"],"description":"Exact source identifier; preserve it as a string.","minLength":1}}},{"required":["handle"],"properties":{"handle":{"type":["string"],"description":"handle","minLength":1}}},{"required":["name"],"properties":{"name":{"type":["string"],"description":"name","minLength":1}}},{"required":["url"],"properties":{"url":{"type":["string"],"description":"url","minLength":1}}},{"required":["bio"],"properties":{"bio":{"type":["string"],"description":"bio","minLength":1}}},{"required":["avatar_url"],"properties":{"avatar_url":{"type":["string"],"description":"avatar url","minLength":1}}},{"required":["created_at"],"properties":{"created_at":{"type":["string"],"description":"created at","minLength":1}}},{"required":["link_karma"],"properties":{"link_karma":{"type":["number"],"description":"link karma; null is unknown."}}},{"required":["comment_karma"],"properties":{"comment_karma":{"type":["number"],"description":"comment karma; null is unknown."}}},{"required":["total_karma"],"properties":{"total_karma":{"type":["number"],"description":"total karma; null is unknown."}}},{"required":["verified"],"properties":{"verified":{"type":["boolean"],"description":"Source verification flag."}}}]}],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"author":{"id":"example","username":"example"},"computed":{"engagement_rate":null}}]}