{
"openapi":"3.1.0",
"info":{
"title":"Infobip OpenAPI Specification",
"description":"OpenAPI Specification that contains all public endpoints and webhooks.",
"contact":{
"name":"Infobip support",
"email":"support@infobip.com"
},
"version":"3.210.0",
"x-generatedAt":"2026-07-23T15:24:02.34623163Z"
},
"tags":[
{
"name":"platform",
"description":"Modular tools to scale and automate your business.\n",
"x-type":"category",
"x-displayName":"Platform"
},
{
"name":"application-entity",
"description":"Applications and Entities are designed to be flexible and modular to give you the opportunity to define your business environment, use cases, applications, customers, assets, etc. on the Infobip platform, so you don't have to manage the complexity of a CPaaS execution.\n\nApplications and Entities share some similarities. You can apply the same types of configuration and resources to them. The difference between the two is that they represent different \\\"actors\\\" or \\\"objects\\\" in your ecosystem.\n\nYou can use them separately or together, according to your business needs. Applications and Entities can be associated to whatever Resources you own. Resources, in this context, are things you purchase or register through Infobip, such as Short Codes, VLNs, US 10-Digit-Long-Codes, Alphanumeric Senders, Email domains, and ChatApp IDs.\n\n## Concepts Explained\n\n__Applications__ - represent a concept of application, environment, or use case on your system on the Infobip Platform. For example, a Production and Test environment could be two different Applications, or a Marketing and an E-Commerce use case could be two different Applications.\n\n__Entity__ - represents an \\\"actor\\\" or an \\\"object\\\" in your system within the Infobip platform. For example, it could represent one of your customers, or a department, or a cost centre within your organization.\n\n__Resource Associated__ - When Resources have been obtained and Applications and/or Entities have been created, you can then associate a Resource to an Application and/or Entity. You can query a list of all resource associations or query on a specific resource. ResourceAssociations are only used to group resources (senders) for usage in [Smart sending strategies](https://www.infobip.com/docs/api/platform/sending-strategy).\n",
"x-type":"product",
"x-displayName":"Application and Entity Management"
},
{
"name":"application",
"description":"",
"x-type":"section",
"x-displayName":"Application"
},
{
"name":"entity",
"description":"",
"x-type":"section",
"x-displayName":"Entity"
},
{
"name":"resource-association",
"description":"",
"x-type":"section",
"x-displayName":"Resource association"
}
],
"paths":{
"/provisioning/1/applications":{
"get":{
"tags":[
"platform",
"application-entity",
"application"
],
"summary":"Get applications",
"description":"Get a paginated list of applications.",
"operationId":"get-applications",
"parameters":[
{
"name":"page",
"in":"query",
"description":"Results page to retrieve (0..N).",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":0,
"minimum":0
}
},
{
"name":"size",
"in":"query",
"description":"Number of records per page.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":20,
"maximum":1000,
"minimum":1
}
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageApplication"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"post":{
"tags":[
"platform",
"application-entity",
"application"
],
"summary":"Create application",
"description":"Create an application associated with the specified `applicationId`.",
"operationId":"create-application",
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Application"
}
}
},
"required":true
},
"responses":{
"201":{
"description":"Created",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"409":{
"description":"Conflict",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/provisioning/1/applications/{applicationId}":{
"get":{
"tags":[
"platform",
"application-entity",
"application"
],
"summary":"Get application",
"description":"Get an application for the specified `applicationId`.",
"operationId":"get-application",
"parameters":[
{
"name":"applicationId",
"in":"path",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-application"
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Application"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"put":{
"tags":[
"platform",
"application-entity",
"application"
],
"summary":"Modify application",
"description":"Modify a resource `name` property.",
"operationId":"modify-application",
"parameters":[
{
"name":"applicationId",
"in":"path",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-application"
}
],
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ModifyApplication"
}
}
},
"required":true
},
"responses":{
"204":{
"description":"No Content",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"409":{
"description":"Conflict",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"delete":{
"tags":[
"platform",
"application-entity",
"application"
],
"summary":"Delete application",
"description":"Delete an application associated with the specified `applicationId`.
Deleting an application will reset all resources that were linked to that application to application = default and entity = null. You should ensure that any configuration (like resource associations, inbound message configurations, subscriptions, bots, API Keys etc) related to given application are appropriately reassigned to other applications before attempting to delete the application.",
"operationId":"delete-application",
"parameters":[
{
"name":"applicationId",
"in":"path",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-application"
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"$ref":"#/components/responses/ApiException404"
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/provisioning/1/entities":{
"get":{
"tags":[
"platform",
"application-entity",
"entity"
],
"summary":"Get entities",
"description":"Get a paginated list of entities.",
"operationId":"get-entities",
"parameters":[
{
"name":"page",
"in":"query",
"description":"Results page to retrieve (0..N).",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":0,
"minimum":0
}
},
{
"name":"size",
"in":"query",
"description":"Number of records per page.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":20,
"maximum":1000,
"minimum":1
}
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageEntity"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"post":{
"tags":[
"platform",
"application-entity",
"entity"
],
"summary":"Create entity",
"description":"Create an entity associated with the specified `entityId`.
An entity attached to a submitted message will get auto created if it doesn't exit yet. It will get the entityId and entityName being the value passed on a message. ",
"operationId":"create-entity",
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Entity"
}
}
},
"required":true
},
"responses":{
"201":{
"description":"Created",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"409":{
"description":"Conflict",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/provisioning/1/entities/{entityId}":{
"get":{
"tags":[
"platform",
"application-entity",
"entity"
],
"summary":"Get entity",
"description":"Get an entity for the specified `entityId`.",
"operationId":"get-entity",
"parameters":[
{
"name":"entityId",
"in":"path",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-entity"
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Entity"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"put":{
"tags":[
"platform",
"application-entity",
"entity"
],
"summary":"Modify entity",
"description":"Modify a resource `name` property.",
"operationId":"modify-entity",
"parameters":[
{
"name":"entityId",
"in":"path",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-entity"
}
],
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ModifyEntity"
}
}
},
"required":true
},
"responses":{
"204":{
"description":"No Content",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"409":{
"description":"Conflict",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"delete":{
"tags":[
"platform",
"application-entity",
"entity"
],
"summary":"Delete entity",
"description":"Delete an entity associated with the specified `entityId`.
Deleting an entity will reset all resources that were linked to that entity to application = default and entity = null. You should ensure that any configuration (like resource associations, inbound message configurations, subscriptions, bots, API Keys etc) related to given entity are appropriately reassigned to other entities before attempting to delete the entity.",
"operationId":"delete-entity",
"parameters":[
{
"name":"entityId",
"in":"path",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":true,
"style":"simple",
"explode":false,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-entity"
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"$ref":"#/components/responses/ApiException404"
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/provisioning/1/associations":{
"get":{
"tags":[
"platform",
"application-entity",
"resource-association"
],
"summary":"Get resource associations",
"description":"Get a paginated list of resource associations.",
"operationId":"get-resource-associations",
"parameters":[
{
"name":"page",
"in":"query",
"description":"Results page to retrieve (0..N).",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":0,
"minimum":0
}
},
{
"name":"size",
"in":"query",
"description":"Number of records per page.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"integer",
"format":"int32",
"default":20,
"maximum":1000,
"minimum":1
}
},
{
"name":"resourceType",
"in":"query",
"description":"The type of resource to be used.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceType"
}
},
{
"name":"channel",
"in":"query",
"description":"The channel for which the resource will be used.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ChannelType"
}
},
{
"name":"applicationId",
"in":"query",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-application"
},
{
"name":"entityId",
"in":"query",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-entity"
},
{
"name":"resourceId",
"in":"query",
"description":"The unique identifier of the resource. It depends on both the `resourceType` and `channel`.
Use [numberKey](https://www.infobip.com/docs/api/platform-connectivity/numbers/phone-numbers/list-purchased-numbers) for the NUMBER `resourceType`.
Use [domainName](https://www.infobip.com/docs/api/channels/email/get-all-domains) for the DOMAIN `resourceType`, which is available only for the Email channel.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-resource"
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageResourceAssociation"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"post":{
"tags":[
"platform",
"application-entity",
"resource-association"
],
"summary":"Create resource association",
"description":"Create a resource association.",
"operationId":"create-resource-association",
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceAssociationRequest"
}
}
},
"required":true
},
"responses":{
"201":{
"description":"Created",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"409":{
"description":"Conflict",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
},
"delete":{
"tags":[
"platform",
"application-entity",
"resource-association"
],
"summary":"Delete resource association",
"description":"Delete a resource association.",
"operationId":"delete-resource-association",
"requestBody":{
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceAssociationRequest"
}
}
},
"required":true
},
"responses":{
"204":{
"description":"No Content",
"content":{
"application/json":{}
}
},
"400":{
"description":"Bad Request",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
},
"examples":{
"Bad request":{
"summary":"Bad request",
"value":{
"requestError":{
"serviceException":{
"messageId":"BAD_REQUEST",
"text":"Bad request"
}
}
}
}
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
},
"/provisioning/1/associations/single":{
"get":{
"tags":[
"platform",
"application-entity",
"resource-association"
],
"summary":"Get resource association",
"description":"Get an exact resource association.",
"operationId":"get-resource-association",
"parameters":[
{
"name":"resourceType",
"in":"query",
"description":"The type of resource to be used.",
"required":true,
"style":"form",
"explode":true,
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceType"
}
},
{
"name":"channel",
"in":"query",
"description":"The channel for which the resource will be used.",
"required":true,
"style":"form",
"explode":true,
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ChannelType"
}
},
{
"name":"applicationId",
"in":"query",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"required":true,
"style":"form",
"explode":true,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-application"
},
{
"name":"entityId",
"in":"query",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints. If no entity is associated with this resource, set the entityId to `null`.",
"required":false,
"style":"form",
"explode":true,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-entity"
},
{
"name":"resourceId",
"in":"query",
"description":"The unique identifier of the resource. It depends on both the `resourceType` and `channel`.
Use [numberKey](https://www.infobip.com/docs/api/platform-connectivity/numbers/phone-numbers/list-purchased-numbers) for the NUMBER `resourceType`.
Use [domainName](https://www.infobip.com/docs/api/channels/email/get-all-domains) for the DOMAIN `resourceType`, which is available only for the Email channel.",
"required":true,
"style":"form",
"explode":true,
"schema":{
"type":"string",
"maxLength":255
},
"example":"test-resource"
}
],
"responses":{
"200":{
"description":"OK",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceAssociationResponse"
}
}
}
},
"401":{
"$ref":"#/components/responses/ApiException401"
},
"403":{
"$ref":"#/components/responses/ApiException403"
},
"404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException"
}
}
}
},
"429":{
"$ref":"#/components/responses/ApiException429"
},
"500":{
"$ref":"#/components/responses/ApiException500"
}
},
"security":[
{
"IBSSOTokenHeader":[]
},
{
"APIKeyHeader":[]
},
{
"Basic":[]
},
{
"OAuth2":[]
}
],
"x-scopes":[
"application-entity:manage"
],
"x-throttling-info":[
{
"type":"time",
"numberOfRequests":1,
"numberOfTimeUnits":0,
"timeUnit":"s"
}
]
}
}
},
"components":{
"schemas":{
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Application":{
"type":"object",
"properties":{
"applicationName":{
"type":"string",
"description":"Descriptive name of the resource.",
"example":"Test name",
"maxLength":255
},
"applicationId":{
"type":"string",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"example":"test-application",
"maxLength":255
}
},
"required":[
"applicationId"
],
"title":"Application"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ChannelType":{
"type":"string",
"description":"The channel for which the resource will be used.",
"enum":[
"SMS",
"MMS",
"EMAIL",
"WHATSAPP",
"RCS",
"APPLE"
],
"title":"ChannelType"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Entity":{
"type":"object",
"properties":{
"entityName":{
"type":"string",
"description":"Descriptive name of the resource.",
"example":"Test name",
"maxLength":255
},
"entityId":{
"type":"string",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"example":"test-entity",
"maxLength":255
}
},
"required":[
"entityId"
],
"title":"Entity"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ModifyApplication":{
"type":"object",
"properties":{
"applicationName":{
"type":"string",
"description":"Descriptive name of the resource.",
"example":"Test name",
"maxLength":255
}
},
"title":"ModifyApplication"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ModifyEntity":{
"type":"object",
"properties":{
"entityName":{
"type":"string",
"description":"Descriptive name of the resource.",
"example":"Test name",
"maxLength":255
}
},
"title":"ModifyEntity"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageApplication":{
"type":"object",
"properties":{
"results":{
"type":"array",
"items":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Application"
}
},
"paging":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageInfo"
}
},
"title":"PageApplication"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageEntity":{
"type":"object",
"properties":{
"results":{
"type":"array",
"items":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.Entity"
}
},
"paging":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageInfo"
}
},
"title":"PageEntity"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageInfo":{
"type":"object",
"properties":{
"page":{
"type":"integer",
"format":"int32",
"description":"Requested page number.",
"minimum":0
},
"size":{
"type":"integer",
"format":"int32",
"description":"Requested page size.",
"minimum":1
},
"totalPages":{
"type":"integer",
"format":"int32",
"description":"The total number of pages of the results matching the requested parameters.",
"minimum":0
},
"totalResults":{
"type":"integer",
"format":"int64",
"description":"The total number of the results matching the requested parameters.",
"minimum":0
}
},
"required":[
"page",
"size",
"totalPages",
"totalResults"
],
"title":"PageInfo"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageResourceAssociation":{
"type":"object",
"properties":{
"results":{
"type":"array",
"items":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceAssociationResponse"
}
},
"paging":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.PageInfo"
}
},
"title":"PageResourceAssociation"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceAssociationRequest":{
"type":"object",
"properties":{
"resourceType":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceType"
},
"channel":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ChannelType"
},
"applicationId":{
"type":"string",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"example":"test-application",
"maxLength":255
},
"entityId":{
"type":"string",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints. If no entity is associated with this resource, set the entityId to `null`.",
"example":"test-entity",
"maxLength":255
},
"resourceId":{
"type":"string",
"description":"The unique identifier of the resource. It depends on both the `resourceType` and `channel`.
Use [numberKey](https://www.infobip.com/docs/api/platform-connectivity/numbers/phone-numbers/list-purchased-numbers) for the NUMBER `resourceType`.
Use [domainName](https://www.infobip.com/docs/api/channels/email/get-all-domains) for the DOMAIN `resourceType`, which is available only for the Email channel.",
"example":"test-resource",
"maxLength":255
}
},
"required":[
"applicationId",
"channel",
"entityId",
"resourceId",
"resourceType"
],
"title":"ResourceAssociationRequest"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceAssociationResponse":{
"type":"object",
"properties":{
"resourceType":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceType"
},
"channel":{
"$ref":"#/components/schemas/2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ChannelType"
},
"applicationId":{
"type":"string",
"description":"The unique identifier of the application. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"example":"test-application",
"maxLength":255
},
"entityId":{
"type":"string",
"description":"The unique identifier of the entity. This ID will be a URL path parameter. We recommend using values that do not need URL encoding for easier interaction with other API endpoints.",
"example":"test-entity",
"maxLength":255
},
"resourceId":{
"type":"string",
"description":"The unique identifier of the resource. It depends on both the `resourceType` and `channel`.
Use [numberKey](https://www.infobip.com/docs/api/platform-connectivity/numbers/phone-numbers/list-purchased-numbers) for the NUMBER `resourceType`.
Use [domainName](https://www.infobip.com/docs/api/channels/email/get-all-domains) for the DOMAIN `resourceType`, which is available only for the Email channel.",
"example":"test-resource",
"maxLength":255
}
},
"required":[
"applicationId",
"channel",
"resourceId",
"resourceType"
],
"title":"ResourceAssociationResponse"
},
"2be764ef53499e28cc8da8dff3890f0787860aba10984e520352c73612c0342b.ResourceType":{
"type":"string",
"description":"The type of resource to be used.",
"enum":[
"NUMBER",
"DOMAIN",
"ALPHA",
"RCS_RESOURCE",
"APPLE_RESOURCE"
],
"title":"ResourceType"
},
"ApiException":{
"type":"object",
"properties":{
"requestError":{
"$ref":"#/components/schemas/ApiRequestError"
}
},
"title":"ApiException"
},
"ApiRequestError":{
"type":"object",
"properties":{
"serviceException":{
"$ref":"#/components/schemas/ApiRequestErrorDetails"
}
},
"title":"ApiRequestError"
},
"ApiRequestErrorDetails":{
"type":"object",
"properties":{
"messageId":{
"type":"string",
"description":"Identifier of the error."
},
"text":{
"type":"string",
"description":"Detailed error description."
},
"validationErrors":{
"type":"object",
"additionalProperties":{
"type":"array",
"items":{
"type":"string",
"description":"Validation errors."
}
},
"description":"Validation errors."
}
},
"title":"ApiRequestErrorDetails"
},
"e35a706fc99c4749296ef942f9e5af764730e23804a8d85886e3d0a3e3fc2340.ApiException":{
"type":"object",
"properties":{
"requestError":{
"$ref":"#/components/schemas/ApiRequestError"
}
},
"title":"ApiException"
}
},
"responses":{
"ApiException401":{
"description":"Unauthorized",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":{
"requestError":{
"serviceException":{
"messageId":"UNAUTHORIZED",
"text":"Unauthorized"
}
}
}
},
"application/xml":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":"\n \n \n UNAUTHORIZED\n Unauthorized\n \n \n\n"
}
}
},
"ApiException403":{
"description":"Forbidden",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":{
"requestError":{
"serviceException":{
"messageId":"FORBIDDEN",
"text":"Forbidden"
}
}
}
},
"application/xml":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":"\n \n \n FORBIDDEN\n Forbidden\n \n \n\n"
}
}
},
"ApiException404":{
"description":"Not Found",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":{
"requestError":{
"serviceException":{
"messageId":"NOT_FOUND",
"text":"Not found"
}
}
}
},
"application/xml":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":"\n \n \n NOT_FOUND\n Not found\n \n \n\n"
}
}
},
"ApiException429":{
"description":"Too Many Requests",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":{
"requestError":{
"serviceException":{
"messageId":"TOO_MANY_REQUESTS",
"text":"Too many requests"
}
}
}
},
"application/xml":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":"\n \n \n TOO_MANY_REQUESTS\n Too many requests\n \n \n\n"
}
}
},
"ApiException500":{
"description":"Internal Server Error",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":{
"requestError":{
"serviceException":{
"messageId":"GENERAL_ERROR",
"text":"Something went wrong. Please contact support."
}
}
}
},
"application/xml":{
"schema":{
"$ref":"#/components/schemas/ApiException"
},
"example":"\n \n \n GENERAL_ERROR\n Something went wrong. Please contact support.\n \n \n\n"
}
}
}
},
"parameters":{},
"examples":{},
"requestBodies":{},
"headers":{},
"securitySchemes":{
"APIKeyHeader":{
"type":"apiKey",
"description":"This is the most secure authorization type and the one with the most flexibility.\n\nAPI keys can be generated by calling the dedicated API method. Furthermore, API keys can have a limited scope and cover only some API methods. Lastly, they can\nbe revoked at any time. This range of possibilities makes API keys well suited for separating the API access rights across multiple applications or use cases.\nFinally, the loss of an API key is easily manageable.\n\nYou can manage your API keys from [GUI](https://portal.infobip.com/settings/accounts/api-keys), or programmatically\nwith [dedicated API](#platform-&-connectivity/settings).\n\nAPI key Authorization header example:\n\n```shell\nAuthorization: App 003026bbc133714df1834b8638bb496e-8f4b3d9a-e931-478d-a994-28a725159ab9\n```\n",
"name":"Authorization",
"in":"header"
},
"Basic":{
"type":"http",
"description":"Basic authorization type can be used in situations when the API key is not available. For example, API methods for generating API keys should be authenticated\nwith the Basic type.\n\nIn this case, the credentials included in the Authorization header should be a Base64 encoded username and password combination. More formally, basic\nauthentication header can be constructed in three steps:\n\n* Username and password are concatenated using the colon `(:)` as a separator `username:password`.\n* The resulting string is encoded using the [RFC2045-MIME](https://www.ietf.org/rfc/rfc2045.txt) variant of Base64.\n* Encoded string is added as credentials after the `\"Basic \"` type.\n\nExample:\n\n```shell\nUsername: \"Aladdin\"\nPassword: \"openSesame\"\n\nConcatenated string: \"Aladdin:openSesame\"\n\nBase64 encoded string: \"QWxhZGRpbjpvcGVuU2VzYW1l\"\n\nAuthorization header: \"Basic QWxhZGRpbjpvcGVuU2VzYW1l\"\n```\n\n> **Implementation detail**: Base64 encoding is a standard and many available programming languages and frameworks provide convenient methods for encoding\n> strings.\n",
"scheme":"basic"
},
"IBSSOTokenHeader":{
"type":"apiKey",
"description":"This authorization type is suited for situations when you do not want to store Infobip credentials in your own app. Instead, your users will input their Infobip\ncredentials every time they access your application and the application will use those credentials to create a session. From then on, the session token can be\nused to authenticate subsequent API requests. Note that the session will expire automatically after a predefined period of inactivity, and can also be manually\nterminated by making an appropriate API call.\n\nYou can find more details on the creation and behavior of the session at\nthe [dedicated documentation page](#platform-connectivity/account-management/create-session).\n\nAfter obtaining the session token by calling the above-referenced API method you can include it in the Authorization header like this:\n\n```shell\nAuthorization: IBSSO 2f9b4d31-2d0d-49a8-85f0-9b862bdca394\n```\n",
"name":"Authorization",
"in":"header"
},
"OAuth2":{
"type":"oauth2",
"description":"Similarly to the IBSSO Token authentication you can use OAuth 2.0 bearer token with Infobip serving both as resource and authorization server. You can obtain\nthe access token using the client credentials grant from `auth/1/oauth2/token` endpoint. It will provide you with your access token, and its expiration period.\nYou can use the token to authorize your API calls until it expires. You can find out more about the process in\nthe [official specification](https://tools.ietf.org/html/rfc6749#section-4.4).\n\nYou can include your access token in the Authorization HTTP request header like this:\n\n```http\nAuthorization: Bearer \n```",
"flows":{
"clientCredentials":{
"tokenUrl":"https://api.infobip.com/auth/1/oauth2/token",
"scopes":{}
}
}
}
},
"links":{},
"callbacks":{}
}
}