// This file was auto-generated by Fern from our API Definition.

import type * as CoinbaseApi from "../../../../index.js";

/**
 * @example
 * ```ts
 * {
 *     idempotencyKey: "8e03978e-40d5-43e8-bc93-6894a57f9324",
 *     transferId: "transfer_af2937b0-9846-4fe7-bfe9-ccc22d935114",
 *     originator: {
 *         name: "John Doe",
 *         address: {
 *             line1: "123 Main St",
 *             city: "San Francisco",
 *             state: "CA",
 *             postCode: "94105",
 *             countryCode: "US"
 *         }
 *     },
 *     beneficiary: {
 *         name: "Jane Smith"
 *     },
 *     isSelf: false
 * }
 * ```
 */
export interface DepositTravelRuleRequest {
    /** The unique identifier of the transfer. */
    transferId: string;
    /**
     * An optional string request header for making requests safely retryable.
     * When included, duplicate requests with the same key will return identical responses.
     * Refer to our [Idempotency docs](https://docs.cdp.coinbase.com/api-reference/v2/idempotency) for more information on using idempotency keys.
     */
    idempotencyKey?: string;
    /** Originator information for the travel rule submission. */
    originator?: CoinbaseApi.DepositTravelRuleOriginator;
    /** Beneficiary information for the travel rule submission. */
    beneficiary?: CoinbaseApi.DepositTravelRuleBeneficiary;
    /** Indicates whether the user attests that the originating wallet belongs to them. */
    isSelf?: boolean;
}
