Uphold · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Core Transactions API

9 actions 9 updates phrasing extends openapi/uphold-transactions-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Uphold's API. It is a proposal applied on top of the contract, not a document Uphold publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/core/transactions/quote'].post
$.paths['/core/accounts/{accountId}/transactions'].get
$.paths['/core/transactions'].get
$.paths['/core/transactions'].post
$.paths['/core/transactions/{transactionId}'].get
$.paths['/core/transactions/{transactionId}/requests-for-information'].get
$.paths['/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}'].get
$.paths['/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}'].put

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 Core Transactions API
  version: 1.0.0
extends: openapi/uphold-transactions-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: 8
- target: $.paths['/core/transactions/quote'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a quote for a transfer or trade
      effect: write
      questions:
      - How do I get a price quote before converting or sending funds?
      - Can I control how long a quote stays valid?
      instructions:
      - text: Quote moving funds from {origin} to {destination} in {denomination}.
        slots:
          origin: requestBody.origin
          destination: requestBody.destination
          denomination: requestBody.denomination
      - text: Create a quote from {origin} to {destination} for {denomination} valid for {ttl} ms.
        slots:
          origin: requestBody.origin
          destination: requestBody.destination
          denomination: requestBody.denomination
          ttl: requestBody.ttl
      method: generated
      generated: '2026-09-26'
- target: $.paths['/core/accounts/{accountId}/transactions'].get
  update:
    x-apievangelist-phrasing:
      intent: List transactions on one account
      effect: read
      questions:
      - How do I see the transaction history of one specific account?
      - Which transactions went through a particular account?
      instructions:
      - text: List transactions for account {accountId}.
        slots:
          accountId: path.accountId
      - text: Show {perPage} transactions per page for account {accountId}.
        slots:
          perPage: query.perPage
          accountId: path.accountId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/core/transactions'].get
  update:
    x-apievangelist-phrasing:
      intent: List all of a user's transactions
      effect: read
      questions:
      - Where do I see every transaction across all my accounts?
      - Can I page through a user's full transaction history?
      instructions:
      - text: List all my transactions.
      - text: Show my transaction history, {perPage} per page.
        slots:
          perPage: query.perPage
      method: generated
      generated: '2026-09-26'
- target: $.paths['/core/transactions'].post
  update:
    x-apievangelist-phrasing:
      intent: Execute a transaction from a quote
      effect: write
      questions:
      - How do I commit a quote to actually execute the trade or transfer?
      - Can I attach metadata when executing a quoted transaction?
      instructions:
      - text: Execute the transaction for quote {quoteId}.
        slots:
          quoteId: requestBody.quoteId
      - text: Commit quote {quoteId} with metadata {metadata}.
        slots:
          quoteId: requestBody.quoteId
          metadata: requestBody.metadata
      method: generated
      generated: '2026-09-26'
- target: $.paths['/core/transactions/{transactionId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one transaction
      effect: read
      questions:
      - How do I check the status of a single transaction?
      - What details are recorded for a transaction id?
      instructions:
      - text: Get transaction {transactionId}.
        slots:
          transactionId: path.transactionId
      - text: Show the status of transaction {transactionId}.
        slots:
          transactionId: path.transactionId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/core/transactions/{transactionId}/requests-for-information'].get
  update:
    x-apievangelist-phrasing:
      intent: List compliance questions on a transaction
      effect: read
      questions:
      - Why is my transaction on hold waiting for more information?
      - Which requests for information are open on a transaction?
      instructions:
      - text: List requests for information on transaction {transactionId}.
        slots:
          transactionId: path.transactionId
      - text: Show what information compliance needs for transaction {transactionId}.
        slots:
          transactionId: path.transactionId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one request for information
      effect: read
      questions:
      - What exactly does a specific request for information ask for?
      - How do I look up one RFI on a transaction?
      instructions:
      - text: Get request for information {requestForInformationId} on transaction {transactionId}.
        slots:
          requestForInformationId: path.requestForInformationId
          transactionId: path.transactionId
      - text: Show RFI {requestForInformationId} for transaction {transactionId}.
        slots:
          requestForInformationId: path.requestForInformationId
          transactionId: path.transactionId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Answer a request for information
      effect: write
      questions:
      - How do I respond to a compliance request for information on a transaction?
      - Can I submit answers to an RFI to release a held transaction?
      instructions:
      - text: Answer request for information {requestForInformationId} on transaction {transactionId}.
        slots:
          requestForInformationId: path.requestForInformationId
          transactionId: path.transactionId
      - text: Submit my response to RFI {requestForInformationId} for transaction {transactionId}.
        slots:
          requestForInformationId: path.requestForInformationId
          transactionId: path.transactionId
      method: generated
      generated: '2026-09-26'