# Upload a logo or favicon to a theme kit

> Source: /api-reference/partner/explorer/theme-kits/upload-image
> Multipart upload of a single image (10MB limit), stored against the kit as a logo or favicon.
> Full spec: https://docs.journey.com/openapi/partner.v1.json

## `POST /v1/partner/theme-kits/{entityType}/{entityExternalId}/images`

```json
{
  "description": "Multipart upload of a single image (10MB limit), stored against the kit as a logo or favicon.",
  "operationId": "themeKitsPartner_uploadImage",
  "parameters": [
    {
      "description": "External id of that organization, brand, or property.",
      "in": "path",
      "name": "entityExternalId",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "The kind of entity the kit is attached to.",
      "in": "path",
      "name": "entityType",
      "required": true,
      "schema": {
        "enum": [
          "organization",
          "brand",
          "property"
        ],
        "type": "string"
      }
    },
    {
      "description": "Global (Journey staff) callers name the organization they act within.",
      "in": "query",
      "name": "organizationId",
      "required": false,
      "schema": {
        "maxLength": 100,
        "type": "string"
      }
    }
  ],
  "responses": {
    "201": {
      "description": "The theme kit including the new image."
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PartnerErrorResponse"
          }
        }
      },
      "description": "Request validation failed. `errors` lists the offending fields."
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PartnerErrorResponse"
          }
        }
      },
      "description": "No usable credential. Send `Authorization: Bearer <jwt>` or `X-API-Key: jny_...`."
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PartnerErrorResponse"
          }
        }
      },
      "description": "The credential authenticated but lacks the scopes in `x-required-scopes`, or the resource belongs to another organization."
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PartnerErrorResponse"
          }
        }
      },
      "description": "No such resource, or it is outside the organization the credential resolves to."
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PartnerErrorResponse"
          }
        }
      },
      "description": "Uploaded file exceeds the 10MB limit."
    },
    "415": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PartnerErrorResponse"
          }
        }
      },
      "description": "Unsupported media type for this endpoint."
    }
  },
  "security": [
    {
      "partnerBearer": []
    },
    {
      "partnerApiKey": []
    }
  ],
  "summary": "Upload a logo or favicon to a theme kit",
  "tags": [
    "partner/theme-kits"
  ],
  "x-required-scopes": [
    [
      "partner:theme-kits:manage"
    ]
  ]
}
```