---
title: "Update hosting configuration"
method: PATCH
path: "/v1/namespace/{namespaceId}/hosting"
tags: ["Hosting"]
---

# Update hosting configuration

`PATCH /v1/namespace/{namespaceId}/hosting`

Update the hosting configuration for a namespace. If there is no change, return it as it is.

## Path parameters

- `namespaceId` string, required — The id of the namespace (prefixed with ns_)

## Request body

- object
  - `title` string
  - `slug` string
  - `logo` union
    - string
    - string, uri
  - `ogTitle` string
  - `ogDescription` string
  - `ogImage` union
    - string
    - string, uri
  - `protected` boolean
  - `allowedEmails` string[]
  - `allowedEmailDomains` string[]
  - `systemPrompt` string, nullable — Custom instructions for the chat. Agentset always appends its retrieval and citation rules, so inline citations keep working. Send null or an empty string to reset to Agentset's default prompt.
  - `exampleQuestions` string[]
  - `exampleSearchQueries` string[]
  - `welcomeMessage` string
  - `citationMetadataPath` string
  - `searchEnabled` boolean
  - `rerankModel` 'cohere:rerank-v4.0-pro' | 'cohere:rerank-v4.0-fast' | 'cohere:rerank-v3.5' | 'cohere:rerank-english-v3.0' | 'cohere:rerank-multilingual-v3.0' | 'zeroentropy:zerank-2' | 'zeroentropy:zerank-1' | 'zeroentropy:zerank-1-small'
  - `llmModel` 'openai:gpt-4.1' | 'openai:gpt-5.5' | 'openai:gpt-5.2' | 'openai:gpt-5.1' | 'openai:gpt-5' | 'openai:gpt-5-mini' | 'openai:gpt-5-nano'
  - `topK` integer
  - `rerankLimit` integer

## Response `200`

The updated hosting configuration

- object
  - `success` true, required
  - `data` Hosting, required
    - `namespaceId` string, required — The ID of the namespace this hosting belongs to.
    - `title` string, nullable, required — The title displayed on the hosted interface.
    - `slug` string, nullable, required — The unique slug for accessing the hosted interface.
    - `logo` string, nullable, required — The URL or base64 encoded image of the logo.
    - `ogTitle` string, nullable, required — Custom Open Graph title for social media sharing.
    - `ogDescription` string, nullable, required — Custom Open Graph description for social media sharing.
    - `ogImage` string, nullable, required — Custom Open Graph image URL for social media sharing.
    - `systemPrompt` string, nullable, required — Custom instructions layered on top of Agentset's retrieval and citation rules. `null` means the chat uses Agentset's default prompt.
    - `exampleQuestions` string[], required — Example questions to display to users in the chat interface.
    - `exampleSearchQueries` string[], required — Example search queries to display to users in the search interface.
    - `welcomeMessage` string, nullable, required — Welcome message displayed to users.
    - `citationMetadataPath` string, nullable, required — Path to metadata field used for citations.
    - `searchEnabled` boolean, required — Whether search functionality is enabled.
    - `rerankConfig` unknown, required
    - `llmConfig` unknown, required
    - `topK` integer, required — Number of documents to retrieve from vector store.
    - `protected` boolean, required — Whether the hosted interface is protected by authentication.
    - `allowedEmails` string[], required — List of allowed email addresses (when protected is true).
    - `allowedEmailDomains` string[], required — List of allowed email domains (when protected is true).
    - `createdAt` string, required — The date and time the hosting was created.
    - `updatedAt` string, required — The date and time the hosting was last updated.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
- `403` — The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401 Unauthorized, the client's identity is known to the server.
- `404` — The server cannot find the requested resource.
- `409` — This response is sent when a request conflicts with the current state of the server.
- `410` — This response is sent when the requested content has been permanently deleted from server, with no forwarding address.
- `422` — The request was well-formed but was unable to be followed due to semantic errors.
- `429` — The user has sent too many requests in a given amount of time ("rate limiting")
- `500` — The server has encountered a situation it does not know how to handle.

---

[API](https://skmtc.dev/agentset/apis/agentsetapi.md) · [All operations](https://skmtc.dev/agentset/apis/agentsetapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/agentset/agentsetapi/revisions/cc6ac802092e/schema)
