Infobip WebRTC API

Infobip WebRTC provide a simplified and secure way of real-time audio and video communication over the web and inside mobile applications. It's powered by Web Real-Time Communication (WebRTC) technology, the leading real-time communication standard built into more than a billion devices. — 22 operation path(s) and 1 webhook(s) in Infobip's published OpenAPI.

OpenAPI Specification

infobip-webrtc-calls-openapi.json Raw ↑
{
 "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:03.612703412Z"
 },
 "tags":[
  {
   "name":"channels",
   "description":"Create a perfect customer experience by using the channels your customer already use and love.\n",
   "x-type":"category",
   "x-displayName":"Channels"
  },
  {
   "name":"webrtc-calls",
   "description":"Infobip WebRTC provide a simplified and secure way of real-time audio and video communication over the web and inside mobile applications. It's powered by Web Real-Time Communication (WebRTC) technology, the leading real-time communication standard built into more than a billion devices. This means it's safe and easy to use both for you and for your end users. Learn more about [Infobip WebRTC](https://www.infobip.com/docs/voice-and-video/webrtc).",
   "x-type":"product",
   "x-displayName":"WebRTC"
  },
  {
   "name":"webrtc",
   "description":"Infobip WebRTC",
   "x-type":"module",
   "x-displayName":"WebRTC"
  },
  {
   "name":"webrtc-token",
   "description":"",
   "x-type":"section",
   "x-displayName":"WebRTC Token"
  },
  {
   "name":"webrtc-push-configuration",
   "description":"",
   "x-type":"section",
   "x-displayName":"WebRTC Push Configuration"
  },
  {
   "name":"webrtc-files",
   "description":"",
   "x-type":"section",
   "x-displayName":"WebRTC Files"
  },
  {
   "name":"webrtc-user-activity",
   "description":"",
   "x-type":"section",
   "x-displayName":"WebRTC User Activity"
  },
  {
   "name":"webrtc-recordings",
   "description":"",
   "x-type":"section",
   "x-displayName":"WebRTC Recordings"
  },
  {
   "name":"call-link",
   "description":"Infobip Call Link API provides a simplified way of real-time audio and video communication. It allows a person to create a customizable call link and send it to a person to initiate or join a call. A person who initiates or joins a call doesn't have to create an account or use any specific platform.\n",
   "x-type":"module",
   "x-displayName":"Call Link"
  },
  {
   "name":"call-links",
   "description":"",
   "x-type":"section",
   "x-displayName":"Call Links"
  },
  {
   "name":"call-link-configs",
   "description":"",
   "x-type":"section",
   "x-displayName":"Configurations"
  },
  {
   "name":"call-link-config-images",
   "description":"",
   "x-type":"section",
   "x-displayName":"Images"
  },
  {
   "name":"call-link-subdomains",
   "description":"",
   "x-type":"section",
   "x-displayName":"Subdomains"
  },
  {
   "name":"call-link-recordings",
   "description":"",
   "x-type":"section",
   "x-displayName":"Recordings"
  }
 ],
 "paths":{
  "/webrtc/1/token":{
   "post":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-token"
    ],
    "summary":"Generate WebRTC Token",
    "description":"This endpoint allows you to generate token for WebRTC channel.",
    "operationId":"generate-webrtc-token",
    "requestBody":{
     "content":{
      "application/json":{
       "schema":{
        "$ref":"#/components/schemas/a012797e45a148c14a09b350fd3670874eb3f365931c630a0c2efc32c7293ff3.TokenRequestModel"
       },
       "examples":{
        "Request example":{
         "summary":"Request example",
         "value":{
          "identity":"Alice",
          "displayName":"Alice in Wonderland",
          "timeToLive":43200
         }
        }
       }
      }
     },
     "required":true
    },
    "responses":{
     "200":{
      "description":"Success",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/a012797e45a148c14a09b350fd3670874eb3f365931c630a0c2efc32c7293ff3.TokenResponseModel"
        },
        "examples":{
         "Response example":{
          "summary":"Response example",
          "value":{
           "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZGVudGl0eSI6IkFsaWNlIiwibmFtZSI6IkFsaWNlIGluIFdvbmRlcmxhbmQiLCJleHAiOjE1NzkyOTA2MzgsImNhcHMiOlsyXX0.QyCMqjH8DsftChibW2Rw4EByH-eEviUp3-kHVKuJpKg",
           "expirationTime":"2020-01-17T19:50:38.488589Z"
          }
         }
        }
       }
      }
     },
     "400":{
      "$ref":"#/components/responses/ApiException400"
     },
     "401":{
      "$ref":"#/components/responses/ApiException401"
     },
     "403":{
      "$ref":"#/components/responses/ApiException403"
     },
     "500":{
      "$ref":"#/components/responses/ApiException500"
     }
    },
    "security":[
     {
      "IBSSOTokenHeader":[]
     },
     {
      "APIKeyHeader":[]
     },
     {
      "Basic":[]
     },
     {
      "OAuth2":[]
     }
    ],
    "x-scopes":[
     "webrtc:manage",
     "webrtc:identity:manage"
    ]
   }
  },
  "/webrtc/1/webrtc-push-config":{
   "get":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-push-configuration"
    ],
    "summary":"Get WebRTC push configurations",
    "description":"Get a page of WebRTC push configurations matching the query criteria.",
    "operationId":"get-push-configurations",
    "parameters":[
     {
      "name":"page",
      "in":"query",
      "description":"Results page to retrieve (0..N).",
      "required":true,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"integer",
       "format":"int32",
       "default":0,
       "example":0,
       "minimum":0
      }
     },
     {
      "name":"size",
      "in":"query",
      "description":"Number of records per page.",
      "required":true,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"integer",
       "format":"int32",
       "default":20,
       "example":20,
       "maximum":100,
       "minimum":1
      }
     }
    ],
    "responses":{
     "200":{
      "description":"Success",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationPageResponse"
        },
        "examples":{
         "Response example with push configurations for different applications.":{
          "summary":"Response example with push configurations for different applications.",
          "value":{
           "results":[
            {
             "id":"454d142b-a1ad-239a-d231-227fa335aadc3",
             "name":"Android Push Config Production",
             "androidConfigured":true,
             "iosConfigured":false
            },
            {
             "id":"894c822b-d7ba-439c-a761-141f591cace7",
             "name":"Test Push Config",
             "androidConfigured":true,
             "iosConfigured":true
            }
           ],
           "pageInfo":{
            "page":0,
            "size":2,
            "totalPages":1,
            "totalResults":2
           }
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"BAD_REQUEST",
             "text":"Bad request.",
             "validationErrors":{
              "field":[
               "field must not be null."
              ]
             }
            }
           }
          }
         },
         "Bad request":{
          "summary":"Bad request",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"BAD_REQUEST",
             "text":"Bad request"
            }
           }
          }
         }
        }
       }
      }
     },
     "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":[
     "webrtc:manage",
     "webrtc:configuration:manage"
    ],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":0,
      "timeUnit":"s"
     }
    ]
   },
   "post":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-push-configuration"
    ],
    "summary":"Create WebRTC push configuration",
    "description":"Create and configure a new WebRTC push configuration.",
    "operationId":"save-push-configuration",
    "requestBody":{
     "content":{
      "application/json":{
       "schema":{
        "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationRequest"
       },
       "examples":{
        "Request example with Android WebRTC push configuration":{
         "summary":"Request example with Android WebRTC push configuration",
         "value":{
          "name":"Android Push Config Production",
          "android":{
           "privateKeyJson":"{\n  \"type\": \"service_account\",\n  \"project_id\": \"PROJECT_ID\",\n  \"private_key_id\": \"PRIVATE_KEY_ID\",\n  \"private_key\": \"PRIVATE_KEY\",\n  \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n  \"client_id\": \"CLIENT_ID\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
          }
         }
        },
        "Request example with Android and iOS WebRTC push configuration":{
         "summary":"Request example with Android and iOS WebRTC push configuration",
         "value":{
          "name":"Test Push Config",
          "ios":{
           "apnsCertificateFileName":"IOS_APNS_certificate.p12",
           "apnsCertificateFileContent":"aGVsbG8gd29ybGQ=",
           "apnsCertificatePassword":"strong_password"
          },
          "android":{
           "privateKeyJson":"{\n  \"type\": \"service_account\",\n  \"project_id\": \"PROJECT_ID\",\n  \"private_key_id\": \"PRIVATE_KEY_ID\",\n  \"private_key\": \"PRIVATE_KEY\",\n  \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n  \"client_id\": \"CLIENT_ID\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
          }
         }
        }
       }
      }
     },
     "required":true
    },
    "responses":{
     "200":{
      "description":"Success",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse"
        },
        "examples":{
         "Response example with Android WebRTC push configuration":{
          "summary":"Response example with Android WebRTC push configuration",
          "value":{
           "id":"454d142b-a1ad-239a-d231-227fa335aadc3",
           "name":"Android Push Config Production",
           "androidConfigured":true,
           "iosConfigured":false
          }
         },
         "Response example with Android and iOS WebRTC push configuration":{
          "summary":"Response example with Android and iOS WebRTC push configuration",
          "value":{
           "id":"894c822b-d7ba-439c-a761-141f591cace7",
           "name":"Test Push Config",
           "androidConfigured":true,
           "iosConfigured":true
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"BAD_REQUEST",
             "text":"Bad request.",
             "validationErrors":{
              "field":[
               "field must not be null."
              ]
             }
            }
           }
          }
         },
         "Bad request":{
          "summary":"Bad request",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"BAD_REQUEST",
             "text":"Bad request"
            }
           }
          }
         }
        }
       }
      }
     },
     "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":[
     "webrtc:manage",
     "webrtc:configuration:manage"
    ],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":0,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/webrtc/1/webrtc-push-config/{id}":{
   "get":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-push-configuration"
    ],
    "summary":"Get WebRTC push configuration",
    "description":"Get a single WebRTC push configuration and its details.",
    "operationId":"get-push-configuration",
    "parameters":[
     {
      "name":"id",
      "in":"path",
      "description":"Id of the WebRTC push configuration to get.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string"
      },
      "example":"454d142b-a1ad-239a-d231-227fa335aadc3"
     }
    ],
    "responses":{
     "200":{
      "description":"Success",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse"
        },
        "examples":{
         "Response example with Android WebRTC push configuration":{
          "summary":"Response example with Android WebRTC push configuration",
          "value":{
           "id":"454d142b-a1ad-239a-d231-227fa335aadc3",
           "name":"Android Push Config Production",
           "androidConfigured":true,
           "iosConfigured":false
          }
         },
         "Response example with Android and iOS WebRTC push configuration":{
          "summary":"Response example with Android and iOS WebRTC push configuration",
          "value":{
           "id":"894c822b-d7ba-439c-a761-141f591cace7",
           "name":"Test Push Config",
           "androidConfigured":true,
           "iosConfigured":true
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"BAD_REQUEST",
             "text":"Bad request.",
             "validationErrors":{
              "field":[
               "field must not be null."
              ]
             }
            }
           }
          }
         },
         "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/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"NOT_FOUND",
             "text":"Not found."
            }
           }
          }
         }
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiException429"
     },
     "500":{
      "$ref":"#/components/responses/ApiException500"
     }
    },
    "security":[
     {
      "IBSSOTokenHeader":[]
     },
     {
      "APIKeyHeader":[]
     },
     {
      "Basic":[]
     },
     {
      "OAuth2":[]
     }
    ],
    "x-scopes":[
     "webrtc:manage",
     "webrtc:configuration:manage"
    ],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":0,
      "timeUnit":"s"
     }
    ]
   },
   "put":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-push-configuration"
    ],
    "summary":"Update WebRTC push configuration",
    "description":"Change details of an existing WebRTC push configuration.",
    "operationId":"update-push-configuration",
    "parameters":[
     {
      "name":"id",
      "in":"path",
      "description":"Id of the WebRTC push configuration to update.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string"
      },
      "example":"454d142b-a1ad-239a-d231-227fa335aadc3"
     }
    ],
    "requestBody":{
     "content":{
      "application/json":{
       "schema":{
        "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationRequest"
       },
       "examples":{
        "Request example with Android WebRTC push configuration":{
         "summary":"Request example with Android WebRTC push configuration",
         "value":{
          "name":"Android Push Config Production",
          "android":{
           "privateKeyJson":"{\n  \"type\": \"service_account\",\n  \"project_id\": \"PROJECT_ID\",\n  \"private_key_id\": \"PRIVATE_KEY_ID\",\n  \"private_key\": \"PRIVATE_KEY\",\n  \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n  \"client_id\": \"CLIENT_ID\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
          }
         }
        },
        "Request example with Android and iOS WebRTC push configuration":{
         "summary":"Request example with Android and iOS WebRTC push configuration",
         "value":{
          "name":"Test Push Config",
          "ios":{
           "apnsCertificateFileName":"IOS_APNS_certificate.p12",
           "apnsCertificateFileContent":"aGVsbG8gd29ybGQ=",
           "apnsCertificatePassword":"strong_password"
          },
          "android":{
           "privateKeyJson":"{\n  \"type\": \"service_account\",\n  \"project_id\": \"PROJECT_ID\",\n  \"private_key_id\": \"PRIVATE_KEY_ID\",\n  \"private_key\": \"PRIVATE_KEY\",\n  \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n  \"client_id\": \"CLIENT_ID\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
          }
         }
        }
       }
      }
     },
     "required":true
    },
    "responses":{
     "200":{
      "description":"Success",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse"
        },
        "examples":{
         "Response example with Android WebRTC push configuration":{
          "summary":"Response example with Android WebRTC push configuration",
          "value":{
           "id":"454d142b-a1ad-239a-d231-227fa335aadc3",
           "name":"Android Push Config Production",
           "androidConfigured":true,
           "iosConfigured":false
          }
         },
         "Response example with Android and iOS WebRTC push configuration":{
          "summary":"Response example with Android and iOS WebRTC push configuration",
          "value":{
           "id":"894c822b-d7ba-439c-a761-141f591cace7",
           "name":"Test Push Config",
           "androidConfigured":true,
           "iosConfigured":true
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"BAD_REQUEST",
             "text":"Bad request.",
             "validationErrors":{
              "field":[
               "field must not be null."
              ]
             }
            }
           }
          }
         },
         "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/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"NOT_FOUND",
             "text":"Not found."
            }
           }
          }
         }
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiException429"
     },
     "500":{
      "$ref":"#/components/responses/ApiException500"
     }
    },
    "security":[
     {
      "IBSSOTokenHeader":[]
     },
     {
      "APIKeyHeader":[]
     },
     {
      "Basic":[]
     },
     {
      "OAuth2":[]
     }
    ],
    "x-scopes":[
     "webrtc:manage",
     "webrtc:configuration:manage"
    ],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":0,
      "timeUnit":"s"
     }
    ]
   },
   "delete":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-push-configuration"
    ],
    "summary":"Delete WebRTC push configuration",
    "description":"Delete WebRTC push configuration for the given id.",
    "operationId":"delete-push-configuration",
    "parameters":[
     {
      "name":"id",
      "in":"path",
      "description":"Id of the WebRTC push configuration to delete.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string"
      },
      "example":"454d142b-a1ad-239a-d231-227fa335aadc3"
     }
    ],
    "responses":{
     "200":{
      "description":"Success"
     },
     "204":{
      "description":"No content"
     },
     "401":{
      "$ref":"#/components/responses/ApiException401"
     },
     "403":{
      "$ref":"#/components/responses/ApiException403"
     },
     "404":{
      "description":"Not found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"NOT_FOUND",
             "text":"Not found."
            }
           }
          }
         }
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiException429"
     },
     "500":{
      "$ref":"#/components/responses/ApiException500"
     }
    },
    "security":[
     {
      "IBSSOTokenHeader":[]
     },
     {
      "APIKeyHeader":[]
     },
     {
      "Basic":[]
     },
     {
      "OAuth2":[]
     }
    ],
    "x-scopes":[
     "webrtc:manage",
     "webrtc:configuration:manage"
    ],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":0,
      "timeUnit":"s"
     }
    ]
   },
   "patch":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-push-configuration"
    ],
    "summary":"Patch WebRTC push configuration",
    "description":"Change only specific fields of the WebRTC push configuration. Fields left out of the request will remain unchanged.",
    "operationId":"patch-push-configuration",
    "parameters":[
     {
      "name":"id",
      "in":"path",
      "description":"Id of the WebRTC push configuration to patch.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string"
      },
      "example":"454d142b-a1ad-239a-d231-227fa335aadc3"
     }
    ],
    "requestBody":{
     "content":{
      "application/json":{
       "schema":{
        "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationRequest"
       },
       "examples":{
        "Request example with Android WebRTC push configuration":{
         "summary":"Request example with Android WebRTC push configuration",
         "value":{
          "name":"Android Push Config Production",
          "android":{
           "privateKeyJson":"{\n  \"type\": \"service_account\",\n  \"project_id\": \"PROJECT_ID\",\n  \"private_key_id\": \"PRIVATE_KEY_ID\",\n  \"private_key\": \"PRIVATE_KEY\",\n  \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n  \"client_id\": \"CLIENT_ID\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
          }
         }
        },
        "Request example with Android and iOS WebRTC push configuration":{
         "summary":"Request example with Android and iOS WebRTC push configuration",
         "value":{
          "name":"Test Push Config",
          "ios":{
           "apnsCertificateFileName":"IOS_APNS_certificate.p12",
           "apnsCertificateFileContent":"aGVsbG8gd29ybGQ=",
           "apnsCertificatePassword":"strong_password"
          },
          "android":{
           "privateKeyJson":"{\n  \"type\": \"service_account\",\n  \"project_id\": \"PROJECT_ID\",\n  \"private_key_id\": \"PRIVATE_KEY_ID\",\n  \"private_key\": \"PRIVATE_KEY\",\n  \"client_email\": \"FIREBASE_ADMIN_SDK_EMAIL\",\n  \"client_id\": \"CLIENT_ID\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"CLIENT_X509_CERT_URL\"\n}\n"
          }
         }
        }
       }
      }
     },
     "required":true
    },
    "responses":{
     "200":{
      "description":"Success",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/4f883ab7a2c1db442b6865996e0e9f08b46ee1927d7a2c7d45b090008604a1ec.PushConfigurationResponse"
        },
        "examples":{
         "Response example with Android WebRTC push configuration":{
          "summary":"Response example with Android WebRTC push configuration",
          "value":{
           "id":"454d142b-a1ad-239a-d231-227fa335aadc3",
           "name":"Android Push Config Production",
           "androidConfigured":true,
           "iosConfigured":false
          }
         },
         "Response example with Android and iOS WebRTC push configuration":{
          "summary":"Response example with Android and iOS WebRTC push configuration",
          "value":{
           "id":"894c822b-d7ba-439c-a761-141f591cace7",
           "name":"Test Push Config",
           "androidConfigured":true,
           "iosConfigured":true
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"BAD_REQUEST",
             "text":"Bad request.",
             "validationErrors":{
              "field":[
               "field must not be null."
              ]
             }
            }
           }
          }
         },
         "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/394de68b2af4916e47f48a4cc3026c2ec4c22342d1304c00a584d14a92a333c1.ApiException"
        },
        "examples":{
         "Error responses":{
          "summary":"Error responses",
          "description":"Error responses",
          "value":{
           "requestError":{
            "serviceException":{
             "messageId":"NOT_FOUND",
             "text":"Not found."
            }
           }
          }
         }
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiException429"
     },
     "500":{
      "$ref":"#/components/responses/ApiException500"
     }
    },
    "security":[
     {
      "IBSSOTokenHeader":[]
     },
     {
      "APIKeyHeader":[]
     },
     {
      "Basic":[]
     },
     {
      "OAuth2":[]
     }
    ],
    "x-scopes":[
     "webrtc:manage",
     "webrtc:configuration:manage"
    ],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":0,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/webrtc/1/files":{
   "get":{
    "tags":[
     "channels",
     "webrtc-calls",
     "webrtc",
     "webrtc-files"
    ],
    "summary":"Get files",
    "description":"Use this method to get files with pagination.",
    "operationId":"get-files",
    "parameters":[
     {
      "name":"page",
      "in":"query",
      "description":"Results page to retrieve (0..N).",
      "required":false,
      "style":"form",
      "explode":true,
      "schema

# --- truncated at 32 KB (253 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infobip/refs/heads/main/openapi/infobip-webrtc-calls-openapi.json