Vault Developer API
API for developers that want to make custom extensions to Vault for their group.
Base URL
https://api.vaultroblox.comAuthentication
Every request must send your vault's developer key as a bearer token in the Authorization header. The key identifies your vault, so every endpoint acts on the vault it belongs to.
Find your developer key in your vault under Settings → API. Keep it secret and only use it from your own servers. Resetting it immediately invalidates the old key.
Authorization: Bearer YOUR_DEVELOPER_KEYErrors
Successful responses return error: false. Failed requests return a 400 or 500 status with a message explaining what went wrong.
messagestringrequirederrorbooleanrequired{
"message": "Product not found",
"error": true
}Vault
Vault related endpoints
Get Vault Information
/api/developers/vaultReturns the authenticated user's vault information.
Requires a developer key
This endpoint takes no parameters.
curl -X GET "https://api.vaultroblox.com/api/developers/vault" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY"Responses
200Successful response with Vault data
dataobjectrequireddata.namestringrequireddata.uuidstringrequireddata.descriptionstringnullabledata.groupIDintegernullabledata.discordIDstringnullabledata.tagsstring[]nullabledata.termsstringnullabledata.refundsstringnullabledata.createdTimestampintegerUnix timestamp
errorbooleanrequired{
"data": {
"name": "string",
"uuid": "string",
"description": "string",
"groupID": 0,
"discordID": "string",
"tags": [
"string"
],
"terms": "string",
"refunds": "string",
"createdTimestamp": 0
},
"error": false
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Get Vault Products
/api/developers/vault/productsReturns all products associated with the authenticated vault.
Requires a developer key
This endpoint takes no parameters.
curl -X GET "https://api.vaultroblox.com/api/developers/vault/products" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY"Responses
200Successful response with list of products
dataobject[]data[].namestringdata[].categorystringdata[].descriptionstringdata[].tagsstring[]data[].onsalebooleandata[].transferbooleandata[].productIDstringdata[].productUUIDstringdata[].robuxnumberPrice in Robux from developer product, 0 if it has no productID or Roblox can't return the price
data[].imagesstring[]errorboolean{
"data": [
{
"name": "string",
"category": "string",
"description": "string",
"tags": [
"string"
],
"onsale": true,
"transfer": true,
"productID": "string",
"productUUID": "string",
"robux": 0,
"images": [
"https://cdn.vaultroblox.com/<imageKey>"
]
}
],
"error": false
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Get Vault Reviews
/api/developers/vault/reviewsReturns paginated review history for the authenticated vault.
Requires a developer key
Query parameters
pageinteger · queryPage number for pagination. min 1, default 1
limitinteger · queryNumber of items per page. min 1, max 50, default 8
curl -X GET "https://api.vaultroblox.com/api/developers/vault/reviews?page=1&limit=8" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY"Responses
200Successful response with paginated list of reviews
dataobjectdata.reviewsobject[]data.reviews[].reviewUUIDstringdata.reviews[].productUUIDstringdata.reviews[].robloxIDstringdata.reviews[].robloxUsernamestringdata.reviews[].discordIDstringdata.reviews[].discordUsernamestringdata.reviews[].ratingnumberdata.reviews[].commentstringdata.reviews[].timestampstringdata.pageintegerCurrent page number
data.limitintegerItems per page
data.totalCountintegerTotal number of reviews
data.totalPagesintegerTotal number of pages
data.hasNextPagebooleanWhether there is a next page
data.hasPreviousPagebooleanWhether there is a previous page
errorboolean{
"data": {
"reviews": [
{
"reviewUUID": "string",
"productUUID": "string",
"robloxID": "string",
"robloxUsername": "string",
"discordID": "string",
"discordUsername": "string",
"rating": 0,
"comment": "string",
"timestamp": "string"
}
],
"page": 0,
"limit": 0,
"totalCount": 0,
"totalPages": 0,
"hasNextPage": true,
"hasPreviousPage": true
},
"error": false
}400Bad request due to invalid pagination parameters
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Get Vault Alerts
/api/developers/vault/alertsReturns paginated alert history for the authenticated vault.
Requires a developer key
Query parameters
pageinteger · queryPage number for pagination. min 1, default 1
limitinteger · queryNumber of items per page. min 1, max 50, default 8
curl -X GET "https://api.vaultroblox.com/api/developers/vault/alerts?page=1&limit=8" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY"Responses
200Successful response with paginated list of alerts
dataobjectdata.alertsobject[]data.alerts[].alertUUIDstringdata.alerts[].productUUIDstringdata.alerts[].gameIDstringdata.alerts[].ownerIDstringdata.alerts[].ownerUsernamestringdata.alerts[].placeIDstringdata.alerts[].timestampstringdata.pageintegerCurrent page number
data.limitintegerItems per page
data.totalCountintegerTotal number of alerts
data.totalPagesintegerTotal number of pages
data.hasNextPagebooleanWhether there is a next page
data.hasPreviousPagebooleanWhether there is a previous page
errorboolean{
"data": {
"alerts": [
{
"alertUUID": "string",
"productUUID": "string",
"gameID": "string",
"ownerID": "string",
"ownerUsername": "string",
"placeID": "string",
"timestamp": "string"
}
],
"page": 0,
"limit": 0,
"totalCount": 0,
"totalPages": 0,
"hasNextPage": true,
"hasPreviousPage": true
},
"error": false
}400Bad request due to invalid pagination parameters
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Profile
Profile related endpoints
Get Profile by Roblox or Discord ID
/api/developers/profileReturns user data and product licenses by robloxID or discordID.
Requires a developer key
Request body
robloxIDstringdiscordIDstringcurl -X POST "https://api.vaultroblox.com/api/developers/profile" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
-H "Content-Type: application/json" \
-d '{"robloxID":"123456789","discordID":"742194720128712774"}'{
"robloxID": "123456789",
"discordID": "742194720128712774"
}Responses
200Successful response with profile and product data
dataobjectdata.robloxIDstringdata.robloxUsernamestringnullabledata.thumbnailstring (uri)nullabledata.discordIDstringnullabledata.discordUsernamestringnullabledata.productsobject[]data.products[].namestringdata.products[].descriptionstringdata.products[].productUUIDstringdata.products[].productIDstringdata.products[].robuxnumberPrice in Robux from developer product, 0 if it has no productID or Roblox can't return the price
data.products[].imagesstring[]errorboolean{
"data": {
"robloxID": "string",
"robloxUsername": "string",
"thumbnail": "https://example.com",
"discordID": "string",
"discordUsername": "string",
"products": [
{
"name": "string",
"description": "string",
"productUUID": "string",
"productID": "string",
"robux": 0,
"images": [
"https://cdn.vaultroblox.com/<imageKey>"
]
}
]
},
"error": false
}400Bad request due to missing or invalid robloxID/discordID
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Licenses
Licenses related endpoints
Add License to Account
/api/developers/licenses/addAdds a license for a product to a Roblox or Discord account.
Requires a developer key
Request body
robloxIDstringnullablediscordIDstringnullableproductUUIDstringnullableUUID of the product to add license for
productNamestringnullableName of the product to add license for (alternative to productUUID)
- At least one of:
productUUID,productName,productID - Exactly one of:
robloxID,discordID
curl -X POST "https://api.vaultroblox.com/api/developers/licenses/add" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
-H "Content-Type: application/json" \
-d '{"robloxID":"string","productUUID":"string"}'{
"robloxID": "string",
"productUUID": "string"
}Responses
200License added successfully
messagestringrequirederrorbooleanrequired{
"message": "License added successfully to the account",
"error": false
}400Bad request due to missing productUUID/productName, missing robloxID/discordID, product not found, or license already exists
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Check License Status
/api/developers/licenses/checkChecks if a Roblox or Discord account owns a license for a specified product.
Requires a developer key
Request body
robloxIDstringnullablediscordIDstringnullableproductUUIDstringrequired- Exactly one of:
robloxID,discordID
curl -X POST "https://api.vaultroblox.com/api/developers/licenses/check" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
-H "Content-Type: application/json" \
-d '{"robloxID":"string","productUUID":"string"}'{
"robloxID": "string",
"productUUID": "string"
}Responses
200License status response
dataobjectrequireddata.licensedbooleanrequireddata.robloxIDstringnullabledata.robloxUsernamestringnullabledata.reasonstringnullabledata.issuedTimestampstring (date-time)nullableerrorbooleanrequired{
"data": {
"licensed": true,
"robloxID": "string",
"robloxUsername": "string",
"reason": "string",
"issuedTimestamp": "2026-01-01T00:00:00.000Z"
},
"error": false
}400Bad request due to missing fields or account not found
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Delete License from Account
/api/developers/licenses/deleteDeletes a license for a product from a Roblox or Discord account.
Requires a developer key
Request body
robloxIDstringnullablediscordIDstringnullableproductUUIDstringrequired- Exactly one of:
robloxID,discordID
curl -X DELETE "https://api.vaultroblox.com/api/developers/licenses/delete" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
-H "Content-Type: application/json" \
-d '{"robloxID":"string","productUUID":"string"}'{
"robloxID": "string",
"productUUID": "string"
}Responses
200License deleted successfully
messagestringrequirederrorbooleanrequired{
"message": "License deleted from the account",
"error": false
}400Bad request due to missing fields or license/account issues
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Transfer License Between Accounts
/api/developers/licenses/transferTransfers a license for a product from one account to another (Roblox or Discord).
Requires a developer key
Request body
fromRobloxIDstringnullableSource Roblox ID
fromDiscordIDstringnullableSource Discord ID
toRobloxIDstringnullableDestination Roblox ID
toDiscordIDstringnullableDestination Discord ID
productUUIDstringnullableUUID of the product to transfer
productNamestringnullableName of the product to transfer (alternative to productUUID)
productIDstringnullableID of the product to transfer (alternative to productUUID)
- At least one of:
productUUID,productName,productID - Exactly one of:
fromRobloxID,fromDiscordID - Exactly one of:
toRobloxID,toDiscordID
curl -X POST "https://api.vaultroblox.com/api/developers/licenses/transfer" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
-H "Content-Type: application/json" \
-d '{"fromRobloxID":"string","toRobloxID":"string","productUUID":"string"}'{
"fromRobloxID": "string",
"toRobloxID": "string",
"productUUID": "string"
}Responses
200License transferred successfully
messagestringrequirederrorbooleanrequired{
"message": "License transferred successfully",
"error": false
}400Bad request due to missing fields, product not found, source account doesn't own license, or destination account already owns license
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Blacklists
Blacklists related endpoints
Get Vault Blacklists
/api/developers/blacklistsReturns all blacklists with the authenticated vault.
Requires a developer key
This endpoint takes no parameters.
curl -X GET "https://api.vaultroblox.com/api/developers/blacklists" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY"Responses
200Successful response with list of blacklists
dataobject[]data[].blacklistUUIDstringdata[].robloxIDstringdata[].robloxUsernamestringdata[].typestringdata[].reasonstringdata[].staffUsernamestringdata[].staffIDstringdata[].groupIDstringdata[].timestampstringerrorboolean{
"data": [
{
"blacklistUUID": "string",
"robloxID": "string",
"robloxUsername": "string",
"type": "string",
"reason": "string",
"staffUsername": "string",
"staffID": "string",
"groupID": "string",
"timestamp": "string"
}
],
"error": false
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Add Blacklist
/api/developers/blacklists/addAdds a blacklists to the vault for an account.
Requires a developer key
Request body
robloxIDstringrequirednullablereasonstringrequiredcurl -X POST "https://api.vaultroblox.com/api/developers/blacklists/add" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
-H "Content-Type: application/json" \
-d '{"robloxID":"string","reason":"string"}'{
"robloxID": "string",
"reason": "string"
}Responses
200Blacklist added successfully
messagestringrequirederrorbooleanrequired{
"message": "Blacklist added successfully",
"error": false
}400Bad request due to missing fields or blacklist already exists
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}Delete Blacklist from Account
/api/developers/blacklists/deleteDeletes a blacklist from the vault for an account.
Requires a developer key
Request body
robloxIDstringrequirednullablecurl -X DELETE "https://api.vaultroblox.com/api/developers/blacklists/delete" \
-H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
-H "Content-Type: application/json" \
-d '{"robloxID":"string"}'{
"robloxID": "string"
}Responses
200Blacklist deleted successfully
messagestringrequirederrorbooleanrequired{
"message": "Blacklist deleted successfully",
"error": false
}400Bad request due to missing fields or blacklist issues
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}500Internal server error
messagestringrequirederrorbooleanrequired{
"message": "string",
"error": true
}