Skip to main content

systemprompt_models/api/cloud/
domain.rs

1//! Custom-domain configuration DTOs for cloud tenants.
2//!
3//! Copyright (c) systemprompt.io — Business Source License 1.1.
4//! See <https://systemprompt.io> for licensing details.
5
6use schemars::JsonSchema;
7use serde::{Deserialize, Serialize};
8
9#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
10pub struct SetCustomDomainRequest {
11    pub domain: String,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
15pub struct DnsInstructions {
16    pub record_type: String,
17    pub host: String,
18    pub value: String,
19    pub ttl: u32,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
23pub struct CustomDomainResponse {
24    pub domain: String,
25    pub status: String,
26    pub verified: bool,
27    pub dns_target: String,
28    pub dns_instructions: DnsInstructions,
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub created_at: Option<String>,
31    #[serde(default, skip_serializing_if = "Option::is_none")]
32    pub verified_at: Option<String>,
33}