{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/yelp/photos.json","title":"yelp/photos data fields","description":"Optional data supplied by this operation. Null means unknown.","type":"object","properties":{"business_id":{"description":"Optional business id supplied by this operation. Null means unknown.","type":["string","null"]},"categories":{"description":"Optional categories supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"count":{"description":"Number of records in this response, not lifetime or total matches.","type":["number","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"slug":{"description":"Optional slug supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}},"category":{"description":"Optional category supplied by this operation. Null means unknown.","type":["string","null"]},"count":{"description":"Number of records in this response, not lifetime or total matches.","type":["number","null"]},"cursor":{"description":"Opaque next-page token; pass it back unchanged. Null does not prove complete history.","type":["string","null"]},"has_more":{"description":"Source continuation indicator; null means unknown.","type":["boolean","null"]},"items":{"description":"Returned records. Source coverage and completeness vary.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":"object","properties":{"author":{"description":"Public author information supplied with this record.","type":["object","null"],"properties":{"elite_year":{"description":"Optional elite year supplied by this operation. Null means unknown.","type":["number","null"]},"friends":{"description":"Optional friends supplied by this operation. Null means unknown.","type":["number","null"]},"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"image":{"description":"Optional image supplied by this operation. Null means unknown.","type":["string","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"photos":{"description":"Optional photos supplied by this operation. Null means unknown.","type":["number","null"]},"reviews":{"description":"Optional reviews supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true},"caption":{"description":"Optional caption supplied by this operation. Null means unknown.","type":["string","null"]},"duration":{"description":"Optional duration supplied by this operation. Null means unknown.","type":["number","null"]},"height":{"description":"Optional height supplied by this operation. Null means unknown.","type":["number","null"]},"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"posted_at":{"description":"Optional posted at supplied by this operation. Null means unknown.","type":["string","null"]},"share_url":{"description":"Optional share url supplied by this operation. Null means unknown.","type":["string","null"]},"thumbnail_url":{"description":"Optional thumbnail url supplied by this operation. Null means unknown.","type":["string","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]},"url":{"description":"Original source URL when supplied.","type":["string","null"]},"video_url":{"description":"Optional video url supplied by this operation. Null means unknown.","type":["string","null"]},"width":{"description":"Optional width supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["author"],"properties":{"author":{"description":"Public author information supplied with this record.","type":["object"],"properties":{"elite_year":{"description":"Optional elite year supplied by this operation. Null means unknown.","type":["number","null"]},"friends":{"description":"Optional friends supplied by this operation. Null means unknown.","type":["number","null"]},"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"image":{"description":"Optional image supplied by this operation. Null means unknown.","type":["string","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"photos":{"description":"Optional photos supplied by this operation. Null means unknown.","type":["number","null"]},"reviews":{"description":"Optional reviews supplied by this operation. Null means unknown.","type":["number","null"]}},"additionalProperties":true}}},{"required":["caption"],"properties":{"caption":{"description":"Optional caption supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["duration"],"properties":{"duration":{"description":"Optional duration supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["height"],"properties":{"height":{"description":"Optional height supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["id"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string"],"minLength":1}}},{"required":["posted_at"],"properties":{"posted_at":{"description":"Optional posted at supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["share_url"],"properties":{"share_url":{"description":"Optional share url supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["thumbnail_url"],"properties":{"thumbnail_url":{"description":"Optional thumbnail url supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["url"],"properties":{"url":{"description":"Original source URL when supplied.","type":["string"],"minLength":1}}},{"required":["video_url"],"properties":{"video_url":{"description":"Optional video url supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["width"],"properties":{"width":{"description":"Optional width supplied by this operation. Null means unknown.","type":["number"]}}}]}]}},"page":{"description":"Optional page supplied by this operation. Null means unknown.","type":["number","null"]},"total":{"description":"Source-reported total; null is unknown.","type":["number","null"]}},"additionalProperties":true,"required":["items"],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"business_id":"example","categories":[{"count":0,"name":"example","slug":"example"}],"category":"example","count":0,"cursor":null,"has_more":false,"items":[{"author":{"elite_year":0,"friends":0,"id":"example","image":"https://example.com/example","name":"example","photos":0,"reviews":0},"caption":"example","duration":0,"height":0,"id":"example","posted_at":"2026-09-01T12:00:00Z","share_url":"https://example.com/example","thumbnail_url":"https://example.com/example","type":"example","url":"https://example.com/example","video_url":"https://example.com/example","width":0}],"page":0,"total":0}]}