# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Reference Whitelabel API version: 1.0.0 extends: openapi/canopy-whitelabel-api-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 10 - target: $.paths['/tos'].get update: x-apievangelist-phrasing: intent: Get the current terms of service effect: read questions: - Which terms version should my white-label consent screen show? - Where do I get the terms of service HTML for my own branded flow? instructions: - text: Fetch the current terms of service version and HTML. - text: Get the terms text to display before asking for consent. method: generated generated: '2026-10-01' - target: $.paths['/widget/pull/consentAndConnect'].post update: x-apievangelist-phrasing: intent: Record consent, create a pull and log in to a carrier effect: write questions: - How do I start a pull with my own UI by submitting consent and the user's carrier login? - Can I save my own metadata on a pull when it's created? - Can a new pull be started specifically to request servicing actions? instructions: - text: Create a pull on widget {alias} for carrier {carrier} with username token {username}, consent from {device} on terms {version} with wording {language}. slots: alias: requestBody.public_alias carrier: requestBody.insurerName username: requestBody.insurerUsername device: requestBody.device_identifier version: requestBody.terms_version language: requestBody.consent_language - text: Connect to carrier {carrier} with username token {username} and password token {password}. slots: carrier: requestBody.insurerName username: requestBody.insurerUsername password: requestBody.insurerPassword method: generated generated: '2026-10-01' - target: $.paths['/widget/pull/consentAndDocuments'].post update: x-apievangelist-phrasing: intent: Record consent, create a pull and upload documents effect: write questions: - Can a consumer upload their insurance documents instead of logging in to their carrier? - What are the file size limits when uploading policy documents to a new pull? instructions: - text: Create a pull on widget {alias} with documents {documents}, consent from {device} on terms {version} with wording {language}. slots: alias: requestBody.public_alias documents: requestBody.documents device: requestBody.device_identifier version: requestBody.terms_version language: requestBody.consent_language - text: Upload {documents} as carrier {carrier} policy documents. slots: documents: requestBody.documents carrier: requestBody.insurerName method: generated generated: '2026-10-01' - target: $.paths['/widget/pull/{pullId}/connect'].post update: x-apievangelist-phrasing: intent: Reauthenticate a pull with new credentials effect: write questions: - What do I do when a pull says it's not authenticated? - How do I resubmit a consumer's carrier login for an existing pull? instructions: - text: Reconnect pull {pull} using JWT {jwt} with carrier {carrier} and username token {username}. slots: pull: path.pullId jwt: header.pull-jwt carrier: requestBody.insurerName username: requestBody.insurerUsername - text: Retry login on pull {pull} with password token {password}. slots: pull: path.pullId password: requestBody.insurerPassword method: generated generated: '2026-10-01' - target: $.paths['/carriers'].get update: x-apievangelist-phrasing: intent: List supported insurance carriers effect: read questions: - Which insurance carriers can consumers connect to? - Can I list only carriers that support particular products like auto or home? - How do I get the carriers enabled for my widget? instructions: - text: List supported carriers. - text: List carriers that offer {products}. slots: products: query.products - text: Show the carriers available on widget {alias}. slots: alias: query.public_alias method: generated generated: '2026-10-01' - target: $.paths['/carriers/{carrierId}'].get update: x-apievangelist-phrasing: intent: Get one supported carrier effect: read questions: - How do I look up the details of a single insurance carrier? - What UI attributes are returned for a specific carrier? instructions: - text: Get carrier {carrier}. slots: carrier: path.carrierId - text: Show carrier {carrier} as configured on widget {alias}. slots: carrier: path.carrierId alias: query.public_alias method: generated generated: '2026-10-01' - target: $.paths['/widget/pull/{pullId}/idv'].post update: x-apievangelist-phrasing: intent: Submit an MFA code for a pull effect: write questions: - How do I pass along the verification code a carrier texted the consumer? - What happens when a pull is waiting on identity verification? instructions: - text: Submit MFA code {code} for pull {pull} with JWT {jwt}. slots: code: requestBody.mfaValue pull: path.pullId jwt: header.pull-jwt - text: Send verification code {code} to finish logging in pull {pull}. slots: code: requestBody.mfaValue pull: path.pullId method: generated generated: '2026-10-01' - target: $.paths['/widget/pull/{pullId}/idvoptions'].post update: x-apievangelist-phrasing: intent: Choose how to receive an MFA code effect: write questions: - Can the consumer pick whether the carrier sends the code by text or email? - What do I send when a pull asks for identity verification options? instructions: - text: Select MFA option {option} for pull {pull} with JWT {jwt}. slots: option: requestBody.optionKey pull: path.pullId jwt: header.pull-jwt - text: Choose delivery method {option} for the verification code on pull {pull}. slots: option: requestBody.optionKey pull: path.pullId method: generated generated: '2026-10-01' - target: $.paths['/widget/pull/reconnectToken'].post update: x-apievangelist-phrasing: intent: Reconnect a monitored pull with a token effect: write questions: - How does a consumer resume a monitored connection that needs their input? - What do I do with a reconnect token in my own flow? instructions: - text: Reconnect the monitored pull using token {token}. slots: token: requestBody.reconnect_token - text: Redeem reconnect token {token} so the user can fix their connection. slots: token: requestBody.reconnect_token method: generated generated: '2026-10-01' - target: $.paths['/widget/pull/{pullId}/servicingAction'].post update: x-apievangelist-phrasing: intent: Confirm or reject a servicing action effect: write questions: - How does a consumer approve a requested change on their policy? - Can the user decline a servicing action instead of confirming it? instructions: - text: Confirm servicing action {action} on pull {pull} with JWT {jwt}. slots: action: requestBody.servicing_action_id pull: path.pullId jwt: header.pull-jwt - text: Set servicing action {action} on pull {pull} to confirmed {confirmed}. slots: action: requestBody.servicing_action_id pull: path.pullId confirmed: requestBody.is_confirmed method: generated generated: '2026-10-01'