Infobip Vocalize API

Infobip Vocalize API allows you to integrate AI Gamification features into your application. — 9 operation path(s) and 0 webhook(s) in Infobip's published OpenAPI.

OpenAPI Specification

infobip-vocalize-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:23:58.811722049Z"
 },
 "tags":[
  {
   "name":"customer-engagement",
   "description":"Complete solutions that will help you drive better outcomes for your customers and business across the entire customer journey.\n",
   "x-type":"category",
   "x-displayName":"Customer Engagement"
  },
  {
   "name":"vocalize",
   "description":"Infobip Vocalize API allows you to integrate AI Gamification features into your application.\n\nWith Vocalize API, you can:\n\n* Create and manage Vocalize campaigns\n* Receive and process user interactions as part of Vocalize campaigns\n* Retrieve Vocalize campaign results and statistics - both for the campaign as a whole and for individual users\n\nPlease note that Vocalize API is currently in beta, and the API endpoints and functionality may change in the future.\n\n[Learn more about Vocalize use cases](https://www.infobip.com/ai-hub/vocalize)\n",
   "x-type":"product",
   "x-displayName":"Vocalize"
  },
  {
   "name":"campaign",
   "description":"",
   "x-type":"section",
   "x-displayName":"Vocalize Campaign"
  },
  {
   "name":"score",
   "description":"",
   "x-type":"section",
   "x-displayName":"Vocalize Score"
  }
 ],
 "paths":{
  "/vocalize/2/campaigns/me":{
   "get":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Get my campaigns",
    "description":"Get all campaigns for the authenticated user.",
    "operationId":"vocalize-get-my-campaigns",
    "parameters":[
     {
      "name":"activeOnly",
      "in":"query",
      "description":"If true, only return active campaigns. Defaults to false.",
      "required":false,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"boolean",
       "default":false,
       "description":"If true, only return active campaigns. Defaults to false.",
       "title":"Activeonly"
      }
     },
     {
      "name":"hasScores",
      "in":"query",
      "description":"If true, only return campaigns that have scores associated with them. Defaults to false.",
      "required":false,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"boolean",
       "default":false,
       "description":"If true, only return campaigns that have scores associated with them. Defaults to false.",
       "title":"Hasscores"
      }
     }
    ],
    "responses":{
     "200":{
      "description":"Campaigns successfully retrieved",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.CampaignListResponse"
        },
        "examples":{
         "Standard Campaigns Response":{
          "summary":"Standard Campaigns Response",
          "value":{
           "campaigns":[
            {
             "name":"Greetings Campaign",
             "keywordSpec":{
              "en-US":"Hello from Infobip",
              "es-ES":"Hola desde Infobip"
             },
             "activeFrom":"2026-06-01T14:00:00Z",
             "activeUntil":"2026-07-01T14:00:00Z",
             "settings":{
              "maxDailyAttemptsPerUser":100,
              "sttModelProvider":"AZURE",
              "maxDailyAttemptsPerCampaign":85000
             },
             "id":"01234567-89ab-cdef-0123-456789abcdef",
             "accountId":"123",
             "dateCreated":"2026-03-28T14:48:45.869219"
            },
            {
             "name":"Onboarding Campaign",
             "keywordSpec":{
              "en-US":"Welcome to Infobip",
              "es-ES":"Bienvenido a Infobip"
             },
             "activeFrom":"2026-08-10T09:00:00Z",
             "activeUntil":"2026-09-10T09:00:00Z",
             "settings":{
              "maxDailyAttemptsPerUser":75,
              "sttModelProvider":"GOOGLE",
              "maxDailyAttemptsPerCampaign":60000
             },
             "id":"abcdef12-3456-7890-abcd-ef1234567890",
             "accountId":"456",
             "dateCreated":"2026-04-15T10:22:13.567890"
            }
           ]
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2/campaigns":{
   "post":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Create campaign",
    "description":"Create a new campaign with the specified parameters.",
    "operationId":"vocalize-create-campaign",
    "requestBody":{
     "content":{
      "application/json":{
       "schema":{
        "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.CampaignCreatePayload",
        "description":"Campaign definition."
       },
       "examples":{
        "Basic create campaign request":{
         "summary":"Basic create campaign request",
         "value":{
          "name":"Voice Training Challenge 2025",
          "keywordSpec":{
           "en-US":"Hello world, welcome to our voice training program",
           "es-ES":"Hola mundo, bienvenidos a nuestro programa de entrenamiento vocal",
           "fr-FR":"Bonjour le monde, bienvenue dans notre programme d'entraînement vocal"
          },
          "activeFrom":"2025-07-15T09:00:00Z",
          "activeUntil":"2025-08-15T18:00:00Z",
          "settings":{
           "maxDailyAttemptsPerUser":10,
           "sttModelProvider":"AZURE",
           "maxDailyAttemptsPerCampaign":500
          },
          "imageUrl":"www.example.com/campaign-banner.png"
         }
        },
        "Create campaign with alternative settings":{
         "summary":"Create campaign with alternative settings",
         "value":{
          "name":"Pronunciation Assessment Workshop",
          "keywordSpec":{
           "en-US":"The quick brown fox jumps over the lazy dog",
           "de-DE":"Der schnelle braune Fuchs springt über den faulen Hund",
           "ja-JP":"素早い茶色のキツネが怠け者の犬を飛び越える"
          },
          "activeFrom":"2025-08-01T06:30:00Z",
          "activeUntil":"2025-09-30T23:59:59Z",
          "settings":{
           "maxDailyAttemptsPerUser":5,
           "sttModelProvider":"GOOGLE",
           "maxDailyAttemptsPerCampaign":2000
          },
          "imageUrl":"www.example.com/alt-banner.jpg"
         }
        },
        "Create campaign - keyword spec only":{
         "summary":"Create campaign - keyword spec only",
         "value":{
          "name":"Daily Vocabulary Practice",
          "keywordSpec":{
           "en-US":"Communication is key to success"
          },
          "activeFrom":"2025-07-10T08:00:00Z",
          "activeUntil":"2025-07-20T20:00:00Z",
          "settings":{
           "maxDailyAttemptsPerUser":15,
           "sttModelProvider":"AZURE",
           "maxDailyAttemptsPerCampaign":750
          }
         }
        }
       }
      },
      "examples":{}
     },
     "required":true
    },
    "responses":{
     "201":{
      "description":"Campaign successfully created",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.CampaignResponse"
        },
        "examples":{
         "Standard Campaign created response":{
          "summary":"Standard Campaign created response",
          "value":{
           "name":"Greetings Campaign",
           "keywordSpec":{
            "en-US":"Hello from Infobip",
            "es-ES":"Hola desde Infobip"
           },
           "activeFrom":"2026-06-01T14:00:00Z",
           "activeUntil":"2026-07-01T14:00:00Z",
           "settings":{
            "maxDailyAttemptsPerUser":100,
            "sttModelProvider":"AZURE",
            "maxDailyAttemptsPerCampaign":85000
           },
           "id":"01234567-89ab-cdef-0123-456789abcdef",
           "accountId":"123",
           "dateCreated":"2026-03-28T14:48:45.869219"
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2/campaigns/{campaignId}":{
   "get":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Get campaign",
    "description":"Get a campaign by its ID.",
    "operationId":"vocalize-get-campaign",
    "parameters":[
     {
      "name":"campaignId",
      "in":"path",
      "description":"The UUID of the campaign to retrieve.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string",
       "format":"uuid",
       "description":"The UUID of the campaign to retrieve.",
       "title":"Campaignid"
      }
     }
    ],
    "responses":{
     "200":{
      "description":"Campaign with ID successfully retrieved",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.CampaignResponse"
        },
        "examples":{
         "Standard Campaign by ID response":{
          "summary":"Standard Campaign by ID response",
          "value":{
           "name":"Greetings Campaign",
           "keywordSpec":{
            "en-US":"Hello from Infobip",
            "es-ES":"Hola desde Infobip"
           },
           "activeFrom":"2026-06-01T14:00:00Z",
           "activeUntil":"2026-07-01T14:00:00Z",
           "settings":{
            "maxDailyAttemptsPerUser":42,
            "sttModelProvider":"GOOGLE",
            "maxDailyAttemptsPerCampaign":420
           },
           "imageUrl":"https://www.example.com/image.jpg",
           "id":"01234567-89ab-cdef-0123-456789abcdef",
           "accountId":"123",
           "dateCreated":"2026-03-28T14:48:45.869219"
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "404":{
      "description":"Not Found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError404"
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   },
   "delete":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Delete campaign",
    "description":"Delete a campaign with the specified ID.",
    "operationId":"vocalize-delete-campaign",
    "parameters":[
     {
      "name":"campaignId",
      "in":"path",
      "description":"The UUID of the campaign to delete.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string",
       "format":"uuid",
       "description":"The UUID of the campaign to delete.",
       "title":"Campaignid"
      }
     }
    ],
    "responses":{
     "204":{
      "description":"Successful Response"
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "404":{
      "description":"Not Found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError404"
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2/campaigns/{campaignId}/settings":{
   "patch":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Update campaign settings",
    "description":"Update the settings of a campaign with the specified ID.",
    "operationId":"vocalize-update-campaign-settings",
    "parameters":[
     {
      "name":"campaignId",
      "in":"path",
      "description":"The UUID of the campaign to update.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string",
       "format":"uuid",
       "description":"The UUID of the campaign to update.",
       "title":"Campaignid"
      }
     }
    ],
    "requestBody":{
     "content":{
      "application/json":{
       "schema":{
        "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.CampaignSettings",
        "description":"Settings to update for the campaign."
       },
       "examples":{
        "Update campaign settings":{
         "summary":"Update campaign settings",
         "value":{
          "maxDailyAttemptsPerUser":15,
          "sttModelProvider":"GOOGLE",
          "maxDailyAttemptsPerCampaign":1000
         }
        },
        "Update campaign settings partially":{
         "summary":"Update campaign settings partially",
         "value":{
          "maxDailyAttemptsPerUser":8
         }
        }
       }
      },
      "examples":{}
     },
     "required":true
    },
    "responses":{
     "200":{
      "description":"Campaign setting successfully updated",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.CampaignResponse"
        },
        "examples":{
         "Standard Campaign settings updated response":{
          "summary":"Standard Campaign settings updated response",
          "value":{
           "name":"Greetings Campaign",
           "keywordSpec":{
            "en-US":"Hello from Infobip",
            "es-ES":"Hola desde Infobip"
           },
           "activeFrom":"2026-06-01T14:00:00Z",
           "activeUntil":"2026-07-01T14:00:00Z",
           "settings":{
            "maxDailyAttemptsPerUser":42,
            "sttModelProvider":"GOOGLE",
            "maxDailyAttemptsPerCampaign":420
           },
           "imageUrl":"https://www.example.com/image.jpg",
           "id":"01234567-89ab-cdef-0123-456789abcdef",
           "accountId":"123",
           "dateCreated":"2026-03-28T14:48:45.869219"
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "404":{
      "description":"Not Found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError404"
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2/campaigns/{campaignId}/leaderboard":{
   "get":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Get campaign leaderboard",
    "description":"Get leaderboard for a campaign, sorted by score. Additional query parameters can be used to filter and paginate the results. Filter by fromTime and toTime to get scores within a specific time range. Filter by day to get scores for a specific day of the campaign. You cannot use both fromTime/toTime and day together. If no filters are provided, the leaderboard will show all scores for the campaign, paginated. Users who have not provided their name will not be included in the leaderboard.",
    "operationId":"vocalize-get-campaign-leaderboard",
    "parameters":[
     {
      "name":"campaignId",
      "in":"path",
      "description":"The UUID of the campaign to retrieve the leaderboard for.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string",
       "format":"uuid",
       "description":"The UUID of the campaign to retrieve the leaderboard for.",
       "title":"Campaignid"
      }
     },
     {
      "name":"page",
      "in":"query",
      "description":"Page number.",
      "required":false,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"integer",
       "default":0,
       "description":"Page number.",
       "minimum":0,
       "title":"Page"
      }
     },
     {
      "name":"size",
      "in":"query",
      "description":"Number of records per page.",
      "required":false,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"integer",
       "default":10,
       "description":"Number of records per page.",
       "exclusiveMinimum":0,
       "maximum":100,
       "title":"Size"
      }
     },
     {
      "name":"fromTime",
      "in":"query",
      "description":"Start time for filtering scores (datetime, ISO string, or Unix timestamp). Example value: 2023-10-01T00:00:00Z.",
      "required":false,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"string",
       "format":"date-time",
       "description":"Start time for filtering scores (datetime, ISO string, or Unix timestamp). Example value: 2023-10-01T00:00:00Z.",
       "title":"Fromtime"
      }
     },
     {
      "name":"toTime",
      "in":"query",
      "description":"End time for filtering scores (datetime, ISO string, or Unix timestamp). Example value: 2023-10-31T23:59:59Z.",
      "required":false,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"string",
       "format":"date-time",
       "description":"End time for filtering scores (datetime, ISO string, or Unix timestamp). Example value: 2023-10-31T23:59:59Z.",
       "title":"Totime"
      }
     },
     {
      "name":"day",
      "in":"query",
      "description":"Retrieves scores for a specific day. Can't be used with fromTime/toTime. Days count starts at 0, which means that the API will return scores for the first day of the campaign.",
      "required":false,
      "style":"form",
      "explode":true,
      "schema":{
       "type":"integer",
       "description":"Retrieves scores for a specific day. Can't be used with fromTime/toTime. Days count starts at 0, which means that the API will return scores for the first day of the campaign.",
       "title":"Day"
      }
     }
    ],
    "responses":{
     "200":{
      "description":"Leaderboard retrieved successfully",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.LeaderboardResponse"
        },
        "examples":{
         "Leaderboard Response":{
          "summary":"Leaderboard Response",
          "value":{
           "scores":[
            {
             "name":"John Doe",
             "userId":"12345",
             "score":900,
             "date":"2026-06-15T10:00:00Z"
            },
            {
             "name":"Jane Smith",
             "userId":"67890",
             "score":600,
             "date":"2026-06-15T10:05:00Z"
            }
           ],
           "paging":{
            "page":1,
            "size":10,
            "totalPages":1,
            "totalResults":2
           }
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "404":{
      "description":"Not Found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError404"
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2/campaigns/{campaignId}/stats":{
   "get":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Get campaign statistics",
    "description":"Get statistics for a campaign, including total scores, attempts, and more.",
    "operationId":"vocalize-get-campaign-stats",
    "parameters":[
     {
      "name":"campaignId",
      "in":"path",
      "description":"The UUID of the campaign to retrieve statistics for.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string",
       "format":"uuid",
       "description":"The UUID of the campaign to retrieve statistics for.",
       "title":"Campaignid"
      }
     }
    ],
    "responses":{
     "200":{
      "description":"Successfully retrieved campaign stats",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.CampaignStatsResponse"
        },
        "examples":{
         "Standard Campaign Stats Response":{
          "summary":"Standard Campaign Stats Response",
          "value":{
           "numberOfParticipants":147,
           "averageScore":780.0,
           "lowestScore":230.0,
           "highestScore":980.0,
           "numberOfAttempts":892
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "404":{
      "description":"Not Found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError404"
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2/campaigns/{campaignId}/reset":{
   "delete":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "campaign"
    ],
    "summary":"Delete campaign scores",
    "description":"Delete all scores and attempts for a campaign with the specified ID. This action cannot be undone.",
    "operationId":"vocalize-reset-campaign",
    "parameters":[
     {
      "name":"campaignId",
      "in":"path",
      "description":"The UUID of the campaign to reset.",
      "required":true,
      "style":"simple",
      "explode":false,
      "schema":{
       "type":"string",
       "format":"uuid",
       "description":"The UUID of the campaign to reset.",
       "title":"Campaignid"
      }
     }
    ],
    "responses":{
     "204":{
      "description":"Successful Response"
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "404":{
      "description":"Not Found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError404"
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2/scores":{
   "put":{
    "tags":[
     "customer-engagement",
     "vocalize",
     "score"
    ],
    "summary":"Update score",
    "description":"This endpoint allows users to create or update their score for a specific campaign. If it is the first attempt of the user, the name parameter can be omited.",
    "operationId":"vocalize-submit-entry",
    "requestBody":{
     "content":{
      "application/json":{
       "schema":{
        "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.ScoreBase",
        "description":"Score data to be submitted or updated."
       },
       "examples":{
        "Basic create or update score":{
         "summary":"Basic create or update score",
         "value":{
          "campaignId":"123e4567-e89b-12d3-a456-426614174000",
          "userId":"00387123456",
          "name":"John Doe",
          "audioUrl":"https://example.com/audio/user-recording-2025-07-08-12345.wav",
          "languageCode":"en-US"
         }
        },
        "Create or update score without name (only valid if first attempt of user)":{
         "summary":"Create or update score without name (only valid if first attempt of user)",
         "value":{
          "campaignId":"987fcdeb-51a2-43f1-b9c8-765432109876",
          "userId":"00491234567890",
          "audioUrl":"https://storage.example.com/recordings/pronunciation_test_20250708_143502.mp3",
          "languageCode":"es-ES"
         }
        }
       }
      },
      "examples":{}
     },
     "required":true
    },
    "responses":{
     "200":{
      "description":"Score successfully created or updated",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.ScoreResponse"
        },
        "examples":{
         "Standard Create or update score response":{
          "summary":"Standard Create or update score response",
          "value":{
           "score":{
            "campaignId":"987fcdeb-51a2-43f1-b9c8-765432109876",
            "userId":"00491234567890",
            "name":"Maria Garcia",
            "audioUrl":"https://storage.example.com/recordings/pronunciation_test_20250708_143502.mp3",
            "languageCode":"es-ES",
            "keywordScore":0.65,
            "finalScore":735,
            "transcribedAudio":"Hola mundo, bienvenidos a nuestro programa",
            "attempts":1,
            "dateModified":"2025-07-08T14:45:18.987654Z",
            "bestScore":735
           },
           "stats":{
            "position":45,
            "rank":45,
            "tiedWith":1,
            "bestScore":735,
            "attempts":1,
            "attemptsRemaining":14,
            "nextScoreToBeat":742,
            "numberOfParticipants":1500
           }
          }
         },
         "Standard Create or update score response 2 - best player":{
          "summary":"Standard Create or update score response 2 - best player",
          "value":{
           "score":{
            "campaignId":"456789ab-cdef-1234-5678-90abcdef1234",
            "userId":"447700123456",
            "audioUrl":"https://cdn.example.com/voice-samples/sample_2025_07_08.wav",
            "languageCode":"fr-FR",
            "keywordScore":0.98,
            "shapeScore":0.95,
            "finalScore":967,
            "transcribedAudio":"Bonjour le monde, bienvenue dans notre programme",
            "attempts":8,
            "dateModified":"2025-07-08T15:12:45.456789Z",
            "bestScore":963
           },
           "stats":{
            "position":1,
            "rank":1,
            "tiedWith":0,
            "bestScore":963,
            "attempts":8,
            "attemptsRemaining":2,
            "numberOfParticipants":1500
           }
          }
         }
        }
       }
      }
     },
     "400":{
      "description":"Bad Request",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError400"
        }
       }
      }
     },
     "401":{
      "$ref":"#/components/responses/ApiError401"
     },
     "403":{
      "$ref":"#/components/responses/ApiError403"
     },
     "404":{
      "description":"Not Found",
      "content":{
       "application/json":{
        "schema":{
         "$ref":"#/components/schemas/1e177a7c00f43fb0cfaf8876573312572061d384022066ddec32b06770199719.APIError404"
        }
       }
      }
     },
     "429":{
      "$ref":"#/components/responses/ApiError429"
     },
     "500":{
      "$ref":"#/components/responses/ApiError500"
     }
    },
    "security":[
     {
      "APIKeyHeader":[]
     }
    ],
    "x-scopes":[],
    "x-throttling-info":[
     {
      "type":"time",
      "numberOfRequests":100,
      "numberOfTimeUnits":1,
      "timeUnit":"s"
     }
    ]
   }
  },
  "/vocalize/2

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