{
    "info": {
        "name": "Sociamonials API",
        "description": "Set the apiKey collection variable to your API key \u2014 every request inherits it as a Bearer token, so there is nothing to paste per request. Create a key at https://www.sociamonials.com/login.php?redirect=accounts%2Fapi_keys.php (sign in first, then Create API Key). Start with Identity > Who am I (GET /api/v1/me) to see what your key may do. Ids are collection variables too: set workspaceId once (Variables tab) and every request that needs it is ready to send. Full reference: https://www.sociamonials.com/developers.php.",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{apiKey}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "baseUrl",
            "value": "https://www.sociamonials.com",
            "description": "Your API domain. Already set for this download."
        },
        {
            "key": "apiKey",
            "value": "PASTE_YOUR_API_KEY_HERE",
            "description": "Your API key. Every request inherits it as a Bearer token."
        },
        {
            "key": "workspaceId",
            "value": "123456",
            "description": "Workspace registration id. Get yours from GET /api/v1/workspaces and set it here once \u2014 every workspace request uses it."
        },
        {
            "key": "postId",
            "value": "123456",
            "description": "A post id, returned by POST /api/v1/posts."
        },
        {
            "key": "sweepstakesId",
            "value": "123456",
            "description": "A sweepstakes id, returned by POST /api/v1/sweepstakes."
        },
        {
            "key": "jobId",
            "value": "123456",
            "description": "A job id, returned by POST /api/v1/workspaces/publish."
        },
        {
            "key": "provisionRequestId",
            "value": "123456",
            "description": "A provisioning request id, returned by POST /api/v1/workspaces/provision."
        }
    ],
    "item": [
        {
            "name": "Identity",
            "description": "Who am I, what may I do, which workspaces and social profiles can I reach. Run these first: they need no ids and are never rate limited.",
            "item": [
                {
                    "name": "Who am I",
                    "request": {
                        "method": "GET",
                        "description": "Identity, credential metadata, entitlement state and the full per-workspace permission map for the authenticated API Agent. Call this first \u2014 it answers every \"am I allowed to\u2026\" question.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/me",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "me"
                            ]
                        }
                    }
                },
                {
                    "name": "List assigned workspaces",
                    "request": {
                        "method": "GET",
                        "description": "Every workspace this API Agent can operate in, each with its effective permission map and whether posting routes through approval.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces"
                            ]
                        }
                    }
                },
                {
                    "name": "List social profiles",
                    "request": {
                        "method": "GET",
                        "description": "Connected social profiles in a workspace with per-profile publish authorization for this agent. No tokens are ever returned.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:workspaceId/social-profiles",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":workspaceId",
                                "social-profiles"
                            ],
                            "variable": [
                                {
                                    "key": "workspaceId",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "Posts",
            "description": "Create, read and cancel posts. Create with \"mode\": \"draft\" until you are ready.",
            "item": [
                {
                    "name": "Create a post (draft, scheduled, or publish now)",
                    "request": {
                        "method": "POST",
                        "description": "Creates one post across one or more networks. mode=draft saves without publishing anything; mode=queue adds it to your posting queue. Name-based options (category, watermark, hashtag_group, cta_group, post_preset, pinterest.board_name) resolve against your saved items \u2014 unknown names are reported in the warnings array of the response, never as hard failures. If the agent lacks posts.publish_direct, non-draft posts route through the workspace approval flow (status pending_approval). Null policy: for any optional field, sending null (or the literal string \"null\") is identical to omitting it \u2014 the documented default applies silently. Required fields that are missing, null, or empty return a 422 naming the field. Unknown field names are ignored and reported in the warnings array of the response (with strict:true they return a 422 instead, where supported). image_url (singular) is accepted as an alias of image_urls. Network codes, in canonical order: fb Facebook, tw X/Twitter, ln LinkedIn, in Instagram, pi Pinterest, gmb Google Business, thrd Threads, tiktok TikTok, yt YouTube, blsk Bluesky. Text limits: tw 280, pi 500, gmb 1500, thrd 500, blsk 300 characters. in/tiktok require an image or video; yt requires a video; pi requires a board (networks.pi.board_name or board_id). NOTE the two different structures: profile_selection.networks (an ARRAY of codes) chooses DESTINATION networks and resolves each workspace's default-on profiles; the networks OBJECT here carries network-specific CONTENT (message overrides and per-network options) plus profile_refs when you select profiles explicitly. Do not confuse the two.",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/posts",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "posts"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mode\": \"draft\",\n    \"message\": \"Hello from the API!\",\n    \"networks\": {\n        \"fb\": {\n            \"profile_refs\": [\n                \"YOUR_PROFILE_ID\"\n            ]\n        }\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Get a post",
                    "request": {
                        "method": "GET",
                        "description": "Full status of one post: draft/approved/delivered flags and per-network delivery. Each network reports delivery_status \u2014 pending (not yet attempted), processing (accepted and queued with the network, e.g. Facebook video uploads), delivered (the network returned a post id), or failed (with the error message) \u2014 so workflows can poll until a final state. The per-network delivered boolean is true only once the platform confirmed the post.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/posts/:id",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "posts",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{postId}}",
                                    "description": "Post id \u2014 returned by POST /api/v1/posts. Set the postId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Cancel a scheduled post",
                    "request": {
                        "method": "DELETE",
                        "description": "Non-destructive cancel; already-delivered posts cannot be canceled (409).",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/posts/:id",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "posts",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{postId}}",
                                    "description": "Post id \u2014 returned by POST /api/v1/posts. Set the postId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Publish to many workspaces (agency)",
                    "request": {
                        "method": "POST",
                        "description": "Agency bulk operation: the same post content fanned out to multiple workspaces in one call. Per-workspace permission checks apply independently; the response reports each workspace separately. Every post field documented on POST /api/v1/posts applies here: a top-level value is shared across all targets, and the same key inside a workspaces[] entry overrides it for that workspace. Null policy: for any optional field, sending null (or the literal string \"null\") is identical to omitting it \u2014 the documented default applies silently. Required fields that are missing, null, or empty return a 422 naming the field. Unknown field names are ignored and reported in the warnings array of the response (with strict:true they return a 422 instead, where supported). image_url (singular) is accepted as an alias of image_urls.",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/publish",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                "publish"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"workspaces\": [\n        {\n            \"workspace_registration_id\": 123456\n        }\n    ],\n    \"mode\": \"draft\",\n    \"message\": \"Network-wide update\",\n    \"networks\": {\n        \"fb\": {\n            \"profile_refs\": [\n                \"YOUR_PROFILE_ID\"\n            ]\n        }\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Bulk job status",
                    "request": {
                        "method": "GET",
                        "description": "Progress and per-workspace results of a bulk publish job.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/jobs/:id",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "jobs",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{jobId}}",
                                    "description": "Job id \u2014 returned by POST /api/v1/workspaces/publish. Set the jobId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "Reports",
            "description": "Analytics plus the published-messages and campaigns reports.",
            "item": [
                {
                    "name": "Workspace analytics",
                    "request": {
                        "method": "GET",
                        "description": "Delivery metrics for one workspace over a UTC window (default: last 30 days). totals is a disjoint lifecycle partition (delivered/pending/drafts/canceled always sum to created); by_network reports targeted vs platform-CONFIRMED delivered for all 10 networks. V1 is delivery-focused \u2014 engagement metrics are not included yet and every response discloses this in meta.partial_data.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:workspaceId/analytics",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":workspaceId",
                                "analytics"
                            ],
                            "query": [
                                {
                                    "key": "from_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC start (default: 30 days ago)",
                                    "disabled": true
                                },
                                {
                                    "key": "to_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC end (default: now)",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "workspaceId",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Published Messages report",
                    "request": {
                        "method": "GET",
                        "description": "The in-app Reports > Posts screen as an API: one row per PUBLISHED message with the same columns - publisher, published_at_utc, message, per-network targeting flags (compose-time selection, not delivery), links, clicks, gbp_clicks, leads, sales, revenue (numeric USD), likes, comments, and the account-defined custom_conversions - the conversion-tracking events this WORKSPACE defined in its own preferences, returned by their own names (there are no fixed custom-conversion fields; a workspace with none configured returns an empty array). Screen-parity semantics, stated in meta: click/conversion counts are LIFETIME totals per message - the date range selects which messages appear, not which clicks count; a networks filter also restricts which networks' clicks/conversions count; likes/comments are cached network counters with no Twitter/X engagement.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:workspaceId/published-messages?date_range=last_30_days&limit=50",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":workspaceId",
                                "published-messages"
                            ],
                            "query": [
                                {
                                    "key": "date_range",
                                    "value": "last_30_days",
                                    "description": "The screen presets; ignored when from_utc/to_utc are sent"
                                },
                                {
                                    "key": "from_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC start (Custom Range)",
                                    "disabled": true
                                },
                                {
                                    "key": "to_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC end (Custom Range)",
                                    "disabled": true
                                },
                                {
                                    "key": "networks",
                                    "value": "",
                                    "description": "comma list of facebook,linkedin,twitter,youtube,instagram,bluesky,gbp,pinterest,tiktok,threads - omitted = all ten (the screen default)",
                                    "disabled": true
                                },
                                {
                                    "key": "post_id",
                                    "value": "",
                                    "description": "restrict to one message",
                                    "disabled": true
                                },
                                {
                                    "key": "category_id",
                                    "value": "",
                                    "description": "the screen's Categories dropdown (post category id)",
                                    "disabled": true
                                },
                                {
                                    "key": "limit",
                                    "value": "50",
                                    "description": "Page size"
                                },
                                {
                                    "key": "offset",
                                    "value": "",
                                    "description": "Pagination offset",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "workspaceId",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Campaigns report",
                    "request": {
                        "method": "GET",
                        "description": "The in-app Reports > Campaigns screen as an API, covering EVERY campaign product - viral sweepstakes, contests, testimonials, galleries, landing pages, refer-a-friend - one row per campaign. Reporting is type-agnostic; CREATING and managing campaigns through this API remains V2 Viral Sweepstakes only. Each row carries campaign_type (the numeric product type, always present) and campaign_type_label (the template name the screen prints, null when that template row no longer exists), promoted_link (the screen column reproduced exactly - null for several products, including every viral sweepstakes, whose link configuration that column does not handle) and campaign_link (the campaign public link that actually works), plus views, engagements, shares, referred_visits, leads, sales, revenue (numeric USD), referral_rewards and the workspace-defined custom_conversions. Metric semantics are stated in meta.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:workspaceId/campaigns-report?date_range=last_30_days&limit=50",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":workspaceId",
                                "campaigns-report"
                            ],
                            "query": [
                                {
                                    "key": "date_range",
                                    "value": "last_30_days",
                                    "description": "The screen presets; ignored when from_utc/to_utc are sent"
                                },
                                {
                                    "key": "from_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC start (custom range)",
                                    "disabled": true
                                },
                                {
                                    "key": "to_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC end (custom range)",
                                    "disabled": true
                                },
                                {
                                    "key": "date_field",
                                    "value": "",
                                    "description": "views = screen parity (a range returns only campaigns VIEWED in the window); created = filter on creation date",
                                    "disabled": true
                                },
                                {
                                    "key": "campaign_id",
                                    "value": "",
                                    "description": "restrict to one campaign",
                                    "disabled": true
                                },
                                {
                                    "key": "limit",
                                    "value": "50",
                                    "description": "Page size"
                                },
                                {
                                    "key": "offset",
                                    "value": "",
                                    "description": "Pagination offset",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "workspaceId",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Agency roll-up analytics",
                    "request": {
                        "method": "GET",
                        "description": "Per-workspace delivery summaries for every workspace where this agent holds analytics.read, ranked by dispatched posts. Same window rules and metric definitions as workspace analytics.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/analytics/agency",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "analytics",
                                "agency"
                            ],
                            "query": [
                                {
                                    "key": "from_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC start (default: 30 days ago)",
                                    "disabled": true
                                },
                                {
                                    "key": "to_utc",
                                    "value": "",
                                    "description": "ISO-8601 UTC end (default: now)",
                                    "disabled": true
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Post analytics",
                    "request": {
                        "method": "GET",
                        "description": "Delivery attempt log and per-network status for one post, with the full post view embedded. The attempt log (social_logs) is failure-biased on several platforms \u2014 an empty list does not mean no attempts; confirmed delivery is the per-network delivery_status on the post view. All timestamps UTC. V1 is delivery-focused; engagement metrics are not included yet.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/posts/:id/analytics",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "posts",
                                ":id",
                                "analytics"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{postId}}",
                                    "description": "Post id \u2014 returned by POST /api/v1/posts. Set the postId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "Sweepstakes",
            "description": "Viral sweepstakes: discovery (entry forms, themes, base campaigns), create, read results, promote.",
            "item": [
                {
                    "name": "Create a Viral Sweepstakes",
                    "request": {
                        "method": "POST",
                        "description": "Creates a complete V2 Viral Sweepstakes from four fields; the builder automates the entry page, official rules, prizes and defaults exactly like the in-app wizard. Returns the shareable link and a ready-to-post social message.",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Spring Giveaway\",\n    \"description\": \"Win big this spring!\",\n    \"grand_prize_name\": \"Grand Prize\",\n    \"grand_prize_description\": \"A great prize.\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "List saved entry forms",
                    "request": {
                        "method": "GET",
                        "description": "Plain-English names of the workspace's saved entry forms, usable as entry_form when creating a sweepstakes.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/entry-forms",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                "entry-forms"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "List Campaign Themes",
                    "request": {
                        "method": "GET",
                        "description": "V2-enabled Campaign Themes usable as the theme when creating a sweepstakes (by name or id).",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/themes",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                "themes"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "List base campaigns",
                    "request": {
                        "method": "GET",
                        "description": "Campaigns usable as base_campaign when creating a sweepstakes. The source workspace is fixed by credential type (agency primary workspace for agency credentials, own workspace for workspace credentials), so no workspace parameter is taken; requires sweepstakes.read on that source workspace. Draft and paused campaigns are valid bases.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/base-campaigns",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                "base-campaigns"
                            ]
                        }
                    }
                },
                {
                    "name": "Get a sweepstakes",
                    "request": {
                        "method": "GET",
                        "description": "Full Sweepstakes-Console view of one campaign.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/:id",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                ":id"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{sweepstakesId}}",
                                    "description": "Sweepstakes id \u2014 returned by POST /api/v1/sweepstakes. Set the sweepstakesId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "List entries",
                    "request": {
                        "method": "GET",
                        "description": "Paged entrant list (limit/offset query params, default 50).",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/:id/entries",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                ":id",
                                "entries"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": "Page size",
                                    "disabled": true
                                },
                                {
                                    "key": "offset",
                                    "value": "",
                                    "description": "Page offset",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{sweepstakesId}}",
                                    "description": "Sweepstakes id \u2014 returned by POST /api/v1/sweepstakes. Set the sweepstakesId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "List referrers",
                    "request": {
                        "method": "GET",
                        "description": "Per-entrant referral tallies.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/:id/referrals",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                ":id",
                                "referrals"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{sweepstakesId}}",
                                    "description": "Sweepstakes id \u2014 returned by POST /api/v1/sweepstakes. Set the sweepstakesId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Results summary",
                    "request": {
                        "method": "GET",
                        "description": "Status, totals and winner state.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/:id/results",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                ":id",
                                "results"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{sweepstakesId}}",
                                    "description": "Sweepstakes id \u2014 returned by POST /api/v1/sweepstakes. Set the sweepstakesId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Pause a sweepstakes",
                    "request": {
                        "method": "POST",
                        "description": "Pauses a live campaign.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/:id/pause",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                ":id",
                                "pause"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{sweepstakesId}}",
                                    "description": "Sweepstakes id \u2014 returned by POST /api/v1/sweepstakes. Set the sweepstakesId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Duplicate a sweepstakes",
                    "request": {
                        "method": "POST",
                        "description": "Copies a campaign as a new draft.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/:id/duplicate",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                ":id",
                                "duplicate"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{sweepstakesId}}",
                                    "description": "Sweepstakes id \u2014 returned by POST /api/v1/sweepstakes. Set the sweepstakesId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Promote assets",
                    "request": {
                        "method": "POST",
                        "description": "Opt-in promotion assets for a campaign: embed / button / sticky-tab / popup JS snippets (with slide-in options) and a QR code image URL. Nothing is returned unless requested.",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/sweepstakes/:id/promote",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sweepstakes",
                                ":id",
                                "promote"
                            ],
                            "query": [
                                {
                                    "key": "workspace_registration_id",
                                    "value": "",
                                    "description": "Optional. Which workspace to act on. Workspace credentials always use their own workspace, so omit it. Agency credentials: omit to act on your agency's primary workspace, or pass an explicit workspace_registration_id (GET /api/v1/workspaces) to act on a different one of your workspaces.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{sweepstakesId}}",
                                    "description": "Sweepstakes id \u2014 returned by POST /api/v1/sweepstakes. Set the sweepstakesId collection variable once, not this row."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"embeds\": [\n        \"button\"\n    ],\n    \"qr\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                }
            ]
        },
        {
            "name": "Agency",
            "description": "Agency-only client workspace provisioning and lifecycle.",
            "item": [
                {
                    "name": "Provision a client workspace",
                    "request": {
                        "method": "POST",
                        "description": "AGENCY + AgencyPro only. Create a NEW client workspace under one of your Pricing Plans WITHOUT charging \u2014 the plan's price is ignored, only its provisioning settings (limits, screens, required fields) are used. You get back an onboarding_url (valid 7 days, single-use) that hands the customer straight into set-password and the plan's onboarding screens, skipping the payment and signup-form steps. The account itself is created when the customer opens the link, through the normal signup flow \u2014 so API-provisioned clients are identical to UI-provisioned ones. No password is accepted here (the customer sets it at handoff). If the email already has an account, you get existing_account (409). A per-agency daily cap applies (admin-configurable).",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/provision",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                "provision"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"pricing_plan\": \"Contractor Social Basic\",\n    \"customer\": {\n        \"email\": \"jane@acme.com\",\n        \"first_name\": \"Jane\",\n        \"company\": \"Acme Roofing\"\n    },\n    \"suppress_emails\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Provision status",
                    "request": {
                        "method": "GET",
                        "description": "Poll a provision request. Returns status (pending until the customer completes onboarding, then redeemed) and, once created, the workspace_registration_id of the new client.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/provision/:id",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                "provision",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{provisionRequestId}}",
                                    "description": "Provisioning request id \u2014 returned by POST /api/v1/workspaces/provision. Set the provisionRequestId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Re-issue an onboarding link",
                    "request": {
                        "method": "POST",
                        "description": "Mint a fresh 7-day onboarding link for a provision that has not been completed yet (e.g. the first link expired). Fails if the client already finished onboarding \u2014 use a login link instead.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/provision/:id/handoff",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                "provision",
                                ":id",
                                "handoff"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{provisionRequestId}}",
                                    "description": "Provisioning request id \u2014 returned by POST /api/v1/workspaces/provision. Set the provisionRequestId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Client login link",
                    "request": {
                        "method": "POST",
                        "description": "AGENCY + AgencyPro only. Mint a short-lived (~10 minute), single-use sign-in link for an EXISTING client workspace you provisioned, so a user working inside your app can jump straight into their social workspace without a password. Scoped: only works for workspaces linked to your agency. Request a fresh link at the moment the user clicks through \u2014 the short lifetime means a leaked link is almost always already dead.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:id/login-link",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":id",
                                "login-link"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Pause a client workspace",
                    "request": {
                        "method": "POST",
                        "description": "AGENCY + AgencyPro only. Pause is THE way to make a client workspace inaccessible: the client can no longer sign in and the workspace is hidden in the agency dashboard, while scheduled content and data stay untouched. Fully reversible with /resume. (Deleting is separate, permanent, and irreversible.) Scoped: only clients linked to your agency.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:id/pause",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":id",
                                "pause"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Resume a paused client workspace",
                    "request": {
                        "method": "POST",
                        "description": "Reverse of /pause: re-enables sign-in and dashboard visibility for the client workspace.",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:id/resume",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":id",
                                "resume"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                },
                {
                    "name": "Delete a client workspace (PERMANENT)",
                    "request": {
                        "method": "DELETE",
                        "description": "AGENCY + AgencyPro only. Deletes a client workspace: PERMANENT and IRREVERSIBLE \u2014 the same as Delete in the agency dashboard. The account is flagged deleted platform-wide, unlinked from your agency, and sign-in is disabled forever. There is no undelete and no reactivation; provisioning again creates a brand-new workspace. If you only want to make the workspace inaccessible for a while, use /pause instead \u2014 that is the reversible operation. No money is involved (API-provisioned workspaces are never charged).",
                        "url": {
                            "raw": "{{baseUrl}}/api/v1/workspaces/:id",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "workspaces",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "{{workspaceId}}",
                                    "description": "Workspace registration id \u2014 from GET /api/v1/workspaces. Set the workspaceId collection variable once, not this row."
                                }
                            ]
                        }
                    }
                }
            ]
        },
        {
            "name": "MCP",
            "description": "The same capabilities over MCP (JSON-RPC, Streamable HTTP).",
            "item": [
                {
                    "name": "MCP server (Streamable HTTP)",
                    "request": {
                        "method": "POST",
                        "description": "The Model Context Protocol endpoint for AI assistants (Claude, ChatGPT connectors, n8n MCP client, \u2026). Same credential, permissions and rate limits as REST. Send MCP JSON-RPC (initialize, tools/list, tools/call) with Accept: application/json, text/event-stream. Authentication is a bearer credential \u2014 not OAuth.",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/api/mcp",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "api",
                                "mcp"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1,\n    \"method\": \"tools/list\",\n    \"params\": []\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                }
            ]
        }
    ]
}