Payouts & Wallet
Add Payout Method
Add a new payout method to a Fansly account.
This endpoint allows you to add a new payout method to a specific account. You need to provide the provider ID and the necessary metadata for the payout method.
Two-Factor Authentication
This endpoint may occasionally require Two-Factor Authentication (2FA) for sensitive operations, though this is not frequently triggered. When required, you must first obtain and verify a code via the Send OTP and Verify OTP endpoints. Once verified, you can proceed with this request normally.
https://v1.apifansly.com
POST
/api/fansly/{account_id}/payout/add
Get Started
All requests to the Fansly API require an API Key. See the Authentication page for details.
curl -X POST "https://v1.apifansly.com/api/fansly/{account_id}/payout/add" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "",
"providerId": "2",
"metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
"type": 1
}'fetch("https://v1.apifansly.com/api/fansly/{account_id}/payout/add", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
"id": "",
"providerId": "2",
"metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
"type": 1
})
})import requests
url = "https://v1.apifansly.com/api/fansly/{account_id}/payout/add"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"id": "",
"providerId": "2",
"metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
"type": 1
}
response = requests.post(url, headers=headers, json=data)
print(response.json())import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String jsonBody = "{\"id\": \"\", \"providerId\": \"2\", \"metadata\": \"{\\\"field0\\\":\\\"\\\",\\\"field1\\\":\\\"\\\",\\\"email\\\":\\\"xxxxxxxx@gmail.com\\\"}\", \"type\": 1}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://v1.apifansly.com/api/fansly/{account_id}/payout/add"))
.header("x-api-key", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
.thenApply(HttpResponse::body)
.thenAccept(System.out::println)
.join();using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var json = JsonSerializer.Serialize(new {
id = "",
providerId = "2",
metadata = "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
type = 1
});
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://v1.apifansly.com/api/fansly/{account_id}/payout/add", content);
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);package main
import (
"bytes"
"encoding/json"
"net/http"
"fmt"
"io/ioutil"
)
func main() {
url := "https://v1.apifansly.com/api/fansly/{account_id}/payout/add"
values := map[string]interface{}{
"id": "",
"providerId": "2",
"metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
"type": 1,
}
jsonData, _ := json.Marshal(values)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("x-api-key", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}Path Variables
account_id*
stringThe unique identifier for the account.
Request Body Parameters
The request body must be sent as JSON with the following parameters:
providerId*
stringThe provider ID (e.g., "2" for PayPal).
metadata*
stringJSON string containing provider-specific metadata (e.g., {"field0":"","field1":"","email":"..."}).
type*
integerThe payout method type (default: 1).
id ?
stringThe payout method ID (leave empty for new).
Response
{
"statusCode": 201,
"message": "Success",
"data": {
"status_code": 200,
"data": {
"success": true,
"response": {
"accountId": "86540xxxxxxxxxxxxxx",
"providerId": "2",
"type": 1,
"metadata": "{\"email\":\"xxxxxx@gmail.com\"}",
"id": "87582xxxxxxxxxxxx",
"status": 3,
"version": 0
}
}
},
"timestamp": "2026-02-05T15:44:23.338Z"
}Response Fields
| Field | Type | Description |
|---|---|---|
statusCode | integer | HTTP status code |
data.response.id | string | The ID of the newly created payout method |
data.response.providerId | string | The provider ID |
data.response.metadata | string | The metadata string |