Skip to content

Trades v2

Reference for the Trades v2 endpoints on Roblox.

Base URL: https://trades.roblox.com

MethodPathName
GET/v2/trades/:tradeIdgetTradesTradeid
POST/v2/trades/:tradeId/counterpostTradesTradeidCounter
POST/v2/trades/sendpostTradesSend
GET/v2/users/:userId/can-trade-withgetUsersUseridCanTradeWith
GET/v2/users/:userId/tradableItemsgetUsersUseridTradableitems
GET/v2/users/me/can-tradegetUsersMeCanTrade

GET /v2/trades/:tradeId

Gets the details of a trade.

Usage
import { fetchApi } from 'rozod';
import { getTradesTradeid } from 'rozod/lib/endpoints/tradesv2';
const data = await fetchApi(getTradesTradeid, {
tradeId: /* integer */
});
NameTypeRequiredDescription
tradeIdintegerYesThe id of the trade.
FieldTypeDescription
tradeIdnumber
status`“Unknown""Open"
participantAOfferobjectSee below
participantBOfferobjectSee below

participantAOffer fields:

FieldTypeDescription
userobjectSee below
robuxnumber
itemsobject[]See below

user fields:

FieldTypeDescription
idnumber
namestring
displayNamestring

items[] item fields:

FieldTypeDescription
collectibleItemInstanceIdstring
itemTargetobjectSee below
itemNamestring
serialNumbernumber
originalPricenumber
recentAveragePricenumber
assetStocknumber
isOnHoldboolean

itemTarget fields:

FieldTypeDescription
itemType`“Unknown""Asset"
targetIdstring

participantBOffer fields:

FieldTypeDescription
userobjectSee below
robuxnumber
itemsobject[]See below

user fields:

FieldTypeDescription
idnumber
namestring
displayNamestring

items[] item fields:

FieldTypeDescription
collectibleItemInstanceIdstring
itemTargetobjectSee below
itemNamestring
serialNumbernumber
originalPricenumber
recentAveragePricenumber
assetStocknumber
isOnHoldboolean

itemTarget fields:

FieldTypeDescription
itemType`“Unknown""Asset"
targetIdstring
StatusDescription
4000: An unknown error occured.
4010: Authorization has been denied for this request.
4: You are not authorized to modify this trade.
4034: You are not authorized to modify this trade.
4040: An unknown error occured.

POST /v2/trades/:tradeId/counter

Counters an existing trade.

Usage
import { fetchApi } from 'rozod';
import { postTradesTradeidCounter } from 'rozod/lib/endpoints/tradesv2';
const data = await fetchApi(postTradesTradeidCounter, {
tradeId: /* integer */,
body: { /* ... */ }
});
NameTypeRequiredDescription
tradeIdintegerYes
FieldTypeDescription
senderOfferobjectSee below
recipientOfferobjectSee below

senderOffer fields:

FieldTypeDescription
userIdnumber
robuxnumber
collectibleItemInstanceIdsstring[]

recipientOffer fields:

FieldTypeDescription
userIdnumber
robuxnumber
collectibleItemInstanceIdsstring[]
FieldTypeDescription
tradeIdnumber
StatusDescription
4010: Authorization has been denied for this request.
4: You are not authorized to modify this trade.
4030: Token Validation Failed
4040: An unknown error occured.

POST /v2/trades/send

Sends a new trade.

Usage
import { fetchApi } from 'rozod';
import { postTradesSend } from 'rozod/lib/endpoints/tradesv2';
const data = await fetchApi(postTradesSend, {
body: { /* ... */ }
});
FieldTypeDescription
senderOfferobjectSee below
recipientOfferobjectSee below

senderOffer fields:

FieldTypeDescription
userIdnumber
robuxnumber
collectibleItemInstanceIdsstring[]

recipientOffer fields:

FieldTypeDescription
userIdnumber
robuxnumber
collectibleItemInstanceIdsstring[]
FieldTypeDescription
tradeIdnumber
StatusDescription
4010: Authorization has been denied for this request.
4: You are not authorized to modify this trade.
4030: Token Validation Failed
4040: An unknown error occured.

GET /v2/users/:userId/can-trade-with

Checks if the user can trade with a specific user.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridCanTradeWith } from 'rozod/lib/endpoints/tradesv2';
const data = await fetchApi(getUsersUseridCanTradeWith, {
userId: /* integer */
});
NameTypeRequiredDescription
userIdintegerYes
FieldTypeDescription
userIdnumber
targetUserIdnumber
canTradeboolean
mutualTradeEligibility`“Unknown""Eligible"
StatusDescription
4010: Authorization has been denied for this request.
4: You are not authorized to modify this trade.

GET /v2/users/:userId/tradableItems

Gets tradable items for a user.

Usage
import { fetchApi } from 'rozod';
import { getUsersUseridTradableitems } from 'rozod/lib/endpoints/tradesv2';
const data = await fetchApi(getUsersUseridTradableitems, {
userId: /* integer */,
search: /* string? */,
sortBy: /* enum */,
limit: /* integer? = 25 */,
cursor: /* string? */
});
NameTypeRequiredDescription
userIdintegerYesThe id of the user.
searchstring?NoOptional search query to filter items by.
sortByenumYesThe key to sort tradable items by.
limitinteger? = 25NoThe maximum number of items to return.
cursorstring?NoThe pagination cursor.
FieldTypeDescription
userIdnumber
itemsobject[]See below
nextPageCursorstring

items[] item fields:

FieldTypeDescription
collectibleItemIdstring
itemTargetobjectSee below
itemNamestring
originalPricenumber
recentAveragePricenumber
assetStocknumber
instancesobject[]See below

itemTarget fields:

FieldTypeDescription
itemType`“Unknown""Asset"
targetIdstring

instances[] item fields:

FieldTypeDescription
collectibleItemInstanceIdstring
itemTargetobjectSee below
itemNamestring
serialNumbernumber
originalPricenumber
recentAveragePricenumber
assetStocknumber
isOnHoldboolean

itemTarget fields:

FieldTypeDescription
itemType`“Unknown""Asset"
targetIdstring
StatusDescription
40025: The cursor provided is invalid.
4010: Authorization has been denied for this request.
4: You are not authorized to modify this trade.
4034: You are not authorized to modify this trade.
4040: An unknown error occured.

GET /v2/users/me/can-trade

Checks if the calling user can trade with others.

Usage
import { fetchApi } from 'rozod';
import { getUsersMeCanTrade } from 'rozod/lib/endpoints/tradesv2';
const data = await fetchApi(getUsersMeCanTrade, undefined);
FieldTypeDescription
userIdnumber
canTradeboolean
tradeEligibility`“Unknown""Eligible"
StatusDescription
4010: Authorization has been denied for this request.
4: You are not authorized to modify this trade.