CPaaS X
Applications and entities

Applications and entities

In CPaaS X, applications and entities are modular building blocks that Infobip clients can configure using the Infobip API to meet their business needs. These structures support a more flexible and scalable approach to messaging and reporting.

Applications and entities are designed to be flexible in managing configurations and resources. While similar in configuration options, they represent different "actors" or "objects" in your system.

NOTE

Depending on your requirements, you can use applications and entities separately or together.

You can associate applications and entities with resources that you own, allowing you to define your business assets (environment, customers, resources) on the Infobip platform without managing the complexity of CPaaS execution.

Continue reading to learn more about applications and entities, or start creating them using the API or web interface.

Applications

Applications represent system objects like environments or use cases on the Infobip platform. For instance, a production and test environment can be represented by separate applications, each with its own configuration.

Similarly, you can create applications for different use cases, such as marketing and transactional messaging, each with unique configurations. You could represent these by two other applications (or more, depending on how many use cases you support). This allows you to manage various needs without complicating your account structure.

Applications can be used independently or together with entities and resources.

For every application, you can define and assign a unique applicationID identifier, giving you complete control over sending, managing, and reporting on your messaging or calls. This includes determining the notifications and reports you want to receive and how Infobip manages sender resources and sender strategies.

NOTE

For technical reasons, a default application is created automatically when an account is set up on the Infobip platform. While you do not need to use the default application explicitly, it will appear in the list of applications when requested through the API and in the Applications and entities (opens in a new tab) section of the web interface.

CPaaS Application and Entity Entities not required

Entities

An entity on the Infobip platform represents a distinct object in your system. For example, you can use entities to track customer activity or consumption on the Infobip platform. Managing traffic and billing for tens, hundreds, or thousands of customers can be challenging, and entities provide a way to reconcile this data efficiently. Similarly, entities can represent cost centers, allowing you to track traffic and costs for each.

For every entity, you can define and assign a unique entityID identifier, giving you complete control over sending, managing, and reporting on your messaging or calls. This includes determining the notifications and reports you want to receive and how Infobip manages sender resources.

Entities can be used as stand-alone objects or in combination with applications and resources.

CPaaS X Application and Entity Management Applications Not Required

Examples

Here are examples of how applications and entities can be used together.

  1. A client uses applications for two different use cases and an entity to track customer activity.

    CPaaS X Application and Entity Management Example One
  2. A client defines applications for different environments and entities to track different cost centers.

    CPaaS X Application and Entity Management Example Two

To get started with creating an application and entity configuration, refer to the Application and entity API (opens in a new tab) for more information.

Manage applications and entities

You can create, manage, and delete applications and entities using either the API or directly on the Infobip web interface.

Create applications and entities

API

Create and manage your applications and entities using the API. The Application and entity API (opens in a new tab) provides all the information needed to create and manage applications and entities for your specific use case using the requests below.

API

Information

Request

Create application (opens in a new tab)

Creates an application associated with the specified applicationID.

POST /provisioning/1/applications

Create entity (opens in a new tab)

Creates an entity associated with the specified entityID.

POST /provisioning/1/entities

Any changes you make using the API will automatically be visible in Infobip system.

NOTE

For technical reasons, a default application is created automatically when an account is set up on the Infobip platform. While you do not need to use the default application explicitly, it will appear in the list of applications when requested through the API and in the Applications and entities (opens in a new tab) section of the web interface.

Web interface

You can also create applications and/or entities directly through the Infobip web interface by following the steps below:

  1. In the web interface (opens in a new tab), navigate to Developer tools > Applications and entities to access the relevant area.

  2. In the Applications and entities section, you will see all active applications, entities, and their associated resources.

    NOTE

    This view includes any applications and entities you have created using the API.

  3. Toggle between the Application and Entities tabs and select Create application (or Create entity). Set the ID (this cannot be changed later) and optionally add an alias.

  4. Once created, your application or entity will be visible in the Applications and entities area, and you can begin linking entities and resources for your specific use case. The example below shows an application with two entities and associated resources.

cpaasx-application-example-view

Associate resources to applications and entities

After creating applications and entities, you can explicitly associate them with a resource if required by your use case.

You can associate a resource with applications and entities together or separately.

To use specific features such as sending strategies or functions like inbound messages or calls, you must explicitly associate a resource with an application and/or entity. It is also possible to implicitly associate a resource in any send request that supports applicationID or entityID, provided the application or entity has been created. Implicitly associating a resource means that reports for that request will include the applicationID and/or entityID.

Modify applications and entities

Applications and entities have limited editing capabilities due to their integration with CPaaS X. You can modify the alias of an application and/or entity, but the ID cannot be changed. Any changes will be immediately reflected in the system.

API

To modify your applications or entities, use the following API requests:

API

Information

Request

Modify application (opens in a new tab)

Modifies the resource name property.

PUT /provisioning/1/applications/{applicationId}

Modify entity (opens in a new tab)

Modifies the resource name property.

PUT /provisioning/1/entities/{entityId}

Web interface

  1. In the web interface (opens in a new tab), navigate to Applications and entities.

  2. Select Edit application (or Edit entity).

cpaasx-application-example-edit

Delete applications and entities

If you want to delete an application and/or entity, be mindful of the following:

  • Deleting an application and/or entity will also remove any linked configurations, such as resource associations, sending strategies, and subscriptions.
  • If you delete an application and/or entity that has associated resources (for example, a number or domain), the association will be removed. You can re-apply these resources to a new application and/or entity when needed.
NOTE

If a configuration (for example, resource association, sending strategy, or subscription) is linked to an application/entity pair and only one part of the pair is deleted, then the whole configuration will be deleted.

Additionally, deleting an application or entity associated with a resource used for inbound traffic will affect the inbound traffic Infobip sends to you. It will no longer be associated with the application and/or entity, and the messages will no longer include the applicationID and/or entityID identifier.

Before deleting an application or entity, review all linked resources and configurations. For full control, manually delete any configurations and de-associate resources before proceeding.

API

To delete an application or entity, use the following API requests:

API

Information

Request

Delete application (opens in a new tab)

Deletes an application associated with the specified applicationId.

DELETE /provisioning/1/applications/{applicationId}

Delete entity (opens in a new tab)

Deletes an entity associated with the specified entityId.

DELETE /provisioning/1/entities/{entityId}

Web interface

  1. In the web interface (opens in a new tab), navigate to Applications and entities.

  2. Next to the item you want to delete, select the recycle bin icon .

cpaasx-application-delete

API keys with applications and entities

API keys can be linked (opens in a new tab) to an application, entity, or an application/entity pair for enhanced security. When an API key is linked, it can only be used for specific endpoints (such as sending, reporting, and logs). This provides additional separation and protection for traffic-related requests and prevents access to management APIs like Numbers or Applications and entities. It also ensures that only the traffic linked to that specific application or entity is affected if a traffic-related API key is compromised. Remediation efforts, such as revoking the compromised API key, only need to be applied to the subset of traffic associated with that key. This isolates the issue and prevents widespread disruption.

You can also configure API keys with either broad or restricted access based on your environment setup. For example, if you have separate applications for test and production environments, you can create and assign a unique API key to each application. The production API can be strictly controlled, while the testing API can be given broader permissions.

Standard, unlinked API key in a request with application and entity

cpaasx-api-request

API key restriction

You can restrict API keys to specific applications or entities, ensuring that access is controlled at the application or entity level.

cpaasx-api-restriction

For example, if you attempt to use API Key2 with the "BigCola" entity or API Key3 with the "McBurger" entity, you will receive an unauthorized access response. However, API Key1 can still be used in both requests as it serves as the primary API key with access to all public endpoints.

cpaasx-api-restriction-example

API keys endpoints list

Below is the list of endpoints where authorization is supported for API keys linked to applications or entities.

NOTE

When linking an API key to applications and entities, the API key permissions are restricted to CPaaS X-supported endpoints. Any API requests made to unsupported endpoints will fail due to unauthorized access.

Channel

Function

Endpoint

Apple Messages for BusinessSend Apple Events (opens in a new tab)/apple-mfb/1/events#POST
Get message logs (opens in a new tab)/apple-mfb/1/logs#GET
Send Apple Messages for Business (opens in a new tab)/apple-mfb/1/messages#POST
EmailSend fully featured email (opens in a new tab)/email/3/send#POST
Email delivery reports (opens in a new tab)/email/1/reports#GET
Get email logs (opens in a new tab)/email/1/logs#GET
Instagram Direct MessagesGet outbound Instagram message logs (opens in a new tab)/instagram/1/logs#GET
Send Instagram message (opens in a new tab)/instagram/1/messages#POST
LINESend a LINE message (opens in a new tab)/line/1/messages#POST
MessengerGet outbound Messenger message logs (opens in a new tab)/messenger/1/logs#GET
Send Messenger message (opens in a new tab)/messenger/1/messages#POST
MMSSend MMS messages (opens in a new tab)/mms/2/messages#POST
Get inbound MMS messages (opens in a new tab)/mms/1/inbox/reports#GET
Get outbound MMS message delivery reports (opens in a new tab)/mms/2/reports#GET
RCSSend RCS messages (opens in a new tab)/rcs/2/messages#POST
SMSSend SMS message (opens in a new tab)/sms/2/text/advanced#POST
Send binary SMS message (opens in a new tab)/sms/2/binary/advanced#POST
Get inbound SMS messages (opens in a new tab)/sms/1/inbox/reports#GET
Get outbound SMS message delivery reports (opens in a new tab)/sms/1/reports#GET
Get outbound SMS message logs (opens in a new tab)/sms/3/logs#GET
ViberSend Viber messages (opens in a new tab)/viber/2/messages#POST
WhatsAppSend WhatsApp audio message (opens in a new tab)/whatsapp/1/message/audio#POST
Send WhatsApp contact message (opens in a new tab)/whatsapp/1/message/contact#POST
Send WhatsApp document message (opens in a new tab)/whatsapp/1/message/document#POST
Send WhatsApp image message (opens in a new tab)/whatsapp/1/message/image#POST
Send WhatsApp interactive buttons message (opens in a new tab)/whatsapp/1/message/interactive/buttons#POST
Send WhatsApp interactive list message (opens in a new tab)/whatsapp/1/message/interactive/list#POST
Send WhatsApp interactive location request message (opens in a new tab)/whatsapp/1/message/interactive/location-request#POST
Send WhatsApp interactive multi-product message (opens in a new tab)/whatsapp/1/message/interactive/multi-product#POST
Send WhatsApp interactive order-details message (opens in a new tab)/whatsapp/1/message/interactive/order-details#POST
Send WhatsApp interactive order-status message (opens in a new tab)/whatsapp/1/message/interactive/order-status#POST
Send WhatsApp interactive product message (opens in a new tab)/whatsapp/1/message/interactive/product#POST
Send WhatsApp location message (opens in a new tab)/whatsapp/1/message/location#POST
Send WhatsApp sticker message (opens in a new tab)/whatsapp/1/message/sticker#POST
Send WhatsApp template message (opens in a new tab)/whatsapp/1/message/template#POST
Send WhatsApp text message (opens in a new tab)/whatsapp/1/message/text#POST
Send WhatsApp video message (opens in a new tab)/whatsapp/1/message/video#POST
ZaloSend Zalo messages (opens in a new tab)/zalo/2/messages#POST

Need assistance

Explore Infobip Tutorials

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Service Terms & ConditionsPrivacy policyTerms of use