API Documentation

Comprehensive API documentation for RoShield's professional security solutions. Integrate powerful verification and security features into your applications.

Terms & Privacy

By using the RoShield API, you acknowledge that you have read and agreed to our Privacy Policy and Terms of Service.

Getting Started

To get an API key, please visit the RoShield Support page and open a ticket under the "RoShield" category.

Check if a Roblox User is Verified

GEThttps://api.roshield.net/beta/public/is-verified/:roblox_id

This endpoint checks whether a Roblox user is verified and registered with a Discord account.

Success Response

{
    "status": "success",
    "message": "Verified user.",
    "verified": true
}

JavaScript Example

fetch('https://api.roshield.net/beta/public/is-verified/123456789', {
    method: 'GET',
    headers: {
        'Authorization': 'your-api-key'
    }
})
.then(response => response.json())
.then(data => console.log(data));

Check if a Roblox User is Flagged

GEThttps://api.roshield.net/beta/public/is-flagged/:roblox_id

This endpoint checks whether a Roblox user has any flags or notes registered in the system.

Success Response

{
    "status": "success",
    "message": "User found.",
    "flags": ["High-risk user.", "Exploiting."]
}

Not Found Response

{
    "status": "success",
    "message": "No flags registered for this user."
}

JavaScript Example

fetch('https://api.roshield.net/beta/public/is-flagged/123456789', {
    method: 'GET',
    headers: {
        'Authorization': 'your-api-key'
    }
})
.then(response => response.json())
.then(data => console.log(data));

Check if a User is a Server Booster

GEThttps://api.roshield.net/beta/public/is-booster/:server-id/:user-id

This endpoint checks if a user is a server booster on Discord based on their premium status.

Success Response

{
    "status": "success", 
    "is_booster": true,
    "premium_since": "2025-01-09T12:34:56"
}

Not Found Response

{
    "status": "error",
    "message": "User not found in server"
}

JavaScript Example

fetch('https://api.roshield.net/beta/public/is-booster/1191892647976120390/1234', {
    method: 'GET',
    headers: {
        'Authorization': 'your-api-key'
    }
})
.then(response => response.json())
.then(data => console.log(data));

Get Roblox ID for a Discord User

GEThttps://api.roshield.net/beta/public/discord-to-roblox/:discord_id

This endpoint retrieves the Roblox user ID associated with a given Discord user ID.

Success Response

{
    "status": "success",
    "message": "User found.",
    "roblox_id": "123456789"
}

JavaScript Example

fetch('https://api.roshield.net/beta/public/discord-to-roblox/1312442314001481861', {
    method: 'GET',
    headers: {
        'Authorization': 'your-api-key'
    }
})
.then(response => response.json())
.then(data => console.log(data));

Get Discord ID for a Roblox User

GETPrivilegedhttps://api.roshield.net/beta/public/roblox-to-discord/:roblox_id

This endpoint retrieves the Discord user ID(s) associated with a given Roblox user ID.

Success Response

{
    "status": "success",
    "message": "User found.",
    "discord_ids": ["1312442314001481861", "1189225868271304774"]
}
Note: Ensure that you have a valid API key with appropriate access privileges to use this endpoint.

JavaScript Example

fetch('https://api.roshield.net/beta/public/roblox-to-discord/123456789', {
    method: 'GET',
    headers: {
        'Authorization': 'your-api-key'
    }
})
.then(response => response.json())
.then(data => console.log(data));

Webhook API

POSThttps://api.roshield.net/beta/public/webhooks/:webhookname

This endpoint allows you to send messages to a specific webhook for a Roblox group. You must provide an API key and the name of the webhook to send a message. This can be used to notify group owners or perform other webhook-related tasks.

Success Response

{
    "status": "success",
    "message": "Webhook posted."
}

JavaScript Example

fetch('https://api.roshield.net/beta/public/webhooks/myWebhook', {
    method: 'POST',
    headers: {
        'Authorization': 'your-api-key',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        message: 'This is a test message to the webhook!'
    })
})
.then(response => response.json())
.then(data => console.log(data));

Join Request Management

GEThttps://api.roshield.net/v2/roblox/users/:roblox_id/join-request

Check if a user has a pending join request for your group.

Success Response

{
    "status": "success",
    "message": "User has pending join request.",
    "has_pending_request": true,
    "data": {
        "user_id": "123456789",
        "created": "2025-01-09T12:34:56Z",
        "join_request_id": "abc123"
    }
}

No Pending Request Response

{
    "status": "error",
    "message": "User has no pending join request."
}

JavaScript Example

fetch('https://api.roshield.net/v2/roblox/users/123456789/join-request', {
    method: 'GET',
    headers: {
        'Authorization': 'your-api-key'
    }
})
.then(response => response.json())
.then(data => console.log(data));
POSThttps://api.roshield.net/v2/roblox/users/:roblox_id/join-request

Accept a pending join request for a user in your group.

Success Response

{
    "status": "success",
    "message": "Join request accepted successfully.",
    "data": {
        "user_id": "123456789",
        "accepted": "2025-01-09 12:34:56"
    }
}
Note: This endpoint requires a group API key with appropriate permissions and a connected bot account.

JavaScript Example

fetch('https://api.roshield.net/v2/roblox/users/123456789/join-request', {
    method: 'POST',
    headers: {
        'Authorization': 'your-api-key',
        'Content-Type': 'application/json'
    }
})
.then(response => response.json())
.then(data => console.log(data));

Update User Rank

POSThttps://api.roshield.net/v2/roblox/users/:roblox_id/update-rank

Update a user's rank in your group. Requires the user to be a member of the group.

Success Response

{
    "status": "success",
    "message": "Rank updated successfully.",
    "data": {
        "new_rank": "Member"
    }
}

Error Response

{
    "status": "error",
    "message": "User is not a member of this group."
}
Note: This endpoint requires a group API key with appropriate permissions and a connected bot account.

JavaScript Example

fetch('https://api.roshield.net/v2/roblox/users/123456789/update-rank', {
    method: 'POST',
    headers: {
        'Authorization': 'your-api-key',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        rank_id: 10
    })
})
.then(response => response.json())
.then(data => console.log(data));

Get Bot Account

POSThttps://api.roshield.net/v2/roblox/groups/:group_id/get-bot-account

Retrieve bot account tokens for group operations. This is used internally by other endpoints.

Success Response

{
    "status": "success",
    "message": "Bot account tokens retrieved successfully.",
    "data": {
        "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
        "refresh_token": "refresh_token_here",
        "expires_at": "2025-01-10T12:34:56Z"
    }
}

No Bot Account Response

{
    "status": "error",
    "message": "No bot account connected for this group."
}
Note: This endpoint requires a group API key and is typically used internally by other group management endpoints.

JavaScript Example

fetch('https://api.roshield.net/v2/roblox/groups/123456789/get-bot-account', {
    method: 'POST',
    headers: {
        'Authorization': 'your-api-key',
        'Content-Type': 'application/json'
    }
})
.then(response => response.json())
.then(data => console.log(data));

Get Server Name

POSThttps://api.roshield.net/v1/public/get-server-name

Retrieve the server name for a specific Roblox place and job ID combination.

Success Response

{
    "status": "success",
    "data": {
        "server_name": "My Awesome Server",
        "place_id": "123456789",
        "job_id": "abc123def456"
    }
}

No Server Found Response

{
    "status": "error",
    "message": "No server information found for the given place ID and job ID."
}
Note: This endpoint requires a valid API key with appropriate permissions. Server information is cached for 5 minutes.

JavaScript Example

fetch('https://api.roshield.net/v1/public/get-server-name', {
    method: 'POST',
    headers: {
        'Authorization': 'your-api-key',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        place_id: "123456789",
        job_id: "12345678-1234-1234-1234-123456789000"
    })
})
.then(response => response.json())
.then(data => console.log(data));