RequestRocket Documentation
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

MethodEndpointDescription
GET/api/usersGet your own user profile
PUT/api/users/{userId}Update your user profile
DELETE/api/users/{userId}Delete your user account

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
  }'

On this page