Vendors and Hubs PRO
The objects your store has in Second Life.
List vendors
GET
/vendorsNewest first.
Query
| Name | Type | Required | Description |
|---|---|---|---|
cursor | string | No | The next_cursor of the previous page. |
limit | integer | No | Page size (default 50, max 200). |
Example
bash
curl "https://api.fastyvendor.com/api/v1/vendors?limit=1" \
-H "Authorization: Bearer $FASTY_KEY"js
const res = await fetch('https://api.fastyvendor.com/api/v1/vendors?limit=1', {
headers: {
Authorization: `Bearer ${process.env.FASTY_KEY}`,
},
})
const data = await res.json()python
import os, requests
res = requests.get(
"https://api.fastyvendor.com/api/v1/vendors?limit=1",
headers={"Authorization": f"Bearer {os.environ['FASTY_KEY']}"},
)
data = res.json()lsl
llHTTPRequest(API + "/vendors?limit=1",
[HTTP_CUSTOM_HEADER, "Authorization", "Bearer " + KEY,
HTTP_BODY_MAXLENGTH, 16384],
"");Response: 200 OK
json
{
"items": [
{
"id": "vd_swck23nzz6g18j",
"name": "Riot Boots VENDOR",
"region": "Enjoy Island",
"position": [
96,
134,
3401
],
"slurl": "https://maps.secondlife.com/secondlife/Enjoy Island/96/134/3401",
"status": "online",
"script_version": "v1.0.0",
"last_seen": "2026-11-04T18:01:12.482Z",
"product": {
"id": "prd_3bch28ayc47y85",
"name": "Riot Boots"
},
"created_at": "2026-11-04T18:00:39.249Z"
}
],
"next_cursor": "v:1793815239249548~vd_swck23nzz6g18j"
}Get a vendor
GET
/vendors/{id}Path
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The id. |
Example
bash
curl "https://api.fastyvendor.com/api/v1/vendors/vd_swck23nzz6g18j" \
-H "Authorization: Bearer $FASTY_KEY"js
const res = await fetch('https://api.fastyvendor.com/api/v1/vendors/vd_swck23nzz6g18j', {
headers: {
Authorization: `Bearer ${process.env.FASTY_KEY}`,
},
})
const data = await res.json()python
import os, requests
res = requests.get(
"https://api.fastyvendor.com/api/v1/vendors/vd_swck23nzz6g18j",
headers={"Authorization": f"Bearer {os.environ['FASTY_KEY']}"},
)
data = res.json()lsl
llHTTPRequest(API + "/vendors/vd_swck23nzz6g18j",
[HTTP_CUSTOM_HEADER, "Authorization", "Bearer " + KEY,
HTTP_BODY_MAXLENGTH, 16384],
"");Response: 200 OK
json
{
"id": "vd_swck23nzz6g18j",
"name": "Riot Boots VENDOR",
"region": "Enjoy Island",
"position": [
96,
134,
3401
],
"slurl": "https://maps.secondlife.com/secondlife/Enjoy Island/96/134/3401",
"status": "online",
"script_version": "v1.0.0",
"last_seen": "2026-11-04T18:01:12.482Z",
"product": {
"id": "prd_3bch28ayc47y85",
"name": "Riot Boots"
},
"created_at": "2026-11-04T18:00:39.249Z"
}Change what a vendor sells
PATCH
/vendors/{id}The vendor picks the new product up within seconds.
Send {"product_id": null} to stop the vendor from selling.
Path
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The id. |
Body
| Name | Type | Required | Description |
|---|---|---|---|
product_id | string or null | Yes | What the vendor sells; null = nothing (it stops taking payments). Up to 64 characters. |
Example
bash
curl -X PATCH "https://api.fastyvendor.com/api/v1/vendors/vd_swck23nzz6g18j" \
-H "Authorization: Bearer $FASTY_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id":"prd_3bch28ayc47y85"}'js
const res = await fetch('https://api.fastyvendor.com/api/v1/vendors/vd_swck23nzz6g18j', {
method: 'PATCH',
headers: {
Authorization: `Bearer ${process.env.FASTY_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({"product_id":"prd_3bch28ayc47y85"}),
})
const data = await res.json()python
import os, requests
res = requests.patch(
"https://api.fastyvendor.com/api/v1/vendors/vd_swck23nzz6g18j",
headers={"Authorization": f"Bearer {os.environ['FASTY_KEY']}"},
json={"product_id":"prd_3bch28ayc47y85"},
)
data = res.json()lsl
llHTTPRequest(API + "/vendors/vd_swck23nzz6g18j",
[HTTP_METHOD, "PATCH",
HTTP_MIMETYPE, "application/json",
HTTP_CUSTOM_HEADER, "Authorization", "Bearer " + KEY],
"{\"product_id\":\"prd_3bch28ayc47y85\"}");Response: 200 OK
json
{
"id": "vd_swck23nzz6g18j",
"name": "Riot Boots VENDOR",
"region": "Enjoy Island",
"position": [
96,
134,
3401
],
"slurl": "https://maps.secondlife.com/secondlife/Enjoy Island/96/134/3401",
"status": "online",
"script_version": "v1.0.0",
"last_seen": "2026-11-04T18:01:12.482Z",
"product": {
"id": "prd_3bch28ayc47y85",
"name": "Riot Boots"
},
"created_at": "2026-11-04T18:00:39.249Z"
}List hubs
GET
/hubsExample
bash
curl "https://api.fastyvendor.com/api/v1/hubs" \
-H "Authorization: Bearer $FASTY_KEY"js
const res = await fetch('https://api.fastyvendor.com/api/v1/hubs', {
headers: {
Authorization: `Bearer ${process.env.FASTY_KEY}`,
},
})
const data = await res.json()python
import os, requests
res = requests.get(
"https://api.fastyvendor.com/api/v1/hubs",
headers={"Authorization": f"Bearer {os.environ['FASTY_KEY']}"},
)
data = res.json()lsl
llHTTPRequest(API + "/hubs",
[HTTP_CUSTOM_HEADER, "Authorization", "Bearer " + KEY,
HTTP_BODY_MAXLENGTH, 16384],
"");Response: 200 OK
json
{
"items": [
{
"id": "hub_2d67t8qfgqcg1z",
"name": "Main Hub",
"region": "Enjoy Island",
"position": [
99,
131,
3400
],
"slurl": "https://maps.secondlife.com/secondlife/Enjoy Island/99/131/3400",
"status": "online",
"script_version": "v1.0.0",
"last_seen": "2026-11-04T18:14:48.809Z",
"items": 11,
"created_at": "2026-10-02T13:11:58.191Z"
}
],
"next_cursor": null
}The vendor object
| Field | Type | Description |
|---|---|---|
id | string | The id. |
name | string | The name. |
region | string | The region in Second Life. |
position | array of integers | [x, y, z] in the region. |
slurl | string or null | A map link to the place. |
status | string | The current state. One of online, offline. |
script_version | string | The script it runs. |
last_seen | string | ISO 8601 date and time (UTC). |
product | object or null | What it sells (null = nothing yet). |
product.id | string | The id. |
product.name | string | The name. |
created_at | string | ISO 8601 date and time (UTC). |
The hub object
| Field | Type | Description |
|---|---|---|
id | string | The id. |
name | string | The name. |
region | string | The region in Second Life. |
position | array of integers | [x, y, z] in the region. |
slurl | string or null | A map link to the place. |
status | string | The current state. One of online, offline. |
script_version | string | The script it runs. |
last_seen | string | ISO 8601 date and time (UTC). |
items | integer | Items it holds. From -9,007,199,254,740,991 to 9,007,199,254,740,991. |
created_at | string | ISO 8601 date and time (UTC). |