5 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

GET /toolbox-service/v1/saves — openapi

Gets saves from a collection.

Endpoint

Method: GET

Path: /toolbox-service/v1/saves

Servers:

Parameters

NameLocationRequiredDescription
targetTypequeryfalseThe asset type to filter by
targetIdqueryfalseThe ID of the asset to filter by. If provided, targetType must also be provided.
collectionNamequeryfalseCustom collections are not currently supported. This field should be omitted.
sortByqueryfalseThe field to sort by
sortDirectionqueryfalseThe direction to sort by
limitqueryfalseThe maximum number of saves to return
pagequeryfalseThe page number to return, starting from 1
keywordqueryfalseThe keyword to filter by
hideOwnedAssetsqueryfalseWhether to hide owned assets
[
  {
    "name": "targetType",
    "in": "query",
    "description": "The asset type to filter by",
    "schema": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SearchCategoryType"
        }
      ],
      "nullable": true
    }
  },
  {
    "name": "targetId",
    "in": "query",
    "description": "The ID of the asset to filter by. If provided, targetType must also be provided.",
    "schema": {
      "type": "integer",
      "format": "int64",
      "nullable": true
    }
  },
  {
    "name": "collectionName",
    "in": "query",
    "description": "Custom collections are not currently supported. This field should be omitted.",
    "schema": {
      "type": "string"
    }
  },
  {
    "name": "sortBy",
    "in": "query",
    "description": "The field to sort by",
    "schema": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SavesSortCategory"
        }
      ],
      "description": "The category to sort the saves by.",
      "default": "DateSaved",
      "x-enumNames": [
        "Name",
        "Creator",
        "Ratings",
        "TargetType",
        "DateSaved",
        "LastModified",
        "Price"
      ],
      "x-enum-varnames": [
        "Name",
        "Creator",
        "Ratings",
        "TargetType",
        "DateSaved",
        "LastModified",
        "Price"
      ]
    }
  },
  {
    "name": "sortDirection",
    "in": "query",
    "description": "The direction to sort by",
    "schema": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SortDirection"
        }
      ],
      "description": "Represents the direction in which to sort the results",
      "default": "None",
      "x-enumNames": [
        "None",
        "Ascending",
        "Descending"
      ],
      "x-enum-varnames": [
        "None",
        "Ascending",
        "Descending"
      ]
    }
  },
  {
    "name": "limit",
    "in": "query",
    "description": "The maximum number of saves to return",
    "schema": {
      "maximum": 500,
      "minimum": 1,
      "type": "integer",
      "format": "int32",
      "default": 100
    }
  },
  {
    "name": "page",
    "in": "query",
    "description": "The page number to return, starting from 1",
    "schema": {
      "maximum": 2147483647,
      "minimum": 1,
      "type": "integer",
      "format": "int32",
      "default": 1
    }
  },
  {
    "name": "keyword",
    "in": "query",
    "description": "The keyword to filter by",
    "schema": {
      "type": "string"
    }
  },
  {
    "name": "hideOwnedAssets",
    "in": "query",
    "description": "Whether to hide owned assets",
    "schema": {
      "type": "boolean",
      "default": false
    }
  }
]

Responses

StatusDescription
200OK
400Bad Request
{
  "200": {
    "description": "OK",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/GetSavesResponse"
        }
      }
    }
  },
  "400": {
    "description": "Bad Request",
    "content": {
      "application/json": {
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            {
              "$ref": "#/components/schemas/HttpValidationProblemDetails"
            }
          ],
          "nullable": true
        }
      }
    }
  }
}

Authentication

{
  "security": [
    {
      "roblox-legacy-cookie": []
    },
    {
      "roblox-api-key": []
    },
    {
      "roblox-oauth2": [
        "creator-store-save:read"
      ]
    }
  ],
  "securitySchemes": {
    "roblox-api-key": {
      "type": "apiKey",
      "description": "A configurable key that allows granular access to Roblox resources. See https://create.roblox.com/docs/cloud/auth/api-keys for more information.",
      "name": "x-api-key",
      "in": "header"
    },
    "roblox-legacy-cookie": {
      "type": "apiKey",
      "description": "A browser cookie that represents the identity of a Roblox user. DO NOT SHARE THIS. Sharing this will allow someone to log in as you and to steal your Robux and items. We do not recommend using cookies to call endpoints. When possible, use API keys with the x-api-key header or OAuth 2.0 instead for authentication.",
      "in": "cookie",
      "name": ".ROBLOSECURITY"
    },
    "roblox-oauth2": {
      "type": "oauth2",
      "description": "Build or authorize apps to access Roblox resources. See https://create.roblox.com/docs/cloud/auth/oauth2-overview for more information.",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://apis.roblox.com/oauth/v1/authorize",
          "tokenUrl": "https://apis.roblox.com/oauth/v1/token",
          "refreshUrl": "https://apis.roblox.com/oauth/v1/token",
          "scopes": {}
        }
      }
    }
  }
}

Complete Operation Definition

{
  "tags": [
    "Creator Store"
  ],
  "summary": "Gets saves from a collection.",
  "operationId": "Saves_GetSaves",
  "parameters": [
    {
      "name": "targetType",
      "in": "query",
      "description": "The asset type to filter by",
      "schema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SearchCategoryType"
          }
        ],
        "nullable": true
      }
    },
    {
      "name": "targetId",
      "in": "query",
      "description": "The ID of the asset to filter by. If provided, targetType must also be provided.",
      "schema": {
        "type": "integer",
        "format": "int64",
        "nullable": true
      }
    },
    {
      "name": "collectionName",
      "in": "query",
      "description": "Custom collections are not currently supported. This field should be omitted.",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by",
      "schema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SavesSortCategory"
          }
        ],
        "description": "The category to sort the saves by.",
        "default": "DateSaved",
        "x-enumNames": [
          "Name",
          "Creator",
          "Ratings",
          "TargetType",
          "DateSaved",
          "LastModified",
          "Price"
        ],
        "x-enum-varnames": [
          "Name",
          "Creator",
          "Ratings",
          "TargetType",
          "DateSaved",
          "LastModified",
          "Price"
        ]
      }
    },
    {
      "name": "sortDirection",
      "in": "query",
      "description": "The direction to sort by",
      "schema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SortDirection"
          }
        ],
        "description": "Represents the direction in which to sort the results",
        "default": "None",
        "x-enumNames": [
          "None",
          "Ascending",
          "Descending"
        ],
        "x-enum-varnames": [
          "None",
          "Ascending",
          "Descending"
        ]
      }
    },
    {
      "name": "limit",
      "in": "query",
      "description": "The maximum number of saves to return",
      "schema": {
        "maximum": 500,
        "minimum": 1,
        "type": "integer",
        "format": "int32",
        "default": 100
      }
    },
    {
      "name": "page",
      "in": "query",
      "description": "The page number to return, starting from 1",
      "schema": {
        "maximum": 2147483647,
        "minimum": 1,
        "type": "integer",
        "format": "int32",
        "default": 1
      }
    },
    {
      "name": "keyword",
      "in": "query",
      "description": "The keyword to filter by",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "hideOwnedAssets",
      "in": "query",
      "description": "Whether to hide owned assets",
      "schema": {
        "type": "boolean",
        "default": false
      }
    }
  ],
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/GetSavesResponse"
          }
        }
      }
    },
    "400": {
      "description": "Bad Request",
      "content": {
        "application/json": {
          "schema": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProblemDetails"
              },
              {
                "$ref": "#/components/schemas/HttpValidationProblemDetails"
              }
            ],
            "nullable": true
          }
        }
      }
    }
  },
  "x-roblox-stability": "BETA",
  "x-roblox-rate-limits": {
    "perApiKeyOwner": {
      "period": "MINUTE",
      "maxInPeriod": 200
    },
    "perOauth2Authorization": {
      "period": "MINUTE",
      "maxInPeriod": 200
    }
  },
  "x-roblox-scopes": [
    {
      "name": "creator-store-save:read",
      "targetResourceSpecifier": ""
    }
  ],
  "x-roblox-engine-usability": {
    "apiKeyWithHttpService": false
  },
  "security": [
    {
      "roblox-legacy-cookie": []
    },
    {
      "roblox-api-key": []
    },
    {
      "roblox-oauth2": [
        "creator-store-save:read"
      ]
    }
  ],
  "externalDocs": {
    "url": "https://create.roblox.com/docs/cloud/reference/features/creator-store#Saves_GetSaves"
  }
}