{ "info": { "name": "Swoogo API", "description": "REST API for the Swoogo event management and event registration platform. Base URL: https://api.swoogo.com/api/v1. Authenticate with the OAuth2 client_credentials grant: Base64-encode your API key:secret (from My Profile > API Credentials in the Swoogo app), POST it to /oauth2/token, then send the returned bearer token as an Authorization header. Tokens expire every 30 minutes. This collection covers a representative subset of the ~140 documented endpoints across Events, Registrants, Sessions, Speakers, and Contacts.", "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.swoogo.com/api/v1", "type": "string" }, { "key": "bearerToken", "value": "", "type": "string" } ], "item": [ { "name": "Authentication", "item": [ { "name": "Request an API token", "request": { "auth": { "type": "basic", "basic": [ { "key": "username", "value": "{{apiKey}}", "type": "string" }, { "key": "password", "value": "{{apiSecret}}", "type": "string" } ] }, "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded;charset=UTF-8" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "client_credentials" } ] }, "url": { "raw": "{{baseUrl}}/oauth2/token", "host": ["{{baseUrl}}"], "path": ["oauth2", "token"] }, "description": "Exchanges Base64-encoded client credentials for a bearer token that expires in 30 minutes." } } ] }, { "name": "Events", "item": [ { "name": "Get all events", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/events", "host": ["{{baseUrl}}"], "path": ["events"] }, "description": "Returns a paginated list of events." } }, { "name": "Create an event", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"name\": \"My Event\",\n \"start_date\": \"2026-09-01\",\n \"end_date\": \"2026-09-02\",\n \"timezone\": \"America/New_York\"\n}" }, "url": { "raw": "{{baseUrl}}/events", "host": ["{{baseUrl}}"], "path": ["events"] }, "description": "Creates a new event." } }, { "name": "Get one event", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/events/:event_id", "host": ["{{baseUrl}}"], "path": ["events", ":event_id"], "variable": [{ "key": "event_id", "value": "" }] }, "description": "Retrieves a single event by ID." } }, { "name": "Update an event", "request": { "method": "PUT", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}" }, "url": { "raw": "{{baseUrl}}/events/:event_id", "host": ["{{baseUrl}}"], "path": ["events", ":event_id"], "variable": [{ "key": "event_id", "value": "" }] }, "description": "Updates an existing event." } }, { "name": "Clone an event", "request": { "method": "POST", "header": [], "url": { "raw": "{{baseUrl}}/events/:event_id/clone", "host": ["{{baseUrl}}"], "path": ["events", ":event_id", "clone"], "variable": [{ "key": "event_id", "value": "" }] }, "description": "Creates a copy of an existing event." } } ] }, { "name": "Registrants", "item": [ { "name": "Get all registrants", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/registrants?event_id=", "host": ["{{baseUrl}}"], "path": ["registrants"], "query": [{ "key": "event_id", "value": "" }] }, "description": "Returns a paginated list of registrants, optionally filtered by event." } }, { "name": "Create a registrant", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"event_id\": 0,\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"email\": \"jane@example.com\"\n}" }, "url": { "raw": "{{baseUrl}}/registrants", "host": ["{{baseUrl}}"], "path": ["registrants"] }, "description": "Registers a new attendee for an event." } }, { "name": "Get one registrant", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/registrants/:registrant_id", "host": ["{{baseUrl}}"], "path": ["registrants", ":registrant_id"], "variable": [{ "key": "registrant_id", "value": "" }] }, "description": "Retrieves a single registrant by ID." } }, { "name": "Update a registrant", "request": { "method": "PUT", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}" }, "url": { "raw": "{{baseUrl}}/registrants/:registrant_id", "host": ["{{baseUrl}}"], "path": ["registrants", ":registrant_id"], "variable": [{ "key": "registrant_id", "value": "" }] }, "description": "Updates an existing registrant." } }, { "name": "Check a registrant in", "request": { "method": "POST", "header": [], "url": { "raw": "{{baseUrl}}/registrants/:registrant_id/check-in", "host": ["{{baseUrl}}"], "path": ["registrants", ":registrant_id", "check-in"], "variable": [{ "key": "registrant_id", "value": "" }] }, "description": "Marks a registrant as checked in to the event." } } ] }, { "name": "Sessions", "item": [ { "name": "Get all sessions", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/sessions?event_id=", "host": ["{{baseUrl}}"], "path": ["sessions"], "query": [{ "key": "event_id", "value": "" }] }, "description": "Returns a paginated list of agenda sessions, optionally filtered by event." } }, { "name": "Create a session", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"event_id\": 0,\n \"name\": \"Opening Keynote\",\n \"start_time\": \"2026-09-01T09:00:00Z\",\n \"end_time\": \"2026-09-01T10:00:00Z\"\n}" }, "url": { "raw": "{{baseUrl}}/sessions", "host": ["{{baseUrl}}"], "path": ["sessions"] }, "description": "Creates a new agenda session." } }, { "name": "Get one session", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/sessions/:session_id", "host": ["{{baseUrl}}"], "path": ["sessions", ":session_id"], "variable": [{ "key": "session_id", "value": "" }] }, "description": "Retrieves a single session by ID." } }, { "name": "Update a session", "request": { "method": "PUT", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}" }, "url": { "raw": "{{baseUrl}}/sessions/:session_id", "host": ["{{baseUrl}}"], "path": ["sessions", ":session_id"], "variable": [{ "key": "session_id", "value": "" }] }, "description": "Updates an existing session." } }, { "name": "Delete a session", "request": { "method": "DELETE", "header": [], "url": { "raw": "{{baseUrl}}/sessions/:session_id", "host": ["{{baseUrl}}"], "path": ["sessions", ":session_id"], "variable": [{ "key": "session_id", "value": "" }] }, "description": "Deletes a session." } } ] }, { "name": "Speakers", "item": [ { "name": "Get all speakers", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/speakers?event_id=", "host": ["{{baseUrl}}"], "path": ["speakers"], "query": [{ "key": "event_id", "value": "" }] }, "description": "Returns a paginated list of speakers, optionally filtered by event." } }, { "name": "Create a speaker", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"event_id\": 0,\n \"first_name\": \"Alex\",\n \"last_name\": \"Rivera\",\n \"email\": \"alex@example.com\"\n}" }, "url": { "raw": "{{baseUrl}}/speakers", "host": ["{{baseUrl}}"], "path": ["speakers"] }, "description": "Creates a new speaker." } }, { "name": "Get one speaker", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/speakers/:speaker_id", "host": ["{{baseUrl}}"], "path": ["speakers", ":speaker_id"], "variable": [{ "key": "speaker_id", "value": "" }] }, "description": "Retrieves a single speaker by ID." } }, { "name": "Delete a speaker", "request": { "method": "DELETE", "header": [], "url": { "raw": "{{baseUrl}}/speakers/:speaker_id", "host": ["{{baseUrl}}"], "path": ["speakers", ":speaker_id"], "variable": [{ "key": "speaker_id", "value": "" }] }, "description": "Deletes a speaker." } }, { "name": "Assign a speaker to a session", "request": { "method": "POST", "header": [], "url": { "raw": "{{baseUrl}}/speakers/:speaker_id/sessions/:session_id", "host": ["{{baseUrl}}"], "path": ["speakers", ":speaker_id", "sessions", ":session_id"], "variable": [{ "key": "speaker_id", "value": "" }, { "key": "session_id", "value": "" }] }, "description": "Assigns a speaker to a session." } } ] }, { "name": "Contacts", "item": [ { "name": "Get all contacts", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/contacts", "host": ["{{baseUrl}}"], "path": ["contacts"] }, "description": "Returns a paginated list of organization-level CRM contacts." } }, { "name": "Create a contact", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"first_name\": \"Sam\",\n \"last_name\": \"Lee\",\n \"email\": \"sam@example.com\"\n}" }, "url": { "raw": "{{baseUrl}}/contacts", "host": ["{{baseUrl}}"], "path": ["contacts"] }, "description": "Creates a new organization-level contact." } }, { "name": "Get one contact", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/contacts/:contact_id", "host": ["{{baseUrl}}"], "path": ["contacts", ":contact_id"], "variable": [{ "key": "contact_id", "value": "" }] }, "description": "Retrieves a single contact by ID." } }, { "name": "Update a contact", "request": { "method": "PUT", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}" }, "url": { "raw": "{{baseUrl}}/contacts/:contact_id", "host": ["{{baseUrl}}"], "path": ["contacts", ":contact_id"], "variable": [{ "key": "contact_id", "value": "" }] }, "description": "Updates an existing contact." } }, { "name": "Forget a contact (GDPR)", "request": { "method": "POST", "header": [], "url": { "raw": "{{baseUrl}}/contacts/:contact_id/forget", "host": ["{{baseUrl}}"], "path": ["contacts", ":contact_id", "forget"], "variable": [{ "key": "contact_id", "value": "" }] }, "description": "Anonymizes/forgets a contact to satisfy GDPR erasure requests." } } ] } ] }