Bridge Static Memos API

The Static Memos API from Bridge — 5 operation(s) for static memos.

OpenAPI Specification

bridge-static-memos-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Bridge API Keys Static Memos API
  description: APIs to move into, out of, and between any form of a dollar
  version: '1'
servers:
- url: https://api.bridge.xyz/v0
  description: The base path for all resources
security:
- ApiKey: []
tags:
- name: Static Memos
paths:
  /static_memos:
    get:
      summary: List Static Memos
      description: List all Static Memo objects
      tags:
      - Static Memos
      parameters:
      - $ref: '#/components/parameters/FiatInstructionsActivationStatusParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/StaticMemoStartingAfterParameter'
      - $ref: '#/components/parameters/StaticMemoEndingBeforeParameter'
      responses:
        '200':
          description: List of Static Memos
          content:
            application/json:
              schema:
                title: Static Memos
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    description: total number of items in data
                    type: integer
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/StaticMemoResponse'
  /customers/{customerID}/static_memos:
    post:
      summary: Create a Static Memo
      description: Create a Static Memo for the specified customer
      tags:
      - Static Memos
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      requestBody:
        description: Static Memo object to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateStaticMemo'
      responses:
        '200':
          description: Static Memo object created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StaticMemoResponse'
    get:
      summary: List Static Memos for Customer
      description: List all Static Memo objects for a customer
      tags:
      - Static Memos
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/FiatInstructionsActivationStatusParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/StaticMemoStartingAfterParameter'
      - $ref: '#/components/parameters/StaticMemoEndingBeforeParameter'
      responses:
        '200':
          description: List of Static Memos
          content:
            application/json:
              schema:
                title: Static Memos
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    description: total number of items in data
                    type: integer
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/StaticMemoResponse'
  /customers/{customerID}/static_memos/{staticMemoID}:
    get:
      summary: Get a Static Memo
      description: Retrieve the Static Memo object from the passed ID
      tags:
      - Static Memos
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/StaticMemoIDParameter'
      responses:
        '200':
          description: Successful static memo object response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StaticMemoResponse'
    put:
      summary: Update a Static Memo
      description: Update instructions for an existing Static Memo
      tags:
      - Static Memos
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/StaticMemoIDParameter'
      requestBody:
        description: The Static Memo details to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStaticMemo'
      responses:
        '200':
          description: Updated Static Memo object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StaticMemoResponse'
  /customers/{customerID}/static_memos/{staticMemoID}/history:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    - $ref: '#/components/parameters/StaticMemoIDParameter'
    - $ref: '#/components/parameters/DepositIDQueryParameter'
    - $ref: '#/components/parameters/DepositIDsQueryParameter'
    - $ref: '#/components/parameters/TxHashParameter'
    - $ref: '#/components/parameters/LimitParameter'
    - $ref: '#/components/parameters/EventStartingAfterParameter'
    - $ref: '#/components/parameters/EventEndingBeforeParameter'
    - $ref: '#/components/parameters/EventTypeParameter'
    get:
      summary: Static Memo Activity
      tags:
      - Static Memos
      description: History of activity for a Static Memo
      responses:
        '200':
          description: List of Static Memo events
          content:
            application/json:
              schema:
                title: Static Memo history
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of events returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/StaticMemoEvent'
              examples:
                History:
                  $ref: '#/components/examples/StaticMemoHistoryExample'
  /static_memos/history:
    parameters:
    - $ref: '#/components/parameters/DepositIDQueryParameter'
    - $ref: '#/components/parameters/DepositIDsQueryParameter'
    - $ref: '#/components/parameters/TxHashParameter'
    - $ref: '#/components/parameters/LimitParameter'
    - $ref: '#/components/parameters/EventStartingAfterParameter'
    - $ref: '#/components/parameters/EventEndingBeforeParameter'
    - $ref: '#/components/parameters/EventTypeParameter'
    get:
      summary: Static Memo Activity Across All Customers
      tags:
      - Static Memos
      description: History of activity across all customers and Virtual Accounts
      responses:
        '200':
          description: List of Static Memo events
          content:
            application/json:
              schema:
                title: Static Memo history
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of events returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/StaticMemoEvent'
              examples:
                History:
                  $ref: '#/components/examples/StaticMemoHistoryExample'
components:
  schemas:
    StaticMemoEvent:
      required:
      - id
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        type:
          type: string
          description: The type of activity
          enum:
          - funds_received
          - payment_submitted
          - payment_processed
          - in_review
          - refunded
          - refund_in_flight
          - refund_failed
          - account_update
        customer_id:
          $ref: '#/components/schemas/Id'
          description: The id of the Bridge customer that this static memo event belongs to
          type: string
          minLength: 1
          readOnly: true
        static_memo_id:
          $ref: '#/components/schemas/Id'
          description: The id of the Static Memo that this event belongs to
          type: string
          minLength: 1
          readOnly: true
        amount:
          type: string
          description: Amount for that event, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc. For "incoming" events such as funds_received or under_review, this is the initial amount received. For "outgoing" events such as payment_submitted and payment_processed, this is the amount of funds sent to the destination. For non-transactional events such as account_update, this will be zero.
        currency:
          $ref: '#/components/schemas/Currency'
        developer_fee_amount:
          type: string
          description: Amount of the developer fee if any, represented as a dollar denominated string. This is the final amount taken out of what is ultimately received by your customer, not a percentage. Examples include "100.25", "0.1", "1.234567" etc.
        exchange_fee_amount:
          type: string
          description: Amount of the exchange fee if any, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
        subtotal_amount:
          type: string
          description: Amount of the subtotal, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
        gas_fee:
          type: string
          description: Amount of the gas fee if any, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
        deposit_id:
          type: string
          description: The id of the deposit related to this event. This id can be used to link multiple events to the same transaction
        destination_tx_hash:
          type: string
          description: The hash of the on-chain transfer to the destination address
        destination_payment_rail:
          type: string
          description: The destination payment rail where the funds are deposited to
        source_deposit_instructions:
          $ref: '#/components/schemas/StaticMemoEventSourceDepositInstructions'
        source:
          $ref: '#/components/schemas/StaticMemoEventSource'
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the event
          format: date-time
    FiatCurrency:
      type: string
      enum:
      - usd
    VirtualAccountActivationStatus:
      description: The activation status of the Virtual Account
      type: string
      enum:
      - activated
      - deactivated
    StaticMemoDeveloperFeePercent:
      description: The developer fee percent that will be applied to this Virtual Account. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.
      type: string
      format: number
      minimum: 0
      maximum: 100
      exclusiveMaximum: true
      example: '0.1'
    UpdateStaticMemoDestination:
      properties:
        currency:
          $ref: '#/components/schemas/CryptoCurrency'
        payment_rail:
          $ref: '#/components/schemas/OfframpChain'
        address:
          description: The crypto wallet address that the customer wishes to ultimately receive funds at
          type: string
      example:
        currency: usdc
        payment_rail: polygon
        address: '0xdeadbeef'
    PaymentRail:
      type: string
      enum:
      - ach
      - wire
      - ach_push
      - ach_same_day
      - arbitrum
      - avalanche_c_chain
      - base
      - bre_b
      - co_bank_transfer
      - celo
      - ethereum
      - optimism
      - pix
      - polygon
      - solana
      - spei
      - stellar
      - tempo
    Imad:
      description: (Wire only) The IMAD of a wire transfer, if available
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 40
    UpdateStaticMemo:
      properties:
        destination:
          $ref: '#/components/schemas/UpdateStaticMemoDestination'
        developer_fee_percent:
          $ref: '#/components/schemas/StaticMemoDeveloperFeePercent'
    OfframpChain:
      type: string
      enum:
      - arbitrum
      - avalanche_c_chain
      - base
      - celo
      - ethereum
      - optimism
      - polygon
      - solana
      - stellar
      - tempo
      - tron
    CryptoCurrency:
      type: string
      enum:
      - usdb
      - usdc
      - usdt
      - pyusd
      - eurc
    StaticMemoSourceDepositInstructions:
      readOnly: true
      properties:
        currency:
          $ref: '#/components/schemas/FiatCurrency'
        payment_rails:
          description: All supported payment rails for deposits
          type: array
          items:
            $ref: '#/components/schemas/PaymentRail'
        deposit_message:
          description: The message that the customer MUST include in their wire memo/message or ACH description.
          type: string
        bank_name:
          description: The name of the bank that the customer should send the deposit to
          type: string
        bank_address:
          description: The address of the bank that the customer should send the deposit to
          type: string
        bank_routing_number:
          description: The routing number of the bank that the customer should send the deposit to
          type: string
        bank_account_number:
          description: The account number of the bank that the customer should send the deposit to
          type: string
        bank_beneficiary_name:
          description: The name of the beneficiary of the bank account that the customer should send the deposit to
          type: string
        bank_beneficiary_address:
          description: The address of the beneficiary of the bank account that the customer should send the deposit to
          type: string
      example:
        currency: usd
        payment_rails:
        - ach_push
        - wire
        deposit_message: EXAMPLE_MEMO_MESSAGE
        bank_name: Lead Bank
        bank_address: 1801 Main St., Kansas City, MO 64108
        bank_beneficiary_name: Bridge Ventures Inc
        bank_beneficiary_address: 21750 Hardy Oak Blvd, Ste 104 PMB 77950, San Antonio, Texas, 78258-4946
        bank_account_number: '123456789'
        bank_routing_number: '87654321'
    Currency:
      type: string
      enum:
      - usdb
      - usdc
      - usdt
      - usd
      - pyusd
    CreateStaticMemo:
      required:
      - source
      - destination
      properties:
        developer_fee_percent:
          $ref: '#/components/schemas/StaticMemoDeveloperFeePercent'
        source:
          $ref: '#/components/schemas/StaticMemoSourceInput'
        destination:
          $ref: '#/components/schemas/StaticMemoDestination'
    StaticMemoDestination:
      required:
      - currency
      - payment_rail
      - address
      properties:
        currency:
          $ref: '#/components/schemas/CryptoCurrency'
        payment_rail:
          $ref: '#/components/schemas/OfframpChain'
        address:
          description: The crypto wallet address that the customer wishes to ultimately receive funds at
          type: string
        bridge_wallet_id:
          description: The Bridge Wallet to which Bridge will send the funds. payment_rail must match the chain of the Bridge Wallet.
          $ref: '#/components/schemas/Id'
        blockchain_memo:
          type: string
          description: The memo to include when sending funds on chain. Only allowed for blockchains that support memos such as Stellar
      example:
        currency: usdc
        payment_rail: polygon
        address: '0xdeadbeef'
    Id:
      description: A UUID that uniquely identifies a resource
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 42
    StaticMemoEventSourceDepositInstructions:
      required:
      - deposit_message
      properties:
        deposit_message:
          description: The message that the customer MUST include in their wire memo/message or ach push description
          type: string
    StaticMemoSourceInput:
      required:
      - currency
      properties:
        currency:
          $ref: '#/components/schemas/FiatCurrency'
        payment_rail:
          description: Static memos support both wire and ACH push regardless of this value.
          $ref: '#/components/schemas/PaymentRail'
      example:
        currency: usd
        payment_rail: wire
    StaticMemoResponse:
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        developer_fee_percent:
          $ref: '#/components/schemas/StaticMemoDeveloperFeePercent'
        source_deposit_instructions:
          $ref: '#/components/schemas/StaticMemoSourceDepositInstructions'
        destination:
          $ref: '#/components/schemas/StaticMemoDestination'
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the static memo
          format: date-time
    Omad:
      description: (Wire only) The OMAD of a wire transfer, if available
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 40
      deprecated: true
    StaticMemoEventSource:
      required:
      - payment_rail
      properties:
        payment_rail:
          $ref: '#/components/schemas/PaymentRail'
        description:
          description: (ACH only) The description of the deposit that the customer sent
          type: string
        sender_name:
          description: (ACH only) The name of the business or individual who initiated the transaction
          type: string
          readOnly: true
        sender_bank_routing_number:
          description: (ACH only) The routing number of the entity that initiated this ACH transaction
          type: string
          readOnly: true
        trace_number:
          description: (ACH only) The unique, a 15-digit number associated with each ACH transaction that is used for tracking and reconciling transactions
          type: string
          readOnly: true
        bank_routing_number:
          description: (Wire only) The routing number of the bank that the customer sent the deposit to
          type: string
          readOnly: true
        bank_name:
          description: (Wire only) The name of the bank that the customer sent the deposit to
          type: string
          readOnly: true
        bank_beneficiary_name:
          description: (Wire only) The beneficiary name of this deposit
          type: string
          readOnly: true
        bank_beneficiary_address:
          description: (Wire only) The beneficiary address of this deposit
          type: string
          readOnly: true
        originator_name:
          description: (Wire only) The originator name of this deposit
          type: string
          readOnly: true
        originator_address:
          description: (Wire only) The originator address of this deposit
          type: string
          readOnly: true
        wire_message:
          description: (Wire only) The memo for this wire
          type: string
          readOnly: true
        imad:
          $ref: '#/components/schemas/Imad'
        omad:
          $ref: '#/components/schemas/Omad'
  parameters:
    IdempotencyKeyParameter:
      in: header
      name: Idempotency-Key
      required: true
      schema:
        type: string
    FiatInstructionsActivationStatusParameter:
      in: query
      required: false
      name: status
      description: Limit results to those with the given activation status
      example: activated
      schema:
        $ref: '#/components/schemas/VirtualAccountActivationStatus'
    LimitParameter:
      in: query
      name: limit
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
      description: The number of items to return (min 1, default 10, max 100)
    DepositIDsQueryParameter:
      name: deposit_ids
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
      description: The deposit ids associated with the events. Pass a list of deposit ids like "deposit_ids[]=id1&deposit_ids[]=id2". Cannot be passed if deposit_id is also passed
    StaticMemoStartingAfterParameter:
      in: query
      name: starting_after
      schema:
        type: string
      description: This is a static memo id. If this is specified, the next page that starts with a static memo right AFTER the specified static memo id on the static memo timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that static memo older than the specified static memo id will be returned (shouldn't be set if ending_before is set)
    EventStartingAfterParameter:
      in: query
      name: starting_after
      schema:
        type: string
      description: This is an event id. If this is specified, the next page that starts with an event right AFTER the specified event id on the event timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that events older than the specified event id will be returned (shouldn't be set if ending_before is set)
    EventEndingBeforeParameter:
      in: query
      name: ending_before
      schema:
        type: string
      description: This is an event id. If this is specified, the previous page that ends with an event right BEFORE the specified event id on the event timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that events newer than the specified event id will be returned (shouldn't be set if starting_after is set)
    EventTypeParameter:
      name: event_type
      in: query
      required: false
      schema:
        type: string
        enum:
        - funds_received
        - payment_submitted
        - payment_processed
        - in_review
        - refund
        - refund_in_flight
        - refund_failed
        - microdeposit
        - account_update
        - deactivation
        - activation
      description: Filter history by event type
    TxHashParameter:
      name: tx_hash
      in: query
      required: false
      schema:
        type: string
      description: The hash of the transaction
    StaticMemoEndingBeforeParameter:
      in: query
      name: ending_before
      schema:
        type: string
      description: This is a static memo id. If this is specified, the previous page that ends with a static memo right BEFORE the specified static memo id on the static memo timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that static memo newer than the specified static memo id will be returned (shouldn't be set if starting_after is set)
    CustomerIDParameter:
      name: customerID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
    DepositIDQueryParameter:
      name: deposit_id
      in: query
      required: false
      schema:
        type: string
      description: The deposit id associated with the events. Cannot be passed if deposit_ids is also passed
    StaticMemoIDParameter:
      name: staticMemoID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
  examples:
    StaticMemoHistoryExample:
      summary: A list of event history across all customers and Virtual Accounts
      value:
        count: 4
        data:
        - id: sm_event_456
          customer_id: cust_alice
          virtual_account_id: sm_123
          type: payment_submitted
          amount: '120.0'
          currency: usd
          developer_fee_amount: '1.25'
          exchange_fee_amount: '2.2'
          subtotal_amount: '120.0'
          gas_fee: '0.0'
          deposit_id: deposit_123
          created_at: '2020-01-01T00:00:00.000Z'
          destination_tx_hash: '0xdeadbeef'
          source_deposit_instructions:
            deposit_message: BVI7depositmessage
          source:
            payment_rail: ach_push
            description: ACH description, if available
        - id: sm_event_123
          customer_id: cust_alice
          virtual_account_id: sm_123
          type: funds_received
          amount: '123.45'
          currency: usd
          developer_fee_amount: '0.0'
          exchange_fee_amount: '0.0'
          subtotal_amount: '123.45'
          gas_fee: '0.0'
          deposit_id: deposit_123
          created_at: '2020-01-01T00:00:00.000Z'
          source_deposit_instructions:
            deposit_message: BVI7depositmessage
          source:
            payment_rail: ach_push
            description: ACH description, if available
        - id: sm_event_457
          customer_id: cust_alice
          virtual_account_id: sm_123
          type: payment_submitted
          amount: '120.0'
          currency: usd
          developer_fee_amount: '1.25'
          exchange_fee_amount: '2.2'
          subtotal_amount: '120.0'
          gas_fee: '0.0'
          deposit_id: deposit_123
          created_at: '2020-01-01T00:00:00.000Z'
          destination_tx_hash: '0xdeadbeef'
          source_deposit_instructions:
            deposit_message: BVI7depositmessage
          source:
            payment_rail: wire
            bank_beneficiary_name: Bank beneficiary
            bank_beneficiary_address: Bank beneficiary address
            originator_name: Originator Name
            originator_address: Originator Address
            bank_routing_number: '1234567890'
            bank_name: Bank name
            imad: IMAD of incoming wire, if available
            omad: OMAD of incoming wire, if available (deprecated)
        - id: sm_event_124
          customer_id: cust_alice
          virtual_account_id: sm_123
          type: funds_received
          amount: '123.45'
          currency: usd
          developer_fee_amount: '0.0'
          exchange_fee_amount: '0.0'
          subtotal_amount: '123.45'
          gas_fee: '0.0'
          deposit_id: deposit_123
          created_at: '2020-01-01T00:00:00.000Z'
          source_deposit_instructions:
            deposit_message: BVI7depositmessage
          source:
            payment_rail: wire
            bank_beneficiary_name: Bank beneficiary
            bank_beneficiary_address: Bank beneficiary address
            originator_name: Originator Name
            originator_address: Originator Address
            bank_routing_number: '1234567890'
            bank_name: Bank name
            imad: IMAD of incoming wire, if available
            omad: OMAD of incoming wire, if available (deprecated)
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Api-Key
      in: header