{ "info": { "name": "Captivate API", "description": "The World's Only Growth-Oriented Podcast Host. Public REST API for Captivate podcast hosting, distribution, and analytics. Endpoints transcribed from Captivate's public Postman documentation at https://docs.captivate.fm.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}", "type": "string" } ] }, "variable": [ { "key": "baseUrl", "value": "https://api.captivate.fm" }, { "key": "bearerToken", "value": "" } ], "item": [ { "name": "Authentication", "item": [ { "name": "Authenticate User", "request": { "auth": { "type": "noauth" }, "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "username", "value": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "type": "text", "description": "The Captivate user ID." }, { "key": "token", "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "type": "text", "description": "The user's API token." } ] }, "url": { "raw": "{{baseUrl}}/authenticate/token", "host": ["{{baseUrl}}"], "path": ["authenticate", "token"] }, "description": "All requests must be authenticated using the token for the user; get the token using the user's ID and their API token." } } ] }, { "name": "Users", "item": [ { "name": "Get User", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/users/:id", "host": ["{{baseUrl}}"], "path": ["users", ":id"], "variable": [{ "key": "id", "value": "" }] } } }, { "name": "Get Users Shows", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/users/:id/shows", "host": ["{{baseUrl}}"], "path": ["users", ":id", "shows"], "variable": [{ "key": "id", "value": "" }] }, "description": "The shows that this user can access regardless of what role they are." } }, { "name": "Get Users Managed Shows", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/users/:id/shows/manager", "host": ["{{baseUrl}}"], "path": ["users", ":id", "shows", "manager"], "variable": [{ "key": "id", "value": "" }] }, "description": "The shows the user is manager or owner of; they can create/invite new users to these shows." } } ] }, { "name": "Shows", "item": [ { "name": "Get Show", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/shows/:id/", "host": ["{{baseUrl}}"], "path": ["shows", ":id", ""], "variable": [{ "key": "id", "value": "" }] }, "description": "Get the show information by the show ID." } }, { "name": "Update Show", "request": { "method": "PUT", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "title", "value": "My Demo Show", "type": "text" }, { "key": "description", "value": "Demo description for this show.", "type": "text" }, { "key": "summary", "value": "Demo summary.", "type": "text" }, { "key": "subtitle", "value": "The demo show for Captivate API.", "type": "text" }, { "key": "author", "value": "Demo User", "type": "text" }, { "key": "name", "value": "Demo User", "type": "text" }, { "key": "categories[0]", "value": "01.00", "type": "text" }, { "key": "itunes_email", "value": "demo@user.com", "type": "text" }, { "key": "copyright", "value": "Copyright Demo User", "type": "text" }, { "key": "explicit", "value": "clean", "type": "text" }, { "key": "order", "value": "DESC", "type": "text" }, { "key": "limit", "value": "20", "type": "text" }, { "key": "type", "value": "episodic", "type": "text" }, { "key": "language", "value": "en", "type": "text" }, { "key": "donation_link", "value": "https://demo.com/support-me", "type": "text" }, { "key": "link", "value": "https://demo.com", "type": "text" }, { "key": "third_party_analytics", "value": "https://chtbl.com/track/", "type": "text" } ] }, "url": { "raw": "{{baseUrl}}/shows/:id", "host": ["{{baseUrl}}"], "path": ["shows", ":id"], "variable": [{ "key": "id", "value": "" }] } } }, { "name": "Create Show Artwork", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [{ "key": "file", "type": "file", "src": [] }] }, "url": { "raw": "{{baseUrl}}/shows/:id/artwork", "host": ["{{baseUrl}}"], "path": ["shows", ":id", "artwork"], "variable": [{ "key": "id", "value": "" }] }, "description": "Upload square JPG/PNG artwork in RGB colorspace, minimum 1400px." } }, { "name": "Get Show Feed URL", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/shows/:id/feed", "host": ["{{baseUrl}}"], "path": ["shows", ":id", "feed"], "variable": [{ "key": "id", "value": "" }] }, "description": "Get the RSS feed URL for this show." } } ] }, { "name": "Episodes", "item": [ { "name": "Get Show Episodes", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/shows/:id/episodes", "host": ["{{baseUrl}}"], "path": ["shows", ":id", "episodes"], "variable": [{ "key": "id", "value": "" }] } } }, { "name": "Get Show Scheduled Episodes", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/shows/:id/episodes/scheduled", "host": ["{{baseUrl}}"], "path": ["shows", ":id", "episodes", "scheduled"], "variable": [{ "key": "id", "value": "" }] } } }, { "name": "Get Episode", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/episodes/:id", "host": ["{{baseUrl}}"], "path": ["episodes", ":id"], "variable": [{ "key": "id", "value": "" }] } } }, { "name": "Create Episode", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "shows_id", "value": "ssssssss-ssss-ssss-ssss-ssssssssssss", "type": "text" }, { "key": "title", "value": "My Demo Episode", "type": "text" }, { "key": "itunes_title", "value": "My Demo Episode for Apple Podcasts", "type": "text" }, { "key": "media_id", "value": "mmmmmmmm-mmmm-mmmm-mmmm-mmmmmmmmmmmm", "type": "text" }, { "key": "date", "value": "YYYY-MM-DD HH:mm:ss", "type": "text" }, { "key": "status", "value": "Draft", "type": "text" }, { "key": "shownotes", "value": "Demo shownotes for this episode.", "type": "text" }, { "key": "summary", "value": "Demo episode summary.", "type": "text" }, { "key": "itunes_subtitle", "value": "My Demo Episode - Subtitle", "type": "text" }, { "key": "author", "value": "Demo User", "type": "text" }, { "key": "episode_art", "value": "https://artwork.captivate.fm/xxxxx-xxx-xxx-xxx/artwork.jpg", "type": "text" }, { "key": "explicit", "value": "", "type": "text" }, { "key": "episode_type", "value": "full", "type": "text" }, { "key": "episode_season", "value": "1", "type": "text" }, { "key": "episode_number", "value": "1", "type": "text" }, { "key": "donation_link", "value": "https://demo.com/support-me", "type": "text" }, { "key": "donation_text", "value": "Support us on Patreon", "type": "text" }, { "key": "link", "value": "https://demo.com", "type": "text" }, { "key": "itunes_block", "value": "false", "type": "text" } ] }, "url": { "raw": "{{baseUrl}}/episodes", "host": ["{{baseUrl}}"], "path": ["episodes"] } } }, { "name": "Update Episode", "request": { "method": "PUT", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "shows_id", "value": "ssssssss-ssss-ssss-ssss-ssssssssssss", "type": "text" }, { "key": "title", "value": "My Demo Episode", "type": "text" }, { "key": "media_id", "value": "mmmmmmmm-mmmm-mmmm-mmmm-mmmmmmmmmmmm", "type": "text" }, { "key": "date", "value": "YYYY-MM-DD HH:mm:ss", "type": "text" }, { "key": "status", "value": "Draft", "type": "text" }, { "key": "episode_season", "value": "1", "type": "text" }, { "key": "episode_number", "value": "1", "type": "text" } ] }, "url": { "raw": "{{baseUrl}}/episodes/:id", "host": ["{{baseUrl}}"], "path": ["episodes", ":id"], "variable": [{ "key": "id", "value": "" }] } } } ] }, { "name": "Media", "item": [ { "name": "Get Media", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/media/:id", "host": ["{{baseUrl}}"], "path": ["media", ":id"], "variable": [{ "key": "id", "value": "" }] } } }, { "name": "Upload Media", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [{ "key": "file", "type": "file", "src": [] }] }, "url": { "raw": "{{baseUrl}}/shows/:id/media", "host": ["{{baseUrl}}"], "path": ["shows", ":id", "media"], "variable": [{ "key": "id", "value": "" }] }, "description": "Upload a media file assigned to this show ID." } }, { "name": "Get Show Media", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/shows/:id/media?offset=0&order=created_at&sort=DESC", "host": ["{{baseUrl}}"], "path": ["shows", ":id", "media"], "query": [ { "key": "offset", "value": "0" }, { "key": "order", "value": "created_at" }, { "key": "sort", "value": "DESC" } ], "variable": [{ "key": "id", "value": "" }] } } }, { "name": "Search Show Media", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/shows/:id/media/search?search=Search Query&offset=0&order=created_at&sort=DESC", "host": ["{{baseUrl}}"], "path": ["shows", ":id", "media", "search"], "query": [ { "key": "search", "value": "Search Query" }, { "key": "offset", "value": "0" }, { "key": "order", "value": "created_at" }, { "key": "sort", "value": "DESC" } ], "variable": [{ "key": "id", "value": "" }] } } } ] }, { "name": "Analytics", "item": [ { "name": "Get Overview Analytics for Podcast", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/insights/:showId/overview?start=2022-09-01T00:00:00.000Z&end=2022-09-01T00:00:00.000Z&includeTopEpisodes=true", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "overview"], "query": [ { "key": "start", "value": "2022-09-01T00:00:00.000Z" }, { "key": "end", "value": "2022-09-01T00:00:00.000Z" }, { "key": "includeTopEpisodes", "value": "true" } ], "variable": [{ "key": "showId", "value": "" }] } } }, { "name": "Get Overview Analytics for a specific Episode", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/insights/:showId/overview/:episodeId?start=2022-09-01T00:00:00.000Z&end=2022-09-01T00:00:00.000Z", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "overview", ":episodeId"], "query": [ { "key": "start", "value": "2022-09-01T00:00:00.000Z" }, { "key": "end", "value": "2022-09-01T00:00:00.000Z" } ], "variable": [{ "key": "showId", "value": "" }, { "key": "episodeId", "value": "" }] } } }, { "name": "Get Average Analytics for Podcast", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/insights/:showId/averages?intervalDays=28", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "averages"], "query": [{ "key": "intervalDays", "value": "28" }], "variable": [{ "key": "showId", "value": "" }] } } }, { "name": "Get All-Time Total for Podcast", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/insights/:showId/total", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "total"], "variable": [{ "key": "showId", "value": "" }] } } }, { "name": "Get All-Time Total for Episode", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/insights/:showId/total/:episodeId", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "total", ":episodeId"], "variable": [{ "key": "showId", "value": "" }, { "key": "episodeId", "value": "" }] } } }, { "name": "Get Month-by-Month Analytics for Podcast", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/insights/:showId/monthly", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "monthly"], "variable": [{ "key": "showId", "value": "" }] } } }, { "name": "Get Month-by-Month Analytics for Episode", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/insights/:showId/monthly/:episodeId", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "monthly", ":episodeId"], "variable": [{ "key": "showId", "value": "" }, { "key": "episodeId", "value": "" }] } } }, { "name": "Get Analytics in Range for Podcast", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"start\": \"2022-09-01T00:00:00.000Z\",\n \"end\": \"2022-09-01T00:00:00.000Z\",\n \"interval\": \"1d\",\n \"timezone\": \"America/New_York\",\n \"countryCode\": null,\n \"types\": [\"byLocation\", \"byUserAgentBrowser\", \"byUserAgentOs\", \"byUserAgentDevice\", \"byEpisode\", \"byPrivateSubscriber\"]\n}" }, "url": { "raw": "{{baseUrl}}/insights/:showId/range", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "range"], "variable": [{ "key": "showId", "value": "" }] } } }, { "name": "Get Analytics in Range for Episode", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"start\": \"2022-09-01T00:00:00.000Z\",\n \"end\": \"2022-09-01T00:00:00.000Z\",\n \"interval\": \"1d\",\n \"timezone\": \"America/New_York\",\n \"countryCode\": null,\n \"types\": [\"byLocation\", \"byUserAgentBrowser\", \"byUserAgentOs\", \"byUserAgentDevice\", \"byPrivateSubscriber\"]\n}" }, "url": { "raw": "{{baseUrl}}/insights/:showId/range/:episodeId", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "range", ":episodeId"], "variable": [{ "key": "showId", "value": "" }, { "key": "episodeId", "value": "" }] } } }, { "name": "Get Analytics Comparison between Episodes", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "[\n { \"id\": \"{{EPISODE_ID}}\", \"title\": \"My Episode Title\", \"published_date\": \"2022-09-01T00:00:00.000Z\" },\n { \"id\": \"{{EPISODE_ID}}\", \"title\": \"My Episode Title 2\", \"published_date\": \"2022-09-01T00:00:00.000Z\" }\n]" }, "url": { "raw": "{{baseUrl}}/insights/:showId/compare", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "compare"], "variable": [{ "key": "showId", "value": "" }] } } }, { "name": "Get Web Player Analytics for Podcast", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"dateRange\": { \"gte\": \"2022-09-01T00:00:00.000Z\", \"lte\": \"2022-09-01T00:00:00.000Z\" },\n \"duration\": \"1700\",\n \"timezone\": \"America/New_York\"\n}" }, "url": { "raw": "{{baseUrl}}/insights/:showId/web-player/:episodeId", "host": ["{{baseUrl}}"], "path": ["insights", ":showId", "web-player", ":episodeId"], "variable": [{ "key": "showId", "value": "" }, { "key": "episodeId", "value": "" }] } } } ] } ] }