# The Message REST API — Complete AI / LLM Technical Reference > Full technical reference for LLMs, autonomous AI agents, Custom GPTs, and LangChain OpenAPI toolkits. > Host URL: https://bakarimustafa.com > Public Interactive Explorer: https://bakarimustafa.com/api-docs/ > OpenAPI 3.0 Spec: https://bakarimustafa.com/api/openapi.json ## JSON Response Schemas ### 1. GET /api/stats Returns database overview metrics. ```json { "success": true, "data": { "total_sermons": 577, "available_languages": 72, "sermons_with_pdf": 572, "sermons_with_audio": 525, "sermons_with_text": 572 } } ``` ### 2. GET /api/messages?language=en Returns list of sermon records. ```json { "success": true, "count": 577, "data": [ { "id": "64-0112", "title": "Shalom", "date": "1964-01-12", "year": "1964", "language": "en", "pdf_url": "https://branham.org/.../64-0112%20Shalom%20VGR.pdf", "m4a_url": "https://branham.org/.../64-0112%20Shalom.m4a", "cover_image": "https://branham.org/azure/branham/073884ef-dd28-41d1-a7b8-33accbc478b2.jpg", "location": "Phoenix, AZ", "series": "easter-messages", "length": "medium" } ] } ``` ### 3. GET /api/messages/{id}/text?language=en Returns full sermon transcript broken into numbered paragraph blocks with sentence-level tagging and editor's notes tags. ```json { "success": true, "data": { "id": "64-0112", "title": "Shalom", "language": "en", "paragraphs": [ { "number": 1, "text": "SHALOM... Thank you, very much, Brother Isaacson...", "sentences": [ { "id": "p1-s1", "text": "SHALOM... Thank you, very much, Brother Isaacson.", "is_editor_note": false } ] } ] } } ``` ### 4. GET /api/series Returns 16 official sermon series (Adoption, Hebrews, Seventy Weeks, Seven Seals, Church Ages, etc.). ```json { "total_series": 16, "data": [ { "id": "seven-seals", "slug": "seven-seals", "title": "The Revelation of the Seven Seals", "year": 1963, "sermon_count": 8, "sermons": ["63-0317M", "63-0317E", "63-0318", "63-0319", "63-0320", "63-0321", "63-0322", "63-0324M", "63-0324E"] } ] } ``` ### 5. GET /api/places Returns preaching locations and cities with sermon counts. ```json { "total_places": 124, "data": [ { "place": "Jeffersonville, IN", "count": 418 }, { "place": "Phoenix, AZ", "count": 113 }, { "place": "Chicago, IL", "count": 110 } ] } ``` ### 6. GET /api/durations Returns 6 duration brackets matching The Table with sermon counts. ```json { "total_groups": 6, "data": [ { "id": "1-60", "group": "1 - 60", "label": "Under 1 hour", "count": 178 }, { "id": "61-90", "group": "61 - 90", "label": "1 hr – 1.5 hrs", "count": 424 }, { "id": "91-120", "group": "91 - 120", "label": "1.5 hrs – 2 hrs", "count": 520 }, { "id": "121-150", "group": "121 - 150", "label": "2 hrs – 2.5 hrs", "count": 161 }, { "id": "151-180", "group": "151 - 180", "label": "2.5 hrs – 3 hrs", "count": 55 }, { "id": "181+", "group": "181+", "label": "3+ hours (Extended)", "count": 22 } ] } ``` ## OpenAPI 3.0 JSON Definition AI agents can directly consume the OpenAPI spec at `https://bakarimustafa.com/api/openapi.json`.