Adicionar chave pública
Registra a chave pública de um usuário para a criptografia do X Chat, permitindo que outros participantes criptografem chaves de conversa para ele.
POST
/
2
/
users
/
{id}
/
public_keys
Add public key
curl --request POST \
--url https://api.x.com/2/users/{id}/public_keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"public_key": {
"identity_public_key_signature": "<string>",
"public_key": "<string>",
"public_key_fingerprint": "<string>",
"registration_method": "<string>",
"signing_public_key": "<string>",
"signing_public_key_signature": "<string>"
},
"version": "<string>",
"generate_version": true
}
'import requests
url = "https://api.x.com/2/users/{id}/public_keys"
payload = {
"public_key": {
"identity_public_key_signature": "<string>",
"public_key": "<string>",
"public_key_fingerprint": "<string>",
"registration_method": "<string>",
"signing_public_key": "<string>",
"signing_public_key_signature": "<string>"
},
"version": "<string>",
"generate_version": True
}
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({
public_key: {
identity_public_key_signature: '<string>',
public_key: '<string>',
public_key_fingerprint: '<string>',
registration_method: '<string>',
signing_public_key: '<string>',
signing_public_key_signature: '<string>'
},
version: '<string>',
generate_version: true
})
};
fetch('https://api.x.com/2/users/{id}/public_keys', 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}/public_keys",
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([
'public_key' => [
'identity_public_key_signature' => '<string>',
'public_key' => '<string>',
'public_key_fingerprint' => '<string>',
'registration_method' => '<string>',
'signing_public_key' => '<string>',
'signing_public_key_signature' => '<string>'
],
'version' => '<string>',
'generate_version' => true
]),
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}/public_keys"
payload := strings.NewReader("{\n \"public_key\": {\n \"identity_public_key_signature\": \"<string>\",\n \"public_key\": \"<string>\",\n \"public_key_fingerprint\": \"<string>\",\n \"registration_method\": \"<string>\",\n \"signing_public_key\": \"<string>\",\n \"signing_public_key_signature\": \"<string>\"\n },\n \"version\": \"<string>\",\n \"generate_version\": true\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}/public_keys")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"public_key\": {\n \"identity_public_key_signature\": \"<string>\",\n \"public_key\": \"<string>\",\n \"public_key_fingerprint\": \"<string>\",\n \"registration_method\": \"<string>\",\n \"signing_public_key\": \"<string>\",\n \"signing_public_key_signature\": \"<string>\"\n },\n \"version\": \"<string>\",\n \"generate_version\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/users/{id}/public_keys")
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 \"public_key\": {\n \"identity_public_key_signature\": \"<string>\",\n \"public_key\": \"<string>\",\n \"public_key_fingerprint\": \"<string>\",\n \"registration_method\": \"<string>\",\n \"signing_public_key\": \"<string>\",\n \"signing_public_key_signature\": \"<string>\"\n },\n \"version\": \"<string>\",\n \"generate_version\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"identity_public_key_signature": "<string>",
"juicebox_config": {
"key_store_token_map_json": "<string>",
"max_guess_count": 123,
"realm_state_string": "<string>",
"recover_threshold": 123,
"register_threshold": 123,
"token_map": [
{
"key": "<string>",
"value": {
"address": "<string>",
"public_key": "<string>",
"token": "<string>"
}
}
]
},
"public_key": "<string>",
"public_key_version": "<string>",
"signing_public_key": "<string>"
},
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
]
}{
"code": 123,
"message": "<string>"
}Authorizations
OAuth2UserTokenUserToken
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The ID of the requesting user. Unique identifier of this User. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers.
Pattern:
^[0-9]{1,19}$Example:
"2244994945"
Body
application/json
Response
The request has succeeded.
A user's public key with associated key recovery configuration.
Show child attributes
Show child attributes
Minimum array length:
1An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807).
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
Show child attributes
Show child attributes
⌘I
Add public key
curl --request POST \
--url https://api.x.com/2/users/{id}/public_keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"public_key": {
"identity_public_key_signature": "<string>",
"public_key": "<string>",
"public_key_fingerprint": "<string>",
"registration_method": "<string>",
"signing_public_key": "<string>",
"signing_public_key_signature": "<string>"
},
"version": "<string>",
"generate_version": true
}
'import requests
url = "https://api.x.com/2/users/{id}/public_keys"
payload = {
"public_key": {
"identity_public_key_signature": "<string>",
"public_key": "<string>",
"public_key_fingerprint": "<string>",
"registration_method": "<string>",
"signing_public_key": "<string>",
"signing_public_key_signature": "<string>"
},
"version": "<string>",
"generate_version": True
}
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({
public_key: {
identity_public_key_signature: '<string>',
public_key: '<string>',
public_key_fingerprint: '<string>',
registration_method: '<string>',
signing_public_key: '<string>',
signing_public_key_signature: '<string>'
},
version: '<string>',
generate_version: true
})
};
fetch('https://api.x.com/2/users/{id}/public_keys', 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}/public_keys",
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([
'public_key' => [
'identity_public_key_signature' => '<string>',
'public_key' => '<string>',
'public_key_fingerprint' => '<string>',
'registration_method' => '<string>',
'signing_public_key' => '<string>',
'signing_public_key_signature' => '<string>'
],
'version' => '<string>',
'generate_version' => true
]),
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}/public_keys"
payload := strings.NewReader("{\n \"public_key\": {\n \"identity_public_key_signature\": \"<string>\",\n \"public_key\": \"<string>\",\n \"public_key_fingerprint\": \"<string>\",\n \"registration_method\": \"<string>\",\n \"signing_public_key\": \"<string>\",\n \"signing_public_key_signature\": \"<string>\"\n },\n \"version\": \"<string>\",\n \"generate_version\": true\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}/public_keys")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"public_key\": {\n \"identity_public_key_signature\": \"<string>\",\n \"public_key\": \"<string>\",\n \"public_key_fingerprint\": \"<string>\",\n \"registration_method\": \"<string>\",\n \"signing_public_key\": \"<string>\",\n \"signing_public_key_signature\": \"<string>\"\n },\n \"version\": \"<string>\",\n \"generate_version\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/users/{id}/public_keys")
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 \"public_key\": {\n \"identity_public_key_signature\": \"<string>\",\n \"public_key\": \"<string>\",\n \"public_key_fingerprint\": \"<string>\",\n \"registration_method\": \"<string>\",\n \"signing_public_key\": \"<string>\",\n \"signing_public_key_signature\": \"<string>\"\n },\n \"version\": \"<string>\",\n \"generate_version\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"identity_public_key_signature": "<string>",
"juicebox_config": {
"key_store_token_map_json": "<string>",
"max_guess_count": 123,
"realm_state_string": "<string>",
"recover_threshold": 123,
"register_threshold": 123,
"token_map": [
{
"key": "<string>",
"value": {
"address": "<string>",
"public_key": "<string>",
"token": "<string>"
}
}
]
},
"public_key": "<string>",
"public_key_version": "<string>",
"signing_public_key": "<string>"
},
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
]
}{
"code": 123,
"message": "<string>"
}