---
title: "Update a portal"
method: PUT
path: "/v1/portals/{portal_id}/"
---

# Update a portal

`PUT /v1/portals/{portal_id}/`

## Request

- Base URL: `https://app.iconik.io/API/assets`
- URL: `https://app.iconik.io/API/assets/v1/portals/{portal_id}/`
- Auth: none declared. Required headers: `App-ID`, `Auth-Token`
- TypeScript: <https://skmtc.dev/iconik/apis/iconik-assets/docs/v1/portals/:portal_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Required roles:
 - can_write_portals

## Path parameters

- `portal_id` string, required

## Query parameters

- `low_priority_indexing` boolean

## Headers

- `App-ID` string, required
- `Auth-Token` string, required

## Request body

- PortalSchema
  - `config` PortalConfigSchema
    - `theme` Theme, required
      - `base` 'light' | 'dark', nullable
      - `colors` ThemeColors
        - `background` string, nullable
        - `primary` string, nullable
        - `secondary` string, nullable
        - `text` string, nullable
      - `typography` ThemeTypography
        - `font_family` string, nullable
        - `font_size_base` string, nullable
        - `heading_font_family` string, nullable
  - `created_by_user` string, uuid
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `description` string, nullable
  - `id` string, uuid
  - `keyframes` object[]
  - `logo` string
  - `logo_storage_id` string, uuid
  - `name` string, required
  - `playlist_id` string, uuid
  - `status` 'ACTIVE'
  - `system_domain_id` string, uuid

## Response `200`

Returns an updated portal

- PortalSchema
  - `config` PortalConfigSchema
    - `theme` Theme, required
      - `base` 'light' | 'dark', nullable
      - `colors` ThemeColors
        - `background` string, nullable
        - `primary` string, nullable
        - `secondary` string, nullable
        - `text` string, nullable
      - `typography` ThemeTypography
        - `font_family` string, nullable
        - `font_size_base` string, nullable
        - `heading_font_family` string, nullable
  - `created_by_user` string, uuid
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `description` string, nullable
  - `id` string, uuid
  - `keyframes` object[]
  - `logo` string
  - `logo_storage_id` string, uuid
  - `name` string, required
  - `playlist_id` string, uuid
  - `status` 'ACTIVE'
  - `system_domain_id` string, uuid

## Other responses

- `400`: Bad request
- `401`: Token is invalid
- `404`: Portal does not exist
- `default`: Error response

---

[API](https://skmtc.dev/iconik/apis/iconik-assets.md) - [All operations](https://skmtc.dev/iconik/apis/iconik-assets/llms.txt) - [OpenAPI document](https://skmtc.dev/iconik/apis/iconik-assets/revisions/62580d9e640e?raw)
