Skip to main content

CreateDisbursementRequest

Struct CreateDisbursementRequest 

Source
pub struct CreateDisbursementRequest {
    pub amount: String,
    pub asset: Asset,
    pub compliance: Option<DisbursementCompliance>,
    pub customer_display: Option<CreateDisbursementRequestCustomerDisplay>,
    pub external_reference_id: Option<CreateDisbursementRequestExternalReferenceId>,
    pub metadata: Option<Metadata>,
    pub reason: Option<String>,
    pub source: DisbursementSource,
    pub target: DisbursementTarget,
}
Expand description

A request to create a disbursement.

JSON schema
{
 "description": "A request to create a disbursement.",
 "examples": [
   {
     "amount": "25.00",
     "asset": "usdc",
     "compliance": {
       "recipient": {
         "address": {
           "city": "Austin",
           "countryCode": "US",
           "line1": "456 Oak Ave",
           "postCode": "78701",
           "state": "TX"
         },
         "name": "Jane Smith"
       }
     },
     "customerDisplay": {
       "merchantName": "Acme Store",
       "referenceCode": "REF-ABC123"
     },
     "externalReferenceId": "disbursement-2026-04-1234",
     "metadata": {
       "customer_id": "cust_12345",
       "order_id": "order_67890"
     },
     "reason": "Goodwill disbursement for delayed shipment.",
     "source": {
       "accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
       "asset": "usdc"
     },
     "target": {
       "coinbaseUserId": "coinbase_user_abc123"
     }
   }
 ],
 "type": "object",
 "required": [
   "amount",
   "asset",
   "source",
   "target"
 ],
 "properties": {
   "amount": {
     "description": "A decimal representation of the amount to disburse, denominated in `asset`.",
     "examples": [
       "25.00"
     ],
     "type": "string"
   },
   "asset": {
     "description": "The symbol of the asset for the disbursement amount.",
     "examples": [
       "usdc"
     ],
     "allOf": [
       {
         "$ref": "#/components/schemas/Asset"
       }
     ]
   },
   "compliance": {
     "description": "Compliance context for this disbursement. Carries recipient information required by some entity configurations to meet regulatory requirements.",
     "writeOnly": true,
     "allOf": [
       {
         "$ref": "#/components/schemas/DisbursementCompliance"
       }
     ]
   },
   "customerDisplay": {
     "description": "Display information shown to the recipient for this disbursement. If `referenceCode` is omitted, one is generated.",
     "allOf": [
       {
         "$ref": "#/components/schemas/OperationCustomerDisplay"
       },
       {
         "type": "object",
         "properties": {
           "merchantName": {
             "description": "The merchant name to display to the recipient. When provided, this overrides the default merchant name configured for your entity. If omitted or empty, the default name is used. Useful when a merchant operates multiple storefronts or brands under a single entity.",
             "examples": [
               "Acme Store"
             ],
             "type": "string",
             "maxLength": 128,
             "x-audience": "public"
           }
         },
         "x-audience": "public"
       }
     ]
   },
   "externalReferenceId": {
     "description": "An identifier from your system for tracking this disbursement. Not shown to the recipient. Must not contain personally identifiable information (PII) or payment credentials.",
     "examples": [
       "disbursement-2026-04-1234"
     ],
     "type": "string",
     "maxLength": 256
   },
   "metadata": {
     "$ref": "#/components/schemas/Metadata"
   },
   "reason": {
     "description": "Human-readable reason for the disbursement.",
     "examples": [
       "Goodwill disbursement for delayed shipment."
     ],
     "type": "string"
   },
   "source": {
     "description": "The source from which to fund the disbursement.",
     "examples": [
       {
         "accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
         "asset": "usdc"
       }
     ],
     "allOf": [
       {
         "$ref": "#/components/schemas/DisbursementSource"
       }
     ]
   },
   "target": {
     "description": "The target receiving the disbursement.",
     "examples": [
       {
         "coinbaseUserId": "coinbase_user_abc123"
       }
     ],
     "allOf": [
       {
         "$ref": "#/components/schemas/DisbursementTarget"
       }
     ]
   }
 }
}

Fields§

§amount: String

A decimal representation of the amount to disburse, denominated in asset.

§asset: Asset

The symbol of the asset for the disbursement amount.

§compliance: Option<DisbursementCompliance>

Compliance context for this disbursement. Carries recipient information required by some entity configurations to meet regulatory requirements.

§customer_display: Option<CreateDisbursementRequestCustomerDisplay>§external_reference_id: Option<CreateDisbursementRequestExternalReferenceId>

An identifier from your system for tracking this disbursement. Not shown to the recipient. Must not contain personally identifiable information (PII) or payment credentials.

§metadata: Option<Metadata>§reason: Option<String>

Human-readable reason for the disbursement.

§source: DisbursementSource

The source from which to fund the disbursement.

§target: DisbursementTarget

The target receiving the disbursement.

Implementations§

Trait Implementations§

Source§

impl Clone for CreateDisbursementRequest

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CreateDisbursementRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CreateDisbursementRequest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<&CreateDisbursementRequest> for CreateDisbursementRequest

Source§

fn from(value: &CreateDisbursementRequest) -> Self

Converts to this type from the input type.
Source§

impl From<CreateDisbursementRequest> for CreateDisbursementRequest

Source§

fn from(value: CreateDisbursementRequest) -> Self

Converts to this type from the input type.
Source§

impl Serialize for CreateDisbursementRequest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<CreateDisbursementRequest> for CreateDisbursementRequest

Source§

type Error = ConversionError

The type returned in the event of a conversion error.
Source§

fn try_from(value: CreateDisbursementRequest) -> Result<Self, ConversionError>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more