### API Key Header Parameter Example Source: https://developer.plusvibe.ai/get-or-search-for-lead-17238009e0 Example of the x-api-key header parameter, a required string. ```text your-api-key ``` -------------------------------- ### List all email accounts in the workspace (Python) Source: https://developer.plusvibe.ai/list-all-email-accounts-in-the-workspace-25729696e0 Python example for listing all email accounts in a workspace. Ensure you have the 'requests' library installed. This snippet demonstrates a GET request to the API. ```python import requests url = "https://api.plusvibe.ai/v1/webhook/partner-list-email-accounts" headers = { "Accept": "application/json" } response = requests.get(url, headers=headers) print(response.status_code) print(response.json()) ``` -------------------------------- ### Email Query Parameter Example Source: https://developer.plusvibe.ai/get-or-search-for-lead-17238009e0 Example of an email address, a required string parameter. ```text lead@example.com ``` -------------------------------- ### Create Subsequence with LEAD_LABEL_UPDATED Event Source: https://developer.plusvibe.ai/create-a-new-subsequence-17237996e0 Use this example to create a subsequence that adds leads based on specific lead labels. Ensure labels start with 'LEAD_MARKED_AS_'. ```json { "workspace_id": "65099a0dd96fae8ab61130c0", "name": "API Sub Camp Name", "parent_camp_id": "67ee00f7612525c35a6e8abf", "events": [{ "name": "LEAD_LABEL_UPDATED", "val": ["LEAD_MARKED_AS_INTERESTED", "LEAD_MARKED_AS_MEETING_BOOKED"] }] } ``` -------------------------------- ### Create VIP Clients Tag Example Source: https://developer.plusvibe.ai/create-a-new-tag-21404673e0 An example of creating a tag specifically for VIP Clients, including a descriptive name, color, and purpose. ```json { "workspace_id": "507f1f77bcf86cd799439011", "name": "PlusVibe DFY", "color": "#FF5733", "description": "Best setup for deliverability" } ``` -------------------------------- ### Create Simple Tag Example Source: https://developer.plusvibe.ai/create-a-new-tag-21404673e0 A basic example of creating a tag with only the essential fields: workspace ID, name, and color. The description is left empty. ```json { "workspace_id": "507f1f77bcf86cd799439011", "name": "High Priority", "color": "#E74C3C", "description": "" } ``` -------------------------------- ### List all email accounts in the workspace (JavaScript) Source: https://developer.plusvibe.ai/list-all-email-accounts-in-the-workspace-25729696e0 JavaScript example for listing all email accounts in a workspace using the Fetch API. This snippet shows how to make a GET request and handle the JSON response. ```javascript fetch('https://api.plusvibe.ai/v1/webhook/partner-list-email-accounts', { method: 'GET', headers: { 'Accept': 'application/json' } }) .then(response => { if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return response.json(); }) .then(data => { console.log(data); }) .catch(error => { console.error('Error fetching email accounts:', error); }); ``` -------------------------------- ### API Key in Header Example Source: https://developer.plusvibe.ai/get-or-search-for-lead-17238009e0 Example of how to include your API key in the request header. ```text x-api-key: ******************** ``` -------------------------------- ### Create Campaign Tag Example Source: https://developer.plusvibe.ai/create-a-new-tag-21404673e0 An example of creating a tag for a specific marketing campaign, including its workspace ID, name, color, and a brief description. ```json { "workspace_id": "507f1f77bcf86cd799439011", "name": "Q4 2024 Campaign", "color": "#3498DB", "description": "Email accounts dedicated to Q4 marketing campaign" } ``` -------------------------------- ### Get Emails Request Example Source: https://developer.plusvibe.ai/get-emails-17238025e0 This cURL command demonstrates how to request emails from the API. Ensure you replace '' with your actual API key and 'undefined' with your workspace ID. ```cURL curl --location 'https://api.plusvibe.ai/api/v1/unibox/emails?workspace_id=undefined' \ --header 'x-api-key: ' ``` ```PowerShell Invoke-WebRequest -Uri "https://api.plusvibe.ai/api/v1/unibox/emails?workspace_id=undefined" -Method Get -Headers @{"x-api-key"=""} ``` ```Httpie http GET "https://api.plusvibe.ai/api/v1/unibox/emails?workspace_id=undefined" \ "x-api-key:" ``` ```wget wget --header="x-api-key: " "https://api.plusvibe.ai/api/v1/unibox/emails?workspace_id=undefined" ``` -------------------------------- ### Workspace ID Query Parameter Example Source: https://developer.plusvibe.ai/get-or-search-for-lead-17238009e0 Example of a workspace ID, a required string parameter. ```text 65f3c92d3dbe5dbb35374a9a ``` -------------------------------- ### Get Parent Test Details Response Example Source: https://developer.plusvibe.ai/get-parent-test-details-28696782e0 This is an example of a successful response (200 OK) containing the details of a parent test. It includes information such as the test ID, name, type, status, and various configuration settings. ```json { "status": 1, "message": "string", "data": { "_id": "65f3c92d3dbe5dbb35374abc", "name": "Q1 2024 Deliverability Test", "type": "AUTOMATIC", "status": "DRAFT", "total_tests": 15, "compl_tests": 12, "created_at": "2019-08-24T14:15:22.123Z", "settings": { "send_as_txt": "string", "link_checker": "string", "is_public": 0 }, "scheduling": { "throttle": "string", "st_date": "string", "end_date": "string", "frequency": "string", "tz": "string" }, "recipient_config": {}, "sender_config": {}, "content_config": {} } } ``` -------------------------------- ### Campaign ID Query Parameter Example Source: https://developer.plusvibe.ai/get-or-search-for-lead-17238009e0 Example of a campaign ID, an optional string parameter. ```text 66b447598f6dd99f7f7b5c0a ``` -------------------------------- ### Skip Query Parameter Example Source: https://developer.plusvibe.ai/get-or-search-for-lead-17238009e0 Example of the skip parameter, an optional integer parameter. ```text 0 ``` -------------------------------- ### Limit Query Parameter Example Source: https://developer.plusvibe.ai/get-or-search-for-lead-17238009e0 Example of the limit parameter, an optional integer parameter with a range of 1 to 100. ```text 10 ``` -------------------------------- ### Success Response Example Source: https://developer.plusvibe.ai/bulk-reconnect-email-accounts-21411385e0 Example JSON response when email accounts are successfully reconnected. ```json { "status": "success" } ``` -------------------------------- ### Successful Response Example (200 OK) Source: https://developer.plusvibe.ai/get-detailed-test-statistics-28696788e0 This is an example of a successful response when retrieving email placement test statistics. It includes overall summary data and a breakdown by sender. ```JSON { "status": 1, "message": "string", "data": { "summary": { "inbox_rate": 0, "spam_rate": 0, "total_sent": 0 }, "sender_breakdown": [ { "sender_email": "string", "inbox_count": 0, "spam_count": 0, "inbox_rate": 0 } ] } } ``` -------------------------------- ### Successful Response Example (200 OK) Source: https://developer.plusvibe.ai/get-campaign-emails-17238002e0 This is an example of a successful JSON response when retrieving campaign emails. It includes pagination details and a list of email objects. ```JSON { "page_trail": "", "data": [ { "organization_id": "6509f7691205283f2a79f98b", "workspace_id": "6509f7691205283f2a79f98c", "lead_id": "673fa7040561f861461832a2", "current_step": 3, "sent_on": "2024-12-17T21:04:41.582Z", "variation": "A", "message_id": "<44cfd246-4b87-cc15-289d-c36c3e9d823f@gopiplai.com>", "subject": "Your Campaign Introduction", "body": "Hi there, this is a sample campaign email body. Let us know if you're interested!", "is_text": 1, "id": "6761e769c149e4d9ca7732fe", "campaign_id": "673fa3520561f86146182478", "eaccount": "sender@example.com", "lead": "lead@example.com" } ] } ``` -------------------------------- ### Campaign Variation Stats Response Example Source: https://developer.plusvibe.ai/get-campaign-variation-stats-32377894e0 Example JSON response showing variation-level performance statistics for a campaign, including data for multiple steps and variations. This example includes data filtered by a date range. ```JSON [ { "step": 1, "variations": [ { "variation": "A", "sent": 0, "open": 0, "reply": 0, "pos_reply": 0, "name": "-", "is_active": false, "is_del": false }, { "variation": "B", "sent": 614, "open": 0, "reply": 27, "pos_reply": 26, "name": "-", "is_active": true, "is_del": false } ] }, { "step": 2, "variations": [ { "variation": "A", "sent": 286, "open": 0, "reply": 20, "pos_reply": 17, "name": "-", "is_active": true, "is_del": false }, { "variation": "B", "sent": 283, "open": 0, "reply": 14, "pos_reply": 11, "name": "-", "is_active": true, "is_del": false } ] }, { "step": 3, "variations": [ { "variation": "A", "sent": 540, "open": 0, "reply": 9, "pos_reply": 7, "name": "-", "is_active": true, "is_del": false } ] } ] ``` -------------------------------- ### Successful Response Example Source: https://developer.plusvibe.ai/list-tags-17238036e0 This is an example of a successful response when listing tags. It returns an array of tag objects, each containing details like ID, name, color, and status. ```json [ { "_id": "67aa4825311600a4a4b75402", "workspace_id": "6509f7691205283f2a79f98c", "org_id": "6509f7691205283f2a79f98b", "name": "Tag 1", "color": "#18c302", "description": "", "status": "ACTIVE", "created_at": "2025-02-10T18:40:37.560Z", "modified_at": "2025-02-10T18:40:37.560Z" } ] ``` -------------------------------- ### Request Body Example Source: https://developer.plusvibe.ai/bulk-reconnect-email-accounts-21411385e0 Example JSON payload for the bulk reconnect email accounts endpoint, specifying the workspace ID and a list of account IDs to reconnect. ```json { "ids": [ "68329272b5658177e8e4c620" ], "workspace_id": "65f3c92d3dbe5dbb35374a9a" } ``` -------------------------------- ### Compose New Email Request Example Source: https://developer.plusvibe.ai/compose-new-email-21409197e0 This example demonstrates the structure of a JSON request body for composing a new email. It includes all required fields such as lead ID, campaign ID, subject, sender, and body. The body can contain HTML content. ```json { "lead_id": "686917da327549d53404231f", "camp_id": "68691682327549d5340422f1", "subject": "Re: Summer Promotion Campaign", "from": "yaro@plusvibe.ai", "body": "

See attached video.

", "cc": "cc@pipl.ai", "bcc": "bcc@pipl.ai" } ``` -------------------------------- ### Get Warmup Stats (Workspace-Level) Source: https://developer.plusvibe.ai/resourcetype-14203531d0 Retrieves overall warmup statistics for the workspace. ```APIDOC ## GET /email-accounts/warmup/stats/workspace ### Description Retrieves overall warmup statistics for the workspace. ### Method GET ### Endpoint /email-accounts/warmup/stats/workspace ``` -------------------------------- ### Create Client Request Example Source: https://developer.plusvibe.ai/create-client-24563838e0 This cURL command demonstrates how to create a new client by sending a JSON payload with all required fields to the API. ```curl curl --location 'https://api.plusvibe.ai/api/v1/client' \ --header 'x-api-key: ' \ --header 'Content-Type: application/json' \ --data-raw '{ "workspace_id": "65f99a0dd96fae8ab61130c0", "client_email": "nova.smith@example.com", "client_first_name": "Nova", "client_last_name": "Smith", "client_business_name": "Nova Consulting Ltd", "workspaces": [ { "id": "65f99a0dd96fae8ab61130c0", "permissions": [ "UNIBOX_FULL_ACCESS" ], "hide_labels": [] } ] }' ``` -------------------------------- ### Get Campaign Variation Stats (cURL) Source: https://developer.plusvibe.ai/get-campaign-variation-stats-32377894e0 Example cURL request to retrieve campaign variation statistics. Replace 'undefined' with actual IDs and '' with your valid API key. ```Shell curl --location 'https://api.plusvibe.ai/api/v1/campaign/get/variation-stats?workspace_id=undefined&campaign_id=undefined&start_date=undefined&end_date=undefined' \ --header 'x-api-key: ' ``` -------------------------------- ### Get Workspace-Level Warmup Stats Source: https://developer.plusvibe.ai/get-warmup-stats-workspace-level-17238020e0 Fetches the warmup statistics for a given workspace within a specified date range. This endpoint requires an API key for authentication and accepts workspace ID, start date, and end date as parameters. ```APIDOC ## GET /api/v1/account/warmup-stats ### Description Retrieves workspace-level warmup statistics for a specified period. This endpoint provides aggregated data on email deliverability, including inbox, spam, and promotion rates. ### Method GET ### Endpoint /api/v1/account/warmup-stats ### Parameters #### Query Parameters - **workspace_id** (string) - Required - The ID of the workspace. - **start_date** (string ) - Required - The start date for the warmup stats (inclusive). Must be in YYYY-MM-DD format. - **end_date** (string ) - Required - The end date for the warmup stats (inclusive). Must be in YYYY-MM-DD format. #### Header Parameters - **x-api-key** (string) - Optional - Your PlusVibe.ai account's API Key. ### Response #### Success Response (200 OK) - **status** (string) - Optional - Indicates the status of the request, e.g., "success". - **emailAcc** (object) - Optional - Contains detailed warmup statistics. - **google_percent** (string) - Optional - Percentage of emails to Google inboxes that landed in the inbox. - **other_percent** (string) - Optional - Percentage of emails to non-Google/Microsoft inboxes that landed in the inbox. - **microsoft_percent** (string) - Optional - Percentage of emails to Microsoft inboxes that landed in the inbox. - **total_inbox_sent** (integer) - Optional - Total number of emails that landed in the inbox during the warmup period. - **total_spam_sent** (integer) - Optional - Total number of emails that landed in spam during the warmup period. - **total_promotion_sent** (integer) - Optional - Total number of emails that landed in promotions during the warmup period. - **total_warmup_sent** (integer) - Optional - Total number of warmup emails sent across the workspace. - **inbox_percent** (string) - Optional - Percentage of total emails that landed in the inbox. - **spam_percent** (string) - Optional - Percentage of total emails that landed in spam. - **promotion_percent** (string) - Optional - Percentage of total emails that landed in the promotions folder. - **chart_data** (array of objects) - Optional - Daily breakdown of inbox/spam/promotion counts. - **date** (string) - Optional - The date of the data. - **dt** (string) - Optional - The date in YYYY-MM-DD format. - **inbox** (integer) - Optional - Number of emails that landed in the inbox for the day. - **sent** (integer) - Optional - Total emails sent for the day. - **spam** (integer) - Optional - Number of emails that landed in spam for the day. - **promotion** (integer) - Optional - Number of emails that landed in promotions for the day. - **total_inboxes** (integer) - Optional - Total number of recipient inboxes used. - **total_domains** (integer) - Optional - Total number of recipient domains used. - **email_domain_detail** (object) - Optional - Breakdown of email volumes by domain. #### Error Responses - **400 Bad Request** - **401 Unauthorized** - **500 Server Error** ### Request Example ``` curl --location 'https://api.plusvibe.ai/api/v1/account/warmup-stats?workspace_id=6509f7691205283f2a78f98c&start_date=2025-02-01&end_date=2025-02-28' \ --header 'x-api-key: YOUR_API_KEY' ``` ### Response Example (200 OK) ```json { "status": "success", "emailAcc": { "google_percent": "99.2", "other_percent": "99.9", "microsoft_percent": "99.4", "total_inbox_sent": 10980, "total_spam_sent": 65, "total_promotion_sent": 0, "total_warmup_sent": 11045, "inbox_percent": "99.4", "spam_percent": "0.6", "promotion_percent": "0.0", "chart_data": [ { "date": "7 Feb 25", "dt": "2025-02-07", "inbox": 683, "sent": 711, "spam": 28, "promotion": 0 } ], "total_inboxes": 40, "total_domains": 14, "email_domain_detail": { "plusvibeainow.com": 2, "tryplusvibeai.com": 3, "findplusvibeai.com": 3 } } } ``` ``` -------------------------------- ### Create client Source: https://developer.plusvibe.ai/resourcetype-14203531d0 Creates a new client. ```APIDOC ## POST /clients ### Description Creates a new client. ### Method POST ### Endpoint /clients ``` -------------------------------- ### ScheduleV2 Schema Example Source: https://developer.plusvibe.ai/schedulev2-8331221d0 This JSON object represents the structure of the ScheduleV2 schema. It is used to configure campaign scheduling parameters such as daily sending limits, campaign start and end dates, time windows for sending, timezone, and the days of the week the campaign should run. ```json { "daily_limit_new_lead": 0, "daily_limit": 0, "camp_end_date": "2019-08-24", "camp_st_date": "2019-08-24", "from_time": "string", "to_time": "string", "tz": "string", "days": [ "Monday" ] } ``` -------------------------------- ### Create Client Source: https://developer.plusvibe.ai/create-client-24563838e0 Creates a new client with specified details and permissions within a workspace. Requires an API key for authorization. ```APIDOC ## POST /api/v1/client ### Description Creates a new client with specified details and permissions within a workspace. Requires an API key for authorization. ### Method POST ### Endpoint https://api.plusvibe.ai/api/v1/client ### Parameters #### Header Parameters - **x-api-key** (string) - Required - API Key for authentication. #### Request Body - **workspace_id** (string) - Required - Workspace ID the client will be associated with. - **client_email** (string) - Required - Email address of the client. - **client_first_name** (string) - Required - First name of the client. - **client_last_name** (string) - Required - Last name of the client. - **client_business_name** (string) - Required - Business name of the client. - **workspaces** (array[object]) - Required - List of workspace configurations for the client. - **id** (string) - Required - Workspace ID. - **permissions** (array[string]) - Required - List of permissions for the client in the workspace. Must contain exactly one permission. - **hide_labels** (array[string]) - Required - Labels to be hidden from the client in the UI. ### Request Example ```json { "workspace_id": "65f99a0dd96fae8ab61130c0", "client_email": "nova.smith@example.com", "client_first_name": "Nova", "client_last_name": "Smith", "client_business_name": "Nova Consulting Ltd", "workspaces": [ { "id": "65f99a0dd96fae8ab61130c0", "permissions": [ "UNIBOX_FULL_ACCESS" ], "hide_labels": [] } ] } ``` ### Response #### Success Response (200 OK) - **client_id** (string) - Optional - The unique identifier for the created client. - **email** (string) - Optional - The email address of the created client. - **password** (string) - Optional - Auto-generated password for the client (only shown on creation). #### Response Example ```json { "client_id": "70218d5e05561a3877dcb77f", "email": "nova.smith@example.com", "password": "Xp9#Ld2!ak" } ``` ``` -------------------------------- ### Create Client Response Example Source: https://developer.plusvibe.ai/createclientresponse-11090139d0 This JSON object represents the response received after successfully creating a new client. It includes the client's unique ID, email address, and an auto-generated password. ```json { "client_id": "70218d5e05561a3877dcb77f", "email": "nova.smith@example.com", "password": "Xp9#Ld2!ak" } ``` -------------------------------- ### EmailAccountId Example Source: https://developer.plusvibe.ai/emailaccountid-9396504d0 An example of a valid EmailAccountId, which is a 24-character hexadecimal string. ```json "507f1f77bcf86cd799439011" ``` -------------------------------- ### Get campaign count (deprecated) Source: https://developer.plusvibe.ai/ Gets the count of campaigns. This endpoint is deprecated. ```APIDOC ## GET Get campaign count (deprecated) ### Description Gets the count of campaigns. This endpoint is deprecated. ### Method GET ### Endpoint /analytics/campaign/count ``` -------------------------------- ### cURL Request Example Source: https://developer.plusvibe.ai/get-warmup-stats-individual-account-17238492e0 Use this cURL command to make a request to the API endpoint for retrieving warmup statistics. Ensure you replace 'undefined' placeholders with actual values and '' with your valid API key. ```shell curl --location 'https://api.plusvibe.ai/api/v1/account/warmup-stats?workspace_id=undefined&start_date=undefined&end_date=undefined&email_acc_id=undefined' \ --header 'x-api-key: ' ``` -------------------------------- ### Webhook Integration Guide Source: https://developer.plusvibe.ai/plusvibe-webhook-overview-1133711m0 Instructions on how to integrate PlusVibe webhooks with third-party automation platforms like Zapier or Make.com. ```APIDOC ## How to Integrate PlusVibe Webhooks with Zapier or Make.com# 1. **Create a Webhook Trigger in Zapier or Make** In Zapier, create a new Zap and choose Webhooks by Zapier as the trigger. Select Catch Hook. In Make.com, create a new Scenario and add the Webhooks module. Select Custom Webhook. Both platforms will give you a unique webhook URL. 2. **Add the Webhook URL to PlusVibe** Go to: https://app.pipl.ai/v2/settings/webhook/ Paste your webhook URL into the appropriate field. Choose the event types you want to subscribe to, and save your changes. 3. **Receive Real-Time Events** When the selected event occurs in PlusVibe, a POST request will be sent to your webhook URL. Zapier or Make.com will receive the data and forward it to your connected system. ``` -------------------------------- ### cURL Request Example for Test Summary Source: https://developer.plusvibe.ai/get-test-summary-28696787e0 Use this cURL command to fetch the email placement test summary. Ensure you replace '' with your actual API key and provide valid workspace_id, parent_test_id, rec_type, and sender_provider values. ```curl curl --location 'https://api.plusvibe.ai/api/v1/emailplacement/get/test-summary?workspace_id=undefined&parent_test_id=65f3c92d3dbe5dbb35374abc&rec_type=GOOGLE&sender_provider=GOOGLE_WORKSPACE' \ --header 'x-api-key: ' ``` -------------------------------- ### Create Client Source: https://developer.plusvibe.ai/create-client-24563838e0 Creates a new client and assigns them to one or more workspaces. ```APIDOC ## POST /api/v1/client ### Description Creates a client and assigns them to one or more workspaces. ### Method POST ### Endpoint https://api.plusvibe.ai/api/v1/client ### Parameters #### Request Body - **client_name** (string) - Required - The name of the client. - **workspace_ids** (array of string) - Required - A list of workspace IDs to assign the client to. ### Request Example { "client_name": "Example Client", "workspace_ids": ["workspace-123", "workspace-456"] } ### Response #### Success Response (200) - **client_id** (string) - The unique identifier of the created client. - **message** (string) - A confirmation message. #### Response Example { "client_id": "client-abcde", "message": "Client created successfully." } ``` -------------------------------- ### Create client Source: https://developer.plusvibe.ai/parenttest-13129202d0 Creates a new client access entry. ```APIDOC ## Create client ### Description Creates a new client access entry. ### Method POST ### Endpoint /clients ``` -------------------------------- ### Create client Source: https://developer.plusvibe.ai/ Creates a new client access entry. ```APIDOC ## POST Create client ### Description Creates a new client access entry. ### Method POST ### Endpoint /client-access ``` -------------------------------- ### Create Subsequence with LEAD_REPLY_ALL Event Source: https://developer.plusvibe.ai/create-a-new-subsequence-17237996e0 Use this example to create a subsequence that adds leads whenever any reply is received. No additional fields are required for this event type. ```json { "name": "Test Subsequence with LEAD_REPLY_ALL", "parent_camp_id": "67ee00f7612525c35a6e8abf", "events": [{ "name": "LEAD_REPLY_ALL" }] } ``` -------------------------------- ### Enable Email account warmup Source: https://developer.plusvibe.ai/parenttest-13129202d0 Starts the warmup process for an email account. ```APIDOC ## Enable Email account warmup ### Description Starts the warmup process for an email account. ### Method POST ### Endpoint /email-accounts/{account_id}/warmup/enable ``` -------------------------------- ### cURL Request Example Source: https://developer.plusvibe.ai/get-emails-in-others-folder-26664106e0 This snippet shows how to make a request to the PlusVibe.ai API to retrieve emails. Ensure you replace `` with your actual API key and adjust `workspace_id` and `page_trail` as needed. ```shell curl --location 'https://api.plusvibe.ai/api/v1/unibox/other-emails?workspace_id=undefined&page_trail=undefined' \ --header 'x-api-key: ' ``` -------------------------------- ### Generate Code for Get Campaign Name Request Source: https://developer.plusvibe.ai/get-campaign-name-17237999e0 Generates code snippets for making a GET request to retrieve a campaign name. Supports various programming languages. ```javascript const axios = require('axios'); const getCampaignName = async (apiKey, campaignId) => { try { const response = await axios.get('https://api.plusvibe.ai/api/v1/campaign/get/name', { headers: { 'x-api-key': apiKey }, params: { campaignId: campaignId } }); return response.data; } catch (error) { console.error('Error fetching campaign name:', error); throw error; } }; // Example usage: // getCampaignName('YOUR_API_KEY', 'YOUR_CAMPAIGN_ID') // .then(data => console.log(data)) // .catch(err => console.error(err)); ``` ```python import requests def get_campaign_name(api_key, campaign_id): url = "https://api.plusvibe.ai/api/v1/campaign/get/name" headers = { "x-api-key": api_key } params = { "campaignId": campaign_id } try: response = requests.get(url, headers=headers, params=params) response.raise_for_status() # Raise an exception for bad status codes return response.json() except requests.exceptions.RequestException as e: print(f"Error fetching campaign name: {e}") return None # Example usage: # api_key = "YOUR_API_KEY" # campaign_id = "YOUR_CAMPAIGN_ID" # campaign_name_data = get_campaign_name(api_key, campaign_id) # if campaign_name_data: # print(campaign_name_data) ``` ```java import okhttp3.*; import org.json.JSONObject; public class CampaignApiClient { private static final String BASE_URL = "https://api.plusvibe.ai/api/v1/campaign/get/name"; private OkHttpClient client = new OkHttpClient(); public String getCampaignName(String apiKey, String campaignId) throws Exception { Request request = new Request.Builder() .url(BASE_URL + "?campaignId=" + campaignId) .header("x-api-key", apiKey) .get() .build(); try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { throw new IOException("Unexpected code " + response); } return response.body().string(); } } public static void main(String[] args) { CampaignApiClient apiClient = new CampaignApiClient(); String apiKey = "YOUR_API_KEY"; String campaignId = "YOUR_CAMPAIGN_ID"; try { String campaignName = apiClient.getCampaignName(apiKey, campaignId); System.out.println("Campaign Name: " + campaignName); } catch (Exception e) { e.printStackTrace(); } } } ``` -------------------------------- ### POST /workspaces/add/ Source: https://developer.plusvibe.ai/add-a-new-workspace-17237994e0 Adds a new workspace to PlusVibe.ai using an existing workspace ID for reference. ```APIDOC ## POST /workspaces/add/ ### Description Adds a new workspace to PlusVibe.ai using an existing workspace ID for reference. ### Method POST ### Endpoint /workspaces/add/ ### Parameters #### Header Parameters - **x-api-key** (string) - Required - Your PlusVibe.ai account's API Key #### Request Body - **workspace_id** (string) - Required - The ID of any existing workspace to authenticate the API key. - **workspace_name** (string) - Required - The name of the new workspace to be created. ### Request Example ```json { "workspace_id": "66c5860c0d3839cddfe96a31", "workspace_name": "New Workspace 1" } ``` ### Response #### Success Response (200) - **status** (string) - The status of the operation. - **_id** (string) - The unique ID of the newly created workspace. #### Response Example ```json { "status": "success", "_id": "675fb8aca8d7a0a931119c58" } ``` #### Error Response (401) - **code** (integer) - Error code indicating the failure reason. - **message** (string) - A message describing the reason for the failure. - **data** (object) - Additional data related to the failure, if any. ``` -------------------------------- ### Duplicate Parent Test Request Example Source: https://developer.plusvibe.ai/duplicate-a-parent-test-28696784e0 This cURL example demonstrates how to send a request to duplicate a parent test, including the API key, content type, and required body parameters. ```curl curl --location 'https://api.plusvibe.ai/api/v1/email-placement/duplicate/parent-test' \ --header 'x-api-key: ' \ --header 'Content-Type: application/json' \ --data '{ "workspace_id": "string", "parent_test_id": "65f3c92d3dbe5dbb35374abc", "name": "Q1 2024 Deliverability Test (Copy)" }' ``` -------------------------------- ### Error Response Examples Source: https://developer.plusvibe.ai/bulk-reconnect-email-accounts-21411385e0 Examples of error responses for the bulk reconnect endpoint, including validation errors, resource not found, unauthorized access, insufficient permissions, and internal server errors. ```json { "message": "Validation error", "error": "Validation error", "errors": [ "campaign_id must be a valid 24 character hex string" ] } ``` ```json { "message": "Campaign not found", "error": "The specified campaign does not exist" } ``` ```json { "message": "Invalid API key", "error": "Unauthorized access" } ``` ```json { "message": "Insufficient permissions", "error": "Access denied" } ``` ```json { "message": "Internal server error occurred", "error": "Database connection failed" } ``` -------------------------------- ### Create Subsequence with LEAD_REPLY_ALL_EXCEPT_OOO_AUTOMATIC_REPLY Event Source: https://developer.plusvibe.ai/create-a-new-subsequence-17237996e0 Use this example to create a subsequence that adds leads for any reply, excluding Out of Office or Automatic Replies. No additional fields are required. ```json { "name": "Test Subsequence with LEAD_REPLY_ALL_EXCEPT_OOO_AUTOMATIC_REPLY", "parent_camp_id": "67ee00f7612525c35a6e8abf", "events": [{ "name": "LEAD_REPLY_ALL_EXCEPT_OOO_AUTOMATIC_REPLY" }] } ``` -------------------------------- ### List Tags API Endpoint - Query Parameters Source: https://developer.plusvibe.ai/list-tags-17238036e0 Demonstrates how to list tags using query parameters. This method is an alternative to using header parameters for authentication. ```bash curl -X GET \ 'https://api.plusvibe.ai/api/v1/tags/list?x-api-key=********************' ``` -------------------------------- ### Successful Response Example Source: https://developer.plusvibe.ai/get-test-result-for-a-sender-account-28696789e0 This is an example of a successful response (HTTP 200) when retrieving test results. It details the counts for inbox, spam, promotional, and missed emails, along with specific delivery details for each recipient. ```json { "code": 1, "message": "success", "data": [ { "rec_type": "GOOGLE", "inbox_count": 3, "spam_count": 1, "prom_count": 0, "miss_count": 0, "sent_count": 4, "recs": [ { "rec_type": "GOOGLE", "res": "INBOX", "delivery_time": 2.5 }, { "rec_type": "GOOGLE", "res": "SPAM", "delivery_time": 3.1 } ] } ] } ``` -------------------------------- ### Get Campaign Status Request (cURL) Source: https://developer.plusvibe.ai/get-campaign-status-17238000e0 Use this cURL command to make a request to the API to get the status of a specific campaign. Replace 'undefined' with actual IDs and '' with your valid API key. ```shell curl --location 'https://api.plusvibe.ai/api/v1/campaign/get/status?workspace_id=undefined&campaign_id=undefined' \ --header 'x-api-key: ' ``` -------------------------------- ### Get all campaigns statistics Source: https://developer.plusvibe.ai/resourcetype-14203531d0 Retrieves statistics for all campaigns. ```APIDOC ## GET /analytics/campaigns/stats ### Description Retrieves statistics for all campaigns. ### Method GET ### Endpoint /analytics/campaigns/stats ``` -------------------------------- ### Get all campaigns statistics Source: https://developer.plusvibe.ai/ Retrieves statistics for all campaigns. ```APIDOC ## GET Get all campaigns statistics ### Description Retrieves statistics for all campaigns. ### Method GET ### Endpoint /analytics/campaigns/all/stats ``` -------------------------------- ### Initiate Google OAuth login flow Source: https://developer.plusvibe.ai/for-email-infra-provider-partner-3832651f0 Starts the OAuth 2.0 login process for Google accounts. ```APIDOC ## GET /v1/oauth/google/partner ### Description Initiates the OAuth 2.0 login process for Google accounts, allowing users to grant PlusVibe access to their Google services. ### Method GET ### Endpoint https://api.plusvibe.ai/v1/oauth/google/partner ``` -------------------------------- ### Successful Workspace Warmup Stats Response Source: https://developer.plusvibe.ai/get-warmup-stats-workspace-level-17238020e0 This is an example of a successful 200 OK response containing workspace-level warmup statistics. It details email performance across different providers and provides a daily breakdown. ```json { "status": "success", "emailAcc": { "google_percent": "99.2", "other_percent": "99.9", "microsoft_percent": "99.4", "total_inbox_sent": 10980, "total_spam_sent": 65, "total_promotion_sent": 0, "total_warmup_sent": 11045, "inbox_percent": "99.4", "spam_percent": "0.6", "promotion_percent": "0.0", "chart_data": [ { "date": "7 Feb 25", "dt": "2025-02-07", "inbox": 683, "sent": 711, "spam": 28, "promotion": 0 } ], "total_inboxes": 40, "total_domains": 14, "email_domain_detail": { "plusvibeainow.com": 2, "tryplusvibeai.com": 3, "findplusvibeai.com": 3 } } } ``` -------------------------------- ### Get entries in the blocklist Source: https://developer.plusvibe.ai/resourcetype-14203531d0 Retrieves all entries currently in the blocklist. ```APIDOC ## GET /blocklist ### Description Retrieves all entries currently in the blocklist. ### Method GET ### Endpoint /blocklist ``` -------------------------------- ### List Email Accounts Response Example Source: https://developer.plusvibe.ai/list-all-email-accounts-in-the-workspace-25729696e0 This is a successful response (200 OK) from the API, detailing the email accounts within the workspace. It includes information such as account ID, email address, status, provider, and payload details. ```JSON { "accounts": [ { "_id": "6606d3a757aebe86b6dd8b9c", "email": "alice.smith@example.com", "status": "ACTIVE", "warmup_status": "ACTIVE", "provider": "MICROSOFT365", "timestamp_created": "2024-05-17T06:06:01.759Z", "timestamp_updated": "2024-08-14T13:08:37.344Z", "payload": { "name": { "first_name": "Bob", "last_name": "Johnson" }, "warmup": { "limit": 75, "warmup_custom_words": "charity-dreamy", "warmup_signature": 0, "advanced": { "warm_ctd": true, "weekday_only": true, "warmup_business_type": "" }, "increment": 2, "reply_rate": 40 }, "imap_host": "imap.gmail.com", "imap_port": 993, "smtp_host": "smtp.gmail.com", "smtp_port": 465, "daily_limit": 100, "sending_gap": 5, "reply_to": "", "custom_domain": "", "signature": "", "tags": [], "cmps": [], "analytics": { "health_scores": { "7d_overall_warmup_health": 100, "7d_google_warmup_health": 100, "7d_microsoft_warmup_health": 100, "7d_other_warmup_health": 100 }, "reply_rates": { "7d_ooo_replyrate": 4.3, "7d_replyrate": 3.1 }, "daily_counters": { "email_sent_today": 10, "warmup_email_sent_today": 1 } } } }, { "_id": "6634af3e716bada4a591a386", "email": "bob.johnson@example.com", "status": "ACTIVE", "warmup_status": "ACTIVE", "provider": "GOOGLE_WORKSPACE", "timestamp_created": "2024-05-03T09:32:44.243Z", "timestamp_updated": "2024-07-25T15:46:59.015Z", "payload": { "name": { "first_name": "Bob", "last_name": "Johnson" }, "warmup": { "limit": 75, "warmup_custom_words": "charity-dreamy", "warmup_signature": 0, "advanced": { "warm_ctd": true, "weekday_only": true, "warmup_business_type": "" }, "increment": 2, "reply_rate": 40 }, "imap_host": "imap.gmail.com", "imap_port": 993, "smtp_host": "smtp.gmail.com", "smtp_port": 465, "daily_limit": 100, "sending_gap": 5, "reply_to": "", "custom_domain": "", "signature": "", "tags": [] } } ] } ``` -------------------------------- ### Get entries in the blocklist Source: https://developer.plusvibe.ai/ Retrieves all entries currently in the blocklist. ```APIDOC ## GET Get entries in the blocklist ### Description Retrieves all entries currently in the blocklist. ### Method GET ### Endpoint /blocklist ``` -------------------------------- ### Create a New Tag Request Body Source: https://developer.plusvibe.ai/create-a-new-tag-21404673e0 This example shows the structure of a request body for creating a new tag, including workspace ID, name, color, and an optional description. ```json { "workspace_id": "507f1f77bcf86cd799439011", "name": "VIP Clients", "color": "#FF5733", "description": "High-value clients requiring special attention" } ``` -------------------------------- ### Get entries in the blocklist Source: https://developer.plusvibe.ai/parenttest-13129202d0 Retrieves all entries currently in the blocklist. ```APIDOC ## Get entries in the blocklist ### Description Retrieves all entries currently in the blocklist. ### Method GET ### Endpoint /blocklist ``` -------------------------------- ### Get campaign summary Source: https://developer.plusvibe.ai/resourcetype-14203531d0 Retrieves a summary of campaign performance. ```APIDOC ## GET /analytics/campaign/summary ### Description Retrieves a summary of campaign performance. ### Method GET ### Endpoint /analytics/campaign/summary ``` -------------------------------- ### Get campaign stats Source: https://developer.plusvibe.ai/ Retrieves detailed statistics for campaigns. ```APIDOC ## GET Get campaign stats ### Description Retrieves detailed statistics for campaigns. ### Method GET ### Endpoint /analytics/campaign/stats ``` -------------------------------- ### Copy Workspace Settings Source: https://developer.plusvibe.ai/copy-workspace-settings-33221646e0 This endpoint allows for copying workspace settings. It requires an API key for authentication, which can be provided either in the request header or as a query parameter. ```APIDOC ## POST /workspaces/copy ### Description Copies workspace settings from one workspace to another. The specific source and destination workspaces are determined by the context in which this API is called or through parameters not detailed here. ### Method POST ### Endpoint /workspaces/copy ### Parameters #### Header Parameters - **x-api-key** (string) - Required - API key issued in the PlusVibe dashboard. #### Query Parameters - **api_key** (string) - Required - API key passed as a query parameter (used internally by the server). ### Request Example ```json { "sourceWorkspaceId": "string", "destinationWorkspaceId": "string" } ``` ### Response #### Success Response (200) This endpoint is expected to return a success status upon successful copying of settings. Specific response body details are not provided in the source. #### Error Response - **message** (string) - Description of the error. - **error** (string) - A more detailed error message. ### Security - **ApiKeyAuth**: Requires an API key to be provided either in the `x-api-key` header or as the `api_key` query parameter. ``` -------------------------------- ### Get campaign summary Source: https://developer.plusvibe.ai/ Retrieves a summary of campaign performance. ```APIDOC ## GET Get campaign summary ### Description Retrieves a summary of campaign performance. ### Method GET ### Endpoint /analytics/campaign/summary ``` -------------------------------- ### PlusVibe Webhook Overview Source: https://developer.plusvibe.ai/parenttest-13129202d0 Provides an overview of the webhook functionality. ```APIDOC ## PlusVibe Webhook Overview ### Description Provides an overview of the webhook functionality. ### Method GET ### Endpoint /webhooks/overview ``` -------------------------------- ### Get all campaigns statistics Source: https://developer.plusvibe.ai/parenttest-13129202d0 Fetches aggregated statistics for all campaigns. ```APIDOC ## Get all campaigns statistics ### Description Fetches aggregated statistics for all campaigns. ### Method GET ### Endpoint /analytics/campaigns/all-stats ```