Infobip · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Infobip OpenAPI Specification Connectivity API
36 actions
36 updates
phrasing
extends
openapi/infobip-connectivity-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Infobip's API. It is a proposal applied on top of the contract, not a document Infobip publishes.
What the actions change
x-apievangelist-phrasing
Targets 36 · first 16 shown; the file carries all of them
$.info
$.paths['/number/1/notify'].post
$.paths['/number/1/query'].post
$.paths['/number/1/logs'].get
$.paths['/number-activation-state/1/network-reports'].get
$.paths['/number-activation-state/1/network-reports/{reportId}/records'].get
$.paths['/mi/verification/1/verify'].post
$.paths['/mi/verification/1/verify/advanced'].post
$.paths['/mi/verification/1/verify/synchronous'].post
$.paths['/mi/verification/1/zero-rated/init'].post
$.paths['/mi/verification/1/verify/zero-rated'].post
$.paths['/mi/number-intelligence/1/query'].post
$.paths['/mi/simswap/1/check'].post
$.paths['/mi/national-identity-number/1/check'].post
$.paths['/biometrics/1/scenarios'].get
$.paths['/biometrics/1/extraction/sessions'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Infobip OpenAPI Specification Connectivity API
version: 1.0.0
extends: openapi/infobip-connectivity-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 35
- target: $.paths['/number/1/notify'].post
update:
x-apievangelist-phrasing:
intent: Look up phone number context with a callback report
effect: read
questions:
- Can Number Context lookup results be pushed to my callback server instead of returned right away?
- How do I get lookup reports for a batch of phone numbers delivered to a URL as XML or JSON?
instructions:
- text: Run an async Number Context lookup for {to} and send the report to {notifyUrl}.
slots:
to: requestBody.to
notifyUrl: requestBody.notifyUrl
- text: Look up number context for {to} asynchronously and deliver the report as {notifyContentType}.
slots:
to: requestBody.to
notifyContentType: requestBody.notifyContentType
method: generated
generated: '2026-09-26'
- target: $.paths['/number/1/query'].post
update:
x-apievangelist-phrasing:
intent: Look up phone number context immediately
effect: read
questions:
- How can I find out the network and status information for a phone number in Infobip and get the answer in the same response?
- What does a synchronous Number Context query return for numbers in international format?
instructions:
- text: Query Number Context for {to} right now and return the results in the response.
slots:
to: requestBody.to
- text: 'Do an immediate number context lookup on these phone numbers: {to}.'
slots:
to: requestBody.to
method: generated
generated: '2026-09-26'
- target: $.paths['/number/1/logs'].get
update:
x-apievangelist-phrasing:
intent: Review logs of past Number Context lookups
effect: read
questions:
- Where can I see a history of the number lookups I've already sent?
- Can I filter my Number Context lookup logs by mobile country code and network code?
- How many past lookup log records can I pull back at once?
instructions:
- text: Show my Number Context lookup logs for destination {to}.
slots:
to: query.to
- text: List number lookup logs sent between {sentSince} and {sentUntil}, up to {limit} records.
slots:
sentSince: query.sentSince
sentUntil: query.sentUntil
limit: query.limit
- text: Get the lookup log entries for bulk {bulkId}.
slots:
bulkId: query.bulkId
method: generated
generated: '2026-09-26'
- target: $.paths['/number-activation-state/1/network-reports'].get
update:
x-apievangelist-phrasing:
intent: List network activation-state reports
effect: read
questions:
- Which network reports on number activation state are available for my account?
- Can I find network reports generated within a certain date range or by a specific mobile network?
instructions:
- text: List the network reports metadata from {networkName}.
slots:
networkName: query.networkName
- text: Show network reports covering {dateFrom} to {dateTo}.
slots:
dateFrom: query.dateFrom
dateTo: query.dateTo
- text: Page through network report metadata, page {page} with {size} per page.
slots:
page: query.page
size: query.size
method: generated
generated: '2026-09-26'
- target: $.paths['/number-activation-state/1/network-reports/{reportId}/records'].get
update:
x-apievangelist-phrasing:
intent: Read number activation changes in a network report
effect: read
questions:
- How do I see which destination numbers changed activation state inside one network report?
- Is the content of a single network report paginated?
instructions:
- text: Get the activation state change records from network report {reportId}.
slots:
reportId: path.reportId
- text: Show page {page} of the records in network report {reportId}.
slots:
page: query.page
reportId: path.reportId
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/verification/1/verify'].post
update:
x-apievangelist-phrasing:
intent: Silently verify a user's phone number via the operator
effect: write
questions:
- How can I confirm a user owns their phone number over the mobile data connection without sending an OTP?
- What callback do I need to receive the result of a silent mobile verification?
instructions:
- text: Start a silent mobile verification for {phoneNumber} with consent granted and post the result to {callbackUrl}.
slots:
phoneNumber: requestBody.phoneNumber
callbackUrl: requestBody.callbackUrl
- text: Silently verify {phoneNumber} through the operator and redirect the device to {returnUrl} when finished.
slots:
phoneNumber: requestBody.phoneNumber
returnUrl: requestBody.returnUrl
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/verification/1/verify/advanced'].post
update:
x-apievangelist-phrasing:
intent: Silent number check with SIM swap check and SMS fallback
effect: write
questions:
- Can I run a SIM swap check before verifying a phone number silently?
- Is there a way to fall back to an SMS if silent mobile verification fails?
instructions:
- text: Run advanced silent verification for {phoneNumber} with SMS failover {smsFailover}, sending the result to {callbackUrl}.
slots:
phoneNumber: requestBody.phoneNumber
smsFailover: requestBody.smsFailover
callbackUrl: requestBody.callbackUrl
- text: Check {phoneNumber} for a SIM swap using {simSwapCheck} and then verify it silently.
slots:
phoneNumber: requestBody.phoneNumber
simSwapCheck: requestBody.simSwapCheck
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/verification/1/verify/synchronous'].post
update:
x-apievangelist-phrasing:
intent: Verify a phone number synchronously by device IP
effect: read
questions:
- Can I get a silent verification answer in the same response rather than via a callback in Brazil?
- Which device IP and port details are required for synchronous phone number verification?
instructions:
- text: Synchronously verify {phoneNumber} for the device at {deviceIp} port {devicePort}.
slots:
phoneNumber: requestBody.phoneNumber
deviceIp: requestBody.deviceIp
devicePort: requestBody.devicePort
- text: Get an immediate silent verification result for {phoneNumber} from device IP {deviceIp} on port {devicePort}.
slots:
phoneNumber: requestBody.phoneNumber
deviceIp: requestBody.deviceIp
devicePort: requestBody.devicePort
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/verification/1/zero-rated/init'].post
update:
x-apievangelist-phrasing:
intent: Start a zero-rated silent verification request
effect: write
questions:
- How do I initialize a zero-rated phone verification so the end user isn't charged for data?
- What's the first step of the zero-rated verification flow in Brazil?
instructions:
- text: Initialize a zero-rated verification request for {phoneNumber}.
slots:
phoneNumber: requestBody.phoneNumber
- text: Set up zero-rated verification for {phoneNumber} and send the device back to {returnUrl} afterwards.
slots:
phoneNumber: requestBody.phoneNumber
returnUrl: requestBody.returnUrl
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/verification/1/verify/zero-rated'].post
update:
x-apievangelist-phrasing:
intent: Complete a zero-rated silent verification
effect: write
questions:
- Once a zero-rated request is initialized, how do I finish verifying the phone number?
- Which token ties the zero-rated verify call back to its initialization?
instructions:
- text: Complete the zero-rated verification using token {token}.
slots:
token: requestBody.token
- text: Run the zero-rated verify step for request {token}.
slots:
token: requestBody.token
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/number-intelligence/1/query'].post
update:
x-apievangelist-phrasing:
intent: Query operator attributes for a phone number
effect: read
questions:
- What operator-held attributes can I query about a mobile number with Number Intelligence?
- How are Number Intelligence query results delivered back to me?
instructions:
- text: Query Number Intelligence attributes {attributes} for {phoneNumber} and send results to {callbackUrl}.
slots:
attributes: requestBody.attributes
phoneNumber: requestBody.phoneNumber
callbackUrl: requestBody.callbackUrl
- text: Ask the operator for number intelligence on {phoneNumber} using {attributes}.
slots:
phoneNumber: requestBody.phoneNumber
attributes: requestBody.attributes
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/simswap/1/check'].post
update:
x-apievangelist-phrasing:
intent: Check a number for SIM swap in the last N hours
effect: read
questions:
- Has this customer's SIM been swapped within the last few hours, checked with the owner's consent?
- Can the mobile identity SIM swap check look back over a period I choose in hours?
instructions:
- text: Check whether {phoneNumber} had a SIM swap in the last {period} hours, with the owner's consent.
slots:
phoneNumber: requestBody.phoneNumber
period: requestBody.period
- text: Run a consent-based mobile identity SIM swap check on {phoneNumber} for {period} hours.
slots:
phoneNumber: requestBody.phoneNumber
period: requestBody.period
method: generated
generated: '2026-09-26'
- target: $.paths['/mi/national-identity-number/1/check'].post
update:
x-apievangelist-phrasing:
intent: Check a phone number belongs to a national ID
effect: read
questions:
- Can I confirm that a mobile number is registered to the person with a given national ID number?
- Which document type do I need to pass for a national identity number match in Colombia?
instructions:
- text: Check that {phoneNumber} belongs to national ID {nationalId}.
slots:
phoneNumber: requestBody.phoneNumber
nationalId: requestBody.nationalId
- text: Match {phoneNumber} against national ID {nationalId} using document type {documentType}.
slots:
phoneNumber: requestBody.phoneNumber
nationalId: requestBody.nationalId
documentType: requestBody.documentType
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/scenarios'].get
update:
x-apievangelist-phrasing:
intent: List biometrics scenarios enabled on my account
effect: read
questions:
- Which biometrics scenarios are enabled for my account?
- Can I see only the scenarios for a particular application type like KYC or enrollment?
instructions:
- text: List all biometrics scenarios available to me.
- text: Show biometrics scenarios for application types {applicationTypes}.
slots:
applicationTypes: query.applicationTypes
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/extraction/sessions'].get
update:
x-apievangelist-phrasing:
intent: Get a biometrics extraction session
effect: read
questions:
- How do I check the current state of a document extraction session?
- What details come back when I fetch an extraction session by its ID?
instructions:
- text: Get extraction session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Show me the status of the data extraction session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/extraction/sessions'].post
update:
x-apievangelist-phrasing:
intent: Start a biometrics extraction session
effect: write
questions:
- How do I kick off an extraction flow so an end user can capture their document data?
- What webhook and scenario are required to start an extraction session?
instructions:
- text: Create an extraction session for scenario {scenarioName} with location {locationInfo}, reporting status to {webhook}.
slots:
scenarioName: requestBody.scenarioName
locationInfo: requestBody.locationInfo
webhook: requestBody.webhook
- text: Start a data extraction session for user {partnerReference} using scenario {scenarioName}.
slots:
partnerReference: requestBody.partnerReference
scenarioName: requestBody.scenarioName
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/extraction/sessions'].delete
update:
x-apievangelist-phrasing:
intent: Abort a biometrics extraction session
effect: destructive
questions:
- Can I cancel an extraction session that's still in progress?
- How do I stop a document extraction flow a user abandoned?
instructions:
- text: Abort extraction session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Cancel the in-progress data extraction session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/kyc/sessions'].get
update:
x-apievangelist-phrasing:
intent: Get a biometrics KYC session
effect: read
questions:
- How can I look up the progress of a know-your-customer biometrics session?
- What does a KYC session return once the user completes the scenario?
instructions:
- text: Get KYC session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Show the current status of know-your-customer session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/kyc/sessions'].post
update:
x-apievangelist-phrasing:
intent: Start a biometrics KYC session
effect: write
questions:
- How do I start a KYC identity check where the user scans their ID and face?
- Can I send the user to my own page after they finish or cancel a KYC scenario?
instructions:
- text: Create a KYC session for scenario {scenarioName} with location {locationInfo} and webhook {webhook}.
slots:
scenarioName: requestBody.scenarioName
locationInfo: requestBody.locationInfo
webhook: requestBody.webhook
- text: Start KYC for user {partnerReference}, sending them to {successUrl} on success.
slots:
partnerReference: requestBody.partnerReference
successUrl: requestBody.successUrl
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/kyc/sessions'].delete
update:
x-apievangelist-phrasing:
intent: Abort a biometrics KYC session
effect: destructive
questions:
- Is it possible to abort a KYC session before the user finishes?
- How do I terminate an unfinished know-your-customer check?
instructions:
- text: Abort KYC session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Cancel the know-your-customer session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/enrollment/sessions'].get
update:
x-apievangelist-phrasing:
intent: Get a biometrics enrollment session
effect: read
questions:
- How do I check whether a user's biometric enrollment session has completed?
- What information can I retrieve about an enrollment session by its ID?
instructions:
- text: Get enrollment session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Show the status of biometric enrollment session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/enrollment/sessions'].post
update:
x-apievangelist-phrasing:
intent: Start a biometrics enrollment session
effect: write
questions:
- How do I enroll a user's biometrics so I can verify them later?
- Can I choose whether Infobip retains data from an enrollment session?
instructions:
- text: Create an enrollment session for scenario {scenarioName} with location {locationInfo} and webhook {webhook}.
slots:
scenarioName: requestBody.scenarioName
locationInfo: requestBody.locationInfo
webhook: requestBody.webhook
- text: Enroll user {partnerReference} biometrically with data retention set to {retainData}.
slots:
partnerReference: requestBody.partnerReference
retainData: requestBody.retainData
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/enrollment/sessions'].delete
update:
x-apievangelist-phrasing:
intent: Abort a biometrics enrollment session
effect: destructive
questions:
- Can I cancel a biometric enrollment that's partway through?
- What happens if I need to stop an enrollment session I started?
instructions:
- text: Abort enrollment session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Cancel the biometric enrollment session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/verification/sessions'].get
update:
x-apievangelist-phrasing:
intent: Get a biometrics verification session
effect: read
questions:
- How do I find out whether a biometric verification session passed?
- What does a biometrics verification session return when I fetch it?
instructions:
- text: Get biometrics verification session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Show the result of biometric verification session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/verification/sessions'].post
update:
x-apievangelist-phrasing:
intent: Start a biometrics verification session
effect: write
questions:
- How do I verify a returning user against biometric data they enrolled?
- Can I pass biometric data directly when starting a verification session?
instructions:
- text: Create a biometrics verification session for scenario {scenarioName} with location {locationInfo} and webhook {webhook}.
slots:
scenarioName: requestBody.scenarioName
locationInfo: requestBody.locationInfo
webhook: requestBody.webhook
- text: Start biometric verification for user {partnerReference} using biometric data {biometricData}.
slots:
partnerReference: requestBody.partnerReference
biometricData: requestBody.biometricData
method: generated
generated: '2026-09-26'
- target: $.paths['/biometrics/1/verification/sessions'].delete
update:
x-apievangelist-phrasing:
intent: Abort a biometrics verification session
effect: destructive
questions:
- Can a biometric verification session be aborted before it finishes?
- How do I stop a face verification session that's no longer needed?
instructions:
- text: Abort biometrics verification session {sessionId}.
slots:
sessionId: header.X-Session-Id
- text: Cancel the biometric verification session {sessionId}.
slots:
sessionId: header.X-Session-Id
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/number-verification/v0/authorize'].get
update:
x-apievangelist-phrasing:
intent: Authorize a device on the operator network for verification
effect: read
questions:
- How do I redirect a phone to its mobile operator to authorize CAMARA number verification?
- Where does the authorization code come back after the device is redirected?
instructions:
- text: Start operator authorization for client {clientId} and redirect the device to {redirectUrl}.
slots:
clientId: query.clientId
redirectUrl: query.redirectUrl
- text: Authorize the device for number verification as client {clientId}, returning to {redirectUrl} with login hint {login_hint}.
slots:
clientId: query.clientId
redirectUrl: query.redirectUrl
login_hint: query.login_hint
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/number-verification/v0/verify'].post
update:
x-apievangelist-phrasing:
intent: Verify phone number possession via network (v0)
effect: read
questions:
- After network authorization, how do I confirm the device's data connection matches the phone number?
- Does the v0 CAMARA number verification need the code from the authorize redirect?
instructions:
- text: Verify {phoneNumber} over the operator data connection with the v0 CAMARA endpoint.
slots:
phoneNumber: requestBody.phoneNumber
- text: Confirm possession of {phoneNumber} using authorization code {code}.
slots:
phoneNumber: requestBody.phoneNumber
code: header.X-Correlator
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/number-verification/v2/dcql'].post
update:
x-apievangelist-phrasing:
intent: Generate a SIM-based credential request for Android
effect: write
questions:
- How do I build the credential request that Android Credential Manager needs for SIM-based verification?
- Which carrier IDs and nonce must I supply for a TS.43 DCQL request?
instructions:
- text: Generate a DCQL request for use case {useCase} with nonce {nonce} and carriers {carrierIds}.
slots:
useCase: requestBody.useCase
nonce: requestBody.nonce
carrierIds: requestBody.carrierIds
- text: Create a TS.43 credential request for carriers {carrierIds} using nonce {nonce} and use case {useCase}.
slots:
carrierIds: requestBody.carrierIds
nonce: requestBody.nonce
useCase: requestBody.useCase
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/number-verification/v2/device-phone-number'].get
update:
x-apievangelist-phrasing:
intent: Get the phone number tied to a device SIM
effect: read
questions:
- Can I retrieve the phone number of the SIM in a user's device instead of asking them to type it?
- What token do I pass to get the device phone number in the SIM-based flow?
instructions:
- text: Get the phone number for the device SIM using vp_token {vpToken}.
slots:
vpToken: header.X-Correlator
- text: Look up which phone number belongs to this device's SIM.
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/number-verification/v2/verify'].post
update:
x-apievangelist-phrasing:
intent: Verify phone number possession via SIM card (v2)
effect: read
questions:
- How do I verify a user's phone number against their SIM card with the v2 CAMARA API?
- Can I use the Android Credential Manager token to verify a phone number?
instructions:
- text: Verify {phoneNumber} against the device SIM using the v2 endpoint.
slots:
phoneNumber: requestBody.phoneNumber
- text: Check SIM possession of {phoneNumber} with vp_token {vpToken}.
slots:
phoneNumber: requestBody.phoneNumber
vpToken: header.X-Correlator
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/location/v0/verify'].post
update:
x-apievangelist-phrasing:
intent: Verify a device is within a given area
effect: read
questions:
- Can I check whether a user's device is currently within a certain radius of a location?
- What latitude, longitude and radius does device location verification accept?
instructions:
- text: Verify device {ueId} is within {accuracy} km of {latitude}, {longitude}.
slots:
ueId: requestBody.ueId
accuracy: requestBody.accuracy
latitude: requestBody.latitude
longitude: requestBody.longitude
- text: Check whether user equipment {ueId} on port {uePort} is inside the area around {latitude}, {longitude} with radius {accuracy} km.
slots:
ueId: requestBody.ueId
uePort: requestBody.uePort
latitude: requestBody.latitude
longitude: requestBody.longitude
accuracy: requestBody.accuracy
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/sim-swap/v0/check'].post
update:
x-apievangelist-phrasing:
intent: Check for a recent SIM swap (CAMARA)
effect: read
questions:
- Can the CAMARA SIM swap API tell me if a number's SIM changed within a maximum age?
- Is a phone number safe from recent SIM swap fraud before I approve a transaction?
instructions:
- text: Use CAMARA to check if {phoneNumber} had a SIM swap within {maxAge} hours.
slots:
phoneNumber: requestBody.phoneNumber
maxAge: requestBody.maxAge
- text: Run a CAMARA SIM swap check on {phoneNumber}.
slots:
phoneNumber: requestBody.phoneNumber
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/sim-swap/v0/retrieve-date'].post
update:
x-apievangelist-phrasing:
intent: Get the date of the last SIM swap
effect: read
questions:
- When was the SIM last swapped for a given phone number?
- Can I retrieve the exact date of the most recent SIM change rather than a yes/no answer?
instructions:
- text: Get the last SIM swap date for {phoneNumber}.
slots:
phoneNumber: requestBody.phoneNumber
- text: Tell me when {phoneNumber} last changed SIM cards.
slots:
phoneNumber: requestBody.phoneNumber
method: generated
generated: '2026-09-26'
- target: $.paths['/camara/kyc-match/v0.3/match'].post
update:
x-apievangelist-phrasing:
intent: Match customer details against operator records
effect: read
questions:
- Can I compare a customer's name, address and birthdate with what their mobile operator has on file?
- Which customer fields can a KYC Match check against operator data?
instructions:
- text: Match {phoneNumber} against operator records for {givenName} {familyName} born {birthdate}.
slots:
phoneNumber: requestBody.phoneNumber
givenName: requestBody.givenName
familyName: requestBody.familyName
birthdate: requestBody.birthdate
- text: Run a KYC match on {phoneNumber} with ID document {idDocument} and email {email}.
slots:
phoneNumber: requestBody.phoneNumber
idDocument: requestBody.idDocument
email: requestBody.email
- text: Check that the operator's address for {phoneNumber} matches {address}.
slots:
phoneNumber: requestBody.phoneNumber
address: requestBody.address
method: generated
generated: '2026-09-26'