{"openapi":"3.1.0","info":{"title":"Fondly Told API","version":"2","description":"One upload of the person's own photos returns one link, where they choose, preview, change and order a printed book."},"servers":[{"url":"https://test.fondlytold.com"}],"paths":{"/v1/sessions":{"post":{"operationId":"createOrderCode","summary":"Optional: get an order code when the person does not have one. /v1/media issues one by itself when none is sent","responses":{"201":{"description":"order_code"}}}},"/v1/media":{"post":{"operationId":"sendPhotoFiles","summary":"Upload every candidate photo in one request (multipart/form-data: photo_N, taken_at_N or date_N, caption_N, kind_N, pick_N=1; optional gift_for, gift_from, occasion, relationship, title, bio, voice_sample_N). 15 to 60 files for a new book; fewer returns 422 too_few_photos and stores nothing. Add ?code=KEEP-XXXX-XXXX when the person has a code; ?code=...&add=1 or ?book=<book_id> adds photos to an open book. Returns book_url","parameters":[{"name":"code","in":"query","schema":{"type":"string"}},{"name":"add","in":"query","schema":{"type":"string"}},{"name":"book","in":"query","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":{"type":"string","format":"binary"}}}}},"responses":{"200":{"description":"book_url, order_code, summary, message_for_person"},"422":{"description":"too_few_photos or no_files; nothing stored"}}}},"/v1/status":{"get":{"operationId":"getBookStatus","summary":"Whether the person is choosing, previewing, at checkout or has paid. No order code needed","parameters":[{"name":"book","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"stage"}}}}}}