Create Users Bookmark
POST
/
2
/
users
/
{id}
/
bookmarks
Create Users Bookmark
curl --request POST \
--url https://api.x.com/2/users/{id}/bookmarks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tweet_id": "<string>",
"folder_id": "<string>"
}
'import requests
url = "https://api.x.com/2/users/{id}/bookmarks"
payload = {
"tweet_id": "<string>",
"folder_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tweet_id: '<string>', folder_id: '<string>'})
};
fetch('https://api.x.com/2/users/{id}/bookmarks', 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.x.com/2/users/{id}/bookmarks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tweet_id' => '<string>',
'folder_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.x.com/2/users/{id}/bookmarks"
payload := strings.NewReader("{\n \"tweet_id\": \"<string>\",\n \"folder_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.x.com/2/users/{id}/bookmarks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tweet_id\": \"<string>\",\n \"folder_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/users/{id}/bookmarks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tweet_id\": \"<string>\",\n \"folder_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"bookmarked": true
},
"errors": [
{
"detail": "<string>",
"resource_type": "<string>",
"title": "<string>",
"type": "https://api.x.com/2/problems/resource-not-found",
"parameter": "<string>",
"resource_id": "<string>",
"status": 123,
"value": "<string>"
}
]
}{
"code": 123,
"message": "<string>"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
FlowAuthorization Code
- Authorization URL
- https://api.x.com/2/oauth2/authorize
- Token URL
- https://api.x.com/2/oauth2/token
Scopes3
users.read
View any account you can see, including protected accounts.
tweet.read
View all posts you can see, including those from protected accounts.
bookmark.write
Create and delete your bookmarks.
Path Parameters
Unique identifier of a User
Pattern:
^[0-9]{1,19}$Example:
"2244994945"
Body
application/json
⌘I
Create Users Bookmark
curl --request POST \
--url https://api.x.com/2/users/{id}/bookmarks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tweet_id": "<string>",
"folder_id": "<string>"
}
'import requests
url = "https://api.x.com/2/users/{id}/bookmarks"
payload = {
"tweet_id": "<string>",
"folder_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tweet_id: '<string>', folder_id: '<string>'})
};
fetch('https://api.x.com/2/users/{id}/bookmarks', 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.x.com/2/users/{id}/bookmarks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tweet_id' => '<string>',
'folder_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.x.com/2/users/{id}/bookmarks"
payload := strings.NewReader("{\n \"tweet_id\": \"<string>\",\n \"folder_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.x.com/2/users/{id}/bookmarks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tweet_id\": \"<string>\",\n \"folder_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/users/{id}/bookmarks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tweet_id\": \"<string>\",\n \"folder_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"bookmarked": true
},
"errors": [
{
"detail": "<string>",
"resource_type": "<string>",
"title": "<string>",
"type": "https://api.x.com/2/problems/resource-not-found",
"parameter": "<string>",
"resource_id": "<string>",
"status": 123,
"value": "<string>"
}
]
}{
"code": 123,
"message": "<string>"
}