> This page is for Cash App Pay Partner API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.cash.app/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.cash.app/_mcp/server.

# Update request

PATCH https://api.cash.app/customer-request/v1/requests/{request_id}
Content-Type: application/json

Updates a customer request. The request must have its `status` in a `PENDING` state to successfully update.

To clear a field, set it to `null`. Fields that are not provided in the request will not be changed.
If updating an array field, the entire contents of the array must be passed.

Reference: https://developers.cash.app/cash-app-pay-partner-api/api-reference/customer-request-api/update-request

## Servers

- `https://api.cash.app/customer-request/v1` (Production, default)
- `https://sandbox.api.cash.app/customer-request/v1` (Sandbox)

## Request

### Path parameters

- `request_id` (string, required) — ID of the customer request.

### Body (application/json)

This endpoint expects an object.

- `request` (RequestsRequestIdPatchRequestBodyContentApplicationJsonSchemaRequest, required) — Details about the request to update

## Response

### 200

OK

- `request` (Request, required) — Describes a request from a client to perform a given action on a customer's account.

## Errors

### 400 Bad Request Error

Bad Request

- `errors` (list of Error, required) — A list of errors that occurred while processing the request. Min number of items: `1`

### 404 Not Found Error

Not Found

- `errors` (list of Error, required) — A list of errors that occurred while processing the request. Min number of items: `1`

## Types

### RequestsRequestIdPatchRequestBodyContentApplicationJsonSchemaRequest

Details about the request to update

- `actions` (list of Action, optional) — A list of the different actions a client intends to take on the customer if the request is approved. No duplicate action types allowed. Min number of items: `1` Max number of items: `5`
- `reference_id` (string, optional, nullable) — A user-defined identifier for this request, typically used to associate the resource with a record in an external system. Min length: `1` Max length: `1024`
- `metadata` (map from string to string, optional) — Freeform key-value pairs of arbitrary data associated with this resource. Keys and values must be passed as strings and not contain any personally identifiable information (PII). Min keys: `0` Max keys: `50` > Note: Nested keys are not supported.

### Request

Describes a request from a client to perform a given action on a customer's account.

- `id` (string, required) — A unique identifier for the request issued by Cash App. Min length: `1` Max length: `128`
- `status` (enum, required, default: PENDING) — Indicates if the state is approved, declined, or pending. Approved requests have grants, while pending and declined grants do not. Current values: - `PENDING`: The request has been created, but not responded to. - `PROCESSING`: The Cash App customer is actively responding to the request on their mobile device, and will require time to fill out information before the request is approved / declined. - `APPROVED`: The request was approved by the customer and grants have been created for the provided actions. - `DECLINED`: The request was denied by the customer. No grants were created.
  - Allowed values: `APPROVED`, `DECLINED`, `PENDING`, `PROCESSING`
- `actions` (list of Action, required) — Represents what the client intends to do to a customer if given authorization. No duplicate action types allowed. Min number of items: `1` Max number of items: `5`
- `redirect_url` (string, required) — If this request is responded to via mobile redirect, this field specifies the URL that Cash App will open for a customer in the mobile device's default browser after the request is approved or declined.
- `created_at` (datetime, required) — When this customer request was created, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
- `updated_at` (datetime, required) — When the customer request was last updated, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
- `expires_at` (datetime, required) — When this customer request will be automatically declined by Cash App, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
- `origin` (RequestOrigin, required) — Metadata describing how the customer request was created.
- `channel` (enum, required) — How the customer is expected to interact with the request. - `IN_PERSON`: The customer presents or scans a QR code at a physical location to approve the request. - `ONLINE`: The customer scans a QR code or is redirected to Cash App from a browser context. - `IN_APP`: The customer scans a QR code or is redirected to Cash App from a native mobile application context.
  - Allowed values: `IN_PERSON`, `ONLINE`, `IN_APP`
- `auth_flow_triggers` (RequestAuthFlowTriggers, optional) — While the request is `PENDING`, contains different methods that can be used to start the authorization flow in the Cash App mobile application. Its contents refresh each time the `refreshes_at` timestamp passes. When the data refreshes, you should update any buttons or QR codes referring to it immediately. After a request has been scanned (and is no longer in the `PENDING` status), this field will no longer be returned.
- `grants` (list of Grant, optional) — If present, contains grants that can be used to perform actions specified in the request using the Network API. Each grant corresponds directly to an action on the request. Min number of items: `1` Max number of items: `5`
- `reference_id` (string, optional) — A user-defined identifier for this request, typically used to associate the resource with a record in an external system. Min length: `1` Max length: `1024`
- `requester_profile` (RequestRequesterProfile, optional) — Details about the brand or client that are requesting permission to perform the actions on the customer request.
- `customer_profile` (RequestCustomerProfile, optional) — If the customer request was approved, contains the identity of the Cash App customer that approved it.
- `metadata` (map from string to string, optional) — Freeform key-value pairs of arbitrary data associated with this resource. Keys and values must be passed as strings and not contain any personally identifiable information (PII). Min keys: `0` Max keys: `50` > Note: Nested keys are not supported.
- `customer_metadata` (CustomerMetadata, optional) — Metadata to associate with the customer that approves this request.

### Error

Represents an error encountered during a request to the API.

- `category` (enum, required) — The high-level reason the error occurred
  - Allowed values: `API_ERROR`, `AUTHENTICATION_ERROR`, `BRAND_ERROR`, `DISPUTE_ERROR`, `MERCHANT_ERROR`, `INVALID_REQUEST_ERROR`, `PAYMENT_PROCESSING_ERROR`, `RATE_LIMIT_ERROR`, `WEBHOOK_ERROR`, `API_KEY_ERROR`, `GRANT_ERROR`
- `code` (string, required) — A unique identifier for the specific type of error that occurred. See the Error Code Reference for more information. Min length: `1`
- `detail` (string, optional) — Human-readable description of why the error occurred and how to resolve it. Min length: `1`
- `field` (string, optional) — The field in the request that caused the error, using array and object dot notation. Min length: `1`

### Action

Represents what the client intends to do to a customer if given authorization.

- `type`: `ONE_TIME_PAYMENT` (One Time Payment Action)
  - `scope_id` (string, required) — ID of the client, brand, or merchant that will charge the customer. If a client ID is passed, the grant from this action can be used to create a payment for any merchant owned by the client. If a brand ID is passed, the grant from this action can be used to create a payment for any merchant that has a matching brand ID. If a merchant ID is passed, the grant from this action can be used to create a payment for the merchant with a matching ID. Min length: `1` Max length: `128`
  - `amount` (integer, optional) — Amount to charge the customer, in the lowest unit of the associated currency. Min value: `1`
  - `currency` (enum, optional) — Indicates the country associated with an entity. Values are from the [ISO-4217 Alpha-3](https://www.iso.org/iso-4217-currency-codes.html) specification. Current values: - `USD`: United States Dollar
    - Allowed values: `USD`
- `type`: `ON_FILE_PAYMENT` (On File Payment Action)
  - `scope_id` (string, required) — ID of the client or brand that will charge customers. If a client ID is passed, the grant from this action can be used to create a payment for any merchant owned by the client. If a brand ID is passed, the grant from this action can be used to create a payment for any merchant that has a matching brand ID. Merchant IDs may *not* be passed. Min length: `1` Max length: `128`
  - `account_reference_id` (string, optional) — Identifier of the account or customer associated to the on file action.
- `type`: `ON_FILE_DEPOSIT` (On File Deposit Action)
  - `account_reference_id` (string, required) — Identifier of the account or customer associated to the on file action.
  - `scope_id` (string, required) — ID of the client or brand that indicates the set of merchants that will deposit to customers. If a client ID is passed, the grant from this action can be used to create a deposit for any merchant owned by the client. If a brand ID is passed, the grant from this action can be used to create a deposit for any merchant that has a matching brand ID. Min length: `1` Max length: `128`
- `type`: `ON_FILE_PAYOUT` (On File Payout Action)
  - `scope_id` (string, required) — ID of the client or brand that indicates the set of merchants that will payout to customers. If a client ID is passed, the grant from this action can be used to create a payout for any merchant owned by the client. If a brand ID is passed, the grant from this action can be used to create a payout for any merchant that has a matching brand ID. Merchant IDs may *not* be passed. Min length: `1` Max length: `128`
  - `account_reference_id` (string, optional) — Identifier of the account or customer associated to the on file action.
- `type`: `LINK_ACCOUNT` (Link Account Action)
- `type`: `CHECKING_BALANCE` (Checking Balance Action)
  - `scope_id` (string, required) — ID of the client or brand requesting access to read the customer's balances. If a client ID is passed, the grant from this action can be used to read balances on behalf of the client. If a brand ID is passed, the grant from this action can be used to read balances on behalf of any merchant that has a matching brand ID. Merchant IDs may *not* be passed. Min length: `1` Max length: `128`

### RequestOrigin

Metadata describing how the customer request was created.

- `type` (enum, required) — The method used to create the customer request. - `DIRECT` - the client or SDKs created this customer request by calling the "CreateCustomerRequest" endpoint - `REQUEST_INITIATOR` - a customer interacted with a request initiator and caused Cash App to create a customer request.
  - Allowed values: `DIRECT`, `REQUEST_INITIATOR`
- `id` (string, optional) — If present, is the ID of the initiator used to create this request. Min length: `1` Max length: `128`

### RequestAuthFlowTriggers

While the request is `PENDING`, contains different methods that can be used to start the authorization flow in the Cash App mobile application. Its contents refresh each time the `refreshes_at` timestamp passes. When the data refreshes, you should update any buttons or QR codes referring to it immediately. After a request has been scanned (and is no longer in the `PENDING` status), this field will no longer be returned.

- `qr_code_image_url` (string, required) — Link to a QR code customers can scan with Cash App to authorize the given action, encoded as a PNG file. Min length: `8` Max length: `1024`
- `qr_code_svg_url` (string, required) — Link to a QR code customers can scan with Cash App to authorize the given action, encoded as an SVG file. Min length: `8` Max length: `1024`
- `mobile_url` (string, required) — If on an Android or iOS device, the URL to redirect customers to in order to authorize the given action. Min length: `8` Max length: `1024`
- `refreshes_at` (datetime, required) — When the QR code image URL will be rotated. Generally, it will rotate every ~20 seconds and become invalid after 30 seconds.
- `desktop_url` (string, optional) — If on a desktop browser, the URL to redirect customers to in order to authorize the given action. Min length: `8` Max length: `1024`

### Grant

Describes a grant that can be used to perform actions specified in a customer request using the Network API.

- `id` (string, required) — Unique identifier for this grant issued by Cash App. Min length: `1` Max length: `256`
- `customer_id` (string, required) — ID of the customer that approved this grant. Min length: `1` Max length: `128`
- `request_id` (string, required) — A unique identifier issued by Cash App for the customer request that resulted in the creation of this grant. Min length: `1` Max length: `128`
- `action` (Action, required) — Represents what the client intends to do to a customer if given authorization.
- `status` (enum, required) — Describes whether or not this grant can be used to perform the action associated with it. If `ACTIVE`, it can be used to perform the action. If `EXPIRED`, it may no longer be used to perform the action due to the current time being past the "expires_at" time. If `CONSUMED`, it was already redeemed to perform the action and cannot be used again. If `REVOKED`, the customer or merchant explicitly unauthorized the grant, preventing it from being used to perform the action.
  - Allowed values: `ACTIVE`, `CONSUMED`, `REVOKED`, `EXPIRED`
- `type` (enum, required) — Describes whether this grant can be only be used once (`ONE_TIME`) or repeatedly (`EXTENDED`).
  - Allowed values: `ONE_TIME`, `EXTENDED`
- `channel` (enum, required) — How the customer is expected to interact with the request. - `IN_PERSON`: The customer presents or scans a QR code at a physical location to approve the request. - `ONLINE`: The customer scans a QR code or is redirected to Cash App from a browser context. - `IN_APP`: The customer scans a QR code or is redirected to Cash App from a native mobile application context.
  - Allowed values: `IN_PERSON`, `ONLINE`, `IN_APP`
- `created_at` (datetime, required) — When this grant was created, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
- `updated_at` (datetime, required) — When this grant was last updated, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
- `expires_at` (datetime, optional) — If present, indicates when the grant's status will become `EXPIRED`, preventing a client from using it to create payments or refunds. The timestamp is in the [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).

### RequestRequesterProfile

Details about the brand or client that are requesting permission to perform the actions on the customer request.

- `name` (string, required) — Name of the brand to be shown in Cash App next to payments. Min length: `1` Max length: `1024`
- `logo_url` (string, required) — URL to the image of the entity (brand or client) that is requesting permission to perform the actions on the customer request. Formats: - `.jpg` - `.jpeg` - `.png` Min length: `8` Max length: `8000`

### RequestCustomerProfile

If the customer request was approved, contains the identity of the Cash App customer that approved it.

- `id` (string, required) — Unique identifier for this customer issued by Cash App. Min length: `1` Max length: `128`
- `cashtag` (string, required) — Public identifier for the customer on Cash App. [Learn more](https://cash.app/help/us/en-us/3123-cashtags). Min length: `1` Max length: `1024`

### CustomerMetadata

Metadata to associate with the customer that approves this request.

- `reference_id` (string, optional) — The `reference_id` of the customer approving this request. When a customer approves this request, that customer will be associated with this `reference_id`.

## Examples

### Request with One Time Payment Action

**Response**

```json
{
  "request": {
    "id": "GRR_1hrxhz136krcq6ezdte2ha5q",
    "status": "PENDING",
    "actions": [
      {
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      }
    ],
    "redirect_url": "https://example.com",
    "created_at": "2022-01-01T12:09:00Z",
    "updated_at": "2022-01-01T12:10:00Z",
    "expires_at": "2033-01-01T12:20:00Z",
    "origin": {
      "type": "DIRECT",
      "id": "string"
    },
    "channel": "ONLINE",
    "auth_flow_triggers": {
      "qr_code_image_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=png",
      "qr_code_svg_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=svg",
      "mobile_url": "https://cash.app/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=mobile_url",
      "refreshes_at": "2019-08-24T14:15:22Z",
      "desktop_url": "https://pay.cash.app?customerRequestId=GRR_1hrxhz136krcq6ezdte2ha5q"
    },
    "reference_id": "external-id",
    "requester_profile": {
      "name": "The Sill",
      "logo_url": "https://picsum.photos/200"
    },
    "metadata": {},
    "customer_metadata": {}
  }
}
```

**SDK Code**

```python Request with One Time Payment Action
import requests

url = "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

headers = {
    "Accept": "Accept",
    "User-Agent": "User-Agent"
}

response = requests.patch(url, headers=headers)

print(response.json())
```

```javascript Request with One Time Payment Action
const url = 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q';
const options = {method: 'PATCH', headers: {Accept: 'Accept', 'User-Agent': 'User-Agent'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Request with One Time Payment Action
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

	req, _ := http.NewRequest("PATCH", url, nil)

	req.Header.Add("Accept", "Accept")
	req.Header.Add("User-Agent", "User-Agent")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Request with One Time Payment Action
require 'uri'
require 'net/http'

url = URI("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Accept"] = 'Accept'
request["User-Agent"] = 'User-Agent'

response = http.request(request)
puts response.read_body
```

```java Request with One Time Payment Action
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")
  .header("Accept", "Accept")
  .header("User-Agent", "User-Agent")
  .asString();
```

```php Request with One Time Payment Action
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q', [
  'headers' => [
    'Accept' => 'Accept',
    'User-Agent' => 'User-Agent',
  ],
]);

echo $response->getBody();
```

```csharp Request with One Time Payment Action
using RestSharp;

var client = new RestClient("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Accept", "Accept");
request.AddHeader("User-Agent", "User-Agent");
IRestResponse response = client.Execute(request);
```

```swift Request with One Time Payment Action
import Foundation

let headers = [
  "Accept": "Accept",
  "User-Agent": "User-Agent"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Request with On File Payment Action

**Response**

```json
{
  "request": {
    "id": "GRR_1hrxhz136krcq6ezdte2ha5q",
    "status": "PENDING",
    "actions": [
      {
        "type": "ON_FILE_PAYMENT",
        "scope_id": "BRAND_8ereg0tug2yiik8vx24xpe5br"
      }
    ],
    "redirect_url": "https://example.com",
    "created_at": "2022-01-01T12:09:00Z",
    "updated_at": "2022-01-01T12:10:00Z",
    "expires_at": "2033-01-01T12:20:00Z",
    "origin": {
      "type": "DIRECT",
      "id": "string"
    },
    "channel": "ONLINE",
    "auth_flow_triggers": {
      "qr_code_image_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=png",
      "qr_code_svg_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=svg",
      "mobile_url": "https://cash.app/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=mobile_url",
      "refreshes_at": "2019-08-24T14:15:22Z",
      "desktop_url": "https://pay.cash.app?customerRequestId=GRR_1hrxhz136krcq6ezdte2ha5q"
    },
    "reference_id": "external-id",
    "requester_profile": {
      "name": "The Sill",
      "logo_url": "https://picsum.photos/200"
    },
    "metadata": {},
    "customer_metadata": {}
  }
}
```

**SDK Code**

```python Request with On File Payment Action
import requests

url = "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

headers = {
    "Accept": "Accept",
    "User-Agent": "User-Agent"
}

response = requests.patch(url, headers=headers)

print(response.json())
```

```javascript Request with On File Payment Action
const url = 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q';
const options = {method: 'PATCH', headers: {Accept: 'Accept', 'User-Agent': 'User-Agent'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Request with On File Payment Action
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

	req, _ := http.NewRequest("PATCH", url, nil)

	req.Header.Add("Accept", "Accept")
	req.Header.Add("User-Agent", "User-Agent")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Request with On File Payment Action
require 'uri'
require 'net/http'

url = URI("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Accept"] = 'Accept'
request["User-Agent"] = 'User-Agent'

response = http.request(request)
puts response.read_body
```

```java Request with On File Payment Action
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")
  .header("Accept", "Accept")
  .header("User-Agent", "User-Agent")
  .asString();
```

```php Request with On File Payment Action
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q', [
  'headers' => [
    'Accept' => 'Accept',
    'User-Agent' => 'User-Agent',
  ],
]);

echo $response->getBody();
```

```csharp Request with On File Payment Action
using RestSharp;

var client = new RestClient("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Accept", "Accept");
request.AddHeader("User-Agent", "User-Agent");
IRestResponse response = client.Execute(request);
```

```swift Request with On File Payment Action
import Foundation

let headers = [
  "Accept": "Accept",
  "User-Agent": "User-Agent"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Request with On File Payout Action

**Response**

```json
{
  "request": {
    "id": "GRR_1hrxhz136krcq6ezdte2ha5q",
    "status": "PENDING",
    "actions": [
      {
        "type": "ON_FILE_PAYMENT",
        "scope_id": "CASH_CHECKOUT",
        "account_reference_id": "dafdsfasdfasdfasdf"
      }
    ],
    "redirect_url": "https://example.com",
    "created_at": "2022-01-01T12:09:00Z",
    "updated_at": "2022-01-01T12:10:00Z",
    "expires_at": "2033-01-01T12:20:00Z",
    "origin": {
      "type": "DIRECT",
      "id": "string"
    },
    "channel": "ONLINE",
    "auth_flow_triggers": {
      "qr_code_image_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=png",
      "qr_code_svg_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=svg",
      "mobile_url": "https://cash.app/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=mobile_url",
      "refreshes_at": "2019-08-24T14:15:22Z",
      "desktop_url": "https://pay.cash.app?customerRequestId=GRR_1hrxhz136krcq6ezdte2ha5q"
    },
    "reference_id": "external-id",
    "requester_profile": {
      "name": "The Sill",
      "logo_url": "https://picsum.photos/200"
    },
    "metadata": {},
    "customer_metadata": {}
  }
}
```

**SDK Code**

```python Request with On File Payout Action
import requests

url = "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

headers = {
    "Accept": "Accept",
    "User-Agent": "User-Agent"
}

response = requests.patch(url, headers=headers)

print(response.json())
```

```javascript Request with On File Payout Action
const url = 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q';
const options = {method: 'PATCH', headers: {Accept: 'Accept', 'User-Agent': 'User-Agent'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Request with On File Payout Action
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

	req, _ := http.NewRequest("PATCH", url, nil)

	req.Header.Add("Accept", "Accept")
	req.Header.Add("User-Agent", "User-Agent")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Request with On File Payout Action
require 'uri'
require 'net/http'

url = URI("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Accept"] = 'Accept'
request["User-Agent"] = 'User-Agent'

response = http.request(request)
puts response.read_body
```

```java Request with On File Payout Action
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")
  .header("Accept", "Accept")
  .header("User-Agent", "User-Agent")
  .asString();
```

```php Request with On File Payout Action
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q', [
  'headers' => [
    'Accept' => 'Accept',
    'User-Agent' => 'User-Agent',
  ],
]);

echo $response->getBody();
```

```csharp Request with On File Payout Action
using RestSharp;

var client = new RestClient("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Accept", "Accept");
request.AddHeader("User-Agent", "User-Agent");
IRestResponse response = client.Execute(request);
```

```swift Request with On File Payout Action
import Foundation

let headers = [
  "Accept": "Accept",
  "User-Agent": "User-Agent"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Request with Link Account Action

**Response**

```json
{
  "request": {
    "id": "GRR_1hrxhz136krcq6ezdte2ha5q",
    "status": "PENDING",
    "actions": [
      {
        "type": "ON_FILE_PAYMENT",
        "scope_id": "BRAND_8ereg0tug2yiik8vx24xpe5br"
      }
    ],
    "redirect_url": "https://example.com",
    "created_at": "2022-01-01T12:09:00Z",
    "updated_at": "2022-01-01T12:10:00Z",
    "expires_at": "2033-01-01T12:20:00Z",
    "origin": {
      "type": "DIRECT",
      "id": "string"
    },
    "channel": "ONLINE",
    "auth_flow_triggers": {
      "qr_code_image_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=png",
      "qr_code_svg_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=svg",
      "mobile_url": "https://cash.app/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=mobile_url",
      "refreshes_at": "2019-08-24T14:15:22Z",
      "desktop_url": "https://pay.cash.app?customerRequestId=GRR_1hrxhz136krcq6ezdte2ha5q"
    },
    "reference_id": "external-id",
    "requester_profile": {
      "name": "The Sill",
      "logo_url": "https://picsum.photos/200"
    },
    "metadata": {},
    "customer_metadata": {}
  }
}
```

**SDK Code**

```python Request with Link Account Action
import requests

url = "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

headers = {
    "Accept": "Accept",
    "User-Agent": "User-Agent"
}

response = requests.patch(url, headers=headers)

print(response.json())
```

```javascript Request with Link Account Action
const url = 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q';
const options = {method: 'PATCH', headers: {Accept: 'Accept', 'User-Agent': 'User-Agent'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Request with Link Account Action
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

	req, _ := http.NewRequest("PATCH", url, nil)

	req.Header.Add("Accept", "Accept")
	req.Header.Add("User-Agent", "User-Agent")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Request with Link Account Action
require 'uri'
require 'net/http'

url = URI("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Accept"] = 'Accept'
request["User-Agent"] = 'User-Agent'

response = http.request(request)
puts response.read_body
```

```java Request with Link Account Action
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")
  .header("Accept", "Accept")
  .header("User-Agent", "User-Agent")
  .asString();
```

```php Request with Link Account Action
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q', [
  'headers' => [
    'Accept' => 'Accept',
    'User-Agent' => 'User-Agent',
  ],
]);

echo $response->getBody();
```

```csharp Request with Link Account Action
using RestSharp;

var client = new RestClient("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Accept", "Accept");
request.AddHeader("User-Agent", "User-Agent");
IRestResponse response = client.Execute(request);
```

```swift Request with Link Account Action
import Foundation

let headers = [
  "Accept": "Accept",
  "User-Agent": "User-Agent"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Sample request with metadata

**Request**

```json
{
  "request": {
    "actions": [
      {
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      }
    ],
    "reference_id": "string",
    "metadata": {
      "key": "value"
    }
  }
}
```

**Response**

```json
{
  "request": {
    "id": "GRR_1hrxhz136krcq6ezdte2ha5q",
    "status": "PENDING",
    "actions": [
      {
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      }
    ],
    "redirect_url": "https://example.com",
    "created_at": "2022-01-01T12:09:00Z",
    "updated_at": "2022-01-01T12:10:00Z",
    "expires_at": "2033-01-01T12:20:00Z",
    "origin": {
      "type": "DIRECT",
      "id": "string"
    },
    "channel": "ONLINE",
    "auth_flow_triggers": {
      "qr_code_image_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=png",
      "qr_code_svg_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=svg",
      "mobile_url": "https://cash.app/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=mobile_url",
      "refreshes_at": "2019-08-24T14:15:22Z",
      "desktop_url": "https://pay.cash.app?customerRequestId=GRR_1hrxhz136krcq6ezdte2ha5q"
    },
    "reference_id": "external-id",
    "requester_profile": {
      "name": "The Sill",
      "logo_url": "https://picsum.photos/200"
    },
    "metadata": {},
    "customer_metadata": {}
  }
}
```

**SDK Code**

```python Sample request with metadata
import requests

url = "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

payload = { "request": {
        "actions": [
            {
                "type": "ONE_TIME_PAYMENT",
                "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
                "amount": 2500,
                "currency": "USD"
            }
        ],
        "reference_id": "string",
        "metadata": { "key": "value" }
    } }
headers = {
    "Accept": "Accept",
    "User-Agent": "User-Agent",
    "Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
```

```javascript Sample request with metadata
const url = 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q';
const options = {
  method: 'PATCH',
  headers: {
    Accept: 'Accept',
    'User-Agent': 'User-Agent',
    'Content-Type': 'application/json'
  },
  body: '{"request":{"actions":[{"type":"ONE_TIME_PAYMENT","scope_id":"MMI_4vxs5egfk7hmta3qx2h6rp91x","amount":2500,"currency":"USD"}],"reference_id":"string","metadata":{"key":"value"}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Sample request with metadata
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

	payload := strings.NewReader("{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\",\n    \"metadata\": {\n      \"key\": \"value\"\n    }\n  }\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("Accept", "Accept")
	req.Header.Add("User-Agent", "User-Agent")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Sample request with metadata
require 'uri'
require 'net/http'

url = URI("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Accept"] = 'Accept'
request["User-Agent"] = 'User-Agent'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\",\n    \"metadata\": {\n      \"key\": \"value\"\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Sample request with metadata
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")
  .header("Accept", "Accept")
  .header("User-Agent", "User-Agent")
  .header("Content-Type", "application/json")
  .body("{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\",\n    \"metadata\": {\n      \"key\": \"value\"\n    }\n  }\n}")
  .asString();
```

```php Sample request with metadata
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q', [
  'body' => '{
  "request": {
    "actions": [
      {
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      }
    ],
    "reference_id": "string",
    "metadata": {
      "key": "value"
    }
  }
}',
  'headers' => [
    'Accept' => 'Accept',
    'Content-Type' => 'application/json',
    'User-Agent' => 'User-Agent',
  ],
]);

echo $response->getBody();
```

```csharp Sample request with metadata
using RestSharp;

var client = new RestClient("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Accept", "Accept");
request.AddHeader("User-Agent", "User-Agent");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\",\n    \"metadata\": {\n      \"key\": \"value\"\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Sample request with metadata
import Foundation

let headers = [
  "Accept": "Accept",
  "User-Agent": "User-Agent",
  "Content-Type": "application/json"
]
let parameters = ["request": [
    "actions": [
      [
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      ]
    ],
    "reference_id": "string",
    "metadata": ["key": "value"]
  ]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Sample request without metadata

**Request**

```json
{
  "request": {
    "actions": [
      {
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      }
    ],
    "reference_id": "string"
  }
}
```

**Response**

```json
{
  "request": {
    "id": "GRR_1hrxhz136krcq6ezdte2ha5q",
    "status": "PENDING",
    "actions": [
      {
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      }
    ],
    "redirect_url": "https://example.com",
    "created_at": "2022-01-01T12:09:00Z",
    "updated_at": "2022-01-01T12:10:00Z",
    "expires_at": "2033-01-01T12:20:00Z",
    "origin": {
      "type": "DIRECT",
      "id": "string"
    },
    "channel": "ONLINE",
    "auth_flow_triggers": {
      "qr_code_image_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=png",
      "qr_code_svg_url": "https://api.cash.app/qr/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=qr?rounded=0&format=svg",
      "mobile_url": "https://cash.app/f/GRANTLY_MANAGED_GRANT%3Frequest_id=GRR_1hrxhz136krcq6ezdte2ha5q-k21srg&method=mobile_url",
      "refreshes_at": "2019-08-24T14:15:22Z",
      "desktop_url": "https://pay.cash.app?customerRequestId=GRR_1hrxhz136krcq6ezdte2ha5q"
    },
    "reference_id": "external-id",
    "requester_profile": {
      "name": "The Sill",
      "logo_url": "https://picsum.photos/200"
    },
    "metadata": {},
    "customer_metadata": {}
  }
}
```

**SDK Code**

```python Sample request without metadata
import requests

url = "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

payload = { "request": {
        "actions": [
            {
                "type": "ONE_TIME_PAYMENT",
                "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
                "amount": 2500,
                "currency": "USD"
            }
        ],
        "reference_id": "string"
    } }
headers = {
    "Accept": "Accept",
    "User-Agent": "User-Agent",
    "Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
```

```javascript Sample request without metadata
const url = 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q';
const options = {
  method: 'PATCH',
  headers: {
    Accept: 'Accept',
    'User-Agent': 'User-Agent',
    'Content-Type': 'application/json'
  },
  body: '{"request":{"actions":[{"type":"ONE_TIME_PAYMENT","scope_id":"MMI_4vxs5egfk7hmta3qx2h6rp91x","amount":2500,"currency":"USD"}],"reference_id":"string"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Sample request without metadata
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q"

	payload := strings.NewReader("{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\"\n  }\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("Accept", "Accept")
	req.Header.Add("User-Agent", "User-Agent")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Sample request without metadata
require 'uri'
require 'net/http'

url = URI("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Accept"] = 'Accept'
request["User-Agent"] = 'User-Agent'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Sample request without metadata
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")
  .header("Accept", "Accept")
  .header("User-Agent", "User-Agent")
  .header("Content-Type", "application/json")
  .body("{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\"\n  }\n}")
  .asString();
```

```php Sample request without metadata
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q', [
  'body' => '{
  "request": {
    "actions": [
      {
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      }
    ],
    "reference_id": "string"
  }
}',
  'headers' => [
    'Accept' => 'Accept',
    'Content-Type' => 'application/json',
    'User-Agent' => 'User-Agent',
  ],
]);

echo $response->getBody();
```

```csharp Sample request without metadata
using RestSharp;

var client = new RestClient("https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Accept", "Accept");
request.AddHeader("User-Agent", "User-Agent");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"request\": {\n    \"actions\": [\n      {\n        \"type\": \"ONE_TIME_PAYMENT\",\n        \"scope_id\": \"MMI_4vxs5egfk7hmta3qx2h6rp91x\",\n        \"amount\": 2500,\n        \"currency\": \"USD\"\n      }\n    ],\n    \"reference_id\": \"string\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Sample request without metadata
import Foundation

let headers = [
  "Accept": "Accept",
  "User-Agent": "User-Agent",
  "Content-Type": "application/json"
]
let parameters = ["request": [
    "actions": [
      [
        "type": "ONE_TIME_PAYMENT",
        "scope_id": "MMI_4vxs5egfk7hmta3qx2h6rp91x",
        "amount": 2500,
        "currency": "USD"
      ]
    ],
    "reference_id": "string"
  ]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.cash.app/customer-request/v1/requests/GRR_1hrxhz136krcq6ezdte2ha5q")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```