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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'