> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Set app logo

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Sets the app's logo to the image at `logo_url`.

The URL is stored as you send it. It isn't fetched or checked, so use a link that stays reachable, such as the public link from [Upload app file](/api-reference/upload-app-file). The builder shows the new logo right away, and the published app shows it after you next [deploy the app](/api-reference/deploy-an-app). Link previews use the logo when the app has no social image.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app. A read-only key is refused, and workspace API keys are not accepted.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/apps/{app_id}/metadata/update-logo
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/metadata/update-logo:
    post:
      summary: Set app logo
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Sets the app's logo to the image at `logo_url`.


        The URL is stored as you send it. It isn't fetched or checked, so use a
        link that stays reachable, such as the public link from [Upload app
        file](/api-reference/upload-app-file). The builder shows the new logo
        right away, and the published app shows it after you next [deploy the
        app](/api-reference/deploy-an-app). Link previews use the logo when the
        app has no social image.


        <Note>This endpoint accepts a personal API key belonging to a user with
        editor access to the app. A read-only key is refused, and workspace API
        keys are not accepted.</Note>


        <Warning>The response includes fields beyond the ones documented here.
        Don't rely on undocumented response fields, as they can change at any
        time. Send only the fields documented here. Other request fields are not
        supported and their behavior can change.</Warning>
      operationId: update_logo_api_apps__app_id__metadata_update_logo_post
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app to set the logo on.
            title: App Id
          description: ID of the app to set the logo on.
          example: 6820f3a4e7b91d003c45a1f2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              title: SetAppLogo
              required:
                - logo_url
              properties:
                logo_url:
                  type: string
                  description: URL of the image to use as the app's logo.
                  example: >-
                    https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png
            example:
              logo_url: >-
                https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png
      responses:
        '200':
          description: The app with its new logo.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppLogo'
        '400':
          description: '`logo_url` is missing.'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have editor access to this app, or your API key is
            read-only.
        '404':
          description: App not found.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AppLogo:
      properties:
        id:
          type: string
          title: Id
          description: ID of the app.
          example: 6820f3a4e7b91d003c45a1f2
        logo_url:
          type: string
          title: Logo Url
          description: URL of the app's logo, as you sent it.
          example: >-
            https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png
      type: object
      required:
        - id
        - logo_url
      title: AppLogo
      description: 'Doc-only: the handler returns the whole app document.'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````