3 min read

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

PATCH /v4/avatar — openapi

Sets the avatar to the incoming avatar using field masks.

Only allows items that you own, are not expired, and are wearable asset types. Any assets being worn before this method is called are automatically removed.

Endpoint

Method: PATCH

Path: /v4/avatar

Servers:

Parameters

NameLocationRequiredDescription
Roblox-Place-Idheaderfalse
[
  {
    "in": "header",
    "name": "Roblox-Place-Id",
    "description": "",
    "schema": {
      "type": "integer",
      "format": "int64"
    }
  }
]

Request Body

Model of avatar that we are updating to.

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Request.UpdateAvatarDefinitionRequestV4"
      }
    },
    "text/json": {
      "schema": {
        "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Request.UpdateAvatarDefinitionRequestV4"
      }
    }
  },
  "description": "Model of avatar that we are updating to.",
  "required": true
}

Responses

StatusDescription
200OK
4003: Invalid assetId 5: Meta does not apply to specified asset type 7: Required meta is not provided for the specific asset type
4010: Authorization has been denied for this request.
4030: Token Validation Failed
5002: Failed to wear asset.
{
  "200": {
    "description": "OK",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Response.UpdateAvatarDefinitionResponseV4"
        }
      },
      "text/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Response.UpdateAvatarDefinitionResponseV4"
        }
      }
    }
  },
  "400": {
    "description": "3: Invalid assetId\r\n5: Meta does not apply to specified asset type\r\n7: Required meta is not provided for the specific asset type"
  },
  "401": {
    "description": "0: Authorization has been denied for this request."
  },
  "403": {
    "description": "0: Token Validation Failed"
  },
  "500": {
    "description": "2: Failed to wear asset."
  }
}

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"
  ],
  "summary": "Sets the avatar to the incoming avatar using field masks.",
  "description": "Only allows items that you own, are not expired, and are wearable asset types.\r\nAny assets being worn before this method is called are automatically removed.",
  "parameters": [
    {
      "in": "header",
      "name": "Roblox-Place-Id",
      "description": "",
      "schema": {
        "type": "integer",
        "format": "int64"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Request.UpdateAvatarDefinitionRequestV4"
        }
      },
      "text/json": {
        "schema": {
          "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Request.UpdateAvatarDefinitionRequestV4"
        }
      }
    },
    "description": "Model of avatar that we are updating to.",
    "required": true
  },
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Response.UpdateAvatarDefinitionResponseV4"
          }
        },
        "text/json": {
          "schema": {
            "$ref": "#/components/schemas/Roblox.Api.Avatar.Models.V4.Response.UpdateAvatarDefinitionResponseV4"
          }
        }
      }
    },
    "400": {
      "description": "3: Invalid assetId\r\n5: Meta does not apply to specified asset type\r\n7: Required meta is not provided for the specific asset type"
    },
    "401": {
      "description": "0: Authorization has been denied for this request."
    },
    "403": {
      "description": "0: Token Validation Failed"
    },
    "500": {
      "description": "2: Failed to wear asset."
    }
  },
  "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_patch_v4_avatar"
  }
}