### GET /projects/:id/setup-state Source: https://docs.useplunk.com/api-reference/overview.md Retrieves the onboarding setup state for a specific project. ```APIDOC ## GET /projects/:id/setup-state ### Description Onboarding setup state. ### Method GET ### Endpoint /projects/:id/setup-state ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project. ### Response #### Success Response (200) - **state** (string) - The current setup state of the project (e.g., "completed", "in_progress"). ``` -------------------------------- ### List Campaigns Request Example Source: https://docs.useplunk.com/api-reference/campaigns/listCampaigns.md This cURL command demonstrates how to make a GET request to the campaigns endpoint. Remember to replace 'YOUR_API_KEY' with your actual API key. ```bash curl -X GET 'https://next-api.useplunk.com/campaigns' \ -H 'Authorization: Bearer YOUR_API_KEY' ``` -------------------------------- ### List Templates API Request Example Source: https://docs.useplunk.com/api-reference/templates/listTemplates.md This cURL command demonstrates how to make a GET request to the List Templates API endpoint, including the necessary authorization header. ```bash curl -X GET 'https://next-api.useplunk.com/templates' \ -H 'Authorization: Bearer YOUR_API_KEY' ``` -------------------------------- ### Example DMARC Record Source: https://docs.useplunk.com/guides/verifying-domains.md This is an example of a DMARC TXT record. It's recommended to start with 'p=none' for monitoring before tightening to 'quarantine' or 'reject'. ```text v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com ``` -------------------------------- ### List Contacts Request Example Source: https://docs.useplunk.com/api-reference/contacts/listContacts.md This cURL command demonstrates how to make a GET request to the List Contacts API endpoint. Ensure you replace 'YOUR_API_KEY' with your actual Plunk API key. ```bash curl -X GET 'https://next-api.useplunk.com/contacts' \ -H 'Authorization: Bearer YOUR_API_KEY' ``` -------------------------------- ### Send Email Request Body Example Source: https://docs.useplunk.com/api-reference/public-api/sendEmail.md A basic example of a request body for sending an email. Ensure 'to' is provided. ```json { "to": "user@example.com" } ``` -------------------------------- ### Example cURL Request to Create Segment Source: https://docs.useplunk.com/api-reference/segments/createSegment.md An example using cURL to send a POST request to create a segment, including authorization and request payload. ```bash curl -X POST 'https://next-api.useplunk.com/segments' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"name":"string","filters":null}' ``` -------------------------------- ### Example cURL Request to Get Contact Source: https://docs.useplunk.com/api-reference/contacts/getContact.md Use this cURL command to make a GET request to retrieve a specific contact by their ID. Ensure you replace `{id}` with the actual contact ID and `YOUR_API_KEY` with your valid Plunk API key. ```bash curl -X GET 'https://next-api.useplunk.com/contacts/{id}' \ -H 'Authorization: Bearer YOUR_API_KEY' ``` -------------------------------- ### Template Created Response Example Source: https://docs.useplunk.com/api-reference/templates/createTemplate.md Shows the structure of the response when a template is successfully created. ```json { "id": "string", "name": "string", "subject": "string", "body": "string", "type": "TRANSACTIONAL", "createdAt": "2026-06-11T18:58:23.320Z" } ``` -------------------------------- ### List Segments cURL Request Example Source: https://docs.useplunk.com/api-reference/segments/listSegments.md Use this cURL command to make a GET request to the List Segments endpoint. Ensure you replace 'YOUR_API_KEY' with your actual Plunk API key. ```bash curl -X GET 'https://next-api.useplunk.com/segments' \ -H 'Authorization: Bearer YOUR_API_KEY' ``` -------------------------------- ### Get Contact Response Example Source: https://docs.useplunk.com/api-reference/contacts/getContact.md This JSON object shows the structure of a successful response when retrieving contact details. ```json { "id": "string", "email": "user@example.com", "subscribed": false, "data": null, "createdAt": "2026-06-11T18:58:23.310Z", "updatedAt": "2026-06-11T18:58:23.310Z" } ``` -------------------------------- ### Example cURL Request to Create Template Source: https://docs.useplunk.com/api-reference/templates/createTemplate.md Demonstrates how to make a POST request to the create template endpoint using cURL. ```bash curl -X POST 'https://next-api.useplunk.com/templates' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"name":"string","subject":"string","body":"string","type":"TRANSACTIONAL"}' ``` -------------------------------- ### Webhook URL Example Source: https://docs.useplunk.com/guides/webhooks.md Example of a webhook URL that uses contact ID for parameterization. Ensure a static scheme (http/https) is included. ```text https://api.example.com/users/{{id}}/events ``` -------------------------------- ### Create Campaign Request Body Example Source: https://docs.useplunk.com/api-reference/campaigns/createCampaign.md This JSON object demonstrates the required fields for creating a new campaign. ```json { "name": "string", "subject": "string", "body": "string", "from": "user@example.com", "audienceType": "ALL" } ``` -------------------------------- ### Start Stripe Checkout Session Source: https://docs.useplunk.com/concepts/billing.md Initiates a Stripe Checkout session for upgrading the project's plan. ```APIDOC ## POST /users/@me/projects/:id/checkout ### Description Starts a Stripe Checkout session for upgrades. ### Method POST ### Endpoint /users/@me/projects/:id/checkout ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project. ``` -------------------------------- ### GET /users/@me/projects Source: https://docs.useplunk.com/api-reference/overview.md Lists all projects associated with the currently authenticated user. ```APIDOC ## GET /users/@me/projects ### Description List the user's projects. ### Method GET ### Endpoint /users/@me/projects ### Response #### Success Response (200) - **projects** (array) - A list of projects belonging to the user. - **id** (string) - The project's unique identifier. - **name** (string) - The name of the project. ``` -------------------------------- ### GET /config Source: https://docs.useplunk.com/api-reference/overview.md Retrieves public feature flags and configuration settings, indicating which integrations are enabled. ```APIDOC ## GET /config ### Description Public, no-auth feature flags — which integrations are enabled (OAuth providers, billing, S3, SMTP, …). ### Method GET ### Endpoint /config ### Response #### Success Response (200) - **integrations** (object) - An object detailing enabled integrations. - **oauthProviders** (array) - List of enabled OAuth providers. - **billing** (boolean) - Whether billing is enabled. - **s3** (boolean) - Whether S3 integration is enabled. - **smtp** (boolean) - Whether SMTP integration is enabled. ``` -------------------------------- ### Create Template Request Body Example Source: https://docs.useplunk.com/api-reference/templates/createTemplate.md Defines the structure and required fields for creating a new email template. ```json { "name": "string", "subject": "string", "body": "string", "type": "TRANSACTIONAL" } ``` -------------------------------- ### Campaign Created Response Example Source: https://docs.useplunk.com/api-reference/campaigns/createCampaign.md This JSON object shows the structure of a successful campaign creation response. ```json { "success": false, "data": { "id": "string", "name": "string", "subject": "string", "type": "ALL", "status": "DRAFT", "scheduledAt": "2026-06-11T18:58:23.283Z" } } ``` -------------------------------- ### GET /projects/:id/security Source: https://docs.useplunk.com/api-reference/overview.md Retrieves the security state for a single project. ```APIDOC ## GET /projects/:id/security ### Description Security state for a single project. ### Method GET ### Endpoint /projects/:id/security ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project. ### Response #### Success Response (200) - **securityStatus** (string) - The security status of the project (e.g., "secure", "at_risk"). ``` -------------------------------- ### Track Event Request Body Example Source: https://docs.useplunk.com/api-reference/public-api/trackEvent.md This JSON object demonstrates the required fields for tracking an event. ```json { "email": "user@example.com", "event": "string" } ``` -------------------------------- ### Track Event Response Example Source: https://docs.useplunk.com/api-reference/public-api/trackEvent.md This JSON object shows a successful response after tracking an event. ```json { "success": false, "data": { "contact": "string", "event": "string", "timestamp": "2026-06-11T18:58:23.312Z" } } ``` -------------------------------- ### Confirmation Email Template Source: https://docs.useplunk.com/recipes/waitlist.md Example of a marketing email template for a waitlist, using {{variable}} placeholders for personalization. ```text Subject: You're on the list, {{firstName}} Hi {{firstName}}, thanks for joining the {{product}} waitlist. We'll let you know as soon as your spot opens up. ``` -------------------------------- ### List Campaigns Response Example Source: https://docs.useplunk.com/api-reference/campaigns/listCampaigns.md This JSON object shows the structure of a successful response when listing campaigns. It includes details about each campaign and pagination information. ```json { "campaigns": [ { "id": "string", "name": "string", "subject": "string", "type": "ALL", "status": "DRAFT", "scheduledAt": "2026-06-11T18:58:23.283Z" } ], "page": 0, "pageSize": 0, "total": 0, "totalPages": 0 } ``` -------------------------------- ### Track Event cURL Example Source: https://docs.useplunk.com/api-reference/public-api/trackEvent.md This cURL command shows how to send a POST request to track an event, including necessary headers and the request body. ```bash curl -X POST 'https://next-api.useplunk.com/v1/track' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"email":"user@example.com","event":"string"}' ``` -------------------------------- ### Send Marketing Email with Subscription Source: https://docs.useplunk.com/openapi.json Example of sending a marketing email and explicitly setting the recipient's subscription status to true. ```json { "to": "user@example.com", "subject": "Weekly Newsletter", "body": "

This Week's Updates

", "subscribed": true } ``` -------------------------------- ### GET /activity/types Source: https://docs.useplunk.com/api-reference/overview.md List the distinct types of activity recorded within the project. ```APIDOC ## GET /activity/types ### Description Distinct activity types in the project. ### Method GET ### Endpoint /activity/types ``` -------------------------------- ### GET /auth/oauth-config Source: https://docs.useplunk.com/api-reference/overview.md Retrieves information about the configured OAuth providers available for authentication. ```APIDOC ## GET /auth/oauth-config ### Description Which OAuth providers are configured. ### Method GET ### Endpoint /auth/oauth-config ### Response #### Success Response (200) - **providers** (array) - A list of configured OAuth providers. - **name** (string) - The name of the OAuth provider (e.g., "google", "github"). - **clientId** (string) - The client ID for the OAuth provider. ``` -------------------------------- ### cURL Example for Creating/Updating Contact Source: https://docs.useplunk.com/api-reference/contacts/createContact.md This cURL command demonstrates how to send a POST request to the /contacts endpoint with an email address and an API key for authentication. ```bash curl -X POST 'https://next-api.useplunk.com/contacts' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"email":"user@example.com"}' ``` -------------------------------- ### GET /domains/project/:projectId Source: https://docs.useplunk.com/api-reference/overview.md List domains configured for a project. This includes both verified and pending domains. ```APIDOC ## GET /domains/project/:projectId ### Description List domains configured for a project (verified and pending). ### Method GET ### Endpoint /domains/project/:projectId ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project to list domains for. ``` -------------------------------- ### Webhook Security Header Example Source: https://docs.useplunk.com/guides/webhooks.md Configure a secret header on the webhook step to verify the authenticity of incoming webhook requests. This is preferred over IP allowlisting. ```json // Webhook step → Headers { "Authorization": "Bearer your-shared-secret" } ``` -------------------------------- ### Cursor-Based Pagination Request Source: https://docs.useplunk.com/api-reference/overview.md Use cursor-based pagination for list endpoints by including the 'limit' and 'cursor' parameters in your GET request. ```bash GET /contacts?limit=100&cursor=abc123 ``` -------------------------------- ### GET /domains/:id/verify Source: https://docs.useplunk.com/api-reference/overview.md Force a verification check for a specific domain. This check runs immediately, otherwise, it's performed every 5 minutes in the background. ```APIDOC ## GET /domains/:id/verify ### Description Force a verification check now (otherwise checked every 5 minutes in the background). ### Method GET ### Endpoint /domains/:id/verify ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the domain to verify. ``` -------------------------------- ### Webhook Body with Contact and Event Data Source: https://docs.useplunk.com/guides/webhooks.md Example of a custom webhook request body that includes contact email, plan, and event referrer. Variables are interpolated. ```json { "email": "{{email}}", "plan": "{{plan}}", "referrer": "{{event.referrer}}" } ``` -------------------------------- ### Example cURL Request to Create Campaign Source: https://docs.useplunk.com/api-reference/campaigns/createCampaign.md Use this cURL command to send a POST request to create a campaign. Ensure you replace 'YOUR_API_KEY' with your actual API key. ```bash curl -X POST 'https://next-api.useplunk.com/campaigns' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"name":"string","subject":"string","body":"string","from":"user@example.com","audienceType":"ALL"}' ``` -------------------------------- ### Create Contact and Track Signup Event Source: https://docs.useplunk.com/recipes/double-opt-in.md Use cURL to create a contact with 'subscribed: false' and then track a 'signup.pending' event to initiate the confirmation workflow. Ensure both calls use your secret API key. ```bash curl https://next-api.useplunk.com/contacts \ -H "Authorization: Bearer sk_your_secret_key" \ -d '{ "email": "ada@example.com", "subscribed": false, "data": { "firstName": "Ada" } }' ``` ```bash curl https://next-api.useplunk.com/v1/track \ -H "Authorization: Bearer sk_your_secret_key" \ -d '{ "event": "signup.pending", "email": "ada@example.com", "subscribed": false }' ``` -------------------------------- ### POST /auth/signup Source: https://docs.useplunk.com/api-reference/overview.md Allows new users to sign up. This endpoint is subject to the `DISABLE_SIGNUPS` configuration, which may prevent new signups. ```APIDOC ## POST /auth/signup ### Description Sign up a new user (subject to `DISABLE_SIGNUPS`). ### Method POST ### Endpoint /auth/signup ### Parameters #### Request Body - **email** (string) - Required - The email address for the new user. - **password** (string) - Required - The password for the new user. - **name** (string) - Optional - The name of the new user. ### Response #### Success Response (201) - **message** (string) - Confirmation message of successful signup. ``` -------------------------------- ### GET /analytics/campaign-stats Source: https://docs.useplunk.com/api-reference/overview.md Get a detailed campaign-level breakdown of analytics. ```APIDOC ## GET /analytics/campaign-stats ### Description Campaign-level breakdown. ### Method GET ### Endpoint /analytics/campaign-stats ``` -------------------------------- ### GET /contacts/:id Source: https://docs.useplunk.com/api-reference/overview.md Get a single contact by their ID. ```APIDOC ## GET /contacts/:id ### Description Get a single contact by their ID. ### Method GET ### Endpoint /contacts/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the contact. ``` -------------------------------- ### POST /users/@me/projects Source: https://docs.useplunk.com/api-reference/overview.md Creates a new project for the currently authenticated user. ```APIDOC ## POST /users/@me/projects ### Description Create a project. ### Method POST ### Endpoint /users/@me/projects ### Parameters #### Request Body - **name** (string) - Required - The name of the new project. ### Response #### Success Response (201) - **id** (string) - The unique identifier of the newly created project. - **name** (string) - The name of the project. ``` -------------------------------- ### GET /activity/stats Source: https://docs.useplunk.com/api-reference/overview.md Get aggregated counts for various activity metrics, suitable for dashboard display. ```APIDOC ## GET /activity/stats ### Description Aggregated counts for dashboard charts. ### Method GET ### Endpoint /activity/stats ``` -------------------------------- ### GET /users/@me Source: https://docs.useplunk.com/api-reference/overview.md Retrieves information about the currently authenticated user. ```APIDOC ## GET /users/@me ### Description Get the current user. ### Method GET ### Endpoint /users/@me ### Response #### Success Response (200) - **id** (string) - The unique identifier of the user. - **email** (string) - The email address of the user. - **name** (string) - The name of the user. ``` -------------------------------- ### GET /analytics/top-events Source: https://docs.useplunk.com/api-reference/overview.md List the most frequent custom event names. ```APIDOC ## GET /analytics/top-events ### Description Most frequent custom event names. ### Method GET ### Endpoint /analytics/top-events ``` -------------------------------- ### Build Custom Docker Image Source: https://docs.useplunk.com/self-hosting/docker.md Build a custom Docker image for Plunk from source. Tag the image as 'plunk:custom' for use in your deployment. ```bash docker build -t plunk:custom . ``` -------------------------------- ### GET /auth/logout Source: https://docs.useplunk.com/api-reference/overview.md Clears the authentication cookie, effectively logging the user out. ```APIDOC ## GET /auth/logout ### Description Clear the auth cookie. ### Method GET ### Endpoint /auth/logout ### Response #### Success Response (200) - **message** (string) - Confirmation message of successful logout. ``` -------------------------------- ### GET /analytics/top-campaigns Source: https://docs.useplunk.com/api-reference/overview.md Identify top-performing campaigns based on specified metrics. ```APIDOC ## GET /analytics/top-campaigns ### Description Top-performing campaigns by metric. ### Method GET ### Endpoint /analytics/top-campaigns ``` -------------------------------- ### Start Workflow Execution with Initial Context Source: https://docs.useplunk.com/concepts/workflows.md Initiate a new workflow execution. You can provide an initial context object to parameterize variables for this specific execution, which is useful for data not stored on the contact. ```bash POST /workflows/:id/executions { "context": { "couponCode": "SUMMER2024", "referrerName": "Jane Doe" } } ``` -------------------------------- ### GET /projects/:id/members Source: https://docs.useplunk.com/api-reference/overview.md Retrieves the list of team members for a specific project. ```APIDOC ## GET /projects/:id/members ### Description Project team members. ### Method GET ### Endpoint /projects/:id/members ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project. ### Response #### Success Response (200) - **members** (array) - A list of project members. - **userId** (string) - The ID of the member. - **role** (string) - The role of the member in the project (e.g., "admin", "developer"). ``` -------------------------------- ### GET /analytics/timeseries Source: https://docs.useplunk.com/api-reference/overview.md Retrieve time-series data for email sends, opens, and clicks. ```APIDOC ## GET /analytics/timeseries ### Description Email send / open / click time-series. ### Method GET ### Endpoint /analytics/timeseries ``` -------------------------------- ### GET /activity/upcoming Source: https://docs.useplunk.com/api-reference/overview.md View upcoming scheduled sends and currently active executions. ```APIDOC ## GET /activity/upcoming ### Description Upcoming scheduled sends and active executions. ### Method GET ### Endpoint /activity/upcoming ``` -------------------------------- ### POST /domains Source: https://docs.useplunk.com/api-reference/overview.md Add a domain for verification. The response will include the necessary DNS records that need to be added to your domain's configuration. ```APIDOC ## POST /domains ### Description Add a domain for verification. Returns the DNS records you need to add. ### Method POST ### Endpoint /domains ### Response #### Success Response (200) - **dnsRecords** (array) - An array of DNS records required for domain verification. ``` -------------------------------- ### Get Contact Source: https://docs.useplunk.com/api-reference/contacts/getContact.md Fetches a single contact's details by their unique identifier. ```APIDOC ## GET /contacts/{id} ### Description Get a single contact by ID. ### Method GET ### Endpoint /contacts/{id} ### Parameters #### Path Parameters - **id** (string) - Required - Unique contact identifier ### Response #### Success Response (200) - **id** (string) - Unique contact identifier - **email** (string) - Contact email address - **subscribed** (boolean) - Subscription status - **data** (object) - Custom contact data fields - **createdAt** (string) - - **updatedAt** (string) - #### Response Example ```json { "id": "string", "email": "user@example.com", "subscribed": false, "data": null, "createdAt": "2026-06-11T18:58:23.310Z", "updatedAt": "2026-06-11T18:58:23.310Z" } ``` ### Error Handling #### Error Response (404) - Contact not found ``` -------------------------------- ### GET /contacts/import/:jobId Source: https://docs.useplunk.com/api-reference/overview.md Poll the status of a CSV import job using its `jobId`. ```APIDOC ## GET /contacts/import/:jobId ### Description Poll the status of a CSV import job using its `jobId`. ### Method GET ### Endpoint /contacts/import/:jobId ### Parameters #### Path Parameters - **jobId** (string) - Required - The ID of the import job. ``` -------------------------------- ### Get Billing Limits Source: https://docs.useplunk.com/concepts/billing.md Retrieves the currently set per-category billing limits for a project. ```APIDOC ## GET /users/@me/projects/:id/billing-limits ### Description Reads per-category caps for a project. ### Method GET ### Endpoint /users/@me/projects/:id/billing-limits ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project. ``` -------------------------------- ### Import Accordion Components Source: https://docs.useplunk.com/guides/receiving-emails.md Imports necessary Accordion components from 'fumadocs-ui' for displaying collapsible content. ```javascript import {Accordion, Accordions} from 'fumadocs-ui/components/accordion'; ``` -------------------------------- ### GET /users/@me/projects/:id/billing-invoices Source: https://docs.useplunk.com/api-reference/overview.md Retrieves a list of Stripe invoices associated with a specific project. ```APIDOC ## GET /users/@me/projects/:id/billing-invoices ### Description Stripe invoices for the project. ### Method GET ### Endpoint /users/@me/projects/:id/billing-invoices ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project to retrieve invoices for. ### Response #### Success Response (200) - **invoices** (array) - A list of Stripe invoices. - **invoiceId** (string) - The ID of the invoice. - **date** (string) - The date the invoice was issued. - **amount** (number) - The total amount of the invoice. - **status** (string) - The status of the invoice (e.g., "paid", "unpaid"). ``` -------------------------------- ### GET /users/@me/projects/:id/billing-limits Source: https://docs.useplunk.com/api-reference/overview.md Retrieves the per-category billing limits configured for a specific project. ```APIDOC ## GET /users/@me/projects/:id/billing-limits ### Description Read per-category billing caps. ### Method GET ### Endpoint /users/@me/projects/:id/billing-limits ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project to retrieve billing limits for. ### Response #### Success Response (200) - **limits** (object) - An object containing billing limits per category. - **categoryName** (object) - Details for a specific billing category. - **limit** (number) - The billing limit amount. - **unit** (string) - The unit of the limit (e.g., "requests", "GB"). ``` -------------------------------- ### GET /activity/recent-count Source: https://docs.useplunk.com/api-reference/overview.md Fetch the recent event count, used for the dashboard's 'live' indicator. ```APIDOC ## GET /activity/recent-count ### Description Recent event count for the dashboard's "live" indicator. ### Method GET ### Endpoint /activity/recent-count ``` -------------------------------- ### Minimal .env Configuration Source: https://docs.useplunk.com/self-hosting/docker.md Configure essential environment variables for Plunk deployment, including JWT secret, database password, domain names, and AWS SES settings. Ensure domains point to your server and use a secure password. ```bash # Required JWT_SECRET="$(openssl rand -base64 32)" DB_PASSWORD="your-secure-password" # Domains (point these to your server) API_DOMAIN="api.yourdomain.com" DASHBOARD_DOMAIN="app.yourdomain.com" LANDING_DOMAIN="www.yourdomain.com" WIKI_DOMAIN="docs.yourdomain.com" USE_HTTPS="true" # AWS SES AWS_SES_REGION="us-east-1" AWS_SES_ACCESS_KEY_ID="your-key" AWS_SES_SECRET_ACCESS_KEY="your-secret" SES_CONFIGURATION_SET="plunk-tracking" ``` -------------------------------- ### GET /contacts/fields/:field/usage Source: https://docs.useplunk.com/api-reference/overview.md Show where a custom field is referenced across segments, campaigns, and workflows. ```APIDOC ## GET /contacts/fields/:field/usage ### Description Show where a custom field is referenced across segments, campaigns, and workflows. ### Method GET ### Endpoint /contacts/fields/:field/usage ### Parameters #### Path Parameters - **field** (string) - Required - The name of the custom field. ``` -------------------------------- ### Example cURL Request for Email Verification Source: https://docs.useplunk.com/api-reference/public-api/verifyEmail.md Use this cURL command to send a POST request to the email verification endpoint. Remember to replace YOUR_API_KEY with your actual Plunk API key. ```bash curl -X POST 'https://next-api.useplunk.com/v1/verify' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"email":"user@example.com"}' ``` -------------------------------- ### POST /users/@me/projects/:id/checkout Source: https://docs.useplunk.com/api-reference/overview.md Creates a Stripe Checkout session for the specified project, likely for payment or subscription purposes. ```APIDOC ## POST /users/@me/projects/:id/checkout ### Description Create a Stripe Checkout session. ### Method POST ### Endpoint /users/@me/projects/:id/checkout ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project for which to create a checkout session. ### Response #### Success Response (200) - **checkoutUrl** (string) - The URL for the Stripe Checkout session. ``` -------------------------------- ### GET /contacts/fields Source: https://docs.useplunk.com/api-reference/overview.md List standard and custom fields, including their inferred types and coverage percentages. ```APIDOC ## GET /contacts/fields ### Description List standard and custom fields, including their inferred types and coverage percentages. ### Method GET ### Endpoint /contacts/fields ``` -------------------------------- ### Send Campaign cURL Example Source: https://docs.useplunk.com/api-reference/campaigns/sendCampaign.md This cURL command demonstrates how to send a POST request to the /campaigns/{id}/send endpoint. Replace {id} with your campaign ID and YOUR_API_KEY with your actual API key. The 'scheduledFor' field in the data payload determines the send time. ```bash curl -X POST 'https://next-api.useplunk.com/campaigns/{id}/send' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"scheduledFor":"2026-06-11T18:58:23.310Z"}' ``` -------------------------------- ### GET /contacts/bulk/:jobId Source: https://docs.useplunk.com/api-reference/overview.md Poll the status of a bulk operation (subscribe, unsubscribe, delete) using its `jobId`. ```APIDOC ## GET /contacts/bulk/:jobId ### Description Poll the status of a bulk operation (subscribe, unsubscribe, delete) using its `jobId`. ### Method GET ### Endpoint /contacts/bulk/:jobId ### Parameters #### Path Parameters - **jobId** (string) - Required - The ID of the bulk job. ``` -------------------------------- ### GET /templates Source: https://docs.useplunk.com/api-reference/templates/listTemplates.md Retrieves a paginated list of email templates. Supports filtering by type and searching by name. ```APIDOC ## GET /templates ### Description Get a paginated list of email templates. ### Method GET ### Endpoint /templates ### Query Parameters - **limit** (integer) - Optional - Maximum items per page - **cursor** (string) - Optional - Pagination cursor - **type** (enum) - Optional - Type of template, can be "TRANSACTIONAL" or "MARKETING" - **search** (string) - Optional - Search term for template names ### Responses #### Success Response (200) - List of templates - **templates** (array) - List of template objects. - **id** (string) - **name** (string) - **subject** (string) - **body** (string) - **type** (enum) - "TRANSACTIONAL" or "MARKETING" - **createdAt** (string (date-time)) - **total** (integer) - Total number of templates available. - **page** (integer) - Current page number. - **pageSize** (integer) - Number of items per page. - **totalPages** (integer) - Total number of pages. #### Response Example (200) ```json { "templates": [ { "id": "string", "name": "string", "subject": "string", "body": "string", "type": "TRANSACTIONAL", "createdAt": "2026-06-11T18:58:23.324Z" } ], "total": 0, "page": 0, "pageSize": 0, "totalPages": 0 } ``` ### Example Request ```bash curl -X GET 'https://next-api.useplunk.com/templates' \ -H 'Authorization: Bearer YOUR_API_KEY' ``` ```