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 /v2/avatar/users/{userId}/outfits — openapi

Gets a list of outfits for the specified user.

Endpoint

Method: GET

Path: /v2/avatar/users/{userId}/outfits

Servers:

Parameters

NameLocationRequiredDescription
userIdpathtrueThe user id.
paginationTokenqueryfalseThe token received from the response to get the next page. For the first request, this value should be empty. Note : If no value is sent the 1st page will be returned.
outfitTypequeryfalseThe outfit type being searched for, null will return all outfitTypes.
pagequeryfalseThe page number of the current page of requests, default is 1.
itemsPerPagequeryfalseThe max number of outfits that can be returned.
isEditablequeryfalseWhether the outfits are editable. A null value will lead to no filtering.
Roblox-Place-IdheaderfalseThe placeId of the caller, not required to be passed in.
[
  {
    "in": "path",
    "name": "userId",
    "description": "The user id.",
    "required": true,
    "schema": {
      "type": "integer",
      "format": "int64"
    }
  },
  {
    "in": "query",
    "name": "paginationToken",
    "description": "The token received from the response to get the next page. For the first request, this value should be empty. Note : If no value is sent the 1st page will be returned.",
    "schema": {
      "type": "string",
      "default": ""
    }
  },
  {
    "in": "query",
    "name": "outfitType",
    "description": "The outfit type being searched for, null will return all outfitTypes.",
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "page",
    "description": "The page number of the current page of requests, default is 1.",
    "schema": {
      "type": "integer",
      "format": "int32",
      "default": 1
    }
  },
  {
    "in": "query",
    "name": "itemsPerPage",
    "description": "The max number of outfits that can be returned.",
    "schema": {
      "type": "integer",
      "format": "int32",
      "default": 25
    }
  },
  {
    "in": "query",
    "name": "isEditable",
    "description": "Whether the outfits are editable. A null value will lead to no filtering.",
    "schema": {
      "type": "boolean"
    }
  },
  {
    "in": "header",
    "name": "Roblox-Place-Id",
    "description": "The placeId of the caller, not required to be passed in.",
    "schema": {
      "type": "integer",
      "format": "int64"
    }
  }
]

Responses

StatusDescription
200OK
4001: The specified user does not exist. 2: An account for the given userId does not exist!
{
  "200": {
    "description": "OK",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.AvatarPageResponse_Roblox.Api.Avatar.Models.OutfitModel_"
        }
      },
      "text/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.AvatarPageResponse_Roblox.Api.Avatar.Models.OutfitModel_"
        }
      }
    }
  },
  "400": {
    "description": "1: The specified user does not exist.\r\n2: An account for the given userId does not exist!"
  }
}

Authentication

{
  "security": [
    {},
    {
      "roblox-legacy-cookie": []
    }
  ],
  "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": [
    "Avatars",
    "Users"
  ],
  "summary": "Gets a list of outfits for the specified user.",
  "parameters": [
    {
      "in": "path",
      "name": "userId",
      "description": "The user id.",
      "required": true,
      "schema": {
        "type": "integer",
        "format": "int64"
      }
    },
    {
      "in": "query",
      "name": "paginationToken",
      "description": "The token received from the response to get the next page. For the first request, this value should be empty. Note : If no value is sent the 1st page will be returned.",
      "schema": {
        "type": "string",
        "default": ""
      }
    },
    {
      "in": "query",
      "name": "outfitType",
      "description": "The outfit type being searched for, null will return all outfitTypes.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "page",
      "description": "The page number of the current page of requests, default is 1.",
      "schema": {
        "type": "integer",
        "format": "int32",
        "default": 1
      }
    },
    {
      "in": "query",
      "name": "itemsPerPage",
      "description": "The max number of outfits that can be returned.",
      "schema": {
        "type": "integer",
        "format": "int32",
        "default": 25
      }
    },
    {
      "in": "query",
      "name": "isEditable",
      "description": "Whether the outfits are editable. A null value will lead to no filtering.",
      "schema": {
        "type": "boolean"
      }
    },
    {
      "in": "header",
      "name": "Roblox-Place-Id",
      "description": "The placeId of the caller, not required to be passed in.",
      "schema": {
        "type": "integer",
        "format": "int64"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.AvatarPageResponse_Roblox.Api.Avatar.Models.OutfitModel_"
          }
        },
        "text/json": {
          "schema": {
            "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.AvatarPageResponse_Roblox.Api.Avatar.Models.OutfitModel_"
          }
        }
      }
    },
    "400": {
      "description": "1: The specified user does not exist.\r\n2: An account for the given userId does not exist!"
    }
  },
  "servers": [
    {
      "url": "https://avatar.roblox.com"
    }
  ],
  "x-roblox-engine-usability": {
    "apiKeyWithHttpService": false
  },
  "security": [
    {},
    {
      "roblox-legacy-cookie": []
    }
  ],
  "externalDocs": {
    "url": "https://create.roblox.com/docs/cloud/reference/features/avatars#avatar_get_v2_avatar_users__userId__outfits"
  }
}