Delete deployment(s)
curl --request DELETE \
--url https://api.neynar.com/v2/studio/deployment/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"fid": 3,
"deployment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"namespace": "<string>"
}
'import requests
url = "https://api.neynar.com/v2/studio/deployment/"
payload = {
"fid": 3,
"deployment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"namespace": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fid: 3,
deployment_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
namespace: '<string>'
})
};
fetch('https://api.neynar.com/v2/studio/deployment/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.neynar.com/v2/studio/deployment/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'fid' => 3,
'deployment_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'namespace' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.neynar.com/v2/studio/deployment/"
payload := strings.NewReader("{\n \"fid\": 3,\n \"deployment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"namespace\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.neynar.com/v2/studio/deployment/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"fid\": 3,\n \"deployment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"namespace\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neynar.com/v2/studio/deployment/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fid\": 3,\n \"deployment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"namespace\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"deletedCount": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Delete deployment(s)
Deletes a specific miniapp generator deployment or all deployments for a FID. If deployment_id or name is provided, deletes single deployment. If only FID is provided, deletes all deployments for that FID. Requires API key authentication. Note: Studio CU is tracked based on LLM token usage, not per API call.
DELETE
/
v2
/
studio
/
deployment
/
Delete deployment(s)
curl --request DELETE \
--url https://api.neynar.com/v2/studio/deployment/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"fid": 3,
"deployment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"namespace": "<string>"
}
'import requests
url = "https://api.neynar.com/v2/studio/deployment/"
payload = {
"fid": 3,
"deployment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"namespace": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fid: 3,
deployment_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
namespace: '<string>'
})
};
fetch('https://api.neynar.com/v2/studio/deployment/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.neynar.com/v2/studio/deployment/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'fid' => 3,
'deployment_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'namespace' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.neynar.com/v2/studio/deployment/"
payload := strings.NewReader("{\n \"fid\": 3,\n \"deployment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"namespace\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.neynar.com/v2/studio/deployment/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"fid\": 3,\n \"deployment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"namespace\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neynar.com/v2/studio/deployment/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fid\": 3,\n \"deployment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"namespace\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"deletedCount": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}The Miniapp Studio API is an allowlisted API and not publicly available. Contact the Neynar team for more information.
Node.js SDK
š SDK Method: deleteDeployment Use this API endpoint with the Neynar Node.js SDK for typed responses and better developer experience.Authorizations
API key to authorize requests
Body
application/json
Farcaster ID of the user
Required range:
x >= 0Example:
3
Deployment ID (UUID). If provided, deletes this specific deployment.
Kubernetes deployment name. If not provided and deployment_id not provided, all deployments for the FID will be deleted
Optional Kubernetes namespace. If not provided, will query for the active namespace for the given FID.
Was this page helpful?