Skip to main content
PATCH
/
x
/
profile
/
banner
Update banner
curl --request PATCH \
  --url https://xquik.com/api/v1/x/profile/banner \
  --header 'Content-Type: <content-type>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "account": "<string>",
  "file": {},
  "url": "<string>"
}
'
import requests

url = "https://xquik.com/api/v1/x/profile/banner"

payload = {
"account": "<string>",
"file": {},
"url": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "<content-type>"
}

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

print(response.text)
const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': '<content-type>'},
body: JSON.stringify({account: '<string>', file: {}, url: '<string>'})
};

fetch('https://xquik.com/api/v1/x/profile/banner', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

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

func main() {

url := "https://xquik.com/api/v1/x/profile/banner"

payload := strings.NewReader("{\n \"account\": \"<string>\",\n \"file\": {},\n \"url\": \"<string>\"\n}")

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

req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "<content-type>")

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

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

fmt.Println(string(body))

}
10 credits per call · All plans from $0.00012/credit
curl -X PATCH https://xquik.com/api/v1/x/profile/banner \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -F "account=myxaccount" \
  -F "file=@banner.png" | jq
const fs = require("fs");
const FormData = require("form-data");

const form = new FormData();
form.append("account", "myxaccount");
form.append("file", fs.createReadStream("banner.png"));

const response = await fetch("https://xquik.com/api/v1/x/profile/banner", {
  method: "PATCH",
  headers: {
    "x-api-key": "xq_YOUR_KEY_HERE",
  },
  body: form,
});
const data = await response.json();
import requests

with open("banner.png", "rb") as f:
    response = requests.patch(
        "https://xquik.com/api/v1/x/profile/banner",
        headers={"x-api-key": "xq_YOUR_KEY_HERE"},
        files={"file": ("banner.png", f, "image/png")},
        data={"account": "myxaccount"},
    )
data = response.json()
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    var buf bytes.Buffer
    writer := multipart.NewWriter(&buf)
    writer.WriteField("account", "myxaccount")

    file, err := os.Open("banner.png")
    if err != nil {
        panic(err)
    }
    defer file.Close()

    part, err := writer.CreateFormFile("file", "banner.png")
    if err != nil {
        panic(err)
    }
    io.Copy(part, file)
    writer.Close()

    req, err := http.NewRequest("PATCH", "https://xquik.com/api/v1/x/profile/banner", &buf)
    if err != nil {
        panic(err)
    }
    req.Header.Set("x-api-key", "xq_YOUR_KEY_HERE")
    req.Header.Set("Content-Type", writer.FormDataContentType())

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var data map[string]interface{}
    if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
        panic(err)
    }
    fmt.Println(data)
}
curl -X PATCH https://xquik.com/api/v1/x/profile/banner \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "account": "myxaccount",
    "url": "https://example.com/banner.png"
  }' | jq

Headers

x-api-key
string
required
Your API key. Session cookie authentication is also supported. Generate a key from the dashboard.
Content-Type
string
required
Use multipart/form-data for file uploads or application/json for URL uploads. Most HTTP clients set the multipart boundary automatically.

Body

account
string
required
X username or account ID of your connected account to act as.
file
binary
Multipart upload file. Required unless url is provided. Accepted formats: JPEG, PNG. Maximum file size: 2 MB.
url
string
JSON upload URL. Required unless file is provided. Must be an HTTPS URL that Xquik can fetch directly.

Response

success
boolean
Always true on success.
{
  "success": true
}
Related: Update Avatar to change the profile picture, or Update Profile to update name, bio, and other text fields.
Last modified on May 9, 2026