CPaaS X
Application and Entity management

Application and Entity Management

In the context of CPaaS X, Applications and Entities are two types of building blocks that can be used by Infobip clients in a modular way. Configure these building blocks using the Infobip API to create structures that apply to your business needs, and then apply a more modular approach to large-scale messaging and reporting for your platform.

Applications and Entities are designed to be flexible to manage configurations and resources in whatever manner meets your needs. They are similar in the sense that the same configuration can be applied but different in that they will represent different 'actors or objects' in your world.

Note

Use Applications and Entities separately or together. The choice is yours.

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 so you do not have to manage the complexity of CPaaS execution.

Read on to learn more about Applications and Entities, or get started creating applications and entities using the API or web interface.

Application

Use Applications to represent, on the Infobip Platform, an application, environment, use case, or some other object used on your system. If you have a Production environment and Test environment, these could be represented, and their configuration defined, in a Production Application and Test Application.

Or perhaps, you solve different use cases for your customers, say a Marketing use case and a Transactional use case where each use case has different requirements and configurations. You could choose to represent these by two different Applications (or more depending on how many use cases you support).

All this extensibility can be done without adding complexity to your account structure.

Use Applications as stand-alone objects or in conjunction with Entities and Resources.

For every application, clients define and assign a unique identifier called an Application ID.  This gives clients full control over sending, managing, and reporting on their messaging or calls. For example, what notifications and reports they want to receive or how they want Infobip to manage their Sender resources and sending strategies.

Note

For technical reasons, when an account is created on the Infobip platform an application name called ' default' is created automatically. You do not need to use the default application explicitly but it will be returned as an application when requesting a list of applications via API and will be listed on Portal in Applications and Entities (opens in a new tab).

CPaaS Application and Entity Entities not required

Entity

An entity, on the Infobip platform, can be used to represent an object you distinguish clearly on your system. For example, use it to track your customers' consumption on the Infobip platform. Companies with 10s, 100s, or 1000s of customers find it very challenging to reconcile traffic and billing to each of those customers during the billing cycle and it is very resource heavy to try to unpick this data. Or perhaps you have different cost centers in your company and want to track traffic and cost for each. An Entity can represent either; be it customers, cost centers, or indeed, whatever you want it to represent.

For every Entity, clients define and assign a unique identifier called an Entity ID.  This gives clients full control over sending, managing, and reporting on their messaging or calls. For example, which notifications and reports they want to receive, or how they want Infobip to manage their Sender resources.

Entities can be used as stand-alone objects or together with Applications and Resources.

CPaaS X Application and Entity Management Applications Not Required

Examples

The following examples show a high-level overview of Applications and Entities being used in conjunction.

The first image shows how a client has used Applications for their two different use cases and entity for their customers.

CPaaS X Application and Entity Management Example One

The next example shows how a client is using Applications to define their different environments and entities for their different cost centers.

CPaaS X Application and Entity Management Example Two

To get started and create an Application and Entity configuration, head over to the Application and Entity API (opens in a new tab) documentation to learn more.

Create

You can create and manage Applications and Entities using API or directly from the Infobip platform.

API

Create and manage your Applications and Entities using the API. The Application and Entity API (opens in a new tab) documentation contains all you will need to create and manage applications and entities for your particular use case using the requests below.

APIInformationRequest
Create applicationCreate an application associated with the specified applicationID.POST/provisioning/1/associations
Create entityCreate 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, when an account is created on the Infobip platform an application name called ' default' is created automatically. You do not need to use the default application explicitly but it will be returned as an application when requesting a list of applications via API and will be listed on Portal in Applications and Entities (opens in a new tab).

Web Interface

You can create applications and/or entities directly from the web interface. Navigate to Developer Tools > Applications and entities to access the applications and entities area.

From the applications and entities area, you can see all active applications and entities for your instance and any resources associated.

Note

This view includes any applications and entities that you have created by API.

Toggle between the Application and Entities tabs and click Create Application (or Create Entity). Set the ID (this cannot be modified later) and add an optional alias.

Your application or entity has been created and it will be visible in the Applications and Entities area.

You can then start linking entities and active resources for your particular use case. The example below shows an example application that has 2 entities and some resources already associated.

cpaasx-application-example-view

Associate Resources to Applications and Entities

After you have created applications and entities you can then explicitly associate them to a resource if required by your use case.

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

Note, you must explicitly associate a resource to an application and/or entity if you want to use certain features, like Sender Strategies, or functionality like Inbound messages or calls.  It is also possible to implicitly associate a resource to an application and/or entity in any send request that supports applicationId or entityId, so long as that application and/or entity has been created.

Implicitly associating a resource means that reports for that request will contain that applicationId and/or entityId.

Manage

You can manage your applications and entities through the web interface or using the API.

Edit

Due to the interconnected nature of CPaaS X, applications and entities have limited scope for modification. You can edit the alias of an application and/or entity, however you cannot modify the ID. Any changes that you make will immediately be reflected in the system.

Use the modify application (opens in a new tab) and modify entity (opens in a new tab) APIs to edit applications and entities via API. Alternatively, click Edit Application (or Edit Entity) when you are viewing your applications or entities in the web interface.

cpaasx-application-example-edit

Delete

If you need to delete an application and/or entity, you can do so via API and in the Infobip platform. However, before you complete this step there are a few important considerations to remember.

Be careful when deleting applications and entities as any linked configuration like resource associations, sender strategies, and subscriptions will also be deleted.

If you have associated a resource (e.g. number, or domain, etc.) to an application and/or entity then that resource association will also be removed. The resources can then be re-applied to a new application and/or entity whenever you like.

Note

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

Also, if you delete applications and/or entities associated with a resource used for inbound traffic that inbound traffic Infobip sends to you will also be affected.  The inbound traffic will no longer be associated with the application and/or entity so you will no longer receive applicationID and/or entityID in the messages.

Review all resources and configurations linked to the application and/or entity before you delete. For full control, first, delete any configurations and de-associate resources manually before deleting the application or entity.

When you are finally ready to delete an application or entity then click the recycle bin button next to an application or entity on the Applications and entities area of the Infobip platform. Alternatively, use the delete application (opens in a new tab) and/or delete entity (opens in a new tab) API requests.

cpaasx-application-delete

API Keys with Application and Entity

For extra security, API Keys can be linked (opens in a new tab) to an Application, Entity, or Application/Entity pair.  When this is done, the linked API key can be used only for certain endpoints (sending, reporting, logs) giving extra separation and protection for traffic-related requests while preventing access to management APIs like Numbers, Applications & Entities, etc. This means that if an API key is compromised for traffic linked to an Application/Entity, then no other traffic is impacted.  Plus, remediation by revoking the compromised API key, only needs to be done for a subset of traffic.

It also means that you can share some API keys widely and restrict sharing for others, depending on your setup or use case.  For example, if you have a Test and Production environment represented by two Applications then you may want to create and link two API Keys to each Application.  Sharing the API key for Production can be severely restricted while the API key for Test can be shared more widely.

Standard, unlinked API Key in a Request with Application and Entity

cpaasx-api-request

API Key Restriction

You can restrict API keys to particular Applications and/or Entities depending on your use case. This is a good way to ensure that access is controlled at an application or entity level.

cpaasx-api-restriction

If we try to use API Key2 with the BigCola entity, then we will receive an unauthorized access response when we make the request.

If we try to use API Key3 with the McBurger entity, then we will receive an unauthorized access response when we make the request.

Note, it is still possible to use API Key1 in both requests, but the idea is to keep this as a main API key with access to all Public endpoints.

cpaasx-api-restriction-example

API Keys Endpoints List

See below for the list of endpoints where authorization is supported for API keys linked to Applications and/or Entities.

Note

When linking your API key to applications and entities, API key permissions are restricted to CPaaS X supported API endpoints. This means that API requests using unsupported endpoints will fail due to unauthorized access.

ChannelEndpointFunction
SMS/sms/2/text/advanced#POSTSend SMS message
/sms/2/binary/advanced#POSTSend binary SMS message 
/sms/1/inbox/reports#GETGet inbound SMS messages 
/sms/1/reports#GETGet outbound SMS message delivery reports 
/sms/1/logs#GETGet outbound SMS message logs 
MMS/mms/1/advanced#POSTSend MMS message
/mms/1/inbox/reports#GETGet inbound MMS messages 
/mms/1/reports#GETGet outbound MMS message delivery reports 
Email/email/3/send#POSTSend fully featured email 
/email/1/reports#GETEmail delivery reports 
/email/1/logs#GETGet email logs 
WhatsApp/whatsapp/1/message/audio#POSTSend WhatsApp audio message
/whatsapp/1/message/contact#POSTSend WhatsApp contact message
/whatsapp/1/message/document#POSTSend WhatsApp document message
/whatsapp/1/message/image#POSTSend WhatsApp image message
/whatsapp/1/message/interactive/buttons#POSTSend WhatsApp interactive buttons message
/whatsapp/1/message/interactive/list#POSTSend WhatsApp interactive list message
/whatsapp/1/message/interactive/location-request#POSTSend WhatsApp interactive location request message
/whatsapp/1/message/interactive/multi-product#POSTSend WhatsApp interactive multi-product message
/whatsapp/1/message/interactive/order-details#POSTSend WhatsApp interactive order-details message
/whatsapp/1/message/interactive/order-status#POSTSend WhatsApp interactive order-status message
/whatsapp/1/message/interactive/product#POSTSend WhatsApp interactive product message
/whatsapp/1/message/location#POSTSend WhatsApp location message
/whatsapp/1/message/sticker#POSTSend WhatsApp sticker message
/whatsapp/1/message/template#POSTSend WhatsApp template message
/whatsapp/1/message/text#POSTSend WhatsApp text message
/whatsapp/1/message/video#POSTSend WhatsApp video message
Google Business Messages/gbm/1/messages#POSTSend GBM message 
 /gbm/1/logs#GETGet message logs 
Zalo/zalo/2/messages#POSTSend Zalo messages
RCS/ott/rcs/1/message#POSTSend RCS message 
/ott/rcs/1/message/bulk#POSTSend bulk RCS message 
/ott/rcs/1/message/template#POSTSend RCS template message 
/ott/rcs/1/message/template/bulk#POSTSend bulk RCS template message 
Viber/viber/1/message/text#POSTSend Viber text message(s)
/viber/1/message/image#POSTSend Viber image message
/viber/1/message/file#POSTSend Viber file message 
/viber/1/message/video#POSTSend Viber video message 
Apple Messages for Business/apple-mfb/1/events#POSTSend Apple Events 
/apple-mfb/1/logs#GETGet message logs
/apple-mfb/1/messages#POSTSend Apple Messages for Business
LINE/line/1/messages#POSTSend a LINE message
Instagram Direct Messages/instagram/1/logs#GETGet outbound Instagram message logs Early access 
/instagram/1/messagesSend a Instagram message 
Messenger/messenger/1/logs#GETGet outbound Messenger message logs
/messenger/1/messages#POSTSend a Messenger message

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