Skip to content

sendinblue/APIv3-java-library

Repository files navigation

SendinBlue's API v3 Java Library

SendinBlue's API exposes the entire SendinBlue features via a standardized programmatic interface. Please refer to the full documentation to learn more.

This is the wrapper for the API. It implements all the features of the API v3.

SendinBlue's API matches the OpenAPI v2 definition. The specification can be downloaded here.

Installation

To install the API client library to your local Maven repository, simply execute:

mvn install

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>com.sendinblue</groupId>
  <artifactId>sib-api-v3-sdk</artifactId>
  <version>7.0.0</version>
  <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

compile "com.sendinblue:sib-api-v3-sdk:7.0.0"

Others

At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/sib-api-v3-sdk-7.0.0.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

import sendinblue.*;
import sendinblue.auth.*;
import sibModel.*;
import sibApi.AccountApi;

import java.io.File;
import java.util.*;

public class AccountApiExample {

    public static void main(String[] args) {
        ApiClient defaultClient = Configuration.getDefaultApiClient();
        
        // Configure API key authorization: api-key
        ApiKeyAuth apiKey = (ApiKeyAuth) defaultClient.getAuthentication("api-key");
        apiKey.setApiKey("YOUR API KEY");
        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
        //apiKey.setApiKeyPrefix("Token");

        // Configure API key authorization: partner-key
        ApiKeyAuth partnerKey = (ApiKeyAuth) defaultClient.getAuthentication("partner-key");
        partnerKey.setApiKey("YOUR PARTNER KEY");
        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
        //partnerKey.setApiKeyPrefix("Token");

        AccountApi apiInstance = new AccountApi();
        try {
            GetAccount result = apiInstance.getAccount();
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling AccountApi#getAccount");
            e.printStackTrace();
        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://api.sendinblue.com/v3

Class Method HTTP request Description
AccountApi getAccount GET /account Get your account information, plan and credits details
CompaniesApi companiesAttributesGet GET /companies/attributes Get company attributes
CompaniesApi companiesGet GET /companies Get all companies
CompaniesApi companiesIdDelete DELETE /companies/{id} Delete a company
CompaniesApi companiesIdGet GET /companies/{id} Get a company
CompaniesApi companiesIdPatch PATCH /companies/{id} Update a company
CompaniesApi companiesLinkUnlinkIdPatch PATCH /companies/link-unlink/{id} Link and Unlink company with contacts and deals
CompaniesApi companiesPost POST /companies Create a company
ContactsApi addContactToList POST /contacts/lists/{listId}/contacts/add Add existing contacts to a list
ContactsApi createAttribute POST /contacts/attributes/{attributeCategory}/{attributeName} Create contact attribute
ContactsApi createContact POST /contacts Create a contact
ContactsApi createDoiContact POST /contacts/doubleOptinConfirmation Create Contact via DOI (Double-Opt-In) Flow
ContactsApi createFolder POST /contacts/folders Create a folder
ContactsApi createList POST /contacts/lists Create a list
ContactsApi deleteAttribute DELETE /contacts/attributes/{attributeCategory}/{attributeName} Delete an attribute
ContactsApi deleteContact DELETE /contacts/{identifier} Delete a contact
ContactsApi deleteFolder DELETE /contacts/folders/{folderId} Delete a folder (and all its lists)
ContactsApi deleteList DELETE /contacts/lists/{listId} Delete a list
ContactsApi getAttributes GET /contacts/attributes List all attributes
ContactsApi getContactInfo GET /contacts/{identifier} Get a contact's details
ContactsApi getContactStats GET /contacts/{identifier}/campaignStats Get email campaigns' statistics for a contact
ContactsApi getContacts GET /contacts Get all the contacts
ContactsApi getContactsFromList GET /contacts/lists/{listId}/contacts Get contacts in a list
ContactsApi getFolder GET /contacts/folders/{folderId} Returns a folder's details
ContactsApi getFolderLists GET /contacts/folders/{folderId}/lists Get lists in a folder
ContactsApi getFolders GET /contacts/folders Get all folders
ContactsApi getList GET /contacts/lists/{listId} Get a list's details
ContactsApi getLists GET /contacts/lists Get all the lists
ContactsApi importContacts POST /contacts/import Import contacts
ContactsApi removeContactFromList POST /contacts/lists/{listId}/contacts/remove Delete a contact from a list
ContactsApi requestContactExport POST /contacts/export Export contacts
ContactsApi updateAttribute PUT /contacts/attributes/{attributeCategory}/{attributeName} Update contact attribute
ContactsApi updateBatchContacts POST /contacts/batch Update multiple contacts
ContactsApi updateContact PUT /contacts/{identifier} Update a contact
ContactsApi updateFolder PUT /contacts/folders/{folderId} Update a folder
ContactsApi updateList PUT /contacts/lists/{listId} Update a list
ConversationsApi conversationsAgentOnlinePingPost POST /conversations/agentOnlinePing Sets agent’s status to online for 2-3 minutes
ConversationsApi conversationsMessagesIdDelete DELETE /conversations/messages/{id} Delete a message sent by an agent
ConversationsApi conversationsMessagesIdGet GET /conversations/messages/{id} Get a message
ConversationsApi conversationsMessagesIdPut PUT /conversations/messages/{id} Update a message sent by an agent
ConversationsApi conversationsMessagesPost POST /conversations/messages Send a message as an agent
ConversationsApi conversationsPushedMessagesIdDelete DELETE /conversations/pushedMessages/{id} Delete an automated message
ConversationsApi conversationsPushedMessagesIdGet GET /conversations/pushedMessages/{id} Get an automated message
ConversationsApi conversationsPushedMessagesIdPut PUT /conversations/pushedMessages/{id} Update an automated message
ConversationsApi conversationsPushedMessagesPost POST /conversations/pushedMessages Send an automated message to a visitor
DealsApi crmAttributesDealsGet GET /crm/attributes/deals Get deal attributes
DealsApi crmDealsGet GET /crm/deals Get all deals
DealsApi crmDealsIdDelete DELETE /crm/deals/{id} Delete a deal
DealsApi crmDealsIdGet GET /crm/deals/{id} Get a deal
DealsApi crmDealsIdPatch PATCH /crm/deals/{id} Update a deal
DealsApi crmDealsLinkUnlinkIdPatch PATCH /crm/deals/link-unlink/{id} Link and Unlink a deal with contacts and companies
DealsApi crmDealsPost POST /crm/deals Create a deal
DealsApi crmPipelineDetailsGet GET /crm/pipeline/details Get pipeline stages
EcommerceApi createBatchOrder POST /orders/status/batch Create orders in batch
EcommerceApi createOrder POST /orders/status Managing the status of the order
EcommerceApi createUpdateBatchCategory POST /categories/batch Create categories in batch
EcommerceApi createUpdateBatchProducts POST /products/batch Create products in batch
EcommerceApi createUpdateCategory POST /categories Create/Update a category
EcommerceApi createUpdateProduct POST /products Create/Update a product
EcommerceApi ecommerceActivatePost POST /ecommerce/activate Activate the eCommerce app
EcommerceApi getCategories GET /categories Return all your categories
EcommerceApi getCategoryInfo GET /categories/{id} Get a category details
EcommerceApi getProductInfo GET /products/{id} Get a product's details
EcommerceApi getProducts GET /products Return all your products
EmailCampaignsApi createEmailCampaign POST /emailCampaigns Create an email campaign
EmailCampaignsApi deleteEmailCampaign DELETE /emailCampaigns/{campaignId} Delete an email campaign
EmailCampaignsApi emailExportRecipients POST /emailCampaigns/{campaignId}/exportRecipients Export the recipients of an email campaign
EmailCampaignsApi getAbTestCampaignResult GET /emailCampaigns/{campaignId}/abTestCampaignResult Get an A/B test email campaign results
EmailCampaignsApi getEmailCampaign GET /emailCampaigns/{campaignId} Get an email campaign report
EmailCampaignsApi getEmailCampaigns GET /emailCampaigns Return all your created email campaigns
EmailCampaignsApi getSharedTemplateUrl GET /emailCampaigns/{campaignId}/sharedUrl Get a shared template url
EmailCampaignsApi sendEmailCampaignNow POST /emailCampaigns/{campaignId}/sendNow Send an email campaign immediately, based on campaignId
EmailCampaignsApi sendReport POST /emailCampaigns/{campaignId}/sendReport Send the report of a campaign
EmailCampaignsApi sendTestEmail POST /emailCampaigns/{campaignId}/sendTest Send an email campaign to your test list
EmailCampaignsApi updateCampaignStatus PUT /emailCampaigns/{campaignId}/status Update an email campaign status
EmailCampaignsApi updateEmailCampaign PUT /emailCampaigns/{campaignId} Update an email campaign
EmailCampaignsApi uploadImageToGallery POST /emailCampaigns/images Upload an image to your account's image gallery
FilesApi crmFilesGet GET /crm/files Get all files
FilesApi crmFilesIdDataGet GET /crm/files/{id}/data Get file details
FilesApi crmFilesIdDelete DELETE /crm/files/{id} Delete a file
FilesApi crmFilesIdGet GET /crm/files/{id} Download a file
FilesApi crmFilesPost POST /crm/files Upload a file
InboundParsingApi getInboundEmailAttachment GET /inbound/attachments/{downloadToken} Retrieve inbound attachment with download token.
InboundParsingApi getInboundEmailEvents GET /inbound/events Get the list of all the events for the received emails.
InboundParsingApi getInboundEmailEventsByUuid GET /inbound/events/{uuid} Fetch all events history for one particular received email.
MasterAccountApi corporateMasterAccountGet GET /corporate/masterAccount Get the details of requested master account
MasterAccountApi corporateSubAccountGet GET /corporate/subAccount Get the list of all the sub-accounts of the master account.
MasterAccountApi corporateSubAccountIdDelete DELETE /corporate/subAccount/{id} Delete a sub-account
MasterAccountApi corporateSubAccountIdGet GET /corporate/subAccount/{id} Get sub-account details
MasterAccountApi corporateSubAccountIdPlanPut PUT /corporate/subAccount/{id}/plan Update sub-account plan
MasterAccountApi corporateSubAccountKeyPost POST /corporate/subAccount/key Create an API key for a sub-account
MasterAccountApi corporateSubAccountPost POST /corporate/subAccount Create a new sub-account under a master account.
MasterAccountApi corporateSubAccountSsoTokenPost POST /corporate/subAccount/ssoToken Generate SSO token to access Sendinblue
NotesApi crmNotesGet GET /crm/notes Get all notes
NotesApi crmNotesIdDelete DELETE /crm/notes/{id} Delete a note
NotesApi crmNotesIdGet GET /crm/notes/{id} Get a note
NotesApi crmNotesIdPatch PATCH /crm/notes/{id} Update a note
NotesApi crmNotesPost POST /crm/notes Create a note
ProcessApi getProcess GET /processes/{processId} Return the informations for a process
ProcessApi getProcesses GET /processes Return all the processes for your account
ResellerApi addCredits POST /reseller/children/{childIdentifier}/credits/add Add Email and/or SMS credits to a specific child account
ResellerApi associateIpToChild POST /reseller/children/{childIdentifier}/ips/associate Associate a dedicated IP to the child
ResellerApi createChildDomain POST /reseller/children/{childIdentifier}/domains Create a domain for a child account
ResellerApi createResellerChild POST /reseller/children Creates a reseller child
ResellerApi deleteChildDomain DELETE /reseller/children/{childIdentifier}/domains/{domainName} Delete the sender domain of the reseller child based on the childIdentifier and domainName passed
ResellerApi deleteResellerChild DELETE /reseller/children/{childIdentifier} Delete a single reseller child based on the child identifier supplied
ResellerApi dissociateIpFromChild POST /reseller/children/{childIdentifier}/ips/dissociate Dissociate a dedicated IP to the child
ResellerApi getChildAccountCreationStatus GET /reseller/children/{childIdentifier}/accountCreationStatus Get the status of a reseller's child account creation, whether it is successfully created (exists) or not based on the identifier supplied
ResellerApi getChildDomains GET /reseller/children/{childIdentifier}/domains Get all sender domains for a specific child account
ResellerApi getChildInfo GET /reseller/children/{childIdentifier} Get a child account's details
ResellerApi getResellerChilds GET /reseller/children Get the list of all children accounts
ResellerApi getSsoToken GET /reseller/children/{childIdentifier}/auth Get session token to access Sendinblue (SSO)
ResellerApi removeCredits POST /reseller/children/{childIdentifier}/credits/remove Remove Email and/or SMS credits from a specific child account
ResellerApi updateChildAccountStatus PUT /reseller/children/{childIdentifier}/accountStatus Update info of reseller's child account status based on the childIdentifier supplied
ResellerApi updateChildDomain PUT /reseller/children/{childIdentifier}/domains/{domainName} Update the sender domain of reseller's child based on the childIdentifier and domainName passed
ResellerApi updateResellerChild PUT /reseller/children/{childIdentifier} Update info of reseller's child based on the child identifier supplied
SendersApi createSender POST /senders Create a new sender
SendersApi deleteSender DELETE /senders/{senderId} Delete a sender
SendersApi getIps GET /senders/ips Get all the dedicated IPs for your account
SendersApi getIpsFromSender GET /senders/{senderId}/ips Get all the dedicated IPs for a sender
SendersApi getSenders GET /senders Get the list of all your senders
SendersApi updateSender PUT /senders/{senderId} Update a sender
SmsCampaignsApi createSmsCampaign POST /smsCampaigns Creates an SMS campaign
SmsCampaignsApi deleteSmsCampaign DELETE /smsCampaigns/{campaignId} Delete an SMS campaign
SmsCampaignsApi getSmsCampaign GET /smsCampaigns/{campaignId} Get an SMS campaign
SmsCampaignsApi getSmsCampaigns GET /smsCampaigns Returns the information for all your created SMS campaigns
SmsCampaignsApi requestSmsRecipientExport POST /smsCampaigns/{campaignId}/exportRecipients Export an SMS campaign's recipients
SmsCampaignsApi sendSmsCampaignNow POST /smsCampaigns/{campaignId}/sendNow Send your SMS campaign immediately
SmsCampaignsApi sendSmsReport POST /smsCampaigns/{campaignId}/sendReport Send an SMS campaign's report
SmsCampaignsApi sendTestSms POST /smsCampaigns/{campaignId}/sendTest Send a test SMS campaign
SmsCampaignsApi updateSmsCampaign PUT /smsCampaigns/{campaignId} Update an SMS campaign
SmsCampaignsApi updateSmsCampaignStatus PUT /smsCampaigns/{campaignId}/status Update a campaign's status
TasksApi crmTasksGet GET /crm/tasks Get all tasks
TasksApi crmTasksIdDelete DELETE /crm/tasks/{id} Delete a task
TasksApi crmTasksIdGet GET /crm/tasks/{id} Get a task
TasksApi crmTasksIdPatch PATCH /crm/tasks/{id} Update a task
TasksApi crmTasksPost POST /crm/tasks Create a task
TasksApi crmTasktypesGet GET /crm/tasktypes Get all task types
TransactionalEmailsApi blockNewDomain POST /smtp/blockedDomains Add a new domain to the list of blocked domains
TransactionalEmailsApi createSmtpTemplate POST /smtp/templates Create an email template
TransactionalEmailsApi deleteBlockedDomain DELETE /smtp/blockedDomains/{domain} Unblock an existing domain from the list of blocked domains
TransactionalEmailsApi deleteHardbounces POST /smtp/deleteHardbounces Delete hardbounces
TransactionalEmailsApi deleteScheduledEmailById DELETE /smtp/email/{identifier} Delete scheduled emails by batchId or messageId
TransactionalEmailsApi deleteSmtpTemplate DELETE /smtp/templates/{templateId} Delete an inactive email template
TransactionalEmailsApi getAggregatedSmtpReport GET /smtp/statistics/aggregatedReport Get your transactional email activity aggregated over a period of time
TransactionalEmailsApi getBlockedDomains GET /smtp/blockedDomains Get the list of blocked domains
TransactionalEmailsApi getEmailEventReport GET /smtp/statistics/events Get all your transactional email activity (unaggregated events)
TransactionalEmailsApi getScheduledEmailByBatchId GET /smtp/emailStatus/{batchId} Fetch scheduled emails by batchId
TransactionalEmailsApi getScheduledEmailByMessageId GET /smtp/emailStatus/{messageId} Fetch scheduled email by messageId
TransactionalEmailsApi getSmtpReport GET /smtp/statistics/reports Get your transactional email activity aggregated per day
TransactionalEmailsApi getSmtpTemplate GET /smtp/templates/{templateId} Returns the template information
TransactionalEmailsApi getSmtpTemplates GET /smtp/templates Get the list of email templates
TransactionalEmailsApi getTransacBlockedContacts GET /smtp/blockedContacts Get the list of blocked or unsubscribed transactional contacts
TransactionalEmailsApi getTransacEmailContent GET /smtp/emails/{uuid} Get the personalized content of a sent transactional email
TransactionalEmailsApi getTransacEmailsList GET /smtp/emails Get the list of transactional emails on the basis of allowed filters
TransactionalEmailsApi sendTestTemplate POST /smtp/templates/{templateId}/sendTest Send a template to your test list
TransactionalEmailsApi sendTransacEmail POST /smtp/email Send a transactional email
TransactionalEmailsApi smtpBlockedContactsEmailDelete DELETE /smtp/blockedContacts/{email} Unblock or resubscribe a transactional contact
TransactionalEmailsApi smtpLogMessageIdDelete DELETE /smtp/log/{messageId} Delete an SMTP transactional log
TransactionalEmailsApi updateSmtpTemplate PUT /smtp/templates/{templateId} Update an email template
TransactionalSmsApi getSmsEvents GET /transactionalSMS/statistics/events Get all your SMS activity (unaggregated events)
TransactionalSmsApi getTransacAggregatedSmsReport GET /transactionalSMS/statistics/aggregatedReport Get your SMS activity aggregated over a period of time
TransactionalSmsApi getTransacSmsReport GET /transactionalSMS/statistics/reports Get your SMS activity aggregated per day
TransactionalSmsApi sendTransacSms POST /transactionalSMS/sms Send SMS message to a mobile number
WebhooksApi createWebhook POST /webhooks Create a webhook
WebhooksApi deleteWebhook DELETE /webhooks/{webhookId} Delete a webhook
WebhooksApi getWebhook GET /webhooks/{webhookId} Get a webhook details
WebhooksApi getWebhooks GET /webhooks Get all webhooks
WebhooksApi updateWebhook PUT /webhooks/{webhookId} Update a webhook
WhatsappCampaignsApi deleteWhatsappCampaign DELETE /whatsappCampaigns/{campaignId} Delete a whatsapp campaign
WhatsappCampaignsApi getWhatsappCampaign GET /whatsappCampaigns/{campaignId} Get Whatsapp campaign Overview

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

api-key

  • Type: API key
  • API key parameter name: api-key
  • Location: HTTP header

partner-key

  • Type: API key
  • API key parameter name: partner-key
  • Location: HTTP header

Recommendation

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Support and Feedback

Be sure to visit the SendinBlue official documentation website for additional information about our API.

If you find a bug, please post the issue on Github.

As always, if you need additional assistance, drop us a note here.