Fansly API LogoFansly API
Vault

Create Vault Album

Create a new vault album.

Create a new vault album in Fansly.

https://v1.apifansly.com/api/fansly
POST
/{accountId}/vault/albums

Get Started

All requests to the Fansly API require an API Key. See the Authentication page for details.

Request Body

curl -X POST "https://v1.apifansly.com/api/fansly/{accountId}/vault/albums" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Exclusive Content",
    "description": "My exclusive vault album"
  }'
fetch("https://v1.apifansly.com/api/fansly/{accountId}/vault/albums", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    title: "Exclusive Content",
    description: "My exclusive vault album"
  })
})
.then(response => response.json())
.then(data => console.log(data));
import requests

url = "https://v1.apifansly.com/api/fansly/{accountId}/vault/albums"
headers = {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "title": "Exclusive Content",
    "description": "My exclusive vault album"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();

        String jsonBody = "{\"title\":\"Exclusive Content\",\"description\":\"My exclusive vault album\"}";

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://v1.apifansly.com/api/fansly/{accountId}/vault/albums"))
                .header("x-api-key", "YOUR_API_KEY")
                .header("Content-Type", "application/json")
                .POST(HttpRequest.BodyPublishers.ofString(jsonBody))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");

        var jsonBody = "{\"title\":\"Exclusive Content\",\"description\":\"My exclusive vault album\"}";
        var content = new StringContent(jsonBody, Encoding.UTF8, "application/json");

        var response = await client.PostAsync("https://v1.apifansly.com/api/fansly/{accountId}/vault/albums", content);
        var responseString = await response.Content.ReadAsStringAsync();

        Console.WriteLine(responseString);
    }
}
package main

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

func main() {
    url := "https://v1.apifansly.com/api/fansly/{accountId}/vault/albums"

    jsonBody := []byte(`{"title":"Exclusive Content","description":"My exclusive vault album"}`)

    req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonBody))
    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 Parameters

accountId*
string
The unique identifier for the connected Fansly account.

Request Body Parameters

title*
string
The title of the vault album.
description ?
string
Optional description of the vault album.

Response

Success Response (201)

{
  "statusCode": 201,
  "message": "Success",
  "data": {
    "status_code": 200,
    "data": {
      "success": true,
      "response": {
        "accountId": "ACCOUNT_ID",
        "title": "Exclusive Content",
        "description": "My exclusive vault album",
        "pos": 4,
        "id": "ALBUM_ID"
      }
    }
  },
  "timestamp": "2026-10-14T14:46:36.028Z"
}

On this page