Skip to content
master
Switch branches/tags
Code

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>5.2.0</version>
  <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

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

Others

At first generate the JAR by executing:

mvn package

Then manually install the following JARs:

  • target/sib-api-v3-sdk-5.2.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
AttributesApi createAttribute POST /contacts/attributes/{attributeCategory}/{attributeName} Create contact attribute
AttributesApi deleteAttribute DELETE /contacts/attributes/{attributeCategory}/{attributeName} Delete an attribute
AttributesApi getAttributes GET /contacts/attributes List all attributes
AttributesApi updateAttribute PUT /contacts/attributes/{attributeCategory}/{attributeName} Update contact attribute
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 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
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
FoldersApi createFolder POST /contacts/folders Create a folder
FoldersApi deleteFolder DELETE /contacts/folders/{folderId} Delete a folder (and all its lists)
FoldersApi getFolder GET /contacts/folders/{folderId} Returns a folder's details
FoldersApi getFolderLists GET /contacts/folders/{folderId}/lists Get lists in a folder
FoldersApi getFolders GET /contacts/folders Get all folders
FoldersApi updateFolder PUT /contacts/folders/{folderId} Update a folder
ListsApi addContactToList POST /contacts/lists/{listId}/contacts/add Add existing contacts to a list
ListsApi createList POST /contacts/lists Create a list
ListsApi deleteList DELETE /contacts/lists/{listId} Delete a list
ListsApi getContactsFromList GET /contacts/lists/{listId}/contacts Get contacts in a list
ListsApi getFolderLists GET /contacts/folders/{folderId}/lists Get lists in a folder
ListsApi getList GET /contacts/lists/{listId} Get a list's details
ListsApi getLists GET /contacts/lists Get all the lists
ListsApi removeContactFromList POST /contacts/lists/{listId}/contacts/remove Delete a contact from a list
ListsApi updateList PUT /contacts/lists/{listId} Update a list
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
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 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 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 sendTemplate POST /smtp/templates/{templateId}/send Send a template
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

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.