API ReferenceCore API
Users API
Manage your user profile
Users API
The Users API allows you to manage your own user profile. For managing invitations, memberships across organisations, and notifications, refer to the dedicated API pages.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/users | Get your own user profile |
| PUT | /api/users/{userId} | Update your user profile |
| DELETE | /api/users/{userId} | Delete your user account |
Related Resources
Invites API
Manage organisation invitations
Members API
View organisation memberships
Notifications API
Manage personal notifications
Get User Profile
Get your own user information.
Request
GET /api/users HTTP/1.1
Host: api.requestrocket.com
Authorization: {user_token}Response
{
"users": [
{
"userClients": [
"client_550e8400-e29b-41d4-a716-446655440000"
],
"userUsername": "johndoe",
"userEmail": "john@example.com",
"userBio": "Software Engineer",
"userPhone": "0459400340",
"userLastName": "Doe",
"pKey": "USER",
"userTokens": [
"u-token123",
"u-token456"
],
"userUpdated": "2024-03-20T14:25:00.000+00:00",
"userId": "550e8400-e29b-41d4-a716-446655440000",
"userFirstName": "John",
"userCreated": "2024-01-15T10:30:00.000+00:00",
"sKey": "550e8400-e29b-41d4-a716-446655440000"
}
],
"message": "Success"
}Example
const response = await fetch(
'https://api.requestrocket.com/api/users',
{
headers: {
'Authorization': process.env.USER_TOKEN
}
}
);
const data = await response.json();
console.log('User:', data.users[0]);import requests
import os
response = requests.get(
'https://api.requestrocket.com/api/users',
headers={'Authorization': os.getenv('USER_TOKEN')}
)
data = response.json()
print(f"User: {data['users'][0]['userEmail']}")package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
type Response struct {
Users []map[string]interface{} `json:"users"`
Message string `json:"message"`
}
func main() {
req, _ := http.NewRequest("GET", "https://api.requestrocket.com/api/users", nil)
req.Header.Set("Authorization", os.Getenv("USER_TOKEN"))
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var result Response
json.Unmarshal(body, &result)
fmt.Printf("User: %v\n", result.Users[0])
}import java.net.http.*;
import java.net.URI;
import com.google.gson.*;
public class GetUser {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.requestrocket.com/api/users"))
.header("Authorization", System.getenv("USER_TOKEN"))
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
JsonObject json = JsonParser.parseString(response.body()).getAsJsonObject();
JsonArray users = json.getAsJsonArray("users");
System.out.println("User: " + users.get(0));
}
}curl -X GET "https://api.requestrocket.com/api/users" \
-H "Authorization: ${USER_TOKEN}"Update User Profile
Update your user information.
Request
PUT /api/users/{userId} HTTP/1.1
Host: api.requestrocket.com
Authorization: {user_token}
Content-Type: application/json
{
"userBio": "Updated Bio",
"userPhone": "0459400340",
"userFirstName": "John",
"userLastName": "Doe"
}Response
{
"users": [
{
"userClients": [
"client_550e8400-e29b-41d4-a716-446655440000"
],
"userUsername": "johndoe",
"userEmail": "john@example.com",
"userBio": "Updated Bio",
"userPhone": "0459400340",
"userLastName": "Doe",
"pKey": "USER",
"userTokens": [
"u-token123"
],
"userUpdated": "2024-03-20T14:30:00.000+00:00",
"userId": "550e8400-e29b-41d4-a716-446655440000",
"userFirstName": "John",
"userCreated": "2024-01-15T10:30:00.000+00:00",
"sKey": "550e8400-e29b-41d4-a716-446655440000"
}
],
"message": "Success"
}Example
const response = await fetch(
`https://api.requestrocket.com/api/users/${userId}`,
{
method: 'PUT',
headers: {
'Authorization': process.env.USER_TOKEN,
'Content-Type': 'application/json'
},
body: JSON.stringify({
userBio: 'Updated Bio',
userPhone: '0459400340',
userFirstName: 'John',
userLastName: 'Doe'
})
}
);
const data = await response.json();
console.log('Updated user:', data.users[0]);import requests
import os
user_id = "your-user-id"
response = requests.put(
f'https://api.requestrocket.com/api/users/{user_id}',
headers={'Authorization': os.getenv('USER_TOKEN')},
json={
'userBio': 'Updated Bio',
'userPhone': '0459400340',
'userFirstName': 'John',
'userLastName': 'Doe'
}
)
data = response.json()
print(f"Updated: {data['message']}")package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
type UpdateUserRequest struct {
UserBio string `json:"userBio"`
UserPhone string `json:"userPhone"`
UserFirstName string `json:"userFirstName"`
UserLastName string `json:"userLastName"`
}
func main() {
userId := "your-user-id"
requestBody, _ := json.Marshal(UpdateUserRequest{
UserBio: "Updated Bio",
UserPhone: "0459400340",
UserFirstName: "John",
UserLastName: "Doe",
})
url := fmt.Sprintf("https://api.requestrocket.com/api/users/%s", userId)
req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(requestBody))
req.Header.Set("Authorization", os.Getenv("USER_TOKEN"))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.http.*;
import java.net.URI;
import com.google.gson.*;
public class UpdateUser {
public static void main(String[] args) throws Exception {
String userId = "your-user-id";
String json = "{"
+ "\"userBio\": \"Updated Bio\","
+ "\"userPhone\": \"0459400340\","
+ "\"userFirstName\": \"John\","
+ "\"userLastName\": \"Doe\""
+ "}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.requestrocket.com/api/users/" + userId))
.header("Authorization", System.getenv("USER_TOKEN"))
.header("Content-Type", "application/json")
.PUT(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}curl -X PUT "https://api.requestrocket.com/api/users/${USER_ID}" \
-H "Authorization: ${USER_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"userBio": "Updated Bio",
"userPhone": "0459400340",
"userFirstName": "John",
"userLastName": "Doe"
}'Delete User Account
Permanently delete your user account.
Request
DELETE /api/users/{userId} HTTP/1.1
Host: api.requestrocket.com
Authorization: {user_token}
Content-Type: application/json
{
"immediatelyDelete": true
}This action is irreversible. All your data will be permanently deleted.
Response
{
"message": "Success"
}Example
const response = await fetch(
`https://api.requestrocket.com/api/users/${userId}`,
{
method: 'DELETE',
headers: {
'Authorization': process.env.USER_TOKEN,
'Content-Type': 'application/json'
},
body: JSON.stringify({
immediatelyDelete: true
})
}
);
const data = await response.json();
console.log(data.message);import requests
import os
user_id = "your-user-id"
response = requests.delete(
f'https://api.requestrocket.com/api/users/{user_id}',
headers={'Authorization': os.getenv('USER_TOKEN')},
json={'immediatelyDelete': True}
)
data = response.json()
print(data['message'])package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
)
func main() {
userId := "your-user-id"
requestBody, _ := json.Marshal(map[string]bool{
"immediatelyDelete": true,
})
url := fmt.Sprintf("https://api.requestrocket.com/api/users/%s", userId)
req, _ := http.NewRequest("DELETE", url, bytes.NewBuffer(requestBody))
req.Header.Set("Authorization", os.Getenv("USER_TOKEN"))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.http.*;
import java.net.URI;
public class DeleteUser {
public static void main(String[] args) throws Exception {
String userId = "your-user-id";
String json = "{\"immediatelyDelete\": true}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.requestrocket.com/api/users/" + userId))
.header("Authorization", System.getenv("USER_TOKEN"))
.header("Content-Type", "application/json")
.method("DELETE", HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}curl -X DELETE "https://api.requestrocket.com/api/users/${USER_ID}" \
-H "Authorization: ${USER_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"immediatelyDelete": true
}'