Vault LogoVault/Developers
Back to Home

Vault Developer API

v2.0

API for developers that want to make custom extensions to Vault for their group.

Base URL

https://api.vaultroblox.com

Authentication

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.

Header
Authorization: Bearer YOUR_DEVELOPER_KEY

Errors

Successful responses return error: false. Failed requests return a 400 or 500 status with a message explaining what went wrong.

messagestringrequired
errorbooleanrequired
Example
{
  "message": "Product not found",
  "error": true
}

Vault

Vault related endpoints

Get Vault Information

get/api/developers/vault

Returns the authenticated user's vault information.

Requires a developer key

This endpoint takes no parameters.

cURL
curl -X GET "https://api.vaultroblox.com/api/developers/vault" \
  -H "Authorization: Bearer YOUR_DEVELOPER_KEY"

Responses

200Successful response with Vault data
dataobjectrequired
data.namestringrequired
data.uuidstringrequired
data.descriptionstringnullable
data.groupIDintegernullable
data.discordIDstringnullable
data.tagsstring[]nullable
data.termsstringnullable
data.refundsstringnullable
data.createdTimestampinteger

Unix timestamp

errorbooleanrequired
Example
{
  "data": {
    "name": "string",
    "uuid": "string",
    "description": "string",
    "groupID": 0,
    "discordID": "string",
    "tags": [
      "string"
    ],
    "terms": "string",
    "refunds": "string",
    "createdTimestamp": 0
  },
  "error": false
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Get Vault Products

get/api/developers/vault/products

Returns all products associated with the authenticated vault.

Requires a developer key

This endpoint takes no parameters.

cURL
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[].namestring
data[].categorystring
data[].descriptionstring
data[].tagsstring[]
data[].onsaleboolean
data[].transferboolean
data[].productIDstring
data[].productUUIDstring
data[].robuxnumber

Price in Robux from developer product, 0 if it has no productID or Roblox can't return the price

data[].imagesstring[]
errorboolean
Example
{
  "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
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Get Vault Reviews

get/api/developers/vault/reviews

Returns paginated review history for the authenticated vault.

Requires a developer key

Query parameters

pageinteger · query

Page number for pagination. min 1, default 1

limitinteger · query

Number of items per page. min 1, max 50, default 8

cURL
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
dataobject
data.reviewsobject[]
data.reviews[].reviewUUIDstring
data.reviews[].productUUIDstring
data.reviews[].robloxIDstring
data.reviews[].robloxUsernamestring
data.reviews[].discordIDstring
data.reviews[].discordUsernamestring
data.reviews[].ratingnumber
data.reviews[].commentstring
data.reviews[].timestampstring
data.pageinteger

Current page number

data.limitinteger

Items per page

data.totalCountinteger

Total number of reviews

data.totalPagesinteger

Total number of pages

data.hasNextPageboolean

Whether there is a next page

data.hasPreviousPageboolean

Whether there is a previous page

errorboolean
Example
{
  "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
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Get Vault Alerts

get/api/developers/vault/alerts

Returns paginated alert history for the authenticated vault.

Requires a developer key

Query parameters

pageinteger · query

Page number for pagination. min 1, default 1

limitinteger · query

Number of items per page. min 1, max 50, default 8

cURL
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
dataobject
data.alertsobject[]
data.alerts[].alertUUIDstring
data.alerts[].productUUIDstring
data.alerts[].gameIDstring
data.alerts[].ownerIDstring
data.alerts[].ownerUsernamestring
data.alerts[].placeIDstring
data.alerts[].timestampstring
data.pageinteger

Current page number

data.limitinteger

Items per page

data.totalCountinteger

Total number of alerts

data.totalPagesinteger

Total number of pages

data.hasNextPageboolean

Whether there is a next page

data.hasPreviousPageboolean

Whether there is a previous page

errorboolean
Example
{
  "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
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Profile

Profile related endpoints

Get Profile by Roblox or Discord ID

post/api/developers/profile

Returns user data and product licenses by robloxID or discordID.

Requires a developer key

Request body

robloxIDstring
discordIDstring
cURL
curl -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"}'
Request body
{
  "robloxID": "123456789",
  "discordID": "742194720128712774"
}

Responses

200Successful response with profile and product data
dataobject
data.robloxIDstring
data.robloxUsernamestringnullable
data.thumbnailstring (uri)nullable
data.discordIDstringnullable
data.discordUsernamestringnullable
data.productsobject[]
data.products[].namestring
data.products[].descriptionstring
data.products[].productUUIDstring
data.products[].productIDstring
data.products[].robuxnumber

Price in Robux from developer product, 0 if it has no productID or Roblox can't return the price

data.products[].imagesstring[]
errorboolean
Example
{
  "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
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Licenses

Licenses related endpoints

Add License to Account

post/api/developers/licenses/add

Adds a license for a product to a Roblox or Discord account.

Requires a developer key

Request body

robloxIDstringnullable
discordIDstringnullable
productUUIDstringnullable

UUID of the product to add license for

productNamestringnullable

Name of the product to add license for (alternative to productUUID)

  • At least one of: productUUID, productName, productID
  • Exactly one of: robloxID, discordID
cURL
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"}'
Request body
{
  "robloxID": "string",
  "productUUID": "string"
}

Responses

200License added successfully
messagestringrequired
errorbooleanrequired
Example
{
  "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
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Check License Status

post/api/developers/licenses/check

Checks if a Roblox or Discord account owns a license for a specified product.

Requires a developer key

Request body

robloxIDstringnullable
discordIDstringnullable
productUUIDstringrequired
  • Exactly one of: robloxID, discordID
cURL
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"}'
Request body
{
  "robloxID": "string",
  "productUUID": "string"
}

Responses

200License status response
dataobjectrequired
data.licensedbooleanrequired
data.robloxIDstringnullable
data.robloxUsernamestringnullable
data.reasonstringnullable
data.issuedTimestampstring (date-time)nullable
errorbooleanrequired
Example
{
  "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
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Delete License from Account

delete/api/developers/licenses/delete

Deletes a license for a product from a Roblox or Discord account.

Requires a developer key

Request body

robloxIDstringnullable
discordIDstringnullable
productUUIDstringrequired
  • Exactly one of: robloxID, discordID
cURL
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"}'
Request body
{
  "robloxID": "string",
  "productUUID": "string"
}

Responses

200License deleted successfully
messagestringrequired
errorbooleanrequired
Example
{
  "message": "License deleted from the account",
  "error": false
}
400Bad request due to missing fields or license/account issues
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Transfer License Between Accounts

post/api/developers/licenses/transfer

Transfers a license for a product from one account to another (Roblox or Discord).

Requires a developer key

Request body

fromRobloxIDstringnullable

Source Roblox ID

fromDiscordIDstringnullable

Source Discord ID

toRobloxIDstringnullable

Destination Roblox ID

toDiscordIDstringnullable

Destination Discord ID

productUUIDstringnullable

UUID of the product to transfer

productNamestringnullable

Name of the product to transfer (alternative to productUUID)

productIDstringnullable

ID 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
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"}'
Request body
{
  "fromRobloxID": "string",
  "toRobloxID": "string",
  "productUUID": "string"
}

Responses

200License transferred successfully
messagestringrequired
errorbooleanrequired
Example
{
  "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
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Blacklists

Blacklists related endpoints

Get Vault Blacklists

get/api/developers/blacklists

Returns all blacklists with the authenticated vault.

Requires a developer key

This endpoint takes no parameters.

cURL
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[].blacklistUUIDstring
data[].robloxIDstring
data[].robloxUsernamestring
data[].typestring
data[].reasonstring
data[].staffUsernamestring
data[].staffIDstring
data[].groupIDstring
data[].timestampstring
errorboolean
Example
{
  "data": [
    {
      "blacklistUUID": "string",
      "robloxID": "string",
      "robloxUsername": "string",
      "type": "string",
      "reason": "string",
      "staffUsername": "string",
      "staffID": "string",
      "groupID": "string",
      "timestamp": "string"
    }
  ],
  "error": false
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Add Blacklist

post/api/developers/blacklists/add

Adds a blacklists to the vault for an account.

Requires a developer key

Request body

robloxIDstringrequirednullable
reasonstringrequired
cURL
curl -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"}'
Request body
{
  "robloxID": "string",
  "reason": "string"
}

Responses

200Blacklist added successfully
messagestringrequired
errorbooleanrequired
Example
{
  "message": "Blacklist added successfully",
  "error": false
}
400Bad request due to missing fields or blacklist already exists
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}

Delete Blacklist from Account

delete/api/developers/blacklists/delete

Deletes a blacklist from the vault for an account.

Requires a developer key

Request body

robloxIDstringrequirednullable
cURL
curl -X DELETE "https://api.vaultroblox.com/api/developers/blacklists/delete" \
  -H "Authorization: Bearer YOUR_DEVELOPER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"robloxID":"string"}'
Request body
{
  "robloxID": "string"
}

Responses

200Blacklist deleted successfully
messagestringrequired
errorbooleanrequired
Example
{
  "message": "Blacklist deleted successfully",
  "error": false
}
400Bad request due to missing fields or blacklist issues
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}
500Internal server error
messagestringrequired
errorbooleanrequired
Example
{
  "message": "string",
  "error": true
}